# Welcome to SalesMonk

<figure><img src="https://3225205723-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fp0xwiIzxYv8XOC8VVS7i%2Fuploads%2FH0xkijI1g30X4828vkkO%2FScreenshot%202026-01-29%20at%208.03.10%E2%80%AFPM.png?alt=media&amp;token=70330179-c449-4582-8849-bd27a53e6e14" alt=""><figcaption></figcaption></figure>

### What SalesMonk Is

SalesMonk is an AI-powered Go-To-Market (GTM) platform built to help B2B companies consistently generate qualified sales meetings by unifying inbound intent, outbound execution, and automation into a single system.

Most GTM stacks today are fragmented:

* One tool tracks website visitors
* Another runs outbound campaigns
* Another logs CRM data
* Another handles analytics

SalesMonk replaces this fragmentation with a connected GTM layer that sits across inbound and outbound, allowing teams to:

* Identify buying intent early
* Act on it automatically
* Measure outcomes, not activity

***

### Who It Is Built For

SalesMonk is designed primarily for:

* B2B SaaS companies
* Growth-stage and mid-market teams
* Revenue, sales, and demand generation leaders

It is especially valuable for teams that:

* Have meaningful inbound traffic but low conversion rates
* Run outbound campaigns without real-time intent context
* Want inbound and outbound to reinforce each other
* Care more about meetings and pipeline than vanity metrics

SalesMonk is not built as a generic CRM or email tool.\
It is built as a GTM execution and intelligence layer.<br>

### Core Problem It Solves

Most companies struggle with the same GTM problems:

1. Inbound intent is underutilized\
   Visitors browse pricing pages, product pages, or docs — but sales never acts in time.
2. Outbound is disconnected from intent\
   Outreach is cold, generic, and poorly timed.
3. Signals are scattered\
   Website behavior, CRM data, and outbound engagement live in silos.
4. Teams optimize the wrong metrics\
   Emails sent, visitors tracked, or clicks — instead of meetings booked.

SalesMonk solves this by:

* Making intent visible
* Making action automatic
* Making meetings the primary KPI

***

### Inbound + Outbound GTM Philosophy

SalesMonk is built on a simple philosophy:

Inbound captures intent.\
Outbound amplifies intent.\
Automation connects the two.

Instead of treating inbound and outbound as separate motions, SalesMonk treats them as one continuous GTM system.

For example:

* A pricing page visitor is not just an inbound lead
* They are an outbound opportunity — immediately

This philosophy drives the entire product architecture.

***

### What “Qualified Meetings” Mean in SalesMonk

A qualified meeting in SalesMonk is not just a calendar event.

It is a meeting that:

* Is associated with a known account
* Is backed by behavioral or intent signals

  * Is logged through inbound or outbound flows
  * Can be tied to pipeline and revenue

  SalesMonk is optimized around meeting quality, not meeting volume.

  <br>

***

<br>


# What we do

## Video overview

Got 3 minutes? Check out a video overview of our product:

{% embed url="<https://www.loom.com/share/cb81c6bf1ded49cfa3430d6f256e1bc8?sid=49b4a913-8f52-4cda-bd11-3c7c624c7a1f>" %}


# Overview

**What this section covers**\
This section defines the core objects used throughout SalesMonk.These concepts form the foundation of how inbound intent, outbound execution, and automation work together across the platform.It includes:

* ​​Leads
* ​​Accounts
* Activities
* Segments
* Plays
* Signals

Each concept is explained in its own page.


# Leads

<figure><img src="https://3225205723-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fp0xwiIzxYv8XOC8VVS7i%2Fuploads%2Fjt2VYPiECZVpebhkJj8z%2FScreenshot%202026-01-29%20at%208.05.21%E2%80%AFPM.png?alt=media&amp;token=8fe9fc7c-46fe-4de6-8f38-65ee74024db5" alt=""><figcaption></figcaption></figure>

A Lead represents an individual person.

Leads can enter SalesMonk from multiple sources:

* Website visits (identified or anonymous)
* Chat conversations
* Form submissions
* Outbound prospecting
* CRM or CSV imports

Each lead maintains:

* Identity data (email, name, role when available)
* Activity history across all channels
* Campaign and sequence participation
* Conversation context (chat, email, calls)

Leads are always viewed in context of their account.


# Accounts

<figure><img src="https://3225205723-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fp0xwiIzxYv8XOC8VVS7i%2Fuploads%2FdUz3t9SdYteiMKPOIQdt%2FScreenshot%202026-01-29%20at%208.06.00%E2%80%AFPM.png?alt=media&amp;token=772a9e92-cff7-46c9-9ce6-7a4d30f1caf9" alt=""><figcaption></figcaption></figure>

An Account represents a company.

Accounts are foundational in SalesMonk because:

* Most buying decisions are company-driven
* Intent is often visible before a specific person is known

Accounts can be created from:

* Website visitor identification
* CRM sync
* Outbound imports
* AI Search results

Each account aggregates:

* All associated leads
* Website activity across visitors
* Signals and scoring
* Inbound and outbound engagement


# Activities

<figure><img src="https://3225205723-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fp0xwiIzxYv8XOC8VVS7i%2Fuploads%2FxlP92HeQo6r65CG3XcOC%2FScreenshot%202026-01-29%20at%208.09.27%E2%80%AFPM.png?alt=media&amp;token=1a652c04-a3a3-4e10-810b-0b81984cb1ce" alt=""><figcaption></figcaption></figure>

An Activity is the smallest unit of interaction tracked in the system.

Examples include:

* A visitor viewing a pricing page
* An email being sent or replied to
* A LinkedIn message
* A phone call
* A meeting being booked
* A chat message

Activities create a chronological timeline that allows teams to understand:

* What happened
* When it happened
* Across which channel


# Segments

<figure><img src="https://3225205723-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fp0xwiIzxYv8XOC8VVS7i%2Fuploads%2FMpRWNg3g6ICe5htCE9JS%2FScreenshot%202026-01-29%20at%208.07.26%E2%80%AFPM.png?alt=media&amp;token=a1cf30ce-4fb8-4298-aa57-b480bb2910f7" alt=""><figcaption></figcaption></figure>

Segments are logical groupings of leads or accounts.

Segments can be:

* Active (auto-updating as data changes)
* Static (fixed lists)

Segments can use conditions such as:

* Website behavior
* Firmographic data
* CRM fields
* Signals
* Campaign state

Segments are central to:

* Prioritization
* Automation
* Personalization
* Reporting


# Plays

<figure><img src="https://3225205723-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fp0xwiIzxYv8XOC8VVS7i%2Fuploads%2FUBrDOiKzfHVN4ocK2T4Q%2FScreenshot%202026-01-29%20at%208.07.52%E2%80%AFPM.png?alt=media&amp;token=145a8d9b-14df-4546-9b8b-e40cc7a99cdd" alt=""><figcaption></figcaption></figure>

A Play is an automation that defines what action should occur when certain conditions are met.

Plays are typically:

* Triggered by segment membership
* Executed automatically

Examples:

* Add high-intent accounts to a campaign
* Prospect decision-makers from visiting companies
* Trigger a voice callback after form fill
* Sync data to external tools

Plays are how SalesMonk operationalizes intent.


# Signals

<figure><img src="https://3225205723-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fp0xwiIzxYv8XOC8VVS7i%2Fuploads%2Fgud6QVtL5ThApVkcuAtH%2FScreenshot%202026-01-29%20at%208.08.09%E2%80%AFPM.png?alt=media&amp;token=3bb175cd-63b1-4be5-8796-a21c3c5ff2b8" alt=""><figcaption></figcaption></figure>

