Release Status Released Supported By Stitch
Availability Premium Status Page Zendesk Status Page
Default Historical Sync 1 year Default Replication Frequency 30 minutes
Whitelisting Unsupported Destination Incompatibilities None

Connecting Zendesk

Connecting your Zendesk data to Stitch is a four-step process:

  1. Retrieve your Zendesk API token
  2. Add Zendesk as a Stitch data source
  3. Define the Historical Sync
  4. Define the Replication Frequency

Prerequisites

Zendesk Administrator permissions are required. Only users with the Zendesk Administrator role can create an API token, which is required to complete the setup.

Create a Zendesk API Token

  1. Sign into your Zendesk account.
  2. Click the Settings (gear) icon in the left sidebar.
  3. When the Settings menu displays, locate the Channels section.
  4. Click the API link in this section.
  5. Verify that the Token Access setting is enabled.
  6. Click the + button in the Active API Tokens section to create a new token.
  7. When prompted, enter a description for the token. We recommend using ‘Stitch,’ so you will know, at a glance, what application is using the token.
  8. Copy the token into a text file. Do NOT click Save until you’ve copied the token, as Zendesk only displays API tokens once for security reasons. If you save before copying the token, you’ll have to create another one.
  9. After you’ve copied the token, click Save.

Add Zendesk as a Stitch Data Source

  1. Sign into your Stitch account.
  2. On the Stitch Dashboard page, click the Add Integration button.

  3. Click the Zendesk icon.

  4. Enter a name for the integration. This is the name that will display on the for the integration; it’ll also be used to create the schema in your destination.

    For example, the name “Stitch Zendesk” would create a schema called stitch_zendesk in the destination. Note: Schema names cannot be changed after you save the integration.

  5. Enter your Zendesk site prefix. For example, if your full Zendesk URL was stitchdata.zendesk.com, you’d only need to enter the prefix, or stitch, into this field.
  6. Enter your Zendesk login email.
  7. Paste your Zendesk API token into the API Token field.

Define the Historical Sync

The Sync Historical Data setting will define the starting date for your Zendesk integration. This means that:

  • For tables using Incremental Replication, data equal to or newer than this date will be replicated to your data warehouse.
  • For tables using Full Table Replication, all data - including records that are older, equal to, or newer than this date - will be replicated to your data warehouse.

Change this setting if you want to sync data beyond Zendesk’s default setting of 1 year. For a detailed look at historical syncs, check out the Syncing Historical SaaS Data guide.

Create a replication schedule

In the Replication Frequency section, you’ll create the integration’s replication schedule. An integration’s replication schedule determines how often Stitch runs a replication job, and the time that job begins.

Stitch offers two methods of creating a replication schedule:

  • Replication Frequency: This method requires selecting the interval you want replication to run for the integration. Start times of replication jobs are based on the start time and duration of the previous job. Refer to the Replication Frequency documentation for more information and examples.
  • Anchor scheduling: Based on the Replication Frequency, or interval, you select, this method “anchors” the start times of this integration’s replication jobs to a time you select to create a predictable schedule. Anchor scheduling is a combination of the Anchor Time and Replication Frequency settings, which must both be defined to use this method. Additionally, note that:

    • A Replication Frequency of at least one hour is required to use anchor scheduling.
    • An initial replication job may not begin immediately after saving the integration, depending on the selected Replication Frequency and Anchor Time. Refer to the Anchor Scheduling documentation for more information.

To help prevent overages, consider setting the integration to replicate less frequently. See the Understanding and Reducing Your Row Usage guide for tips on reducing your usage.

Initial and historical replication jobs

After you finish setting up Zendesk, its Sync Status may show as Pending on either the Stitch Dashboard or in the Integration Details page.

For a new integration, a Pending status indicates that Stitch is in the process of scheduling the initial replication job for the integration. This may take some time to complete.

Free historical data loads

The first seven days of replication, beginning when data is first replicated, are free. Rows replicated from the new integration during this time won’t count towards your quota. Stitch offers this as a way of testing new integrations, measuring usage, and ensuring historical data volumes don’t quickly consume your quota.


Zendesk Schema

Stitch's Zendesk integration includes these tables:


audits

Replication Method: Key-based Incremental
Primary Key: id
Contains Nested Structures?: Yes

