Drift's Salesforce Integration


Drift and Salesforce

Drift's native integration with Salesforce is the most extensive for any messaging platform. Why does the Drift team spend so much time building this? We know that if you have a Sales team and have reached a certain scale, you're likely using Salesforce. Drift is a communication platform for sales, we are obsessed with empowering your Sales team using context from conversations. 



  1. What the integration can do
  2. Requirements
  3. Integration Setup
  4. Sync Settings + Configuration 
  5. Technical logic of mapping
  6. Finding Drift in Salesforce and Vice Versa
  7. FAQ + Tips for Troubleshooting


It's an easy setup! Take it from our customers who posted this on ProductHunt...


1. What this Integration can do

Firstly, Drift can sync and push information bidirectionally. To be more exact, let's go over what information about Salesforce objects can be shared in each direction:

Drift to Salesforce


  • New leads created in Drift can create a lead record in Salesforce
  • Set Lead Owner based on which rep scheduled booked the meeting, last ended the conversation, or first participated
  • Automatically add Drift sourced or influenced leads to a specific Salesforce Campaign



  • New Contacts from Drift can create a contact record in Salesforce if we can find a suitable account to associate it with.
  • You can choose to allow Drift to create a new contact record even if we can't find a suitable account to associate it with.
  • Set Contact Owner based on which rep booked the meeting, last ended the conversation, or first participated
  • Automatically add these Drift sourced or influenced contacts to a specific Salesforce Campaign



Chat Activity Data 

  • When a lead or contact has a conversation with you in Drift, we can add the activity to their Salesforce record with the full chat transcript attached when their conversation is closed.
  • Set Activity Owner based on which teammate booked the meeting, last ended the conversation, or first participated. 
  • Map the Drift conversation to a specific Salesforce Activity Type

Booked Meetings Data

  • When a lead or contact books a meeting with you in Drift, can add an event to their Salesforce record
  • Set the Event Type based on using event fields you configured in your SFDC account


Salesforce to Drift


  • Sync your specific account lists from Salesforce
  • Choose to target them with Drift ABM or other playbooks.
  • Drift will keep your accounts in sync with Salesforce and refresh daily (at night). 
Note: Drift ABM is for  Company or Enterprise plans with the Clearbit Reveal add-on.


Other Features Include:


1) Mapping to Salesforce Attributes from Custom Drift Attributes 

2) Sending Chat Metrics into Salesforce

3) Turning on the Salesforce Revenue Dashboard

Let's get set up!


2. Requirements before Setup 

Within Drift

  • Drift Pro Plan or above (see Pricing)
  • Only a teammate with an Admin Role can set up and connect this integration

Within Salesforce

  • Administrator Access
  • You must be on one of the following Salesforce Editions in order for this integration to work: Enterprise, Unlimited, Developer, or Performance. This is because the integration requires an Edition with API access; for more info on that, read SFDC documentation here
  • You must have the correct User Permissions required by Drift within Salesforce. Please go here for full instructions
  • You must be the only Drift account connected to your Salesforce instance
  • You are on the Professional plan in SFDC with API Access

3. Connect the App in your Settings

To setup the Drift <> Salesforce integration, first navigate to the App Settings within Drift, find the Apps section, and search for Salesforce

Drift needs specific permissions in order to connect. Without giving Drift these specific permissions, you are almost guaranteed to run into errors trying to connect in the next step. If you skipped past the Requirements section, please go back and read it friends!


Whichever profile you use to make the connection, double check it has Read and Edit Access checked. If we have all the right permissions, Salesforce will connect! If we don't have the right permissions, we'll disconnect and display an error message like the following:

In this example, we got the error message referencing Contact.LeadSource. This means that you haven't granted Drift access to the Object Contact or the Lead Source field for contacts. There are a few objects that we need access to; some other examples would be the Account.Name or Opportunity.AccountName

Here are some brief instructions on how to grant these permissions in Salesforce:

For an extensive list about all of the Object and Field level permissions Drift might use and how to grant them, go here.


4. Configuration of Sync Settings

The integration uses the a conversation being "Closed" as a trigger to push information over to SFDC. Make sure to utilize the Auto-Close action in playbook goals and remember to close your conversations with site visitors! See the Technical flow in the next section if you are more curious about this process.

Head over to your Settings > App Settings > AppsSalesforceSync Settings to customize exactly how Drift sends data to SFDC.

To configure the way that lead and contact ownership is decided, click the Show advanced settings links. This will bring us to a pretty cool feature in Drift, which is assigning ownership based on context from chat conversations. 


Lead, Contact, and Activity Ownership

This is a really important aspect of your settings to set up, so we're going to do a bit of a deeper dive; there are two main things to keep in mind when it comes to determining ownership with our integration:

  1. Your Advanced Sync Settings
  2. Mapped User Settings



1. Advanced Sync Settings

After clicking Show Advanced Settings for Leads, Contacts, or Chat Activity, this will reveal the Owner settings. You have the option to set the Lead Owner to be:

  • The team member with a scheduled meeting
  • The team member the end user was last routed to
  • The user who closed the conversation.


You can also see that the mapping conversations to a Salesforce Activity type has a dropdown automatically populated with the Activity Types available in your Salesforce instance


Advanced Settings for syncing Leads and Contacts will have dropdown menus for enrolling in Salesforce Campaigns instead:



2. Mapping Users 