Signals are explicit indicators of relevance or buying intent,\
They also feed segmentation, scoring, and automation.

SalesMonk supports:

* Built-in signals (traffic, hiring, funding, etc.)
* Custom AI signals generated from public web data

Signals can be:

* Boolean (true/false)
* Numeric (counts, scores)
* Textual (research-based)

\
How These Concepts Connect at a system level:

* Accounts contain Leads
* Leads and Accounts generate Activities
* Signals enrich Accounts
* Segments group Leads or Accounts
* Plays act on Segments
* Campaigns execute outreach
* Meetings close the GTM loop

This shared model allows inbound and outbound to function as one system.<br>


# Visitor Identification

De-anonymization Waterfall

<figure><img src="https://3225205723-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fp0xwiIzxYv8XOC8VVS7i%2Fuploads%2F4lELkobRSuszgKq6zScL%2FScreenshot%202026-01-29%20at%208.13.05%E2%80%AFPM.png?alt=media&amp;token=34d22e18-c72a-49c4-be89-8c5d56c9df60" alt=""><figcaption></figcaption></figure>

#### 1. First-Party Identification

This includes:

* Chat-provided emails
* Form submissions
* CRM cookies

This level provides highest confidence.

***

#### 2. Contact-Level De-anonymization (Primarily US)

SalesMonk integrates with contact-level providers that:

* Match visitors using shared identity networks
* Identify exact individuals when possible

This allows SalesMonk to say:

“This specific person is on your site right now.”

***

#### 3. IP-Based Company Identification (Global)

For visitors where individual identity is unavailable:

* IP intelligence is used
* Company-level identification is provided
* Confidence levels are shown

This enables account-based inbound actions even without a named lead.

***

#### Frequently Asked Question

**Can we identify anonymous website visitors at the company level?**

Yes. SalesMonk identifies anonymous website visitors at the company level globally, and at the individual contact level primarily in the US.

***

**What technical setup is required?**

Setup requires a lightweight JavaScript pixel installed on the website.

No server-side integration is required.

Once installed, the pixel starts collecting visitor signals and matching them against identity networks.

***

**Can identification be segmented by specific landing pages?**

Yes. Identification can be segmented by specific landing pages.

This allows teams to understand which pages are attracting which companies and evaluate campaign or partner performance.

***

**Can identification be segmented using UTM parameters?**

Yes. SalesMonk supports segmentation using UTM parameters.

This makes it possible to isolate and track traffic coming from partner-driven campaigns, such as vendor campaigns run through Channext.

***

**Is identification limited to company-level data, or are named contacts available?**

The depth of identification depends on geography.

* **Global**: Company-level identification including company name, domain, and firmographic attributes.
* **US**: Named contacts may be available where identity signals allow.

***

**If named contacts are available, is the data deterministic or probabilistic?**

It depends on the data source.

* First-party data captured directly through SalesMonk is **deterministic**.
* Data sourced from external providers is **probabilistic**.

No provider can guarantee 100% accuracy for deanonymization.

SalesMonk provides transparent confidence scores, allowing teams to evaluate reliability before taking action.

Confidence scores are derived by cross-verifying signals across multiple data providers, which improves accuracy compared to relying on a single provider.

***

**What percentage of total website visitors can typically be identified at the company level?**

Identification rates depend on geography and traffic source.

* **US traffic**: Contact-level identification is possible via shared identity networks.
* **EU and global traffic**: Identification is typically done at the company level using IP intelligence with confidence scoring.

Rates vary depending on visitor intent and traffic quality.

***

**How do identification rates vary by geography (US vs EU)?**

* **US**: Both company-level and contact-level identification are possible.
* **EU**: Identification is generally limited to company-level data due to GDPR restrictions on personal data.

***

**How do identification rates vary by traffic source?**

Traffic source has a significant impact on identification rates.

* **Direct and referral traffic** usually have higher identification rates.
* **Paid social traffic** tends to have lower identification rates due to platform privacy restrictions.

***

**Are SMB companies identifiable at similar rates as enterprise companies?**

At the **company level**, SMB identification rates are generally comparable to enterprise companies.

At the **contact level**, identification tends to skew more toward **larger organizations**, since more public identity signals are typically available.

***

**How is GDPR compliance handled for EU traffic?**

For visitors from the **European Union**, SalesMonk only uses **IP-level signals to determine company-level information.**

No personal data is stored or processed for **individual-level identification**, ensuring compliance with GDPR requirements.


# Inbound AI Widget

<figure><img src="https://3225205723-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fp0xwiIzxYv8XOC8VVS7i%2Fuploads%2F9E4QY70hvWv9mtaGdEF6%2FScreenshot%202026-01-29%20at%208.12.37%E2%80%AFPM.png?alt=media&amp;token=9f113f72-f6d4-4483-be07-b77af119a64b" alt=""><figcaption></figcaption></figure>

The inbound widget enables:

* AI chat conversations
* Human sales handoff
* Meeting booking
* Voice-based interactions (optional)

The widget:

* Can be customized per page or segment
* Can be disabled while tracking continues
* Acts as both an engagement and qualification layer


# Live Visitor Feed

<figure><img src="https://3225205723-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fp0xwiIzxYv8XOC8VVS7i%2Fuploads%2F1gDha8uQQ9hb4ap9eACH%2FScreenshot%202026-01-29%20at%208.11.44%E2%80%AFPM.png?alt=media&amp;token=1a2a0bb7-3a35-4e20-889e-d486d2b2c403" alt=""><figcaption></figcaption></figure>

The live feed shows:

* Active visitors
* Identified accounts
* Matched segments
* Engagement context

Sales teams can:

* Monitor high-intent activity
* Jump into conversations
* Block or mute noisy traffics.


# Visitor Flows (On-Site Messaging)

<figure><img src="https://3225205723-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fp0xwiIzxYv8XOC8VVS7i%2Fuploads%2Fg2ZsxfJpAiyRULULlR8P%2FScreenshot%202026-01-29%20at%208.12.02%E2%80%AFPM.png?alt=media&amp;token=2ac836ed-3065-42eb-8899-ad1574d590b0" alt=""><figcaption></figcaption></figure>

Visitor flows determine:

* Which message is shown
* To which visitor
* Under what conditions

Flows are:

* Segment-driven
* Prioritized
* Customizable by page and context

This enables personalized inbound experiences at scale.


# Inbound Analytics

<figure><img src="https://3225205723-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fp0xwiIzxYv8XOC8VVS7i%2Fuploads%2FtYoMzzwsJst43ywoGmt5%2FScreenshot%202026-01-29%20at%208.13.30%E2%80%AFPM.png?alt=media&amp;token=c4f8df22-bbb4-4fa3-8659-7d0d790e6942" alt=""><figcaption></figcaption></figure>

Inbound analytics focus on outcomes:

* Meetings booked
* Pipeline generated
* Bot vs human conversations
* Meetings per 1,000 visitors
* Performance by flow and segment

Metrics are normalized to account for traffic fluctuations.


# Opening Messages

### Overview

Opening Messages allow you to create and display a personalized welcome message to website visitors.

These messages help you:

* Greet visitors proactively
* Guide them to relevant actions
* Increase engagement and conversions

This feature enables targeted and customizable visitor interactions.

***

### What You Can Do with Opening Messages

With Opening Messages, you can:

* Create a personalized welcome message
* Target specific visitor segments
* Customize the design and content
* Add actionable response options
* Control when and where the message appears

***

### How to Access Opening Messages

1. Log in to SalesMonk.
2. Navigate to **Inbound** in the left sidebar.
3. Click on **Opening Messages**.
4. Click **New Opening Message** to begin setup.

***

### Setting Up an Opening Message

