Setting up ticket sync from Zendesk to Salesforce

<body>
<div class="article-banners" translate="no">
<div id="docs-wmp-link">
<a href="https://support.zendesk.com/hc/en-us/articles/5411234991258-plan" rel="noopener" target="_blank">What's my plan?</a>
</div>

<div class="article-banner" id="suite_all">
<table>
<tbody>
<tr>
<td>
<strong>All Suites</strong>
</td>
<td>Team, Growth, Professional, Enterprise, or Enterprise Plus</td>
</tr>
</tbody>
</table>
</div>

<div class="article-banner" id="support_all">
<table>
<tbody>
<tr>
<td>
<strong>Support</strong>
</td>
<td>Team, Professional, or Enterprise</td>
</tr>
</tbody>
</table>
</div>

</div>
<div id="docs-ai-summary">
<p id="docs-ai-summary-toggle">Verified AI summary <span id="up-triangle">◀</span><span id="down-triangle">▼</span></p>
<p id="docs-ai-summary-content">This article guides you through setting up ticket sync from your platform to Salesforce, enabling ticket reporting and business workflows in Salesforce cases. Key steps include installing the ticket sync package, configuring field mappings, and setting up triggers. Important considerations include testing in sandbox accounts and understanding field mapping limitations. Ensure all required fields are mapped to avoid sync failures.</p>
</div>

<div class="body">

