Warmly Integration Documentation: Salesforce
Last updated: March 14, 2026
Note: CRM integrations are not available on the Free plan.
Warmly’s Salesforce integration is designed to do two things well:
pull critical CRM context into Warmly
push high-signal buying intent back into Salesforce, without flooding your CRM with noise
This guide explains how the integration works end to end, how data flows in both directions, and how to configure it safely for sales, marketing, and RevOps teams.
In this documentation, we will cover:
Connecting Salesforce to Warmly
Reading Salesforce data into Warmly
Writing Warmly data back to Salesforce
Warmly custom fields (Accounts, Leads, Contacts, Opportunities)
Syncing chat activity to Salesforce
Syncing prospects and companies via Orchestrations (Outbound Agent)
Connecting Salesforce to Warmly
Step 1: Configure Permissions for the Connecting Salesforce User
The Salesforce user completing the integration must have a permission set that includes all required access, which is outlined in this article here.
Warmly uses OAuth for authentication and requires Salesforce API access. Ensure your Salesforce edition supports API usage. (Supporting editions: https://help.salesforce.com/s/articleView?id=000385436&type=1).
Step 2: Connect Salesforce to Warmly
To connect Salesforce:
Navigate to Settings → Salesforce Integration in Warmly
Click Get Started
Sign in to Salesforce and approve the requested permissions
You’ll be redirected back to Warmly automatically once authorization is complete

Step 3: Install the Warmly Connected App in Salesforce
In Salesforce, go to Setup
In Quick Find, search for "Connected App"
Go to "Connected Apps OAuth Usage"
Find the Warmly connected app and click Install
Confirm that you want to install the app
Note: A Salesforce System Administrator must perform this step.

Reading Salesforce Data into Warmly
Note: The initial CRM data sync may take several minutes depending on the volume of data in your Salesforce instance.
Warmly reads Account, Contact, Lead, and Opportunity data from Salesforce to enrich records in the platform with relevant CRM context. This data powers features like segmentation and lead routing. In addition to standard Salesforce fields, any custom fields you configure in the integration settings can also be synced to Warmly and used as segments under the CRM Company and CRM Contact categories.
Common use cases include:
Assigning website visitors to the correct account owner
Identifying current customers vs prospects
Powering ICP-based segmentation using CRM fields
How Warmly Matches Salesforce Records
In the Warm Dashboards (Warm Accounts and Visitors), Warmly displays the associated Salesforce record information for identified visitors and accounts. It matches these records using the domain and email address identified for the visitor/account.
For example, if Warmly identifies a visitor associated with the domain yourcompany.com and the email [email protected], Warmly will:
Search for Account records where the domain matches
yourcompany.comSearch for Contact or Lead records where the email matches
[email protected]
CRM Data Displayed in Warm Dashboards
If matching records are found, the related Salesforce information will be displayed in the Warm dashboards. For each identified visitor or account, Warmly currently displays the following CRM data in the Warm dashboards:
Total number of account records with the same domain
Account, Contact, or Lead owner
Total number of associated contacts or leads
Total number of associated opportunities and their stages
Latest opportunity close date
What Fields Does Warmly Automatically Read from Salesforce?
When you connect Salesforce to Warmly, the following standard CRM fields are automatically synced into the platform:
Object | Field | Description |
Account | Owner | The Salesforce user responsible for the account |
Name | Account name | |
Website | Account website domain | |
Contact & Lead | Name | Contact/Lead's full name |
Contact/Lead email address | ||
Title | Contact/Lead job title | |
Owner | The Salesforce user responsible for the contact/lead | |
Opportunity | Owner | The Salesforce user responsible for the opportunity |
Amount | Opportunity value | |
Close Date | Expected or actual close date | |
Active Date | Date the opportunity became active | |
Pipeline Name | Opportunity pipeline name | |
Stage Name | Current opportunity stage |
The field mapping section is a hard-coded Warmly UI page, not dynamically generated from your Salesforce schema. The greyed-out fields are read-only and represent the fields Warmly automatically reads during setup and populates when creating new Leads or Accounts.
The two-arrow icon indicates a two-way sync. This means:
Warmly automatically tries to read those fields from the CRM.
Warmly will also try to populate those fields when creating new records in the CRM.
If additional fields need to be synced, they can be added using the “Add Custom Field” button.
Writing Warmly Data Back to Salesforce
Important: Any visitor data that was tracked before your Salesforce integration was set up won’t sync into the CRM. Only visitor activity tracked after the integration is connected will flow into Salesforce.
When Warmly identifies a company or individual visiting your website, it checks Salesforce to see whether a corresponding record already exists. Based on that evaluation, Warmly either updates an existing record or creates a new one. This process is deterministic, and designed to prevent duplicate records.
Warmly uses clear matching rules to handle deduplication:
Object | Match Key | Logic |
Account | Company domain | We match based on the domain of the Website field. We strip any “http://www.” and any URL paths. If an Account with a matching website domain exists, Warmly updates it. If not, a new Account is created. |
Lead / Contact | Email address | We match based on the Email field.
|
Key behaviors to understand
Warmly never creates new Contacts. All net-new individuals are created as Leads. If your Salesforce already contains Contacts with matching emails, Warmly can update those Contacts, but it will not create a Contact from scratch.
Warmly never creates new Opportunities. Opportunity records can be configured for updates only, not creation.
Warmly never overwrites populated standard fields. Standard Salesforce fields are only updated if they are currently empty. For example, if a Lead's Title field is blank and Warmly identifies a job title, it can be updated automatically. If Title already has a value, Warmly leaves it untouched.
Tip: If your team's workflow requires Contacts rather than Leads, you can configure Salesforce automation (e.g., Lead auto-conversion rules or a Flow) to convert Warmly-created Leads into Contacts after creation.
Understanding Warmly Custom Fields in Salesforce
In addition to creating or updating records, Warmly writes a set of Warmly custom fields to Salesforce. These fields are automatically created on your Salesforce objects upon integration and they provide important context around engagement and intent, including:
Website activity (e.g. last seen date, total active time)
Attribution and engagement metadata
This allows reps to understand why a record is relevant, not just who it is. If you've enabled Warmly to write website visitor data into Salesforce, then the following Warmly custom fields will be updated whenever a lead or account visits your website:
Account-Level Warmly Fields
Field Name | Description |
Warmly: Created | True if Warmly created the account |
Warmly: Touched | True if Warmly updated the account |
Warmly: Link | URL Link to the account page in Warmly, e.g. https://opps.getwarmly.com/account/XXXX |
Warmly: Last Seen | Date and timestamp of the last associated visitor from this account was last seen on your website |
Warmly: Last Pages Visited | Comma-separated string. List of URL page paths visitors from the last website visit session from this account |
Warmly: Segments List* | List of Warmly Segments that this account matches |
Warmly: Total active time | Total active seconds spent on your website of all visitors from this account. Active means the visitor was moving their mouse, scrolling, clicking. It does not include time where the visitor just leaves the tab open in the background |
Warmly: Total pages viewed | Total number of page views from all visitors from this account.
|
Warmly: Total sessions | Total number of sessions of 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 15m.
|
Warmly: UTM Campaigns | List of all utm_campaign values from any visitors from this account |
Warmly: UTM Contents | List of all utm_content values from any visitors from this account |
Warmly: UTM Mediums | List of all utm_medium values from any visitors from this account |
Warmly: UTM Sources | List of all utm_source values from any visitors from this account |
Warmly: Visitor count | Number of unique website visitors from this account |
* Warmly: Segment List is currently disabled. Please contact your Warmly CSM if you would like this field enabled for your organization.
Lead & Contact-Level Warmly Fields
Field Name | Description |
Warmly: Created | True if Warmly created this lead |
Warmly: Touched | True if Warmly updated the lead |
Warmly: Identification Source | The source for how Warmly identified the lead's email |
Warmly: Prospected | True if Warmly created this lead via an orchestration (Outbound Agent) |
Warmly: Prospector Workflow | The name of the orchestration that created the lead record from Warmly |
Warmly: Last Chat Content | Last chat message in chat from anyone |
Warmly: LinkedIn Bio | LinkedIn profile URL for the Lead |
Warmly: Link | URL to the visitor page in Warmly, e.g. https://opps.getwarmly.com/account/XXXX |
Warmly: Last Seen | Date and time the Lead was last seen on your website |
Warmly: Last Pages Visited | Comma-separated string. List of URL page paths from the last website visit session |
Warmly: Segments List* | List of Warmly Segments that this visitor matches |
Warmly: Total active time | Total active seconds this visitor spent on your website. 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 |
Warmly: Total pages viewed | Total number of page views from this visitor.
|
Warmly: Total sessions | Total number of sessions from 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 15m.
|
Warmly: UTM Campaigns | List of all utm_campaign values from any website visits from this visitor |
Warmly: UTM Contents | List of all utm_content values from any website visits from this visitor |
Warmly: UTM Mediums | List of all utm_medium values from any website visits from this visitor |
Warmly: UTM Sources | List of all utm_source values from any website visits from this visitor |
* Warmly: Segment List is currently disabled. Please contact your Warmly CSM if you would like this field enabled for your organization.
Opportunity-Level Warmly Fields
Field Name | Description |
Warmly: Created Account | True, if the Account associated with this Opportunity is "Warmly Created: True" |
When Warmly Custom Fields Are Updated
Warmly custom fields are updated whenever a synced lead, contact, or account visits your website - not just at the point of initial record creation. This means your Salesforce records accumulate engagement history over time, giving reps an increasingly complete picture of buying intent.
Note: Unlike standard Salesforce fields (which Warmly only populates when empty), Warmly custom fields are overwritten on each visit to ensure they always reflect the most recent activity. For example, Warmly: Last Seen will always show the visitor's most recent session.
Using Warmly Custom Fields in Salesforce
These fields are fully native Salesforce fields once created, which means you can use them anywhere in your Salesforce environment:
Reports & Dashboards — Build reports filtered by Warmly custom fields to surface high-intent accounts
Assignment Rules — Route leads based on matched Segments or intent signals
Workflow Rules & Flows — Trigger Salesforce automations when Warmly fields change (e.g., notify a rep when a target account's intent score spikes)
Configuring Salesforce Custom Fields into Warmly
Warmly can read your Salesforce custom fields into the platform, allowing you to build more precise segmentation and workflows based on the CRM data that matters most to your team.
Warmly will not automatically read your custom CRM fields, so you will need to manually add custom fields one by one that you want Warmly to read.
To make a Salesforce custom field available in Warmly:
Go to Settings → Salesforce Integration
Select the Salesforce object (Account, Lead, Contact, or Opportunity)
Click + Add Custom Field
Search & Select the Salesforce custom field
(Optional) Set a default value for the custom field
Save and re-sync the integration
Important: Any time you add or change a custom field, you must save and re-sync the integration for the updates to take effect.
Mapping values to Custom Fields in Warmly

For Accounts and Leads, Warmly allows you to define a “Value if Warmly creates record” for custom fields.
This value is written automatically when Warmly creates a new Account or Lead in Salesforce
If left empty, Warmly will not write any value to that field for newly created records
If you want values to be assigned dynamically rather than using a static default, you can map user-provided values through Chat.
For example:
A Chat prompt asks a visitor for their email address
The visitor’s response is captured by Warmly
When a Lead is created in Salesforce, the email is written directly to the mapped Email field
This approach allows you to populate Salesforce fields using real-time inputs collected during conversations, not just predefined defaults.

Configuring How Warmly Writes to Salesforce
All object-level configuration is managed in Settings → Salesforce, organized by Salesforce object type. For each object, you can control:
Create: Whether Warmly is allowed to create new records of this type
Update: Whether Warmly is allowed to update existing records of this type
Custom Field Mapping: Which custom fields Warmly should read from, what values to write to them
To learn more about how you can configure Warmly to write data to your CRM, see the detailed guide here.
Important: For Leads, Salesforce requires a name to create a record. You may configure placeholder first and last names when a visitor’s name is unknown. If this is disabled, new identified visitors without names will not be written to Salesforce.

Syncing Chats to Salesforce
Warmly enables your team to sync chats to your Salesforce instance. These toggles are located in Inbound Agent → Chat → Settings:
Sync chat leads to Salesforce
Creates/Updates a SFDC Lead for the visitor who engaged with your chat, and adds the full chat transcript as a completed Task.
Add visitor who chatted to a Salesforce Campaign
All leads that are added to a Salesforce Campaign by Warmly (after their chat session ends) will have the status value of "Responded".

Note: Currently, you can only enroll chat leads to one Salesforce Campaign in Warmly.
Finding Chat Leads in Salesforce
In Salesforce, to identify leads that engaged with your chat:
Filter on Warmly: Touched = True
Filter on Warmly: Last Chat Content is not empty
This will show you a list of all prospects who have engaged with your chat.
Syncing Prospects via Orchestrations (Outbound Agent)
Orchestrations let you automatically sync qualified prospects and companies to Salesforce as part of your outbound workflows. This allows Warmly to push high-intent records into your CRM at the right moment, without manual intervention.
To send records to Salesforce from an orchestration:
Create or edit an Orchestration
Add a Sync to CRM step
Choose Salesforce as the CRM
Configure record ownership:
Assign all created records to a specific Salesforce user, or
Apply a lead route that will assign owners dynamically based on the routing rule.

Identifying Records Created by Orchestrations
Leads created or updated via an orchestration can be easily identified in Salesforce using Warmly custom fields:
Warmly: Prospected
Set to True when a Lead is created by an orchestration
Warmly: Prospector Workflow
Contains the name of the orchestration responsible for creating or updating the record
These fields make it easy for teams to understand how and why a record entered Salesforce and which workflow drove the action.
Related Articles
Have questions or feedback? Reach out to your CSM or email us at [email protected]