{% embed url="<https://app.arcade.software/share/yecu6UZHWTeaRTmOZF04>" %}

#### Step 1: Add Basic Info

Add a name and description for your Opening Message.

***

#### Step 2: Configure Targeting Rules

You can control who sees the message based on:

* Visitor segment
* Page URL
* Company attributes
* Behavior or engagement rules

This ensures the message is relevant and contextual.

***

#### Step 3: Define the Message Content

You can:

* Add a welcome headline
* Write a short description
* Include actionable buttons or quick replies

**Example**

> Hi there 👋 How can we help you today?

***

#### Step 4: Publish the Message

Once the Opening Message is saved:

1. Click on **Settings**.
2. Select **Widget Designer** from the side navigation bar.
3. Enable **Opening Messages**.
4. Click **Publish**.

The message will now be displayed to eligible visitors.

***

### Preview

<figure><img src="https://3225205723-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fp0xwiIzxYv8XOC8VVS7i%2Fuploads%2FSwHZbHPRZiAdzFxmOjUe%2FScreenshot%202026-02-24%20at%2012.46.47%E2%80%AFPM.png?alt=media&#x26;token=38d8550e-3898-4bf7-90f2-ce2fe379ad32" alt="Opening Messages Preview"><figcaption></figcaption></figure>


# Outbound Overview

The outbound suite in SalesMonk is designed to operationalize intent, not generate random outreach.

Traditional outbound tools focus on:

* Volume of emails sent
* Sequence complexity
* Template management

SalesMonk instead focuses on:

* Who to reach
* When to reach them
* Why they are relevant right now

Outbound in SalesMonk is tightly integrated with inbound signals, account intelligence, and automation.


# Prospecting Methods

SalesMonk supports multiple prospecting approaches, unified under one system.

#### 1. Database Search

SalesMonk includes a traditional database search for:

* Titles
* Companies
* Locations
* Firmographic filters

This is useful for:

* Cold outbound
* Market mapping
* Initial list building

***

#### 2. AI Search (Public Web Intelligence)

AI Search allows users to query the public web directly using natural language.

Examples:

* “Find companies that recently raised Series A in fintech”
* “Find CROs who posted about Dreamforce”

For each result:

* Source citations are provided
* Confidence levels are shown
* Data can be filtered before import

This avoids blind reliance on static databases.

***

#### 3. Imports & CRM Sync

Leads and accounts can also enter via:

* CSV imports
* CRM integrations (HubSpot, Salesforce)
* Inbound widget capture

All sources converge into a single lead/account system.


# Enrichment & Verification

Before outreach, SalesMonk can:

* Enrich email addresses
* Verify deliverability
* Fetch phone numbers
* Score LinkedIn activity

This reduces:

* Bounce rates
* Spam risk
* Wasted sales effort


# Campaign Creation

SalesMonk supports multiple campaign types:

<figure><img src="https://3225205723-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fp0xwiIzxYv8XOC8VVS7i%2Fuploads%2F99lFlnC0Gwgbsw7uNLSp%2FScreenshot%202026-01-29%20at%208.15.25%E2%80%AFPM.png?alt=media&amp;token=e0c5a97a-9226-4be7-994d-4c04744ff0bc" alt=""><figcaption></figcaption></figure>

#### ICP-Based Campaigns

Campaigns built from:

* Filters
* Segments
* Account criteria

#### CSV-Based Campaigns

Direct uploads for:

* Events
* Target lists
* Custom datasets

#### Trigger-Based Campaigns

Campaigns launched automatically via:

* Plays
* Segment entry
* Inbound actions

***

### Sequence Design

Sequences can include:

* AI-generated emails
* Custom templates
* LinkedIn steps
* Calls (human or AI-assisted)

AI personalization can use:

* Company context
* Role context
* Website behavior
* Signals and intent

Spin-tax is applied to avoid pattern repetition and improve deliverability.

<br>


# Inbox & Deliverability

<figure><img src="https://3225205723-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fp0xwiIzxYv8XOC8VVS7i%2Fuploads%2FXThPrH5cTROB6zDiVVdv%2FScreenshot%202026-01-29%20at%208.16.56%E2%80%AFPM.png?alt=media&amp;token=a65104c7-cfbd-41c0-8ea5-d9418ed56e71" alt=""><figcaption></figcaption></figure>

SalesMonk provides a unified inbox across:

* Email
* LinkedIn

The platform also manages:

* Inbox warmup
* Rate limiting
* Bounce protection
* LinkedIn safety limits

This allows teams to focus on conversations, not infrastructure.


# Overview

AI Voice Agents extend SalesMonk beyond text-based GTM into real-time voice interactions.

They are used primarily for:

* Inbound qualification
* Callback workflows
* Meeting booking


# Website Voice Agent

<figure><img src="https://3225205723-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fp0xwiIzxYv8XOC8VVS7i%2Fuploads%2FpDHwpE0axtGLG0yBPUUs%2FScreenshot%202026-01-29%20at%208.19.16%E2%80%AFPM.png?alt=media&amp;token=4d2b2258-8faa-4f29-b525-021de2efa75f" alt=""><figcaption></figcaption></figure>

The website voice agent:

* Engages visitors conversationally
* Answers product questions
* Books meetings directly

It:

* Understands product knowledge
* Personalizes responses using visitor context
* Operates without requiring form fills


# Form-Fill Callback Agent

<figure><img src="https://3225205723-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fp0xwiIzxYv8XOC8VVS7i%2Fuploads%2FjW2xY8KqkXUbuqgj9Eda%2FScreenshot%202026-01-29%20at%208.17.20%E2%80%AFPM.png?alt=media&amp;token=b0649e1f-c7f3-419e-b64f-1835e4c99066" alt=""><figcaption></figcaption></figure>

For high-volume inbound:

* The callback agent triggers after form submission
* Calls the prospect immediately
* Asks qualification questions
* Summarizes the conversation

Outputs include:

* Call recording
* Transcript
* Sentiment analysis
* CRM sync


# AI vs Human Calling

SalesMonk supports:

* Human calling workflows
* AI-assisted calling (where legally permitted)

Outbound AI calls are handled carefully due to regulatory and cultural constraints, especially in the US.


# What Are Plays

<figure><img src="https://3225205723-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fp0xwiIzxYv8XOC8VVS7i%2Fuploads%2FQwVGMS6vEuoq8MskadLH%2FScreenshot%202026-01-29%20at%208.19.52%E2%80%AFPM.png?alt=media&amp;token=4ee46eb8-852c-42f4-8a5d-098024520e38" alt=""><figcaption></figcaption></figure>

Plays are automation workflows that define:

“When X happens, do Y”

They are central to SalesMonk’s automation-first GTM philosophy.


# Play Triggers

<figure><img src="https://3225205723-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fp0xwiIzxYv8XOC8VVS7i%2Fuploads%2FagHrkU28ax8Vgr1kWQQc%2FScreenshot%202026-01-29%20at%208.20.33%E2%80%AFPM.png?alt=media&amp;token=ffd4ce9e-d20d-45b5-8173-f6dbf0098ec1" alt=""><figcaption></figcaption></figure>

Plays can trigger when:

* A lead enters a segment
* An account shows intent
* A visitor hits a specific page
* A signal changes state


# Play Actions

<figure><img src="https://3225205723-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fp0xwiIzxYv8XOC8VVS7i%2Fuploads%2FsAAsVOAgxJnavJrscnkP%2FScreenshot%202026-01-29%20at%208.20.47%E2%80%AFPM.png?alt=media&amp;token=b99355b6-10b9-4cc8-9e09-35f5cbcbf15f" alt=""><figcaption></figcaption></figure>

