After setting up your warehouse, your Connections page should look something like this: 👇
Connections page with data warehouse
Step 3: Create your model
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.
From inside your Census account, navigate to the Models page.
Enter a name for your model. You'll use this to select the model later.
Enter your SQL query. If you want to test the query, use the Preview button.
Click Save Model.
Basic SQL query for a new model
Step 4: Create your first sync
The sync will move data from your warehouse to Zendesk. In this step, you'll define how that will work.
From inside your Census account, navigate to the Syncs page.
Under What data do you want to sync?, choose your data warehouse as the Connection and your model as the Source.
Under Where do you want to sync data to?, choose Zendesk as the Connection and an Object in Zendesk. (See Supported objects.)
The way that Zendesk updates certain properties is complex.
Setting Organizations on the End User object
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.
Setting the Tags property
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.
Updating a dropdown property
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, ' ', '_'))
🗄 Supported objects
Census currently supports syncing to the following Zendesk objects:
External ID (recommended), Email
External ID (recommended), Name
Please note that Zendesk requires the Name property for the End User object. Feel free to check out Zendesk's documentation here.
Let us know if you want Census to support additional objects for Zendesk.
🔄 Supported sync behaviors
Update or Create
Delete syncs can result in data loss! Census recommends you backup this data if you're concerned about accidentally deleting the wrong records.