The audits table contains info about the activity associated with a ticket. This table contains the history of a ticket, with each audit event representing a single update to the ticket.

Table Info & Attributes

audits & Nested Structures

This table contains nested structures. If you use a data warehouse that doesn't natively support nested structures, some of the attributes listed below may be in a subtable.

These items are marked with a *

Event Types

For event types, see Zendesk’s documentation.

audits Attributes

While we try to include everything Zendesk has here, this may not be a full list of attributes. Refer to Zendesk's documentation for a full list and description of each attribute.

  • Audit ID (id)

  • ticket_id

  • metadata

  • via

  • created_at

  • author_id

  • events*: If a subtable, this will contain the event ID (id), type, body, public, and data about attachments.

zendesk_group_memberships

Replication Method: Full Table
Primary Key: id
Contains Nested Structures?: No

The zendesk_group_memberships table contains info about the groups your Zendesk agents are members of.

Table Info & Attributes

Group Membership Record Deletes

As Zendesk’s API doesn’t currently provide a method for identifying deleted records, we recommend periodically dropping this table and allowing Stitch to re-create it. Currently, dropping and re-populating the table is the only way to detect deletions.

zendesk_group_memberships Attributes

While we try to include everything Zendesk has here, this may not be a full list of attributes. Refer to Zendesk's documentation for a full list and description of each attribute.

  • Group Membership ID (id)

  • user_id

  • group_id

  • default

  • created_at

  • updated_at

zendesk_groups

Replication Method: Key-based Incremental
Primary Key: id
Contains Nested Structures?: No

The zendesk_groups table contains info about the groups - which is how agents are organized - in your Zendesk account.

Table Info & Attributes

Group Deletes

This table includes a field (deleted) to identify groups that have been deleted.

zendesk_groups Attributes

While we try to include everything Zendesk has here, this may not be a full list of attributes. Refer to Zendesk's documentation for a full list and description of each attribute.

  • Group ID (id)

  • url

  • name

  • deleted

  • created_at

  • updated_at

zendesk_macros

Replication Method: Key-based Incremental
Primary Key: id
Contains Nested Structures?: Yes

The zendesk_macros table contains info about the macros in your Zendesk account. Macros are actions defined by you that modify the values of a ticket’s fields.

Table Info & Attributes

zendesk_macros & Nested Structures

This table contains nested structures. If you use a data warehouse that doesn't natively support nested structures, some of the attributes listed below may be in a subtable.

These items are marked with a *

zendesk_macros Attributes

While we try to include everything Zendesk has here, this may not be a full list of attributes. Refer to Zendesk's documentation for a full list and description of each attribute.

  • Macro ID (id)

  • actions*

  • active

  • description

  • position

  • restriction

  • title

  • created_at

  • updated_at

organizations

Replication Method: Key-based Incremental
Primary Key: id
Contains Nested Structures?: Yes

The organizations table contains company information about your end-users.

Table Info & Attributes

organizations & Nested Structures

This table contains nested structures. If you use a data warehouse that doesn't natively support nested structures, some of the attributes listed below may be in a subtable.

These items are marked with a *

organizations Attributes

While we try to include everything Zendesk has here, this may not be a full list of attributes. Refer to Zendesk's documentation for a full list and description of each attribute.

  • Organization ID (id)

  • url

  • external_id

  • name

  • created_at

  • updated_at

  • domain_names*

  • details

  • notes

  • group_id

  • shared_tickets

  • shared_comments

  • tags*

  • organization_fields

zendesk_tags

Replication Method: Full Table
Primary Key: name
Contains Nested Structures?: No

The zendesk_tags table contains a list of tags in your Zendesk account.

Table Info & Attributes

zendesk_tags Attributes

While we try to include everything Zendesk has here, this may not be a full list of attributes. Refer to Zendesk's documentation for a full list and description of each attribute.

  • Tag Name (name)

  • count

tickets

Replication Method: Key-based Incremental
Primary Key: id
Contains Nested Structures?: Yes

The tickets table contains info about the tickets in your Zendesk account.

Table Info & Attributes

tickets & Nested Structures

This table contains nested structures. If you use a data warehouse that doesn't natively support nested structures, some of the attributes listed below may be in a subtable.

These items are marked with a *

tickets Attributes