In order for the Drift <> Salesforce connection to work properly, we need to map the users in Salesforce with the Users in Drift! 

This will take care of two main functions:

  • Adding the proper Lead/Contact Owner on a lead/contact syncing into Salesforce
  • Routing the correct Lead Owner into a Drift conversation. 

From the Salesforce Setup Page, select Mapped Salesforce Users. Then connect the dots by selecting the correct SF User and Drift User on the left and right columns. 

Only one user in Salesforce can be matched to one Drift Teammate at a time. 


5. Technical Logic

Here is how the logic works when Drift is set to sync leads, contacts, chat activity, and meetings booked with Salesforce (shown in the image below):

If a Lead, not a Contact, already exists with this email, we will either create a Contact or update the existing Lead based on your Salesforce duplicate setup. See the screenshot below for the checkbox in your settings which will prevent us from checking for an existing contact within your Salesforce instance.
Find this toggle in your Sync Settings. Still have questions about duplicates? Here's a Salesforce article on Managing Duplicate Records.


6. Finding Drift in Salesforce and Vice Versa

To get an idea of how this integration looks and works once you've configured all your settings, here's some details on how exactly everything will look in both Salesforce and in Drift. The key components are that you'll be able to see Chat Activity records as Tasks completed in Salesforce, and that in Drift from within the Inbox and Conversations view, there's a shortcut to view Salesforce Account Information


Drift Chat Activity in Salesforce

The Conversation in Drift activity manifests as a Task Record in Salesforce. A completed Conversation in Drift task with a created by our integration includes:

  • Timestamps
  • Agent's name
  • Lead's name
  • Lead's email
  • Link to the conversation (in app.drift.com)

If you are viewing the Accounts tab in Salesforce, you can find the Conversation in Drift in the Activity History of a record if any occurred. The Activity type in this example was Chat, which we suggest, but you can map the chat activity to any Type you have:

If you click into the Conversation in Drift Task, then you will see something like the following:

  1. Conversation Link and URL where the conversation was started from
  2. Chat transcript and Timestamps, including Agent labels 
  3. Date of Conversation Close
Seeing records for Leads/Contacts which you didn't want to be pushed into Salesforce from Drift? Read on to learn how to prevent visitors you determine are bad leads from being added into your Salesforce instance. 


Stop Bad Leads From Being Pushed Into Salesforce 

In order to keep your Salesforce account clean, and full of the best leads, there is a way to make sure that your bad leads will not be pushed from Drift to Salesforce. If you mark a bad lead as "Unqualified", closing the conversation will then not push that user to Salesforce, even after the conversation is Closed:

That's all! Try testing marking a test visitor as a bad lead and then close the conversation. If you look in the Salesforce Event Log, you should see no lead or contact creation activity on the log for that site visitor, even after you successfully captured their email. 


Navigating to Salesforce using the Drift Shortcut

The Salesforce + Drift integration also allows users to pull information on a specific contact directly into the conversation! Simply type the following into a conversation with an identified contact:


Using this command, you will also be able to click directly into the Account or contact record in Salesforce in addition to the owner information:
Here is how it looks in action:
This is especially useful if you are a support rep trying to find the Account Owner when a lead indicates an opportunity for upgrade or expansion. If you just want to click directly into the Contact/Lead record and Salesforce, and don't need to navigate to the Account, you can also use the View in Salesforce button directly from the contact sidebar:


How can I check if the integration is working? 

Great question. This is why we created the Salesforce Event Log. The data passing between Drift and Salesforce is logged there as either an event (successfully shared data) or an error. The errors will be in red, so they're easy to spot. Before reading the logs, make sure that you have filtered the correct time range using the settings at the top of the page:

Below is an example of a single log after a conversation was completed with one of our customers and successfully created as a task in our Salesforce. It should contain the timestamp, type of event, and who the conversation was with:

Here's an example of how a meeting will look: 

And finally, an example of lead creation which will include the Salesforce ID as well ("sfId: XXXXXXX"):



Which fields can't I map to Salesforce in our field mapping page because of Drift's agreement with Clearbit?

Employment Seniority
Display Location
Latitude + Longitude
Display Name
Github Handle
Github Followers
Twitter Handle
Twitter Followers
Facebook Handle
LinkedIn Handle


Usually, the last name of the prospect is still required for the lead in Drift to be transferred into Salesforce. What if you don't have that and you just have their email when they start a conversation?

Good question. With our integration, you don't need a last name for the lead to be passed back. If we don't have a last name, we pass "[ MISSING ]" as the last name. If that is updated at any point in Drift, and the name hasn't changed from "[ MISSING ]" in Salesforce, we update it to the name in Drift.


If there is a record associated with a Drift lead's email address in Salesforce -- will it change any attributes on that record in Salesforce?

Nope - we currently don't do anything with your existing attributes.


Will Drift send previous contacts and conversations to Salesforce once I connect?

At the moment, the Drift <> Salesforce connection will only begin syncing lead data from the moment it's connected, forward.


What Drift Plan do I need to be on to have access to this integration?

The Drift + Salesforce integration is available on our Pro plan and above. Integrations are broken down by plan under our pricing page.


What Salesforce Plan do I need to be on to have access to this integration?

The Drift + Salesforce integration is available on SFDC's Enterprise, Unlimited, Developer, or Performance plan.

Other Salesforce Articles: 


Did this help answer your question?

thumbs up
thumbs down

Thanks for the feedback! 🙏🏽

Help by drift