Drift's native integration with Salesforce is the most extensive for any messaging platform. We know that if you have a Sales team and have reached a certain scale, you're likely using Salesforce. Drift connects your prospects to people in real time through conversation, and you can use all the information captured through your Playbooks and conversations to book more meetings and close more deals!
In this doc, we'll cover
- what this integration can do
- minimum requirements to connect Drift and Salesforce
- setting up the integration
- sync settings and their configuration
- the technical logic of how we create leads and/or contacts
- what you'll see in Salesforce and what you'll see in Drift
- FAQ and troubleshooting tips
To quickly summarize, Drift can
- create and update Leads in SFDC which originate in Drift
- create and update Contacts in SFDC which originate in Drift
- send chat activity from Drift to SFDC
- send meetings booked in Drift to SFDC
The Salesforce integration is available on the Pro plan and above.
What this Integration Can Do
Firstly, this integration primarily sends information from Drift into Salesforce, but in some cases can read information from Salesforce and pull it into Drift. 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 from a specific Playbook 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 from a specific Playbook to a specific Salesforce Campaign
Chat Activity Data
- When a lead or contact has a conversation with you in Drift, we can add an Task to their Salesforce record
- Drift can append the full chat transcript to the lead/contact 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, we can add an Event to their Salesforce record and send over who booked the meeting
- 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 (ABM feature)
- Choose to target them with ABM Playbooks or other playbooks. (ABM feature)
- Drift will keep your accounts in sync with Salesforce and refresh every 24 hours.
Note: When an email is captured in Drift, we will immediately check if there is a matching Salesforce record. If not, we will save that response and update the SFDC card in the sidebar again after 24 hours. To manually refresh that sidebar card, type /sf and refresh your page. For more on the /sf command, skip to "Seeing Salesforce Details in Drift and the Salesforce Shortcut."
Other Features Include:
1) The ability to map Drift or Custom Attributes to Salesforce Attribute Fields
For more information on mapping Salesforce attributes, check out this doc.
2) Sending Chat Metrics into Salesforce
For more on mapping metrics, check out this doc.
3) Turning on the Salesforce Revenue Dashboard
We definitely recommend reading the rest of this guide to before trying to utilize the three features listed above. This guide will be a deep dive into the Sync settings and how they work, and you can refer back to these links when you are ready to look at the rest of the integration's features!
Minimum Requirements to Connect Drift and Salesforce
- Drift Pro Plan or above (see Pricing)
- Only a teammate with Admin permissions can set up and connect this integration
- 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. The Professional edition with API access will also work.
- 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
How to Connect the Integration
Head to Settings > App Settings > Integrations > Salesforce, or, click here. You'll be prompted to sign in with your Salesforce credentials.
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.
For an extensive list about all of the Object and Field level permissions Drift might use and how to grant them, go here.
Sync Settings and Configuration
The integration uses 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 agent 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 > Integrations > Salesforce > Sync Settings to customize exactly how Drift sends data to SFDC.
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:
- Your Advanced Sync Settings
- Mapped User Settings
a. 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:
The campaign selected here is the default campaign leads/contacts are attributed to when they are synced from Drift. You can also set campaign attribution at the Playbook level!
b. Mapping Users
In order for the 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.
Technical Logic of What We Sync to SFDC and How
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):
What You'll see in Drift and What You'll see in Salesforce
To illustrate how this integration will look and works once you've configured all your settings, here's some more details 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 created by our integration includes:
- 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:
- Conversation Link and URL where the conversation was started from
- Chat transcript and Timestamps, including Agent labels
- Date of Conversation Close
Seeing Salesforce Details in Drift and the Salesforce Shortcut
You can easily see Salesforce Details for the contact within the conversation! In the sidebar on the right, you'll see a Salesforce Details card with at-a-glance information. If you have Salesforce credentials, the "View in Salesforce" button will take you to the account in Salesforce.
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:
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 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.