Actions include:

* Adding leads to campaigns
* Prospecting new contacts
* Triggering voice calls
* Syncing data to CRM
* Pushing data to Sheets
* Sending notifications


# Why Plays Matter

Plays eliminate manual GTM work by:

* Acting faster than humans
* Ensuring consistency
* Scaling best practices

They turn intent into execution automatically.


# Account Scoring Philosophy

SalesMonk uses explicit, configurable scoring, not black-box AI scores.

This ensures:

* Transparency
* Trust
* Customization per client

***

### Fit Criteria

Fit criteria measure:

* Industry
* Company size
* Geography
* Firmographics

These are relatively static.

***

### Behavior Criteria

Behavior criteria measure:

* Website activity
* Page visits
* Engagement trends
* Signal changes

These are dynamic and recalculated regularly.

***

### Intent Trends

SalesMonk tracks:

* Intent level
* Intent direction (rising / falling)
* Rolling 30-day trends

This allows teams to:

* Prioritize timing
* Focus on momentum


# Block Lists

<figure><img src="https://3225205723-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fp0xwiIzxYv8XOC8VVS7i%2Fuploads%2FAudeNFiW5ilyZ9MV4dDv%2FScreenshot%202026-01-29%20at%208.21.35%E2%80%AFPM.png?alt=media&amp;token=508dd742-3765-451b-b7a8-712cd8762dbb" alt=""><figcaption></figcaption></figure>

Inbound block lists prevent:

* Repeated spam
* Irrelevant visitors
* Noisy traffic

Outbound DNC lists ensure:

* Compliance
* Respect for existing relationships


# Enrollment Gaps

Enrollment gaps prevent:

* Over-messaging
* Repeated outreach to the same accounts

These rules protect brand reputation.


# Workspace Model

Each workspace represents:

* One company
* One shared GTM dataset

All users within a workspace:

* See the same leads
* Share segments and campaigns
* Operate from a single source of truth


# Multi-User Support

Workspaces support:

* Multiple users
* Multiple inboxes
* Multiple calendars

Permissions are currently shared, with future flexibility planned.


# Outcome-First Metrics

### SalesMonk prioritizes:

* Qualified meetings
* Positive conversations
* Pipeline influenced
* Meetings per 1,000 visitors

### Why Meetings per 1,000 Visitors:

Traffic fluctuates.\
Absolute counts lie.

This metric normalizes performance and reveals:

* Real GTM efficiency
* Trend direction
* Optimization impact

### Unified Reporting:

Metrics are aggregated across:

* Inbound
* Outbound
* Voice
* Automation

This gives leadership a single GTM scoreboard.

<br>


# Adding the chat widget to your website

{% hint style="info" %}
A frontend web developer will need to complete these steps
{% endhint %}

{% hint style="warning" %}
It's strongly recommended to not use Google Tag Manager (GTM) to load our snippet as this is susceptible to being blocked by ad blockers and leads to slower widget loads.
{% endhint %}

1. Copy the snippet from our dashboard under Settings > Chat Agent
2. Insert the snippet inside the `head` tag on all pages of the website. This is usually done via a common `Header` component. Our script loads with the `defer` attribute so that it doesn't slow down any page loads.


# JavaScript Events

RevenueHero JavaScript events are sent from the scheduler at different stages. Learn about those events that can be used to trigger downstream activities.

The **SaaSMonk Chat Widget** tracks and emits the following JavaScript events through the lifecycle of the chat experience. These can be captured using a sample message listener like the following to be used for actions like sending event to Google Analytics, Pixel, etc.

```javascript
window.addEventListener("message", (ev) => {
  if (ev.data.type == "MEETING_BOOKED") {
    // Send to Google Analytics
    dataLayer.push({ event: "meeting_booked" });

    // Send to pixel
    fbq("track", "RevenueHero", { event: "meeting_booked" });
  }
});
```

### MEETING\_BOOKED

The event is sent when a meeting is booked successfully through a calendar integrated within our widget

```json
{
  "type": "MEETING_BOOKED",
  "meeting": {
    "id": "1234",
    "attributes": {
      "booker_name": "John Smith",
      "booker_email": "john.smith@acme.com",
      "phone_number": "+11234567890",
      "booker_company_name": "Acme, Inc",
      "country_code": "US",
      "calendar_type": "calendly",
      "meeting_time": "2023-11-24T05:30:00.000Z",
      "created_at": "2023-11-24T05:30:00.000Z",
      "booking_guests": ["jackie@acme.com"],
      "booked_with_name": "Jane Doe",
      "booked_with_email": "jane@abc.com"
    }
  }
}
```


# Adding Allowlist URLs

You can create allowlist URL patterns for which the chat widget will be visible.

To add allowlist URL patterns, go to the **Settings** page and click on the **Chat Agent** tab. Then go to the **Widget Visibility** section and select **Allowlist** from the dropdown menu. You can then enter the URL patterns you want to allow and then click on the **Apply** button to save the changes.

### **Example** <a href="#example" id="example"></a>

#### **Wildcard URLs** <a href="#wildcard-urls" id="wildcard-urls"></a>

Let's say you want to allow URLs that start with `https://www.example.com/allowed` and its wildcard version `https://www.example.com/allowed/*`. You can do this by entering the following in the **Allowlist** field:

```
https://www.example.com/allowed(/*)
```

This will allow SalesMonk to track URLs that start with `https://www.example.com/allowed` and its wildcard version `https://www.example.com/allowed/*`.

#### **Particular URL** <a href="#particular-url" id="particular-url"></a>

If you want to allow a particular URL, you can do this by entering the URL in the **Allowlist** field. For example, if you want to allow `https://www.example.com/allowed`, you can enter the following in the **Allowlist** field:

```
https://www.example.com/allowed
```

This will allow SalesMonk to track the URL `https://www.example.com/allowed`.

#### **Add all url in wildcard except specific link segment** <a href="#add-all-url-in-wildcard-except-specific-link-segment" id="add-all-url-in-wildcard-except-specific-link-segment"></a>

If you want to add all URL in wildcard except particular link, you can do this by entering the URL in the **Allowlist** field. For example, if you want to allow `https://www.example.com/allowed/*` except particular link `https://www.example.com/allowed/specific-link`, you can enter the following in the **Allowlist** field:

```
https://www.example.com/allowed(/(?!specific-link)*)
```


# Basic setup

This section covers all the setup you should do before you start talking to visitors.

{% hint style="warning" %}
It's highly recommended to do all these steps to ensure that your visitors want to talk to you!
{% endhint %}

## Enabling visitor chat

<figure><img src="https://3225205723-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fp0xwiIzxYv8XOC8VVS7i%2Fuploads%2FaZTaRtsJHUcjL44Ly9gP%2FScreenshot%202026-02-13%20at%202.58.45%E2%80%AFPM.png?alt=media&amp;token=512612c4-6cf6-47dd-ba78-ffb745bd0cef" alt=""><figcaption><p>Settings > Chat Settings</p></figcaption></figure>