<p class="p">The Zendesk for Salesforce integration syncs Zendesk tickets to Salesforce cases,
enabling ticket reporting and business workflows in Salesforce. When the ticket sync
package is installed, Zendesk maps most of the standard ticket fields to Salesforce case
fields. </p>
<p class="p">You can also display a view of Zendesk tickets on a Salesforce Case page. See <a class="xref" href="https://support.zendesk.com/hc/en-us/articles/4408834115738" target="_blank">Setting up ticket view in Salesforce</a>.</p>
<p class="p">This article contains the following sections:</p>
<div class="p">
<ul class="ul" id="salesforce_ticket_sync_SFtoZS__ul_p1l_nzb_tjb">
<li class="li"><a class="xref" href="#topic_gzc_s1q_vzb">Important
considerations</a></li>
<li class="li"><a class="xref" href="#ubm_jsk_sjb">Recommendations before setting up</a></li>
<li class="li"><a class="xref" href="#id_vwx_prk_sjb">Setting up ticket sync</a></li>
<li class="li"><a class="xref" href="#topic_cp1_qrk_sjb">Creating a Salesforce case record type</a></li>
<li class="li"><a class="xref" href="#topic_d3d_qrk_sjb">Installing the ticket sync package in Admin Center</a></li>
<li class="li"><a class="xref" href="#topic_ek2_qrk_sjb">Configuring Zendesk tickets to Salesforce cases sync</a></li>
<li class="li"><a class="xref" href="#topic_ogj_qrk_sjb">Configuring the Sync tickets to Salesforce trigger</a></li>
<li class="li"><a class="xref" href="#topic_spk_qrk_sjb">Standard field mappings</a></li>
<li class="li"><a class="xref" href="#topic_llg_dnl_sjb">Custom field mappings</a></li>
<li class="li"><a class="xref" href="#topic_p35_l5l_sjb">Configuring organization matching</a></li>
<li class="li"><a class="xref" href="#topic_zpv_l5l_sjb">Configuring ticket requester matching</a></li>
<li class="li"><a class="xref" href="#topic_gr3_yc4_ckb">Checking if ticket sync has successfully installed</a></li>
<li class="li"><a class="xref" href="#topic_esv_hd4_ckb">Checking your ticket sync setup</a></li>
</ul>
</div>
<p class="p">Related articles:</p>
<ul class="ul" id="salesforce_ticket_sync_SFtoZS__ul_x13_41l_sjb">
<li class="li"><a class="xref" href="https://support.zendesk.com/hc/en-us/articles/4408827957274" target="_blank">Salesforce integration resources</a></li>
<li class="li"><a class="xref" href="https://support.zendesk.com/hc/en-us/articles/4408822236058" target="_blank">About triggers and how they work</a></li>
<li class="li"><a class="xref" href="https://support.zendesk.com/hc/en-us/articles/4408828717466" target="_blank">Troubleshooting the Salesforce
integration</a></li>
</ul>
</div>
<div aria-labelledby="ariaid-title2" class="topic nested1" id="topic_gzc_s1q_vzb">
<h2 class="title topictitle2" id="ariaid-title2">Important considerations</h2>
<div class="body">
<div class="p">
<ul class="ul" id="topic_gzc_s1q_vzb__ul_knd_t1q_vzb">
<li class="li">Zendesk ticket attachments do not sync to Salesforce.</li>
<li class="li">Closed tickets do not sync to Salesforce. If a ticket has not synced and is
already closed, you'll need to find an alternate method of creating a
corresponding case within Salesforce, such as the Salesforce API.</li>
<li class="li">This ticket sync feature only guarantees syncing into cases created by the
sync itself. Cases created separately might not match through sync for a
variety of reasons.</li>
</ul>
</div>
</div>
</div>
<div aria-labelledby="ariaid-title3" class="topic nested1" id="ubm_jsk_sjb">
<h2 class="title topictitle2" id="ariaid-title3">Recommendations before setting up</h2>
<div class="body">
<p class="p">Ticket sync is an advanced feature, and it's important to understand the behavior
before setting it up in your production accounts. We recommend the following tasks: </p>
<ul class="ul" id="ubm_jsk_sjb__ul_whx_rbm_sjb">
<li class="li">Test ticket sync in your Salesforce and Zendesk sandbox accounts before setting
it up in your production account.</li>
<li class="li">If you have data sync turned on and you're testing with Salesforce sandbox and
Zendesk production accounts, it's recommended to turn off <strong class="ph b">Create if no match
found</strong> in Ticket Organization Matching and Ticket Requester Matching to
prevent duplicate organization and user records in Zendesk.</li>
</ul>
</div>
</div>
<div aria-labelledby="ariaid-title4" class="topic nested1" id="id_vwx_prk_sjb">
<h2 class="title topictitle2" id="ariaid-title4">Setting up ticket sync </h2>
<div class="body">
<p class="p">Setting up ticket sync requires performing a number of tasks to the Salesforce case
object, Zendesk triggers, and in Admin Center.</p>
<p class="p"><strong class="ph b">To set up ticket sync from Zendesk to Salesforce</strong></p>
<ol class="ol" id="id_vwx_prk_sjb__ol_mq5_5rk_sjb">
<li class="li">
<a class="xref" href="https://support.zendesk.com/hc/en-us/articles/4408821555482" target="_blank">Connect your Salesforce organization to
Zendesk</a>.</li>
<li class="li">
<a class="xref" href="#topic_cp1_qrk_sjb">Create a Salesforce case record
type</a>.</li>
<li class="li">
<a class="xref" href="#topic_d3d_qrk_sjb">Install the ticket sync package in
Admin Center</a>.</li>
<li class="li">
<a class="xref" href="#topic_ek2_qrk_sjb">Configure the Zendesk tickets to
Salesforce cases sync</a>.</li>
<li class="li">
<a class="xref" href="#topic_ogj_qrk_sjb">Configure and activate Saleforce
triggers in Zendesk Support</a>.</li>
</ol>
</div>
</div>
<div aria-labelledby="ariaid-title5" class="topic nested1" id="topic_cp1_qrk_sjb">
<h2 class="title topictitle2" id="ariaid-title5">Creating a Salesforce case record type </h2>
<div class="body">
<div class="p">Record types are used to implement a custom business process in Salesforce. It's not
mandatory to create a record type. However, if you are using your Salesforce case
object for another process, the record type ensures the Zendesk tickets are kept
separate. <div class="note">
<span class="notetitle">Note:</span> The admin connecting the Salesforce integration from Admin Center
must have access to the Salesforce case record type.</div>
</div>
<p class="p"><strong class="ph b">To create a Salesforce case record type</strong></p>
<ol class="ol" id="topic_cp1_qrk_sjb__ol_fyy_wrk_sjb">
<li class="li">In Salesforce, click the Setup icon in the upper right.</li>
<li class="li">Click <strong class="ph b">Object Manager</strong>.</li>
<li class="li">On the Object Manager page, click <strong class="ph b">Case</strong>.</li>
<li class="li">Click <strong class="ph b">Record Types</strong> in the left navigation pane.</li>
<li class="li">Click <strong class="ph b">New</strong> in the upper right of the page. </li>
<li class="li">Follow the steps on the Salesforce page to create a record type. It's
recommended to name your <strong class="ph b">Record Type Label</strong>: <samp class="ph systemoutput">Zendesk Ticket
Sync</samp>. <br><img class="image img-screenshot" id="topic_cp1_qrk_sjb__image_ujd_fjl_sjb" src="https://zen-marketing-documentation.s3.amazonaws.com/docs/en/salesforce_ticket_sync_record_type.png" width="600"><br>
</li>
</ol>
</div>
</div>
<div aria-labelledby="ariaid-title6" class="topic nested1" id="topic_d3d_qrk_sjb">
<h2 class="title topictitle2" id="ariaid-title6">Installing the ticket sync package in Admin Center </h2>
<div class="body">
<p class="p">The ticket sync package creates standard Zendesk ticket fields in the case object and
maps them to standard case fields. </p>
<p class="p">For the ticket sync package to create case fields, the authenticated user must have
permission to modify the Salesforce metadata API.</p>
<p class="p"><strong class="ph b">To install the ticket sync package</strong></p>
<ol class="ol" id="topic_d3d_qrk_sjb__ol_xtg_1sk_sjb">
<li class="li"><span class="ph">In <a class="xref" href="https://support.zendesk.com/hc/en-us/articles/4581766374554#topic_hfg_dyz_1hb" target="_blank">Admin Center</a>, click <img class="image" id="topic_d3d_qrk_sjb__d8e1962" src="https://zen-marketing-documentation.s3.amazonaws.com/docs/en/ac_apps_integrations_icon.png">
<strong class="ph b">Apps and integrations</strong> in the sidebar, then select <strong class="ph b">Integrations &gt;
Integrations</strong>.</span></li>
<li class="li">On the Integrations page, click <strong class="ph b">Salesforce</strong>.</li>
<li class="li">Click the <strong class="ph b">Data sync</strong> tab.</li>
<li class="li">In Ticket sync, click <strong class="ph b">Configure</strong>.</li>
<li class="li">In Ticket sync package, click <strong class="ph b">Install</strong>.</li>
</ol>
</div>
</div>
<div aria-labelledby="ariaid-title7" class="topic nested1" id="topic_ek2_qrk_sjb">
<h2 class="title topictitle2" id="ariaid-title7">Configuring Zendesk tickets to Salesforce cases sync</h2>
<div class="body">
<p class="p">After the steps in the previous sections are completed, ticket sync allows mapping
and syncing of Zendesk fields to Salesforce cases. </p>
<p class="p"><strong class="ph b">To configure settings for sending tickets to Salesforce cases</strong></p>
<ol class="ol" id="topic_ek2_qrk_sjb__ol_upp_csk_sjb">
<li class="li"><span class="ph">In <a class="xref" href="https://support.zendesk.com/hc/en-us/articles/4581766374554#topic_hfg_dyz_1hb" target="_blank">Admin Center</a>, click <img class="image" id="topic_ek2_qrk_sjb__d8e1962" src="https://zen-marketing-documentation.s3.amazonaws.com/docs/en/ac_apps_integrations_icon.png">
<strong class="ph b">Apps and integrations</strong> in the sidebar, then select <strong class="ph b">Integrations &gt;
Integrations</strong>.</span></li>
<li class="li">On the Integrations page, click <strong class="ph b">Salesforce</strong>.</li>
<li class="li">Click the <strong class="ph b">Data sync</strong> tab.</li>
<li class="li">In Ticket sync, click <strong class="ph b">Configure</strong>.</li>
<li class="li">Select the <strong class="ph b">Enable ticket sync</strong> checkbox, and configure the settings for
sending Zendesk tickets to Salesforce cases.</li>
<li class="li">In Record type, enter the Record type ID created earlier. You can find the <a class="xref" href="https://help.salesforce.com/articleView?id=000321696&amp;language=en_US&amp;type=1&amp;mode=1" target="_blank">Record type ID</a> in your Salesforce
account by clicking the <strong class="ph b"> Setup icon</strong>, then <strong class="ph b">Object Manager</strong> &gt;
<strong class="ph b">Case</strong> &gt; <strong class="ph b">Record Types</strong>, and clicking on the record type to
find the ID in the URL. <br><img class="image img-screenshot" id="topic_ek2_qrk_sjb__image_hnn_lml_sjb" src="https://zen-marketing-documentation.s3.amazonaws.com/docs/en/salesforce_ticket_sync_record_id.png" width="600"><br>
</li>
<li class="li">In Custom ticket field mapping, map Zendesk ticket fields with the Salesforce
case fields you want populated. Standard field mapping is provided and the
ability to customize mapping.<div class="note">
<span class="notetitle">Note:</span> You must map all required Salesforce case
fields. If a required field is not mapped, the sync will fail. Drop-down
fields mapped to picklists must have all possible values from Zendesk mapped
to options in Salesforce. For more information, see <a class="xref" href="#topic_spk_qrk_sjb">Standard field mappings</a> and <a class="xref" href="#topic_llg_dnl_sjb">Custom field
mappings</a>.</div>
</li>
<li class="li">In Organization matching, configure how Zendesk organizations are synced to
Salesforce accounts. See <a class="xref" href="#topic_p35_l5l_sjb">Configuring organization matching</a>.</li>
<li class="li">In Ticket requester matching, configure how Zendesk ticket requesters are synced
to Salesforce contacts or leads. See <a class="xref" href="#topic_zpv_l5l_sjb">Configuring ticket requester matching</a>.</li>
<li class="li">Click <strong class="ph b">Save</strong>.</li>
</ol>
<div class="p">The first time you save your configuration, the following Salesforce <a class="xref" href="https://support.zendesk.com/hc/en-us/articles/4408839108378" target="_blank">webhook</a> and <a class="xref" href="https://support.zendesk.com/hc/en-us/articles/4408822236058" target="_blank">Zendesk trigger</a> are created in Support:<ul class="ul">
<li class="li">
<strong class="ph b">Webhook:</strong> (Salesforce Integration) Sync tickets to Salesforce</li>
<li class="li">
<strong class="ph b">Trigger:</strong> (Salesforce Integration) Sync tickets to Salesforce</li>
</ul>
</div>
<div class="note important">
<span class="importanttitle">Important:</span> Do not delete or rename the webhook and trigger.</div>
<p class="p">Webhooks are used to send notify external applications when a ticket is created or
updated. Triggers are business rules that are defined in Zendesk.</p>
</div>
</div>
<div aria-labelledby="ariaid-title8" class="topic nested1" id="topic_ogj_qrk_sjb">
<h2 class="title topictitle2" id="ariaid-title8">Configuring the Sync tickets to Salesforce trigger</h2>
<div class="body">
<p class="p"><a class="xref" href="https://support.zendesk.com/hc/en-us/articles/4408822236058" target="_blank">Zendesk triggers</a> are created from
conditions and actions. They run immediately after Zendesk tickets are created or
updated. Review the trigger conditions for the Sync tickets to Salesforce trigger as
needed.</p>
<p class="p"><strong class="ph b">To configure the trigger</strong></p>
<ol class="ol" id="topic_ogj_qrk_sjb__ol_wkp_hsk_sjb">
<li class="li"><span class="ph">In <a class="xref" href="https://support.zendesk.com/hc/en-us/articles/4581766374554#topic_hfg_dyz_1hb" target="_blank">Admin Center</a>, click <img class="image" id="topic_ogj_qrk_sjb__d8e1594" src="https://zen-marketing-documentation.s3.amazonaws.com/docs/en/ac_objects_rules_icon.png">
<strong class="ph b">Objects and rules</strong> in the sidebar, then select <strong class="ph b">Business rules &gt;
Triggers</strong>.</span></li>
<li class="li">Click the <strong class="ph b">(Salesforce Integration) Sync tickets to Salesforce</strong> trigger to
edit it. <br><img class="image img-screenshot" id="topic_ogj_qrk_sjb__image_xsc_jrl_sjb" src="https://zen-marketing-documentation.s3.amazonaws.com/docs/en/salesforce_activate_trigger.png" width="600"><br>
</li>
<li class="li">Modify the trigger conditions as needed. Use the conditions as a filter to set
which tickets should be sent to Salesforce. Do not rename the trigger.</li>
<li class="li">Click <strong class="ph b">Save</strong> to save your trigger settings.</li>
</ol>
</div>
</div>
<div aria-labelledby="ariaid-title9" class="topic nested1" id="topic_spk_qrk_sjb">
<h2 class="title topictitle2" id="ariaid-title9">Standard field mappings</h2>
<div class="body">
<div class="p">When the ticket sync package is installed, Zendesk creates and maps most of the
standard ticket fields to Salesforce case fields, as shown in the following table.
Most of the standard fields in the table cannot have their mappings changed and
therefore don't appear in Admin Center when you're mapping fields. Only the Type,
Priority, and Status standard fields can have their mappings changed (though you can
still <a class="xref" href="#topic_llg_dnl_sjb">map custom fields</a>).<div class="note warning">
<span class="warningtitle">Warning:</span> Do not change the Zendesk ticket field type, as this may cause
the sync to fail.</div>
</div>
<div class="p">
<div class="tablenoborder">
<table border="1" cellpadding="4" cellspacing="0" class="table" frame="border" id="topic_spk_qrk_sjb__table_ssb_3tl_sjb" rules="all" summary="">
<colgroup>
<col>
<col>
</colgroup>
<tbody class="tbody">
<tr class="row">
<td class="entry cellrowborder" dir="ltr" style="vertical-align:top;"><strong class="ph b">Zendesk ticket field</strong></td>
<td class="entry cellrowborder" dir="ltr" style="vertical-align:top;"><strong class="ph b">Salesforce case field</strong></td>
</tr>
<tr class="row">
<td class="entry cellrowborder" dir="ltr" style="vertical-align:top;">Type</td>
<td class="entry cellrowborder" dir="ltr" style="vertical-align:top;">Type</td>
</tr>
<tr class="row">
<td class="entry cellrowborder" dir="ltr" style="vertical-align:top;">Priority</td>
<td class="entry cellrowborder" dir="ltr" style="vertical-align:top;">Priority</td>
</tr>
<tr class="row">
<td class="entry cellrowborder" dir="ltr" style="vertical-align:top;">Status</td>
<td class="entry cellrowborder" dir="ltr" style="vertical-align:top;">Status</td>
</tr>
<tr class="row">
<td class="entry cellrowborder" dir="ltr" style="vertical-align:top;">Zendesk Ticket ID</td>
<td class="entry cellrowborder" dir="ltr" style="vertical-align:top;">Zendesk_Support_Ticket_ID__c</td>
</tr>
<tr class="row">
<td class="entry cellrowborder" dir="ltr" style="vertical-align:top;">Subject</td>
<td class="entry cellrowborder" dir="ltr" style="vertical-align:top;">Subject</td>
</tr>
<tr class="row">
<td class="entry cellrowborder" dir="ltr" style="vertical-align:top;">Description</td>
<td class="entry cellrowborder" dir="ltr" style="vertical-align:top;">Description</td>
</tr>
<tr class="row">
<td class="entry cellrowborder" dir="ltr" style="vertical-align:top;">Requester ID</td>
<td class="entry cellrowborder" dir="ltr" style="vertical-align:top;">ContactId</td>
</tr>
<tr class="row">
<td class="entry cellrowborder" dir="ltr" style="vertical-align:top;">Requester Name</td>
<td class="entry cellrowborder" dir="ltr" style="vertical-align:top;">Zendesk_Support_Ticket_Requester_Name__c</td>
</tr>
<tr class="row">
<td class="entry cellrowborder" dir="ltr" style="vertical-align:top;">Requester Email</td>
<td class="entry cellrowborder" style="vertical-align:top;">Zendesk_Support_Ticket_Requester_Email__c </td>
</tr>
<tr class="row">
<td class="entry cellrowborder" dir="ltr" style="vertical-align:top;">Organization ID</td>
<td class="entry cellrowborder" dir="ltr" style="vertical-align:top;">AccountId</td>
</tr>
<tr class="row">
<td class="entry cellrowborder" dir="ltr" style="vertical-align:top;">Organization Name</td>
<td class="entry cellrowborder" dir="ltr" style="vertical-align:top;">Zendesk_Support_Ticket_Organization_Name__c</td>
</tr>
<tr class="row">
<td class="entry cellrowborder" dir="ltr" style="vertical-align:top;">Brand Name</td>
<td class="entry cellrowborder" dir="ltr" style="vertical-align:top;">Zendesk_Support_Ticket_Brand_Name__c</td>
</tr>
<tr class="row">
<td class="entry cellrowborder" style="vertical-align:top;">Zendesk Assignee</td>
<td class="entry cellrowborder" style="vertical-align:top;">Zendesk_Assignee__c</td>
</tr>
<tr class="row">
<td class="entry cellrowborder" dir="ltr" style="vertical-align:top;">Assignee Name</td>
<td class="entry cellrowborder" dir="ltr" style="vertical-align:top;">Zendesk_Support_Ticket_Assignee_Name__c</td>
</tr>
<tr class="row">
<td class="entry cellrowborder" dir="ltr" style="vertical-align:top;">Assignee Group</td>
<td class="entry cellrowborder" dir="ltr" style="vertical-align:top;">Zendesk_Support_Ticket_Group_Name__c</td>
</tr>
<tr class="row">
<td class="entry cellrowborder" dir="ltr" style="vertical-align:top;">Tags</td>
<td class="entry cellrowborder" dir="ltr" style="vertical-align:top;">Zendesk_Support_Ticket_Tags__c</td>
</tr>
<tr class="row">
<td class="entry cellrowborder" dir="ltr" style="vertical-align:top;">URL</td>
<td class="entry cellrowborder" dir="ltr" style="vertical-align:top;">Zendesk_Support_Ticket_URL__c</td>
</tr>
<tr class="row">
<td class="entry cellrowborder" dir="ltr" style="vertical-align:top;">Ticket form name</td>
<td class="entry cellrowborder" dir="ltr" style="vertical-align:top;">Zendesk_Support_Ticket_Form_Name__c</td>
</tr>
<tr class="row">
<td class="entry cellrowborder" dir="ltr" style="vertical-align:top;">Date/Time created</td>
<td class="entry cellrowborder" dir="ltr" style="vertical-align:top;">Zendesk_Support_Ticket_Created_At__c</td>
</tr>
<tr class="row">
<td class="entry cellrowborder" dir="ltr" style="vertical-align:top;">Date/Time updated</td>
<td class="entry cellrowborder" dir="ltr" style="vertical-align:top;">Zendesk_Support_Ticket_Updated_At__c</td>
</tr>
<tr class="row">
<td class="entry cellrowborder" dir="ltr" style="vertical-align:top;">Date/Time solved</td>
<td class="entry cellrowborder" dir="ltr" style="vertical-align:top;">Zendesk_Support_Ticket_Solved_At__c</td>
</tr>
<tr class="row">
<td class="entry cellrowborder" dir="ltr" style="vertical-align:top;">Date/Time initially assigned</td>
<td class="entry cellrowborder" dir="ltr" style="vertical-align:top;">Zendesk_Support_Ticket_Initial_Assigned__c</td>
</tr>
<tr class="row">
<td class="entry cellrowborder" dir="ltr" style="vertical-align:top;">Resolution time (calendar)</td>
<td class="entry cellrowborder" dir="ltr" style="vertical-align:top;">Zendesk_Support_Ticket_Resolution_Cal__c</td>
</tr>
<tr class="row">
<td class="entry cellrowborder" dir="ltr" style="vertical-align:top;">Resolution time (business)</td>
<td class="entry cellrowborder" dir="ltr" style="vertical-align:top;">Zendesk_Support_Ticket_Resolution_Bus__c</td>
</tr>
<tr class="row">
<td class="entry cellrowborder" style="vertical-align:top;">Comment</td>
<td class="entry cellrowborder" style="vertical-align:top;">Ticket comments are not synced to a case field. However, you
can set up Ticket View in Salesforce cases to view ticket
comments. See <a class="xref" href="https://support.zendesk.com/hc/en-us/articles/4408834115738" target="_blank">Setting up Ticket View in
Salesforce</a>. </td>
</tr>
<tr class="row">
<td class="entry cellrowborder" style="vertical-align:top;">(The Salesforce user who connected the integration.)</td>
<td class="entry cellrowborder" style="vertical-align:top;">Case Owner</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
<div aria-labelledby="ariaid-title10" class="topic nested1" id="topic_llg_dnl_sjb">
<h2 class="title topictitle2" id="ariaid-title10">Custom field mappings</h2>
<div class="body">
<div class="p">The following standard fields are mapped automatically and don't require mapping:<ul class="ul" id="topic_llg_dnl_sjb__ul_f1z_qcc_tjb">
<li class="li">Requester wait time (calendar)</li>
<li class="li">Requester wait time (business)</li>
<li class="li">Agent wait time (calendar)</li>
<li class="li">Agent wait time (business)</li>
<li class="li">On-Hold time (calendar)</li>
<li class="li">On-Hold time (business)</li>
<li class="li">First Reply time (calendar)</li>
<li class="li">First Reply time (business)</li>
</ul>
</div>
<p class="p">If you'd like to sync custom fields, you can set up custom field mapping. Custom
field mapping allows Zendesk ticket fields to be mapped to fields on the Salesforce
case object (either a system field or a custom field). This mapping takes place in
the Zendesk Admin Center within the ticket sync settings.</p>
<p class="p">The table below shows which Zendesk field types can be mapped to Salesforce field
types for ticket sync.</p>
<p class="p"> <a class="xref" href="https://zen-marketing-documentation.s3.amazonaws.com/docs/en/salesforce_ticket_mapping.png" target="_blank">View full size</a>
<img class="image img-screenshot" id="topic_llg_dnl_sjb__image_tmx_bm3_4xb" src="https://zen-marketing-documentation.s3.amazonaws.com/docs/en/salesforce_ticket_mapping.png" width="700"></p>
<div class="p">The following Zendesk field types are not supported with ticket sync: <ul class="ul" id="topic_llg_dnl_sjb__ul_swt_mm3_4xb">
<li class="li">Multi-line</li>
<li class="li">Credit card</li>
<li class="li">Regex</li>
<li class="li">Lookup relationship</li>
</ul>
</div>
<p class="p">Mapping a multi-select Zendesk field will cause errors whenever that field has a
value. Do not map multi-select fields to sync to Salesforce.</p>
<div class="p">The following Salesforce field types are not supported with ticket sync:<ul class="ul" id="topic_llg_dnl_sjb__ul_kqc_sm3_4xb">
<li class="li">EncryptedString</li>
<li class="li">ID</li>
<li class="li">MultiPicklist</li>
<li class="li">Percent</li>
<li class="li">Reference</li>
<li class="li">TextArea</li>
<li class="li">URL</li>
</ul>
</div>
<p class="p">Case origin picklist fields in Salesforce cannot be mapped.</p>
<p class="p"><strong class="ph b">To map custom Zendesk ticket fields to the Salesforce case object</strong></p>
<ol class="ol" id="topic_llg_dnl_sjb__ol_ac1_d5l_sjb">
<li class="li">In Salesforce, click the <strong class="ph b">Setup</strong> icon in the upper right.</li>
<li class="li">Click <strong class="ph b">Object Manager</strong>.</li>
<li class="li">On the Object Manager page, click <strong class="ph b">Case</strong>.</li>
<li class="li">Click <strong class="ph b">Fields &amp; Relationships</strong> in the left navigation pane, then click
<strong class="ph b">New</strong>. <br><img class="image img-screenshot" id="topic_llg_dnl_sjb__image_exc_vzl_sjb" src="https://zen-marketing-documentation.s3.amazonaws.com/docs/en/salesforce_ticket_sync_custom_fields.png" width="700"><br>
</li>
<li class="li">Select a <strong class="ph b">Data Type</strong> for your new field, then click <strong class="ph b">Next</strong>. See table
above for which field types can be mapped between Zendesk and Salesforce.<div class="note" id="topic_llg_dnl_sjb__note_awy_5ny_wwb">
<span class="notetitle">Note:</span> When mapping a drop-down field in Zendesk to a text
field in Salesforce, the tag values will show, not the field values. For
more information on how tags work with custom ticket fields, see <a class="xref" href="https://support.zendesk.com/hc/en-us/articles/4408834953114#id_kxq_ydx_qcb" target="_blank">Understanding custom ticket fields, tags,
and business rules</a>.</div>
</li>
<li class="li">Enter a <strong class="ph b">Field Label</strong>. It is preferred to match the <strong class="ph b">Field Label</strong> to
the <strong class="ph b">Zendesk Custom Field Name</strong>.</li>
<li class="li">Complete the other mandatory fields, then click <strong class="ph b">Save</strong>.</li>
<li class="li">Repeat steps 4-7 to create additional custom fields. </li>
<li class="li"><span class="ph">In <a class="xref" href="https://support.zendesk.com/hc/en-us/articles/4581766374554#topic_hfg_dyz_1hb" target="_blank">Admin Center</a>, click <img class="image" id="topic_llg_dnl_sjb__d8e1962" src="https://zen-marketing-documentation.s3.amazonaws.com/docs/en/ac_apps_integrations_icon.png">
<strong class="ph b">Apps and integrations</strong> in the sidebar, then select <strong class="ph b">Integrations &gt;
Integrations</strong>.</span></li>
<li class="li">In Salesforce integration, click <strong class="ph b">Configure</strong> &gt; <strong class="ph b">Data sync</strong> &gt;
<strong class="ph b">Ticket sync</strong> &gt; <strong class="ph b">Configure </strong> &gt; <strong class="ph b"> Custom ticket field
mapping</strong>. The custom case fields previously created appear in the
Salesforce fields.</li>
<li class="li">Map your Zendesk fields to Salesforce fields, then click <strong class="ph b">Save</strong>.</li>
</ol>
<p class="p">After mapping, when a ticket is sent into Salesforce, custom field data is
automatically populated according to the field mappings.</p>
</div>
</div>
<div aria-labelledby="ariaid-title11" class="topic nested1" id="topic_p35_l5l_sjb">
<h2 class="title topictitle2" id="ariaid-title11">Configuring organization matching </h2>
<div class="body">
<p class="p">When configuring ticket sync, there are two options for setting the matching criteria
for organizations:</p>
<ul class="ul" id="topic_p35_l5l_sjb__ul_ghy_fhc_tjb">
<li class="li">If your Accounts to Organizations data sync is disabled, use default matching
criteria and field mappings. The default matching criteria is <strong class="ph b">Organization
Name to Account Name</strong>. By default, when Zendesk sends ticket information
to Salesforce, if an exact email match is not found between the ticket’s
organization and account, a new account is created in Salesforce.</li>
<li class="li">If your Accounts to Organizations data sync is enabled, the custom matching
criteria configured is used to match the ticket’s organization with Salesforce
accounts. You can view your custom matching criteria in <strong class="ph b">Admin Center</strong> &gt;
<strong class="ph b">Integrations</strong> &gt; <strong class="ph b">Integrations</strong> &gt; <strong class="ph b">Salesforce</strong>, then
navigate to &gt; <strong class="ph b">Configure</strong> &gt; <strong class="ph b">Data sync</strong> &gt;<strong class="ph b">Ticket Sync</strong>
&gt; <strong class="ph b">Configure</strong>. See <a class="xref" href="#topic_aws_53c_tjb">Organization syncing options</a>.</li>
</ul>
<div class="p">
<br><img class="image img-screenshot" id="topic_p35_l5l_sjb__image_btp_ztc_tjb" src="https://zen-marketing-documentation.s3.amazonaws.com/docs/en/salesforce_ticket_sync_org_matching_2.png" width="700"><br>
</div>
</div>
<div aria-labelledby="ariaid-title12" class="topic nested2" id="topic_aws_53c_tjb">
<h3 class="title topictitle3" id="ariaid-title12">Organization syncing options</h3>
<div class="body">
<p class="p"> The organization syncing section provides the following configuration
options:</p>
<ul class="ul" id="topic_aws_53c_tjb__ul_wxs_qlc_tjb">
<li class="li">
<strong class="ph b">Sync to existing Accounts</strong> syncs the organization to the existing
Salesforce account based on the matching criteria.</li>
<li class="li">
<strong class="ph b">Sync to existing Accounts and create if no match</strong> lets you map the
Zendesk organization ID to a Salesforce account field. You can select from
any standard and custom Salesforce account fields. This one-way sync is
useful for displaying which Salesforce account is linked to a Zendesk
organization. <p class="p">If you have required fields on the Salesforce account for
creation, those fields need to be populated from the Zendesk
organization by <a class="xref" href="https://support.zendesk.com/hc/en-us/articles/4408828539290" target="_blank">mapping them</a> in the Accounts
to Organizations sync page. This applies even if the account sync isn't
active.</p>
</li>
<li class="li">
<strong class="ph b">Salesforce default Account</strong> lets you enter an existing account as the
default account in Salesforce if no organization exists in Zendesk. Setting
a default account prevents orphaned accounts from being created.<div class="note">
<span class="notetitle">Note:</span> The
Organization field in Salesforce does not inherit the account of the
contact in the Requester field. This Organization field only populates
based on the organization information present on the ticket within
Zendesk.</div>
</li>
</ul>
</div>
</div>
</div>
<div aria-labelledby="ariaid-title13" class="topic nested1" id="topic_zpv_l5l_sjb">
<h2 class="title topictitle2" id="ariaid-title13">Configuring ticket requester matching</h2>
<div class="body">
<p class="p">When configuring ticket sync, there are two options for setting the matching criteria
for the ticket requester:</p>
<ul class="ul" id="topic_zpv_l5l_sjb__ul_vct_ljc_tjb">
<li class="li">If your Contact or Lead to User data sync is disabled, use default matching
criteria and field mappings. By default, when Zendesk sends ticket information
to Salesforce, and an exact email match is not found between the ticket
requester and a contact, a new contact is created in Salesforce.</li>
<li class="li">If your Contact or Lead to User data sync is enabled, the custom matching
criteria configured is used to match the ticket requester with Salesforce
contacts or leads. You can view custom matching criteria in <strong class="ph b">Admin Center &gt;
Integrations &gt; Integrations &gt; Salesforce</strong>, then select <strong class="ph b">Configure
&gt; Data Sync &gt; Ticket Sync</strong>&gt; <strong class="ph b">Configure</strong>.<br><img class="image img-screenshot" id="topic_zpv_l5l_sjb__image_fwg_f5c_tjb" src="https://zen-marketing-documentation.s3.amazonaws.com/docs/en/salesforce_ticket_sync_requester_2.png" width="800"><br>
</li>
</ul>
</div>
<div aria-labelledby="ariaid-title14" class="topic nested2" id="topic_nmm_rjc_tjb">
<h3 class="title topictitle3" id="ariaid-title14">Requester syncing options</h3>
<div class="body">
<p class="p"> The ticket requester section provides the following configuration options:</p>
<ul class="ul" id="topic_nmm_rjc_tjb__ul_lh1_gkc_tjb">
<li class="li">
<strong class="ph b">Sync to existing Contacts/Leads</strong> syncs the requester to the existing
Salesforce contact or lead based on the matching criteria.</li>
<li class="li">
<strong class="ph b">Sync to existing Contacts/Leads and create if no match</strong> lets you map
the ticket requester's user ID to a Salesforce contact or lead field. Select
from any standard and custom Salesforce contact or lead field. This one-way
sync is useful for displaying which Salesforce contact or lead is linked to
a Zendesk user.<p class="p">If you have required fields on the contact or lead for
creation, they must be populated from the Zendesk user by <a class="xref" href="https://support.zendesk.com/hc/en-us/articles/4408828539290" target="_blank">mapping them</a> in the
Contacts/Leads to Users sync page. This applies even if the contact sync
isn't active.</p>
</li>
<li class="li">
<strong class="ph b">Salesforce default Contact/Lead</strong> lets you enter an existing contact or
lead as the default contact or lead for new contacts if you opt to create
new contacts for unmatched ticket requesters and no user exists in Zendesk.
Enter the Salesforce contact or lead ID in the provided field.</li>
</ul>
</div>
</div>
</div>
<div aria-labelledby="ariaid-title15" class="topic nested1" id="topic_gr3_yc4_ckb">
<h2 class="title topictitle2" id="ariaid-title15">Checking if ticket sync has successfully installed</h2>
<div class="body">
<p class="p">The following procedure helps you check if ticket sync has been successfully
installed in Salesforce.</p>
<p class="p"><strong class="ph b">To check if ticket sync has successfully installed</strong></p>
<ol class="ol" id="topic_gr3_yc4_ckb__ol_sdl_j4f_r2c">
<li class="li">Go to <strong class="ph b">Salesforce</strong> &gt; <strong class="ph b">Setup</strong> &gt; <strong class="ph b">Deployment Status</strong>.<br><img class="image img-screenshot" id="topic_gr3_yc4_ckb__image_bv5_bg4_ckb" src="https://zen-marketing-documentation.s3.amazonaws.com/docs/en/salesforce_ticket_view_check1.png" width="700"><br>
</li>
<li class="li">Check for a deployment time for when you installed the package to see if the
deployment was successful or failed. If the deployment failed, Salesforce will
provide you with detailed errors. Review the errors and resolve them. If you
cannot resolve them, <a class="xref" href="https://support.zendesk.com/hc/en-us/articles/4408843597850" target="_blank">contact Zendesk Support</a> and provide a
screenshot of the error.</li>
<li class="li">Go to <strong class="ph b">Salesforce</strong> &gt; <strong class="ph b">Object Manager</strong> &gt; <strong class="ph b">Case</strong> &gt;
<strong class="ph b">Fields &amp; Relationships</strong>. Check if additional case fields were
created in your Salesforce case object, as shown below for each standard Zendesk
ticket field. <br><img class="image img-screenshot" id="topic_gr3_yc4_ckb__image_abx_rg4_ckb" src="https://zen-marketing-documentation.s3.amazonaws.com/docs/en/salesforce_ticket_sync_check.png" width="600"><br>
</li>
<li class="li">Once you have confirmed steps 2 and 3 were successful, continue with setting up
ticket sync. </li>
</ol>
</div>
</div>
<div aria-labelledby="ariaid-title16" class="topic nested1" id="topic_esv_hd4_ckb">
<h2 class="title topictitle2" id="ariaid-title16">Checking your ticket sync setup</h2>
<div class="body">
<p class="p">Use the following checklist to check your data sync is set up correctly:</p>
<ul class="ul" id="topic_esv_hd4_ckb__ul_mmk_b24_ckb">
<li class="li">Confirm the <a class="xref" href="#topic_ogj_qrk_sjb">Sync tickets to
Salesforce</a> trigger is configured correctly. </li>
<li class="li">Confirm the trigger JSON body has not been edited and is as shown below. Any
change to the JSON body causes the sync to
fail.<pre class="pre codeblock"><code>{"ticket_id": {{ticket.id}}, "salesforce_org_id": "YOUR_SFDC_ORG_ID"}</code></pre>
<br><img class="image img-screenshot" id="topic_esv_hd4_ckb__image_q1g_zf4_ckb" src="https://zen-marketing-documentation.s3.amazonaws.com/docs/en/salesforce_ticket_sync_setup_check.png" width="500"><br>
</li>
<li class="li">Confirm you have entered the correct Record Type ID. If the Record Type ID is
incorrect, the sync will fail. Note: Record Type ID is <em class="ph i">not</em> your
Salesforce Org ID.</li>
<li class="li">Confirm that all required Salesforce case fields are included in custom ticket
field mappings. If you don't map all required fields, the sync will fail. </li>
</ul>
</div>
</div>
<script id="fast-path-script">
//<![CDATA[
const fast_path_style = document.createElement('style');
fast_path_style.innerHTML = `#article-body .fastpath{font-size:.9em;background-color:#f3f3f3;border:1px solid #d3d3d3;padding:10px 10px 8px;margin-bottom:16px}#article-body .fastpath::before{content:none!important}`;
document.head.appendChild(fast_path_style);
//]]>
</script><script id="article-banners-script">
//<![CDATA[
const banner_style = document.createElement('style');
banner_style.innerHTML = `#styled-article-body{padding:0 0 0}#article-body #docs-wmp-link{text-align:right;font-size:.8em}#article-body .article-banners{margin-bottom:1rem}#article-body .article-banner{border:1px solid #ded7ca;background-color:#f6f0e6;margin:0 0 3px;line-height:1}#article-body .article-banner table{border-collapse:collapse;border:none;margin:0;width:auto}#article-body .article-banner td{padding:8px 6px 8px;border:none;font-size:.85em}#article-body .article-banner td:nth-child(2){border-left:1px solid #d0c9bd}#article-body .article-banner strong{font-weight:400;text-shadow:0 0 1px rgba(0,0,0,.5);letter-spacing:.5px}@media (min-width:1600px){#article-body .article-banner td{font-size:.8em}#article-body .docs-wmp-link{font-size:.7em}}`;
document.head.appendChild(banner_style);
//]]>
</script><script id="ai-summary-script">
//<![CDATA[
const ai_summary_style = document.createElement('style');
ai_summary_style.innerHTML = `#styled-article-body{padding:0 0 0}#article-body #docs-ai-summary{background-color:#f3f3f3;border:1px solid #d3d3d3;padding:10px 10px 6px;margin-bottom:16px}#article-body #docs-ai-summary #docs-ai-summary-toggle{font-size:.9em;font-weight:700;margin-bottom:4px;cursor:pointer;display:flex;justify-content:space-between;align-items:center}#article-body #docs-ai-summary #docs-ai-summary-toggle #up-triangle{margin-left:auto;padding-right:10px;display:none}#article-body #docs-ai-summary #docs-ai-summary-toggle #down-triangle{margin-left:auto;padding-right:10px}#article-body #docs-ai-summary #docs-ai-summary-content{font-size:.9em;padding-left:25px;padding-right:25px;margin-bottom:12px}`;
document.head.appendChild(ai_summary_style);

const toggleAISummary = () => {
const summary = document.getElementById("docs-ai-summary-content");
const upTriangle = document.getElementById("up-triangle");
const downTriangle = document.getElementById("down-triangle");
if (summary.style.display === "none") {
summary.style.display = "block";
upTriangle.style.display = "none";
downTriangle.style.display = "inline";
} else {
summary.style.display = "none";
upTriangle.style.display = "inline";
downTriangle.style.display = "none";
}
};

document.getElementById("docs-ai-summary-toggle").addEventListener("click", toggleAISummary);
//]]>
</script>
</body>