
To enrich contacts with Salesforce contact and account fields, see Salesforce Contacts.
Overview
The Salesforce Service Cloud integration imports cases from your Salesforce org, with each case’s email thread as its conversation. Only closed cases owned by a queue are imported. Each queue you select becomes a dataset.
A workspace admin creates the Salesforce Service Cloud source once for the whole workspace, and channels then add its queues. Learn more about Sources →
Before you start
In Dovetail
- A workspace admin creates the source. Other users can request it.
- The credentials you connect with are shared by the whole workspace. See Shared credentials for how to choose an account.
In Salesforce
- A production org with API access, such as Enterprise, Performance, Unlimited, or Developer edition. Sandbox orgs aren’t supported.
- A Salesforce user with:
- API Enabled on their profile.
- Read access to the Case and EmailMessage objects.
- Visibility of the cases in the queues you want to import from. Salesforce queue membership and sharing rules control this.
- Permission to approve the Dovetail app. The connecting user needs the Approve Uninstalled Connected Apps permission, or a Salesforce admin can install the Dovetail app from Connected Apps OAuth Usage in Setup. See Salesforce’s documentation on connected app usage restrictions.
Create the Salesforce Service Cloud source
1
Open Sources and select Salesforce Service Cloud
In the sidebar, select Sources, then select Salesforce Service Cloud.
2
Connect Salesforce Service Cloud
Select
Continue. You’re taken to Salesforce to sign in and approve access.3
Choose queues and an import period
In Select queues to import from, choose one or more queues, or
All queues. Then choose an Import period. See Import period.4
Choose who can use the source
Choose who can use the source, then select
Next. See Create a source.5
Create the source
Choose whether to auto-redact sensitive information in the source’s data, then select
Create source. The first import starts right away. See Redact data from sources.
Authentication and permissions
Salesforce Service Cloud connects with OAuth 2.0 through Salesforce’s production login. Dovetail requests two scopes:api— lets Dovetail read the Case, EmailMessage, Contact, and Group (queue) objects.refresh_token— lets Dovetail keep the connection working without a user signing in again for each sync.
api scope allows more than reading, but Dovetail only reads data and never writes back to Salesforce.
The connecting user’s permissions, including field-level security, cap what Dovetail can see. Dovetail can’t import cases if the Status field is hidden from that user.
The source runs on the Salesforce account of the user who connects it. To change the account or credentials, see Reconnect a source.
Datasets
Each Salesforce queue you select becomes its own dataset and syncs on its own, so a problem with one queue doesn’t stop the others. A channel can add some or all of the source’s queues. A queue’s dataset imports the closed cases whose current owner is that queue. Cases owned by an individual user aren’t imported, even withAll queues selected.
To add more queues later, open the source and select Add queue. See Add datasets.
What gets imported
Each closed case becomes one data point, with the case’s email thread attached as its conversation.Always imported
Imported when present
These fields are imported when the case has a value and the connecting user can read the field.
Each data point also records the customer who contacted support: the sender of the case’s first incoming email, or the Salesforce contact on the case.
Not imported
- Open cases. A reopened case syncs again when it closes.
- Cases owned by an individual user rather than a queue.
- Case comments, Chatter posts, tasks, and events.
- Attachments on emails or cases.
- Custom fields.
Sync behavior
The first import starts when the source is created. After that, the source syncs about every hour. See Manage a source.- Import period. The import period applies to when each closed case was last modified in Salesforce, not to when it was created or closed.
- Ongoing sync. Each sync imports closed cases modified since the previous sync.
- Closed statuses. Every status your org treats as closed counts, whatever its label.
Troubleshooting
Salesforce won’t let you approve access. Salesforce may show “We can’t authorize you because of an OAuth error.” Ask your Salesforce admin to give you the Approve Uninstalled Connected Apps permission, or to install the Dovetail app from Connected Apps OAuth Usage in Setup. No cases, or fewer cases than expected, are imported. Check that the missing cases are closed, are owned by one of the source’s queues rather than an individual user, were modified within the import period, and have an email message or a description. Also check that the connecting user can see them in Salesforce. See Missing or outdated data. The source shows “Your Salesforce org has disabled API access for the connected user.” Ask your Salesforce admin to check the connecting user’s API Enabled permission, their Read access to cases and email messages, and the field-level security on the case Status and Description fields. The source shows “Some Salesforce cases are in the Recycle Bin.” Restore the cases from the Salesforce Recycle Bin within 15 days, or they stop syncing permanently. Salesforce Service Cloud isn’t available when I set up a channel. See Troubleshoot sources.Revoke access in Salesforce
To revoke Dovetail’s access, ask your Salesforce admin to remove the Dovetail app from your org under Setup → Connected Apps OAuth Usage. The source can’t sync until it’s reconnected. Data the source has already imported stays in Dovetail. To pause or delete the source in Dovetail, see Manage a source. To take its data out of one channel, see Channel setup.Related guides
Sources
What a source is, and how its data reaches channels.
Channel setup
Add the source’s queues to a channel, or remove them.
Manage a source
Check a source’s status, sync it, pause it, reconnect it, or add queues.
Voice of customer
Bring support cases together with other customer feedback in Channels.