Installing and configuring the Zendesk for Salesforce app in Zendesk Support enables agents to see Salesforce user information in a Support ticket. User information might include subscription level, whether a particular account has an open opportunity, or additional customer notes.
To read about other Zendesk for Salesforce features, see Choosing Zendesk for Salesforce features.
Installing and enabling the Salesforce app in Zendesk Support
If you are using the current version of Zendesk Support, you need to get the Salesforce app and install it in your Zendesk.
- In Zendesk Support, click the Admin icon () in the sidebar, then select Apps > Marketplace.
- In the search box, enter Salesforce to locate the Salesforce app.
- Click the Salesforce app, then click Install.
- Use the drop-down menu to select the account where you want to install Salesforce, then click Install. The Salesforce app is installed, but not enabled, on your Zendesk Support account.
- On the Salesforce app page, use the toggle to enable the Salesforce app.
Connecting Zendesk Support to Salesforce
You must have administrator credentials in Salesforce to connect Zendesk to Salesforce.
- In Zendesk, click the Admin icon () in the sidebar, then select Settings > Extensions.
- Click the CRM tab.
- Use the Select CRM drop-down to choose Salesforce. Steps to connect to Salesforce appear below the drop-down menu.
- In the first step, Connect to Salesforce, click the Connect to Salesforce link for either Production or Sandbox.
- When you are redirected to Salesforce, enter your Salesforce administrator username and password. This authorizes Zendesk to access your Salesforce account. Ensure that the Salesforce credentials you enter are for a Salesforce administrator so that you have the right permissions to retrieve user data.
- When prompted, click Allow for Zendesk to retrieve information from Salesforce.
When the authorization is complete, you return to the CRM tab in Support. Leave the page open for the next procedure.
Configuring the Salesforce app
You can customize the data displayed in the Salesforce app, and how often the data is refreshed, by configuring the following app settings.
These are applied when viewing Salesforce information from a ticket. These settings are configured as part of a single process.
A Zendesk administrator can configure these settings from the configuration link in the app, by opening up any ticket in Zendesk, finding the Salesforce app in the sidebar, and clicking the Configuration link.
Adding Salesforce objects to the app
This process allows you to define which Salesforce objects appear in the app in Zendesk Support.
Only users with Zendesk administrator privileges, or users in custom roles with Manage extensions and channels privileges, are able to configure the app. Configuration can be accessed by clicking the Configure Settings link in the app.
To add Salesforce objects to the Salesforce app
- Open Configuration Settings, and click the Add object button.
- In the Select Salesforce object to display section, use the drop-down to select a Salesforce object (or record type) that you want to appear in your app:
The Select Salesforce fields to display section displays all fields available on the Salesforce object you selected.
- In the Salesforce fields window, click Add (+) beside each field that you want to display in the Salesforce app for that object. One of the fields you select must contain data that matches a field in Zendesk.
- Scroll down the list of Salesforce fields and expand one of the related objects to see its fields, then add fields from the expanded object.
You can drag and drop fields within each object you have selected to change their order. The order represented in the configuration will determine order of fields displayed in the Salesforce app.
- In the Map fields to enable record lookup section, use the Selected Salesforce Fields drop-down to select a Salesforce field, then use the Zendesk field drop-down to map fields to enable record lookup.
For any given Zendesk ticket, Zendesk attempts to find a record in Salesforce whose data in the selected Object and field exactly matches the data contained in the specified Zendesk field. Example: Retrieve any account where the Salesforce Account Name exactly matches the Zendesk requester organization on this ticket.
- To enable displaying of account hierarchy, continue on to the steps in Enabling the account hierarchy; otherwise, click Save. If you’ve added a related object that can have a one-to-many relationship, and you want to filter the returned objects, continue on to the steps in Filtering the returned objects.
- Click Add object again if you want to add another object to your Salesforce app.
- Click the Finish button to close the configuration window. When the window is closed, CRM data on the current ticket will be retrieved using the new configuration. It might take a while (depending on number of active CRM data) for the rest of ticket’s CRM data to be retrieved using the new configuration.
Enabling the account hierarchy
In Salesforce, an Account record can look up to another account via the Parent Account field. This parent account can, in turn, have its own parent account. As a result, accounts can have a chain of parent accounts related to it.
The account hierarchy setting allows you to choose to display an account record’s immediate parent account and the ultimate parent account (the root account in the hierarchy).
For example, the following Salesforce account hierarchy:
Is displayed in the Salesforce app as shown here:
|Immediate parent||Ultimate parent|
By default, the option to display the hierarchy is disabled.
To display the account hierarchy in the Salesforce app, you must have the Account object added to your app customization. See Adding Salesforce Objects to your app for information.
To enable and configure the account hierarchy
- In the Show account hierarchy drop-down, select the option you want:
- None disables the hierarchy display.
- Show immediate parent enables the display, and shows the record’s immediate parent account.
- Show immediate and ultimate parent enables the display, and shows both the record’s immediate parent account, and its originating (or root) parent account.
- When enabled, the app displays the account related to the ticket, its immediate parent, its ultimate parent, and the selected fields during customization.
Filtering the returned objects
You can filter the returned objects in the app.
The option to filter these objects is only available for objects with a one-to-many relationship. In the example below, the Contact object does not have a one-to-many relationship, but the Account object does:
To filter returned objects
- In the object list, click Filter next to the object you want to work with.
- In the Filter Records dialog, select the number of returned objects (up to five), and set conditions to filter the results. For example, if you're filtering Opportunities, you could set Closed is false, then only open Opportunities would display. Or you could show Opportunities that have been closed and were won by setting Won is true.
- Click Save.
Configuring the data refresh setting
When you open a Zendesk Support ticket, the app fetches and displays Salesforce data you selected in the procedure described in Adding Salesforce objects to the app, above. By default, data is refreshed every 60 minutes.
You can request permission to access the data refresh setting. Permission is granted on a per-account basis.
After gaining access to the data refresh setting, you can define how long Salesforce data is cached in the Zendesk database -- 60 minutes, 45 minutes, 30 minutes, or 15 minutes.
- A shorter refresh rate means data is collected from Salesforce more often, and is more likely to be up to date; however, this can impact the Salesforce API limits.
- A longer refresh rate means data is collected less often, but will lessen the risk of running into the Salesforce API limits.
To access and configure the Salesforce app data refresh setting
- Request access to the data refresh setting by emailing email@example.com.
- When access has been granted, go to Zendesk Support and open the CRM tab.
- Use the App configuration drop-down to select Customize new settings.
- Use the next drop-down menu to select how long you want to cache the Salesforce data.
Viewing Salesforce information from a Zendesk Support ticket
After you have installed the Zendesk for Salesforce app you can easily view Salesforce information from a ticket in Zendesk.
- With a ticket open in Zendesk, click the Apps button on the upper-right side of the ticket page.
The Salesforce app displays in the right sidebar.
Salesforce: Creating Lead or Contact from the Zendesk Support Sidebar App
Agents can use the Zendesk Support sidebar app to create contact or lead records in Salesforce.
This feature allows agents to decide which requesters should be created in Salesforce and do this directly from the ticket view in Support.
- Zendesk for Salesforce v5.8.2 or higher must be installed in the Salesforce organization
- At least Lead or Contact object must be added in the Salesforce sidebar app configurations. Click on the Configure Settings link on the app to open the configurations:
- Salesforce validation rules for creating leads and contacts should be disabled as the only fields that are send to Salesforce are when these records are created from Support:
- Requester name
- Requester email
Creating the requester as a contact or lead in Salesforce
The requester creation form is at the top of the sidebar app:
Note that the option will NOT be shown if there is already a matching contact or lead record displaying at your sidebar app.
To create the record
- Choose the type of record you wish the requester to be created as:
- Click Create. A "success" message will appear if the record is successfully created. If not, one the following issues may be the culprit:
- An older version of Zendesk for Salesforce app (< 5.8.2) is installed in your Salesforce organization.
- A lead or contact record that matches your requester already exists in your Salesforce organization.
- Other DML-related errors (i.e., validation errors or required fields).
How the requester record is created in Salesforce
When you click the Create button as described above, the sidebar app sends the ticket requester information to Salesforce.
The package will first check if the requester already exist in Salesforce. How this is determine depends on how you set up your auto-matching settings for contact or lead.
This is done to avoid creating duplicate records.
If a duplicate record is found or some other DML-related issues occur, an error will be shown on the sidebar that the requester creation was unsuccessful. Errors can be found on our package logs page.