Assembled integrates with the Salesforce Service Cloud contact platform allowing your ticket data to be forecasted and tracked in our system. This article will walk through how to setup the integration and verify the data Assembled pulls in is correct.
Table of Contents
Preparing Salesforce instance for Assembled
Setting up Assembled queues for Salesforce
Setting up Assembled agent states for Salesforce
Understanding how Salesforce data maps to data attributes in Assembled
Preparing your Salesforce data for Assembled
Before you connect your Salesforce instance to Assembled, we recommend working with your team’s Salesforce administrator to prepare your Salesforce data as follows:
-
Channel: Assembled’s Salesforce integration requires that all Salesforce cases be mapped to a specific Channel, using the Salesforce origin field. Assembled can ingest Salesforce cases that have one of the following values in the Salesforce origin field:
email
,web
,phone
,chat
. -
Case properties:Assembled can create queues based on one of the following case properties. If you plan to separate your Salesforce data into multiple queues within Assembled, you should ensure that each Salesforce case has one of the following properties:
- Origin
- Owner ID
- Status
- Is Deleted
- Record Type ID
Salesforce is highly customizable so please reach out to our Support Team if you are using properties not listed above.
Connecting to Salesforce
Assembled connects to Salesforce via OAuth which allows Assembled to make API requests to the Salesforce API on behalf of your Salesforce account. As a result, this will cause an overall increase in your Salesforce API usage. Salesforce Service Cloud has a rate limit of 15,000 + (number of license holders * 15,000), up to a maximum of 1,000,000 requests every 24 hours. To mitigate this, we only make a total of 10 requests per second. This may temporarily show up in Assembled as a sync invalid so if you see that please reach out to the Support Team before attempting to disable and re-enable.
- To connect your Salesforce instance to your Assembled instance, you will need a Salesforce admin to navigate to Assembled's integrations directory and click
Add
from the Salesforce integration. -
We recommend using a Salesforce Dedicated Integration User to set up the integration, rather than an individual admin user’s account.
- These are the minimum user permissions required:
- API REST Services and API Enabled
- View all
Case
records - View
LiveChatTranscript
records - View
UserServicePresences
records - View Users
- You'll want to select License = "Salesforce API integration".
- These are the minimum user permissions required:
-
If you have successfully connected to Salesforce, you will see a Synced, Sync in progress, or Connected field on the Salesforce-specific card in Assembled’s Settings > Integrations page.
If you run into any issues during this step, please reach out to our Support team.
Verifying the connection
There are two places in Assembled for you to verify if the Salesforce integration has been correctly added: the Realtime Analysis Page and the Staffing timeline.
The Realtime Analysis Page will display agent states and current adherence. Use this page to make sure agent states from Salesforce are being synced to Assembled correctly.
The Staffing timeline displays the contacts of Salesforce. Select New and Reopened Cases to see a line graph displaying how many tickets over time. This graph will show if the sync for tickets is working.
If either of these display zero or abnormal numbers, please reach out to our Support team.
Adding agents from Salesforce
To add agents into Assembled you can follow the steps in our people page guide. Agents can be added manually or in bulk via CSV upload or through the API.
Note: If you're using Agent States, use the 18-digit Salesforce ID for your Users (To see this field in Assembled go to People > ...
> Edit > [You may need to scroll down] Salesforce ID). Do not input the 15-digit Service Cloud ID - it won't pull in the UserService Presence Statuses.
Setting up Assembled queues for Salesforce cases
To set up your Assembled queues for your new Salesforce integration, we recommend following the steps in our queue configuration guide.
In addition, please note the following Salesforce specific details:
- Assembled will map Salesforce's origin field values to Assembled Channels as follows:
- Assembled will do a containing match, not an exact match.
- This means that by default we will exclude all other origin field values. Please reach out to our Support Team if you are using origin values not listed above.
Salesforce Service Cloud | Assembled |
phone | Phone |
chat | Chat |
email, web |
- For multi-channel tickets, Assembled uses the channel of the first message.
- Any cases for which the channel field is blank will be automatically excluded from Assembled.
- Within Assembled, you can create queues based on the following Salesforce attributes:
Setting up Assembled agent states for Salesforce
We use UserServicePresences to sync agent states from Salesforce. In order to get agent states, you'll need to ensure you have :
- Omnichannel enabled.
- Presence Statuses set up (creating and configuring).
To set up your Assembled agent states for your new Salesforce integration, we recommend following the steps in our agent states setup guide.
Understanding how Salesforce data maps to data attributes in Assembled
We track the SLA across all Channels on theCase
object via thefirstRespondedAt
-CreatedDate
metrics from Salesforce Service Cloud. If you are using a different metric forfirstRespondedAt
on Salesforce, please reach out to our Support team so that we can accurately parse that value from your Case object
Ticket data (Case
)
Salesforce Service Cloud | Assembled |
firstRespondedAt - call_started_at (Phone) OR firstRespondedAt - chat_started_at (Chat) OR firstRespondedAt - external_created_at (Email) [SLA] | first_response_duration |
Ticket data (LiveChatTranscript
)
Salesforce Service Cloud | Assembled |
StartTime.Time - CreatedDate.Time (SLA) | first_response_duration |
Ticket status (Case
)
Salesforce Service Cloud | Assembled |
---|---|
New | new |
Open | open |
Pending | pending |
Solved | solved |
Closed | closed |
On Hold | hold |
empty |
We highly recommend only using the statuses listed above since we will only map these by default. If you are using a status not listed please reach out to the Support team to let them know.
Ticket status (LiveChatTranscript
)
Salesforce Service Cloud | Assembled |
---|---|
Completed | solved |
InProgress | open |
Waiting | pending |
Missed | closed |
Dropped | closed |
Blocked | closed |
FAQs
- Q: What should I do if I see a sync invalid from the Salesforce integration in Settings>Integrations ?
- A: This could mean a few things so we recommend hovering over the message :
- If you see any 400 errors those usually are permissions-related. This sometimes happens when the person who originally authorized does not have proper permissions, the person who originally authorized leaves the company, or if someone changed the permissions settings. In order to continue to have data flowing into Assembled and receive accurate reporting, you will need someone with admin permissions to reauthorize the sync.
- If you see an error message that references
UserServicePresences:
- Do you have omni-channel enabled ? If no, then that explains why you don't have userServicePresences.
- Do you have agent states/status/presences? If no, then this could also explain it and we will disable the agent state sync.
- Do you use a custom (or alternate) object type for agent states/status/presences? (if yes to the last question).
- If you see a generic error please reach out to our Support Team and we can help diagnose the root cause.
- A: This could mean a few things so we recommend hovering over the message :
- Q: What do I do if all my tickets are getting excluded but I do not have any exclusions set up ?
- A: The most common reason is that you are using Salesforce origin values that are not listed on this page. If that's the case, please reach out to the Support Team and we can help set up these values for you.
- Q: What should I do if I want to create queues based on Case properties not listed in queue mapping dropdown ?
- A: Please reach out to the Support Team and we can help set up these properties for you.
Comments
0 comments
Please sign in to leave a comment.