SOURCES GUIDE

Zendesk

Step-by-step guide to adding Zendesk as a destination in RudderStack

Getting Started

This document lays out the steps to follow for sending your event data to Zendesk. As a first step, you need to add it as a destination to the source on the dashboard. Once the destination is enabled, your event data starts flowing to Zendesk.

Before configuring your source and destination on RudderStack, please verify if the Zendesk destination supports the source platform. Please refer to the table below:

Connection Mode

Web

Mobile

Server

Device mode

-

-

-

Cloud mode

Supported

Supported

Supported

Once you have verified that the platform supports forwarding events to Zendesk, perform the steps below:

You might want to review our guide on how to add a source and destination in RudderStack.

  • Give a name to the destination for your future reference to this destination and click on Next. The following screenshot shows the screen you expect.

  • Enter your Zendesk email and API token

  • Click on Next to finish the configuration. Zendesk should now be added and enabled as a destination in RudderStack.

Identify

The identify call creates or updates a user in Zendesk. We use the email in traits for those actions. Thus, we recommend you to send the email address of your user in the identify call.

rudderanalytics.identify("12345678",{
name: "John Wick",
email: "johnwick@example.com",
country: "UK"
});

Currently, RudderStack maps to a subset of the standard user attributes of a Zendesk user. We create a new custom field for the unmapped attributes.

The current mapping is as follows:

RudderStack

Zendesk

email

email

name

name

organizationId

organization_id

timezone

time_zone

phone

phone

userId

user_id

userId

external_id

The organization_id is Zendesk organization id and they create it.

Verifying users at creation

You can use the dashboard setting "Create users as verified" to register the users as verified during creation. Zendesk skips the email verification step for those users.

Removing user from a Organization membership in identify

Please enable the option in our dashboard - Enable Removing Users from Organizations to access this feature. The following fields are mandatory in the payload under context.traits for this action:

  • company.id

  • company.remove (to be set as true)

We assume a valid Zendesk organization_id in the company.id field. Then we find the organization corresponding to that id, and perform the action. A sample identify call for this should look like the below:

rudderanalytics.identify("12345678",{
name: "John Wick",
email: "johnwick@example.com",
country: "UK"
company:{
id: 900001329943,
remove: true
}
});

This identify call updates the user as well as remove it from the organization with id 900001329943

Track

Zendesk expects an userId for every track call. You can set the userId by producing an identify call before sending any track event. We affix the user details from the identify call, to the subsequent calls.

Here is a sample track call

rudderanalytics.track("Track me", {
category: "category",
label: "label",
value: "value"
});

Group

You can use the group call to create or update an organization in Zendesk. We use the groupId to do that.

Here is a sample group call

rudderanalytics.group("123456789", {
name: "Softworks",
country: "UK",
group_plan: "trial",
});

The group call connects the user to the organization.‌ You can incapacitate this feature by disabling the "Send Group Calls without User ID" on the dashboard. We create or update the organization if no user is associated with the event.

Currently, RudderStack maps the group traits to a subset of the standard organization attributes of Zendesk. We'll create a new custom field for any unmapped attributes.

The current mapping is as follows:

RudderStack

Zendesk

name

name

domainNames

domain_names

tags

tags

groupId

external_id

url

url

deleted

deleted

We assume that there is always an identify call before any group call with userId is made. If groupId and userId both are present in payload of a group call, then, we will find the user with the email present in the traits, if not present, we will create the user. We also find the organization by the groupId that you provide. If that is not present, we create that too and after that we do the association.

Settings

Email

The email you use to log in to Zendesk.

API Token

This is the API token which will be used to authenticate the request.If you do not have an API token created, follow creating an API token in Zendesk.

Zendesk Domain

This is your Zendesk subdomain(not including .zendesk.com)

Create users as verified

Enabling this setting will create users as verified(skipping the email verification).We will send verified as true if this setting is enabled

Send Group Calls without User ID

Enable this setting if you don't want to associate the user to the group.If this setting is enabled, only the group will be created or updated if userId is not present in payload.

Contact Us

If you come across any issues while configuring Adjust with RudderStack, please feel free to contact us or start a conversation on our Discord channel. We will be happy to help you.