This page describes how to use Census with Zendesk.
In this guide, we will show you how to connect Zendesk to Census and create your first sync.
- Zendesk account
- Have the proper credentials to access to your data source. See our docs for each supported data source for further information:
- 2.Click Add Service.
- 3.Select Zendesk from the dropdown list.
- 4.Follow the Zendesk authentication flow.
Your end state should look something like this: 👇
Connections page with Zendesk
The steps for connecting your data warehouse will depend on your technology. See the following guides:
After setting up your warehouse, your Connections page should look something like this: 👇
Connections page with data warehouse
When defining models, you'll write SQL queries to select the data you want to see in Zendesk. This can be as simple as selecting everything in a specific database table or as complex as creating new calculated values.
- 1.From inside your Census account, navigate to the Models page.
- 2.Enter a name for your model. You'll use this to select the model later.
- 3.Enter your SQL query. If you want to test the query, use the Preview button.
- 4.Click Save Model.
Basic SQL query for a new model
The sync will move data from your warehouse to Zendesk. In this step, you'll define how that will work.
- 2.Under What data do you want to sync?, choose your data warehouse as the Connection and your model as the Source.
- 3.Under Where do you want to sync data to?, choose Zendesk as the Connection and an Object in Zendesk. (See Supported objects.)
- 4.Under How should changes to the source be synced?, choose Update or Create. (See Supported sync behaviors.)
- 5.Under How are source and destination records matched?, select a mapping key. We recommend mapping an internal ID property in your database to the External ID field in Zendesk. (See Supported objects.)
- 6.Under Which properties should be updated?, select the fields you want to update by mapping a field in Zendesk to a column in your model. Choose a mapping setting:
Note that there are some gotchas with updating Zendesk data. Check out Things to know about the Zendesk connector.
- Set overrides the existing value in Zendesk if the field is already populated.
- Only If Empty does not set the value if the field is already populated.
- For any properties that accept lists of values such as the Organization or Tags property, instead you'll see Replace. Replace mappings override any existing values or relationships for the property.
- 7.Click Next. This will open the Confirm Details page where you can see a recap of your setup.
- 8.If you want to start a sync immediately, set the Run a sync now? checkbox.
- 9.Click Create Sync.
When configuring your sync, the page should look something like this: 👇
Sync setup for Zendesk
Once your sync is complete, it's time to check your data. Open Zendesk and check that the records updated correctly.
The way that Zendesk updates certain properties is complex.
In Zendesk, users (records in the End User object) can belong to multiple Organizations. When syncing the End User object, you can provide either a single External ID value or a list of values.
Support for multiple organization relationships is an optional setting in Zendesk. See the Zendesk documentation for details.
To link a user to multiple organizations, you'll need to format the list of External ID values as a JSON array of strings, for example:
["Team A", "Team B", "Team C"]
When syncing the Organizations property, Census will overwrite any existing relationships with the provided value. To maintain existing relationships, make sure that the corresponding External ID values are included in the array.
Because of the way tags work in Zendesk, we don't recommend them for syncs. When possible, use dropdown and checkbox properties instead.
In Zendesk, the Ticket, End User, and Organization objects all include a Tags property. Tickets automatically pick up tags from related users and organizations. When configuring custom dropdown and checkbox fields in Zendesk, you can also configure those fields to add specific tags.
If you need to update the Tags property directly, keep these details in mind:
- Tag names cannot contain spaces. Zendesk will treat spaces as separators between tags.
- You can update the Tags property with multiple values by providing a JSON array, a space-separated list, or comma-separated list.
- Syncing the Tags property will replace any existing tags on the records. To maintain existing tags, you'll need to make sure they appear in the list of tags you provide from your data source.
To update a dropdown property, the Zendesk API requires that you provide the API name of the dropdown option rather than the user-visible label.
By default, the API name is the user-visible label, but converted to lowercase and snake_case, for example, Paid User becomes paid_user. To update a dropdown property in this example, you'd provide the value paid_user.
If the Zendesk API names have not been modified, you can transform the label values using the following SQL:
lower(replace(column_name, ' ', '_'))
Census currently supports syncing to the following Zendesk objects:
External ID (recommended), Email
External ID (recommended), Name
Please note that Zendesk requires the
Nameproperty for the End User object. Feel free to check out Zendesk's documentation here.
Update or Create
End User, Organization, Ticket
Delete syncs can result in data loss! Census recommends you backup this data if you're concerned about accidentally deleting the wrong records.
You can send our support team an email at [email protected] or start a conversation from the in-app chat.