Zendesk is a popular CRM and customer support service suite. It offers features like live chat, call center software capabilities, and a smart knowledge base for your executives to help them resolve customers’ queries and concerns.
Find the open source code for this destination in the GitHub repository.
Getting started
RudderStack supports sending events to Zendesk via the following connection modes:
Connection Mode
Web
Mobile
Server
Device mode
-
-
-
Cloud mode
Supported
Supported
Supported
Once you have confirmed that the source platform supports sending events to Zendesk, follow these steps:
From your RudderStack dashboard, add the source. Then, from the list of destinations, select Zendesk.
Assign a name to your destination and click Continue.
Connection settings
To successfully configure Zendesk as a destination, you need to configure the following settings:
Email: Enter the email address used to log in to your Zendesk account.
API Token: Enter the Zendesk API token used to authenticate the integration. To generate a new API token, refer to this Zendesk support article.
Zendesk Subdomain: Enter your Zendesk subdomain excluding.zendesk.com.
Create users as verified: Enable this setting to create verified users in Zendesk. When enabled, RudderStack sends verified as true in the event and Zendesk skips the email verification for these users.
Send Group calls without User ID: Enable this setting if you do not want to associate a particular user with a group. When enabled, RudderStack creates or updates a group only if userId is not present in the event.
Enable Removing Users from Organizations: Enable this setting to remove users from an organization via the identify call. For more information on this setting, refer to the Removing users from an organization section below.
Update user’s primary email: Enable this setting to set the email present in the event as the user’s primary email in Zendesk, replacing the previously-set primary email. For more information on this setting, refer to the Updating user’s primary email in Zendesk section below.
Identify
You can use the identify call to create or update a user in Zendesk.
It is highly recommended to include the user’s email in the identify call as RudderStack uses this field to create or update a user in Zendesk.
The above identify call updates the user (if they exist) as well as removes them from the organization associated with the ID 900001329943.
RudderStack assumes a valid Zendesk organization_id in the company.id field. Then, it finds the organization corresponding to that ID and removes the user.
Updating user’s primary email in Zendesk
To set the email present in the event as the user’s primary email in Zendesk, enable the Update user’s primary email dashboard setting and pass the email trait in the identify call:
When you send the above event, Zendesk sets alex@example.com as the user’s primary email.
If the Update user’s primary email dashboard setting is disabled, RudderStack sets the email present in the identify traits as the user’s secondary email in Zendesk, if any primary mail already exists.
Track
The track call lets you record the user actions along with any associated properties and send this information to Zendesk.
You need to first set the userId by calling identify before sending any track events to Zendesk.
You can also use the group call to associate a particular user to an organization. To do so, disable the Send Group Calls without User ID dashboard setting in RudderStack and pass the userId via the identify call before sending any group calls to Zendesk.
RudderStack assumes that an identify call (containing the userId) is made before any group call.
If you do not want to associate a particular user with a group, enable the Send Group Calls without User ID dashboard setting. If this setting is enabled, the group will be created or updated only if userId is not present in the event.
Standard mapping
RudderStack maps the following optionalgroup traits to the standard Zendesk organization attributes:
RudderStack
Zendesk
name
name
domainNames
domain_names
tags
tags
groupId
external_id
url
url
deleted
deleted
RudderStack creates a new custom field in Zendesk for any other unmapped attributes.
How RudderStack does the user-organization association
If both userId and groupId are present in the group event, then RudderStack first finds the user by looking for the email field present in the context.traits object.
If email is present, then RudderStack associates the user with the organizationId and sends all user information for this call.
If email is absent, RudderStack creates the user. It will then find the organization associated with the groupId present in the payload.
If groupId is absent in the event payload, RudderStack creates a new organization in Zendesk and then does the association.
The above discussion can be summarized as follows:
email present?
groupId present?
Description
Expected behavior
No
No
User and the organization do not exist in Zendesk.
RudderStack creates a new user and organization and associates both.
Yes
No
User already exists in Zendesk but not the organization.
RudderStack creates a new organization and associates the existing user information with it.
No
Yes
Organization already exists in Zendesk but not the user.
RudderStack creates a new user and associates them with the organization.
Yes
Yes
Both the user and the organization exist in Zendesk.
RudderStack does the user-organization association.
This site uses cookies to improve your experience while you navigate through the website. Out of
these
cookies, the cookies that are categorized as necessary are stored on your browser as they are as
essential
for the working of basic functionalities of the website. We also use third-party cookies that
help
us
analyze and understand how you use this website. These cookies will be stored in your browser
only
with
your
consent. You also have the option to opt-out of these cookies. But opting out of some of these
cookies
may
have an effect on your browsing experience.
Necessary
Always Enabled
Necessary cookies are absolutely essential for the website to function properly. This
category only includes cookies that ensures basic functionalities and security
features of the website. These cookies do not store any personal information.
This site uses cookies to improve your experience. If you want to
learn more about cookies and why we use them, visit our cookie
policy. We'll assume you're ok with this, but you can opt-out if you wish Cookie Settings.