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:

  1. Connecting Salesforce to Warmly

  2. Reading Salesforce data into Warmly

  3. Writing Warmly data back to Salesforce

  4. Warmly custom fields (Accounts, Leads, Contacts, Opportunities)

  5. Syncing chat activity to Salesforce

  6. 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:

  1. Navigate to Settings → Salesforce Integration in Warmly

  2. Click Get Started

  3. Sign in to Salesforce and approve the requested permissions

  4. You’ll be redirected back to Warmly automatically once authorization is complete

    Screenshot 2025-06-18 at 6.13.47 PM.png

Step 3: Install the Warmly Connected App in Salesforce

  1. In Salesforce, go to Setup

  2. In Quick Find, search for "Connected App"

  3. Go to "Connected Apps OAuth Usage"

  4. Find the Warmly connected app and click Install

  5. Confirm that you want to install the app

Note: A Salesforce System Administrator must perform this step.

Screenshot 2026-02-08 at 4.56.00 AM.png
This is what you'll see when the integration is completed

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.com

  • Search 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

Email

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.

  1. If a Contact exists with a matching email, Warmly updates the Contact

  2. If no Contact exists but a Lead exists with a matching email, Warmly updates the Lead

  3. If neither exists, Warmly creates a new Lead

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.

  1. E.g. if visitor A views /pricing, clicks /home, clicks /blog, that’s 3 unique pages viewed.

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.

  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.

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.

  1. E.g. if visitor views /pricing, clicks /home, clicks /blog, that’s 3 unique pages viewed.

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.

  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.

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:

  1. Go to Settings → Salesforce Integration

  2. Select the Salesforce object (Account, Lead, Contact, or Opportunity)

  1. Click + Add Custom Field

  2. Search & Select the Salesforce custom field

  3. (Optional) Set a default value for the custom field

  4. 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

Screenshot 2026-02-08 at 5.19.24 AM.png

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.

image.png

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.

Screenshot 2026-02-07 at 10.15.44 AM.png
Permissions and field mapping section

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.

    image.png
  • 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".

    image.png

    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:

  1. Create or edit an Orchestration

  2. Add a Sync to CRM step

  3. Choose Salesforce as the CRM

  4. 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.

Screenshot 2026-02-07 at 10.40.02 AM.png

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]