On [this page](https://app.saasmonk.ai/settings) within your dashboard, make sure you -

1. **Turn on user visibility**: if you ever intend on chatting with visitors via Slack or the dashboard, this needs to be on! This ensures your profile image shows up publicly.
2. **Set a default chat greeting**: you can update the default greeting that gets sent through the "Greet Visitor 👋" button on Slack. *Tip: make it as non-robotic as you can for more engagement*
3. **Set a message for your bio**: this can just be your job role, or something to put a smile on your visitor's face :wink:

## Updating your profile picture

Your profile picture will be visible in the chat widget to your website visitors. Putting a face to your name really helps in their confidence of you being a real person!

{% hint style="info" %}
Be sure to upload an image that shows your face prominently
{% endhint %}

{% embed url="<https://scribehow.com/embed/How_to_update_your_profile_picture_on_SaaSmonkai__0d63wz2xQMWl5o4twG0eOw?as=scrollable&skipIntro=true>" %}


# Identify individuals clicking on outbound emails

Identifying accounts on your site not enough? SalesMonk can help you identify individuals clicking on your email sequences too!

By utilizing our UTM parameter in outbound emails and sequences with links taking prospects back to your website, you’ll receive individual-level identification data about your website visitors. The UTM is simple to set up, and including them in all email links taking prospects back to your website will help your team get a ton of identified visitors each week!

### Setup for HubSpot

You will need to add in the following at the end of your link&#x20;

**If you have no other UTM parameters:**

`?s_email={{contact.email}}`

<figure><img src="https://3225205723-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fp0xwiIzxYv8XOC8VVS7i%2Fuploads%2FTvzNqtz8yjyj2BxTmnyR%2FHubspot%20email%201.gif?alt=media&amp;token=95104ea4-e5ce-4368-8b2f-f15a7752dabb" alt=""><figcaption><p>Adding s_email UTM with no existing UTM params</p></figcaption></figure>

Before: [https://www.salesmonk.ai](https://www.salesmonk.ai/?s_email={{contact.email}})

After: [https://www.salesmonk.ai?s\_email={{contact.email}}](https://www.salesmonk.ai/?s_email={{contact.email}})

***

**If you have other UTM params in link, add this in at the end:**

`&s_email={{contact.email}}`

<figure><img src="https://3225205723-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fp0xwiIzxYv8XOC8VVS7i%2Fuploads%2FKxsfvlQ5YhS0ygr6DGuV%2FHubspot%20email%202.gif?alt=media&amp;token=083e3d38-1823-45e7-943b-087730ff9d84" alt=""><figcaption><p>Adding s_email UTM with an existing UTM params</p></figcaption></figure>

Before: [https://www.salesmonk.ai/about-us/company?utm\_campaign=onboarding](https://www.salesmonk.ai/about-us/company?utm_campaign=onboarding\&s_email={{contact.email}})

After: <https://www.salesmonk.ai/about-us/company?utm_campaign=onboarding&s_email={{contact.email}}>

### Setup for Outreach, Ample, Salesloft and Apollo

The setup for these will be almost exactly the same as above, except for one detail. The text you would add in to your links would be as follows:

No other UTM params: `?s_email={{email}}`

With other UTM params, add at the end: `&s_email={{email}}`


# Calendars


# Calendly

This guide covers the steps to adding a single Calendly calendar link. If you'd like to route to different event types based on some form inputs from the visitor, you can embed a [Calendly Routing Form](https://calendly.com/features/routing) following the same general steps below.&#x20;

### Personal Access Token

A token is needed to capture the name and email booked from the Calendly widget into our system.

{% embed url="<https://app.arcade.software/share/EiwdaoZFTT17eBAdi7ie>" %}

Follow the steps here to generate one within Calendly:

* Go to the [Integrations Page](https://calendly.com/integrations)
* Select the [API & Webhooks tile](https://calendly.com/integrations/api_webhooks)
* If you have no prior personal access tokens, select Get a token now under Personal Access Tokens.
* If you already have a token, select Generate new token under Your personal access tokens.
* At Create your personal access token, create an identifiable name for your token and select Create Token, then Copy token.

### Embed Snippet

{% embed url="<https://app.arcade.software/share/sE8vS94meDVt9x2ZQlXj>" %}

Once you have the token, follow the steps provided in the video and add it to [Salesmonk Dashboard](https://app.salesmonk.ai/settings?tab=link-calendar).


# Hubspot

Guide coming soon!


# RevenueHero Campaign router

We support Campaign routers from RevenueHero being embedded right in our chat widget.

{% embed url="<https://scribehow.com/embed/How_to_Connect_Revenue_Hero_Calendar_to_Saasmonk_AI__XSqiwlYpTaOUWrhy40QKbQ?as=scrollable>" %}


# RevenueHero Inbound Router

You can use RevenueHero's Inbound Router (https\://help.revenuehero.io/routers/inbound/create-inbound-router) in case you'd like to use advanced routing capabilities.

{% hint style="warning" %}
This integration takes a little longer to set up than the campaign router.

We would need to know the exact fields to be captured for the router, and any updates to be made to the router need to be communicated to our support team beforehand to ensure that the meeting booking process doesn't break.
{% endhint %}

### Inbound Router Setup

1. Create a custom form

The form fields need to be mapped exactly like the following:

`first_name`

`last_name`

`full_name`

`email`

`business_email`

`country`

`company_name`

`phone_number`

Router ID is unimportant, can add in an arbitrary value like 123 here.

2. Create a new inbound router. Use the custom form created above. Go add values in steps 1-5 as needed.
3. In the final step, add in the "meeting not booked URL" and "disqualified URL" values from our dashboard, under Settings > Link Calendar > Revenue Hero Inbound Router. Create the new router.
4. After creating the new router, copy over the new router ID to our dashboard and save.


# Slack


# How to connect?

To connect Slack in SalesMonk, follow these steps:

1. Log in to your SalesMonk account.

   **NOTE: Please ensure that your login email is same as your slack account email**
2. Click on the **Settings** icon in the bottom left

   <figure><img src="https://3225205723-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fp0xwiIzxYv8XOC8VVS7i%2Fuploads%2Fw3aGKliWbklbQmyqZgm6%2Fimage.png?alt=media&amp;token=65a60b72-0ae9-4372-8f1c-ed18384e82b6" alt=""><figcaption></figcaption></figure>
3. Navigate to **Integrations** tab and click on **Add to Slack button**

   <figure><img src="https://3225205723-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fp0xwiIzxYv8XOC8VVS7i%2Fuploads%2FedJgSMmPmc1z4002x4h0%2Fimage.png?alt=media&amp;token=7620331d-6626-4e60-b002-ef804b11bb7d" alt=""><figcaption></figcaption></figure>
4. Select the Slack workspace you want to connect and click on **Allow**.

   <figure><img src="https://3225205723-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fp0xwiIzxYv8XOC8VVS7i%2Fuploads%2FvRJF2gZSOBeqfQOmSDw3%2Fimage.png?alt=media&amp;token=42fd72a9-295a-47c1-93a2-d020ad4fb28a" alt=""><figcaption></figcaption></figure>
5. Once the connection is established, you will be redirected to the settings page and see a **Connected** status in the **Slack Integration** section
6. Select the channel in which you want to receive the notifications and click the **Set Channel** button to set the channel.

   <figure><img src="https://3225205723-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fp0xwiIzxYv8XOC8VVS7i%2Fuploads%2FatOYV0OMzjbwozffXbwa%2Fimage.png?alt=media&amp;token=1bc5c355-7dd5-40d0-aac7-3c8e6b21917d" alt=""><figcaption></figcaption></figure>

#### Private Channel Setup (optional)

1. To setup private channel, add the SalesMonk app by mentioning it in the private channel you want to add in and click on **Invite Them** button.

   <figure><img src="https://3225205723-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fp0xwiIzxYv8XOC8VVS7i%2Fuploads%2FHEgYAc4DA8DgrAQMP8T6%2Fimage.png?alt=media&amp;token=4f9d4746-0778-4153-b02c-fdfdd1d06fd5" alt=""><figcaption></figcaption></figure>
2. Once the app joins the channel, it will be available in the dropdown in the SalesMonk dashboard. Select the channel from the dropdown and set the channel.

🎉 That's it! You have successfully connected Slack in SalesMonk and can now enjoy seamless communication and collaboration between the two platforms.


# How to use?

Please ensure that your slack email is same as the one you used to login into SalesMonk dashboard

* You can directly send the message to the visitor by clicking on the `Greet Visitor` button or by replying to the thread.

<figure><img src="https://3225205723-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fp0xwiIzxYv8XOC8VVS7i%2Fuploads%2FDHVRoxSGppThnUWJpJxn%2Fimage.png?alt=media&amp;token=356a468d-66b2-45f5-8a6b-cbedad2dcb3c" alt="" width="375"><figcaption></figcaption></figure>

* If you receive a green tick :white\_check\_mark: on the message, it means that the visitor has received your message.

<figure><img src="https://3225205723-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fp0xwiIzxYv8XOC8VVS7i%2Fuploads%2F7RBlI2h7eENqHieuxwqx%2Fimage.png?alt=media&amp;token=64054d11-400e-4cdb-accf-5977f2ee3d3a" alt="" width="375"><figcaption></figcaption></figure>

* If you receive a cross mark :x: on the message, it means that the message was not delivered to the visitor. Possible reasons could be:
  * You're not the assigned agent for the visitor as only one agent can chat with the visitor.
  * You're not registered on the SalesMonk dashboard. Please connect with your admin to get yourself added on the dashboard.

<figure><img src="https://3225205723-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fp0xwiIzxYv8XOC8VVS7i%2Fuploads%2FSr5TXPNmBFoN7SjhpWO1%2Fimage.png?alt=media&amp;token=532d375f-c229-43df-aeec-6d006983dac0" alt="" width="375"><figcaption></figcaption></figure>

NOTE: If you don't receive any reaction on your message after sending the message, please contact SalesMonk support immediately.


# SalesForce CRM

SaaSMonk has a bi-directional Salesforce sync to make sure that Salesforce stays as your source of truth.

## Integrating Salesforce with SalesMonk <a href="#s_d6dfa83591" id="s_d6dfa83591"></a>

To create the Salesforce CRM integration, you need to be a Salesforce Administrator. As connected apps receive tokens on behalf of the client after authorization.

{% hint style="info" %}
Our approach to making sure that this integration is successful is iterative. We recommend you start with reads, and consult with our support team on enabling specific writes since the needs for these vary vastly from company to company.
{% endhint %}

## Reading data from Salesforce to SalesMonk <a href="#s_d6dfa83596" id="s_d6dfa83596"></a>

SalesMonk reads customer CRM data in order to populate additional fields within our platform with relevant CRM information. It also enables our customers to:

* Create segmenting based off of CRM data - needed in scenarios where you want your reps to be notified when an account that they own comes to your website
* Filter out your current customers in so that you're only messaging true prospects.
* See the data surfaced in all the relevant places - Slack, in the visitor and company detail pages, and so on.

We currently show the following CRM fields inside SalesMonk dashboards and Slack notifications:

* Account
  * Name
  * Website
  * \# of contacts
  * Owner
* Contact / Lead
  * Name
  * Email
  * Owner
* Opportunity
  * Amount
  * Close date
  * Deal pipeline
  * Deal stage
  * Last activity
  * Owner

## Writing data from SalesMonk to Salesforce

When SalesMonk identifies a company or an individual visiting your website, we will add that company as a Account record in Salesforce and add that individual as a Lead record in Salesforce.

**Please note that writes need to be enabled in consultation with our Support team - we'll make sure that only the right fields and contacts/companies are getting mapped to Salesforce.**

In addition to adding a Company record and/or a Lead record to Salesforce, SalesMonk also writes over a set of custom SalesMonk fields. These essentially serve as a way to get all of SalesMonk's valuable website traffic data into your CRM automatically.

{% hint style="info" %}
We distinguish duplicate records by checking domains for companies and emails for individuals.
{% endhint %}

If we identify a duplicate, we will not create a new Company or Lead record, and instead write over the data from the custom fields to the Company and Contact (or Lead) records.

### Company

SalesMonk adds these fields to the Account object:

1. SalesMonk Created
   1. True if this account didn’t exist in your CRM before and SalesMonk created this account
2. SalesMonk: Company
   1. URL Link to the account page in SalesMonk, e.g. <https://app.salesmonk.ai/accounts/XXXX>

### Contact

SalesMonk adds these custom fields to the Contact/Lead object:

1. SalesMonk Created
   1. True if this lead didn’t exist in your CRM before and SalesMonk created this lead
2. SalesMonk Contact
   1. URL Link to the visitor page in SalesMonk, e.g. [https://app.salesmonk.ai/contact/details/XXXX](https://app.salesmonk.ai/accounts/XXXX)
3. SalesMonk Last Seen
   1. Date this visitor was last seen on your website
4. SalesMonk Total sessions
   1. Total number of sessions from all devices of this visitor. A new session is started when a visitor comes to your site, and ends when the visitor closes the tab or if they become inactive and stop scrolling/moving/clicking anything on your site for over 30m.
      1. E.g. visitor goes to your site, scrolls around, closes tab. 4 hours later, visitor A goes to your site again and clicks around. That’s 2 sessions.
5. SalesMonk UTM Campaign
   1. Last utm\_campaign value
6. SalesMonk UTM Content
   1. Last utm\_content value
7. SalesMonk UTM Medium
   1. Last utm\_medium value
8. SalesMonk UTM Source
   1. Last utm\_source value

We also add in the following in the **Activity** **timeline** for the contact/lead:

1. Meetings booked by the contact

We also add in the following in the **Notes** for the contact/lead:

1. Chats initiated by the contact

## Salesforce integration FAQs <a href="#s_92126c4837" id="s_92126c4837"></a>

**Question**: If a match isn't found in Salesforce, what records are created and what are the default values?(Owner, Status, etc.)

**Answer**:

Creating a Company:

* Company Name
* Company Owner
  * Assigned to the Salesforce user who did the Salesforce integration in SaaSMonk
* Website
* All the SalesMonk fields mentioned above

Creating a Lead

* Name
* Email
* Lead Owner
  * By default leads are assigned to the Salesforce user who did the Salesforce integration in SalesMonk (can be changed to a different Salesforce user on request)
* All the SalesMonk fields mentioned above

***

**Question:** What's the methodology SalesMonk uses to identify whether a Contact(or Lead)/Company already exists in Salesforce?

**Answer:** We look at the unique identifiers for companies and individuals. These are the domains of the companies and the emails/phone numbers of the people. Note that for companies we match based on just domain of the website field (we strip any “[http://www.”](http://www.xn--ivg/) and any URL paths)

***

**Question:** Will SalesMonk edit any of our CRM fields?

**Answer:** We overwrite the first name and last name with the values provided by a user with an existing contact/lead. Email and phone number changes are also synced to Salesforce . We also edit the custom SalesMonk fields.

***

**Question:** If SalesMonk identifies the account or the contact to be a duplicate, will it still write over the SalesMonk data to the custom fields of the Company record and/or the Contact record?

**Answer:** Yes. If we identify the company or the individual that has visited your website to already be in your Salesforce (as a Contact/Lead), we will not create a new Company record or Lead record. However, we will still write over all of the data into the SalesMonk custom fields for those existing Company records and/or Contact/Lead records. Note, for individuals, we go through contacts first and then leads to determine duplicates.

***

**Question:** At a high level, how can I easily find whether a Company or Lead record was created by SalesMonk?

**Answer:** You’ll see "SalesMonk Created” is “True” if we created the Company or Lead record (for Leads , the LeadSource will be set to SalesMonk by default).

***

**Question:** Is there an option to create customer field mappings for records created by SalesMonk?

**Answer:** This requires a custom integration - please contact our support, we'd be happy to make this happen for you!


# HubSpot CRM

SaaSMonk has a bi-directional Hubspot sync to make sure that Hubspot stays as your source of truth.

{% hint style="info" %}
Our approach to making sure that this integration is successful is iterative. We recommend you start with reads, and consult with our support team on enabling specific writes since the needs for these vary vastly from company to company.
{% endhint %}

## Reading data from HubSpot to SalesMonk <a href="#h_d6dfa83596" id="h_d6dfa83596"></a>

SalesMonk reads customer CRM data in order to populate additional fields within our platform with relevant CRM information. It also enables our customers to:

* Create segmenting based off of CRM data - needed in scenarios where you want your reps to be notified when an account that they own comes to your website
* Filter out your current customers in so that you're only messaging true prospects.
* See the data surfaced in all the relevant places - Slack, in the visitor and company detail pages, and so on.

We currently show the following CRM fields inside SalesMonk dashboards and Slack notifications:

* Company
  * Name
  * Website
  * \# of contacts
  * Owner
* Contact
  * Name
  * Email
  * Lifecycle stage
  * Owner
* Deal
  * Amount
  * Close date
  * Deal pipeline
  * Deal stage
  * Last activity
  * Owner

## Writing data from SalesMonk to HubSpot

When SalesMonk identifies a company or an individual visiting your website, we will add that company as a Company record in HubSpot and add that individual as a Contact record in HubSpot.

**Please note that writes need to be enabled in consultation with our Support team - we'll make sure that only the right fields and contacts/companies are getting mapped to HubSpot.**

In addition to adding a Company record and/or a Contact record to HubSpot, SalesMonk also writes over a set of custom SalesMonk fields. These essentially serve as a way to get all of SalesMonk's valuable website traffic data into your CRM automatically.

{% hint style="info" %}
We distinguish duplicate records by checking domains for companies and emails for individuals.
{% endhint %}

If we identify a duplicate, we will not create a new Company or Contact record, and instead write over the data from the custom fields to the Company and Contact records.

### Company

SalesMonk adds these fields to the Company object:

1. SalesMonk Created
   1. True if this account didn’t exist in your CRM before and SalesMonk created this account
2. SalesMonk: Company
   1. URL Link to the account page in SalesMonk, e.g. <https://app.saasmonk.ai/account/XXXX>
3. SalesMonk: Last Seen
   1. Date any visitor from this account was last seen on your website
4. SalesMonk: Pages Visited
   1. List of URL page paths visitors from this account visited
5. SalesMonk: Segments
   1. List of SalesMonk Segments that this account matches
6. SalesMonk: Total active time
   1. Total active seconds spent on your website of all visitors from this account. Active means the visitor was moving their mouse, scrolling, clicking. Does not include time where the visitor just leaves the tab open in the background
7. SalesMonk: Total pages viewed
   1. Total number of page views (non-unique) from all visitors from this account.
      1. E.g. if visitor A views /pricing, clicks /home, clicks /pricing, that’s 3 pages viewed.
8. SalesMonk: Total sessions
   1. Total number of sessions from all visitors from this account. A new session is started when a visitor comes to your site, and ends when the visitor closes the tab or if they become inactive and stop scrolling/moving/clicking anything on your site for over 30m.
      1. E.g. visitor A goes to your site, scrolls around, closes tab. 4 hours later, visitor A goes to your site again and clicks around. That’s 2 sessions.
9. SalesMonk: UTM Campaigns
   1. List of all utm\_campaign values from any visitors from this account
10. SalesMonk: UTM Contents
    1. List of all utm\_content values from any visitors from this account
11. SalesMonk: UTM Mediums
    1. List of all utm\_medium values from any visitors from this account
12. SalesMonk: UTM Sources
    1. List of all utm\_source values from any visitors from this account
13. SalesMonk: Visitor count
    1. Number of unique website visitors from this account

### Contact

SalesMonk adds these custom fields to the Contact object:

1. SalesMonk Created
   1. True if this lead didn’t exist in your CRM before and SalesMonk created this lead
2. SalesMonk Contact
   1. URL Link to the visitor page in SalesMonk, e.g. [https://app.saasmonk.ai/contact/details/XXXX](https://app.saasmonk.ai/account/XXXX)
3. SalesMonk Last Seen
   1. Date this visitor was last seen on your website
4. SalesMonk Total sessions
   1. Total number of sessions from all devices of this visitor. A new session is started when a visitor comes to your site, and ends when the visitor closes the tab or if they become inactive and stop scrolling/moving/clicking anything on your site for over 30m.
      1. E.g. visitor goes to your site, scrolls around, closes tab. 4 hours later, visitor A goes to your site again and clicks around. That’s 2 sessions.
5. SalesMonk UTM Campaign
   1. Last utm\_campaign value
6. SalesMonk UTM Content
   1. Last utm\_content value
7. SalesMonk UTM Medium
   1. Last utm\_medium value
8. SalesMonk UTM Source
   1. Last utm\_source value

We also add in the following in the **Activity** **timeline** for the contact:

1. Chats initiated by the contact
2. Meetings booked by the contact

### Deal

SalesMonk adds these fields to the Deal object:

1. SalesMonk Created Account
   1. True, if the Account associated with this Opportunity is "SalesMonk Created: True"

## HubSpot integration FAQs <a href="#h_92126c4837" id="h_92126c4837"></a>

**Question**: If a match isn't found in HubSpot, what records are created and what are the default values?(Owner, Status, etc.)

**Answer**:

Creating a Company:

* Company Name
* Company Owner
  * Assigned to the HubSpot user who did the HubSpot integration in SalesMonk
* Website
* All the SalesMonk fields mentioned above

Creating a Contact

* Name
* Email
* Contact Owner
  * Assigned to the HubSpot user who did the HubSpot integration in SalesMonk
* All the SalesMonk fields mentioned above

***

**Question:** What's the methodology SalesMonk uses to identify whether a Contact/Company already exists in HubSpot?

**Answer:** We look at the unique identifiers for companies and individuals. These are the domains of the companies and the emails of the people. Note that for companies we match based on just domain of the website field (we strip any “[http://www.”](http://www.xn--ivg/) and any URL paths)

***

**Question:** Will SalesMonk edit any of our CRM fields?

**Answer:** No. We only write to the customer SalesMonk fields.

***

**Question:** If SalesMonk identifies the account or the contact to be a duplicate, will it still write over the SalesMonk data to the custom fields of the Company record and/or the Contact record?

**Answer:** Yes. If we identify the company or the individual that has visited your website to already be in your HubSpot, we will not create a new Company record or Contact record. However, we will still write over all of the data into the SalesMonk custom fields for those existing Company records and/or Contact records.

***

**Question:** At a high level, how can I easily find whether a Company or Contact record was created by SalesMonk?

**Answer:** You’ll see "SalesMonk Created” is “True” if we created the Company or Contact record.

***

**Question:** Is there an option to create customer field mappings for records created by SalesMonk?

**Answer:** This requires a custom integration - please contact our support, we'd be happy to make this happen for you!


# How to connect HubSpot?

### **Prerequisites**

Before connecting HubSpot:

* You must have Admin access in HubSpot
* You must have permission to install apps
* You must be logged into the correct HubSpot account

### How to Connect HubSpot

<figure><img src="https://3225205723-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fp0xwiIzxYv8XOC8VVS7i%2Fuploads%2FBzQMeZ2CK13nu12anwKL%2FClick%20on%20Settings.jpg?alt=media&amp;token=02eb79fb-a224-4a13-8a2c-fcc429869aec" alt=""><figcaption></figcaption></figure>

#### Step 1: Go to Integrations

1. Log in to SalesMonk.
2. Click **Settings** from the left sidebar.
3. Click **Integrations** under Workspace.
4. Locate **HubSpot**.
5. Click **Connect**.

<figure><img src="https://3225205723-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fp0xwiIzxYv8XOC8VVS7i%2Fuploads%2FckrwMFPIsM6kcEr0tG5C%2FClick%20on%20Settings%20(1).jpg?alt=media&amp;token=869289d9-98a6-44d9-b608-854e5bd59c1e" alt=""><figcaption></figcaption></figure>

#### Step 2: Continue Secure Authentication

<figure><img src="https://3225205723-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fp0xwiIzxYv8XOC8VVS7i%2Fuploads%2FpP4mjwuh9kejvkDGtcBX%2FClick%20on%20Settings%20(3).jpg?alt=media&amp;token=b7f1eda6-bca4-4d2a-bfd7-cfc261519382" alt=""><figcaption></figcaption></figure>

SalesMonk uses a secure authentication flow.

1. Click **Continue** on the authentication screen.

<figure><img src="https://3225205723-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fp0xwiIzxYv8XOC8VVS7i%2Fuploads%2F2uz73acjXcpSrOxlPp1i%2FClick%20on%20Settings%20(4).jpg?alt=media&amp;token=079832c2-2c59-49de-98d9-483a740a6450" alt=""><figcaption></figcaption></figure>

2. Select **HubSpot** as the integration provider.

#### Step 3: Grant Required Permissions

<figure><img src="https://3225205723-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fp0xwiIzxYv8XOC8VVS7i%2Fuploads%2FGaXTz59N1By2tUtWVPzz%2FClick%20on%20Settings%20(7).jpg?alt=media&amp;token=a6a2d797-c7ef-4007-ae17-5fe182067c41" alt=""><figcaption></figcaption></figure>

SalesMonk will request access to:

* Read and write Contacts
* Read and write Companies
* Read and write Deals
* Read Owners and Users
* Access CRM schema data

Click **Connect** to grant access.

#### Step 4: Choose HubSpot Account

<figure><img src="https://3225205723-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fp0xwiIzxYv8XOC8VVS7i%2Fuploads%2FA27MYxa5mTRxBc6u1TRU%2FClick%20on%20Settings%20(6).jpg?alt=media&amp;token=b52d40d2-47b0-4824-95cc-f80f0323a845" alt=""><figcaption></figcaption></figure>

1. Select the **HubSpot** account you want to connect.
2. Click **Choose Account.**

#### Step 5: Confirm Connection in HubSpot

<figure><img src="https://3225205723-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fp0xwiIzxYv8XOC8VVS7i%2Fuploads%2FmSrncDoL9TQ5ZLsLPLVR%2FClick%20on%20Settings%20(9).jpg?alt=media&amp;token=3479f6d9-3f1b-4f7e-9ac2-d7afab45b839" alt=""><figcaption></figcaption></figure>

HubSpot may show a notice indicating the app has not been reviewed by HubSpot.

To proceed:

1. Check the **acknowledgment box**.
2. Click **Connect app**.

<figure><img src="https://3225205723-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fp0xwiIzxYv8XOC8VVS7i%2Fuploads%2FTRVoLjmJeDXrpLYeLHjU%2FClick%20on%20Settings%20(8).jpg?alt=media&amp;token=4d07ace5-733d-4351-ab3b-551f27f92339" alt=""><figcaption></figcaption></figure>

After successful authentication, the integration status will show as **Connected**.


# Style options

Here are the various style options available to show for your Visitor flows:

### Minimal

<figure><img src="https://3225205723-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fp0xwiIzxYv8XOC8VVS7i%2Fuploads%2F1XJw1u8SWBTGyU6GqZkG%2FOutbound%20message%20with%20MCQ.png?alt=media&amp;token=7bafd6e9-3a27-4861-a777-5b1ba652fc5f" alt="" width="563"><figcaption></figcaption></figure>

### Duo tone

<figure><img src="https://3225205723-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fp0xwiIzxYv8XOC8VVS7i%2Fuploads%2FZfnbVVQE6JPisvZWSJ3g%2FOutbound%20-%20duo%20tone%2C%203%20options.png?alt=media&amp;token=e3b48cb4-96b0-41b7-a31c-79fc876b1f4c" alt="" width="563"><figcaption></figcaption></figure>

### Bold

<figure><img src="https://3225205723-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fp0xwiIzxYv8XOC8VVS7i%2Fuploads%2FUdfxCdAdTaxupL21sXzu%2FOutbound%20-%20bold%2C%203%20options.png?alt=media&amp;token=c7cf46e8-6c47-4676-bd11-0e355a7cb3ce" alt="" width="563"><figcaption></figcaption></figure>

### White

<figure><img src="https://3225205723-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fp0xwiIzxYv8XOC8VVS7i%2Fuploads%2FRvHZsZqQsmd6psYPo6SP%2FOutbound%20-%20white%2C%203%20options.png?alt=media&amp;token=fc8d0330-d621-4efb-9dda-0103220ccf27" alt="" width="563"><figcaption></figcaption></figure>


# Merge tags

Merge tags are used to substitute dynamic values in messages. They can be used within the editor for Visitor Flows.

### Available tags

```
big_picture_industry
big_picture_industry_group
clearbit_industry
clearbit_industry_group
clearbit_sub_industry
country
utm_source
company_name
```

### Usage

Use the following syntax:

`{{ country | "Earth" }}`


# Opening vs Follow-Up Messages (Legacy Feature)

**Follow-Up Messages (Legacy)**

**Deprecated Feature**

**Follow-Up Messages are no longer actively supported.** &#x20;

**Please use Opening Messages instead.** &#x20;

**Refer to the Opening Messages documentation.**

While setting visitor flows, each flow must be either an "opening message" or a "Follow-up message". These options can be found in the Message type section, within the visitor flow

<figure><img src="https://3225205723-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fp0xwiIzxYv8XOC8VVS7i%2Fuploads%2FxTgYbjdYIPndt69Ue6ir%2FScreenshot%202024-01-26%20at%204.46.34%20PM.png?alt=media&amp;token=d6072113-79a5-4f8d-9e1c-ddba18a2f8b7" alt=""><figcaption></figcaption></figure>

Opening messages - Only a single opening message gets triggered for a given page in a single session.

Follow-up messages - For a given page in a given session, any message that needs to be triggered after the "one and only opening message" needs to be set as a Follow-up message.

Follow-up messages become useful while setting flows for visitors based on their in-page activities. Follow-up messages have to be lower in the priority of visitor flows.

Example -

Here are visitor flows set for first-time visitors, repeat visitors, and visitors who have clicked on the outbound tab of the homepage -

<figure><img src="https://3225205723-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fp0xwiIzxYv8XOC8VVS7i%2Fuploads%2Fcx1LV4taxHeUb1VhnIbr%2FScreenshot%202024-01-26%20at%204.44.14%20PM.png?alt=media&amp;token=93eb2436-a3d1-414a-9df4-ad3e2b7854d6" alt=""><figcaption></figcaption></figure>

This ensures that only the "First-time visitor" or "Repeat Visitor" flow gets triggered at once and the "Outbound Click" flow gets triggered regardless of the opening message.

<figure><img src="https://3225205723-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fp0xwiIzxYv8XOC8VVS7i%2Fuploads%2Fzb6HttAQbhACAh0vXwK0%2FScreenshot%202024-01-26%20at%204.44.32%20PM.png?alt=media&amp;token=9034258a-c863-4e21-8b5e-a641ecfeefcf" alt=""><figcaption></figcaption></figure>