While we try to include everything Zendesk has here, this may not be a full list of attributes. Refer to Zendesk's documentation for a full list and description of each attribute.

  • Ticket ID (id)

  • url

  • external_id

  • type

  • subject

  • raw_subject

  • priority

  • status

  • recipient

  • requester_id

  • submitter_id

  • assignee_id

  • organization_id

  • group_id

  • collaborator_ids*

  • forum_topic_id

  • problem_id

  • has_incidents

  • due_at

  • tags*

  • via

  • custom_fields*

  • fields*: Zendesk plans to deprecate this attribute in the near future. Stitch will continue replicating it at this time.

  • satisfaction_rating

  • sharing_agreement_ids*

  • followup_ids

  • ticket_form_id

  • brand_id

  • allow_channelback

  • is_public

  • created_at

  • updated_at

ticket_fields

Replication Method: Key-based Incremental
Primary Key: id
Contains Nested Structures?: Yes

The ticket_fields table contains info about the basic text and custom ticket fields in your Zendesk account.

Table Info & Attributes

ticket_fields & Nested Structures

This table contains nested structures. If you use a data warehouse that doesn't natively support nested structures, some of the attributes listed below may be in a subtable.

These items are marked with a *

ticket_fields Attributes

While we try to include everything Zendesk has here, this may not be a full list of attributes. Refer to Zendesk's documentation for a full list and description of each attribute.

  • Ticket Field ID (id)

  • url

  • type

  • title

  • raw_title

  • description

  • raw_description

  • position

  • active

  • required

  • collapsed_for_agents

  • regxp_for_validation

  • title_in_portal

  • raw_title_in_portal

  • visible_in_portal

  • editable_in_portal

  • required_in_portal

  • tag

  • created_at

  • updated_at

  • system_field_options*

  • custom_field_options*

  • removable

zendesk_ticket_metrics

Replication Method: Full Table
Primary Key: id
Contains Nested Structures?: No

The zendesk_ticket_metrics table contains info about the metrics associated with Zendesk tickets. Note that this table will NOT include records for archived tickets - see the Table Info section for details.

Table Info & Attributes

Archived Ticket Metrics

As Zendesk’s API doesn’t currently support returning metrics for archived tickets, this table will not contain any metrics for archived tickets.

If you believe you’re missing records, check in your Zendesk account to see if the missing records are for archived tickets.

For more info on how Zendesk handles archiving tickets, check out their documentation.

zendesk_ticket_metrics Attributes

While we try to include everything Zendesk has here, this may not be a full list of attributes. Refer to Zendesk's documentation for a full list and description of each attribute.

  • Ticket Metric ID (id)

  • ticket_id

  • url

  • group_stations

  • assignee_stations

  • reopens

  • replies

  • assignee_updated_at

  • requester_updated_at

  • status_updated_at

  • intitially_updated_at

  • assigned_at

  • solved_at

  • latest_comment_added_at

  • first_resolution_time_in_minutes

  • reply_time_in_minutes

  • full_resolution_time_in_minutes

  • agent_wait_time_in_minutes

  • requester_wait_time_in_minutes

  • created_at

  • updated_at

users

Replication Method: Key-based Incremental
Primary Key: id
Contains Nested Structures?: Yes

The users table contains info about all the users - end-users, agents, and administrators - in your Zendesk account.

Table Info & Attributes

users & Nested Structures

This table contains nested structures. If you use a data warehouse that doesn't natively support nested structures, some of the attributes listed below may be in a subtable.

These items are marked with a *

users Attributes

While we try to include everything Zendesk has here, this may not be a full list of attributes. Refer to Zendesk's documentation for a full list and description of each attribute.

  • User ID (id)

  • email

  • name

  • active

  • alias

  • chat_only

  • created_at

  • custom_role_id

  • details

  • external_id

  • last_login_at

  • locale_id

  • moderator

  • notes

  • only_private_comments

  • organization_id

  • phone

  • photo

  • restricted_agent

  • role

  • shared

  • shared_agent

  • signature

  • suspended

  • tags*

  • ticket_restriction

  • time_zone

  • two_factor_auth_enabled

  • updated_at

  • url

  • user_fields

  • verified



Questions? Feedback?

Did this article help? If you have questions or feedback, feel free to submit a pull request with your suggestions, open an issue on GitHub, or reach out to us.