Release Status Released Supported By Stitch
Availability Paid Status Page Zendesk Status Page
Default Historical Sync 1 year Default Replication Frequency 60 minutes
Whitelisting Tables and columns Destination Incompatibilities None

Connecting Zendesk

Zendesk Setup requirements

To set up Zendesk in Stitch, you need:

  • A paid Stitch plan. While those currently in the Free Trial will also be able to set up Zendesk, replication will be paused until a paid plan is selected after the trial ends.
  • Administrator permissions in Zendesk. Some data types in Zendesk may only be accessed with Admin permissions. For example: To replicate ticket metric or tag data, Zendesk’s API requires a user with Admin permissions.

    To ensure you can replicate all the data you need, we recommend a user with Admin permissions set up the integration.

  • A specific Zendesk plan if replicating ticket forms or SLA policies:

    • To replicate SLA policies, you must be on an Enterprise or Professional Zendesk plan.
    • To replicate ticket forms, you must be on an Enterprise Zendesk plan, or a Professional Zendesk plan with the ticket forms add-on.

    All other tables, with the exception of sla_policies and ticket_forms will be available for replication even if you aren’t on either of these Zendesk plans.

Step 1: 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 Stitch Dashboard 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. In the Zendesk Subdomain field, enter your Zendesk site prefix. For example: For stitchdata.zendesk.com, only stitchdata would be entered into this field.

Step 2: 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 replicate data beyond Zendesk’s default setting of 1 year. For a detailed look at historical replication jobs, check out the Syncing Historical SaaS Data guide.

Step 3: 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.

Step 4: Authorize Stitch to access Zendesk

  1. Next, you’ll be prompted to sign into your Zendesk account.
  2. After the authorization process is successfully completed, you’ll be directed back to Stitch.
  3. Click All Done.

Step 5: Set tables to replicate

To complete the setup, you’ll need to select tables you want to replicate to your data warehouse.

Check out the Schema section to learn more about the available tables in Zendesk and how they replicate.

  1. In the list of tables that displays - or in the Tables to Replicate tab, if you skipped this step during setup - locate a table you want to replicate.
  2. To track a table, click the checkbox next to the table’s name. A green checkmark means the table is set to replicate.

  3. Repeat this process for all the tables you want to replicate.
  4. When finished, click the Finalize Your Selections button at the bottom of the screen to save your selections.

Note: If you change these settings while a replication job is still in progress, they will not be used until the next job starts.

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 Replication

Replicating SLA policies and ticket forms

To replicate SLA policies and ticket forms - or the sla_policies and ticket_forms tables - you need to be on an Enterprise or Professional Zendesk plan. To replicate ticket_forms on a Professional plan, you’ll also need to have the ticket forms add-on enabled in your Zendesk account.

If you set either table to replicate and don’t meet the requirements listed above, an error similar to the following will surface in the integration’s Extraction Logs:

tap - INFO replicated 0 records from "ticket_forms" endpoint
tap - CRITICAL {"error": {"message": "You do not have access to this page. Please contact the account owner of this help desk for further help.", "title": "Forbidden"}}

To resolve the error, de-select the appropriate table(s). Reach out to Zendesk if you have questions about your Zendesk plan.

Replicating user and organization custom fields

To replicate custom fields for Users and Organizations - or the users and organizations tables - you need to be on an Enterprise, Professional, or Team Zendesk plan.

If you set custom fields in the users or organizations tables to replicate and don’t meet the requirements listed above, an error similar to the following will surface in the integration’s Extraction Logs:

tap - WARNING The account credentials supplied do not have access to `organizations` custom fields.
tap - WARNING The account credentials supplied do not have access to `users` custom fields.

To resolve the error, de-select the appropriate field(s). Reach out to Zendesk if you have questions about your Zendesk plan.


Zendesk table schemas

group_memberships

Replication Method: Key-based Incremental Replication Key : updated_at
Primary Key : id API Endpoint: List memberships

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

Note: Retrieving group membership data requires Zendesk Agent or Admin permissions.

Deleted group memberships

As Zendesk’s API doesn’t currently provide a method for identifying deleted group memberships, 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.

id
INTEGER

The group membership ID.

updated_at
DATE-TIME

The time the membership was last updated.

user_id
INTEGER

The ID of the agent.

Reference:

group_id
INTEGER

The ID of the group.

Reference:

default
BOOLEAN

If true, tickets designed directly to the agent assume this membership’s group.

created_at
DATE-TIME

The time the membership was created.

url
STRING

The API URL of this membership record.


Replication Method: Key-based Incremental Replication Key : updated_at
Primary Key : id API Endpoint: List groups

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

Note: Retrieving group data requires Zendesk Admin or Agent permissions.

id
INTEGER

The group ID.

Reference:

updated_at
DATE-TIME

The time the group was last updated.

name
STRING

The name of the group.

created_at
DATE-TIME

The time the group was created.

deleted
BOOLEAN

If true, the group has been deleted.

url
STRING

The API URL of the group.


Replication Method: Key-based Incremental Replication Key : updated_at
Primary Key : id API Endpoint: List macros

The 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.

Note: Retrieving macro data requires Zendesk Agent or Admin permissions.

id
INTEGER

The macro ID.

updated_at
DATE-TIME

The time the macro was last updated.

actions

Details about what the macro does.

If your destination doesn't natively support nested data, this data may be denested into a subtable named macros__actions. Refer to the Singer schema for details on possible attributes.

_sdc_source_key_id
INTEGER

The macro ID.

_sdc_level_0_id
INTEGER

This column forms part of a composite key for the table. The value will auto-increment for each unique record, beginning with 0.

field
STRING

The name of the ticket field to modify.

value
STRING

The new value of the field.

active
BOOLEAN

If true, the macro is active.

created_at
DATE-TIME

The time the macro was created.

description
STRING

The description of the macro.

position
INTEGER

The position of the macro.

restriction__id
INTEGER

The ID of the group or user who can access the macro.

If everyone in the account can access the macro, this field will be null.

Reference:

restriction__type
STRING

The type of restriction associated with the macro. Possible values are Group or User.

If everyone in the account can access the macro, this field will be null.

restriction__ids

Details about who can access the macro.

If your destination doesn't natively support nested data, this data may be denested into a subtable named macros__restriction__ids. Refer to the Singer schema for details on possible attributes.

title
STRING

The title of the macro.

url
STRING

The API URL of the macro.


Replication Method: Key-based Incremental Replication Key : updated_at
Primary Key : id API Endpoint: Incremental organization export

The organizations table contains information about the organizations your end-users belong to.

Custom organization fields

Stitch’s Zendesk integration will replicate any custom fields associated with organization records.

Note: Replicating organization custom fields requires that you be on a Team, Professional, or Enterprise Zendesk plan and have Admin permissions in Zendesk.

id
INTEGER

The organization ID.

Reference:

updated_at
DATE-TIME

The time the organization was last updated.

created_at
DATE-TIME

The time the organization was last updated.

details
STRING

Details about the organization, such as its address.

domain_names

The domain names associated with the organization.

If your destination doesn't natively support nested data, this data may be denested into a subtable named organizations__domain_names. Refer to the Singer schema for details on possible attributes.

_sdc_source_key_id
INTEGER

The organization ID.

_sdc_level_0_id
INTEGER

This column forms part of a composite key for the table. The value will auto-increment for each unique record, beginning with 0.

value
STRING

The domain name associated with the organization.

external_id
STRING

The unique external ID to associated organizations to an external record.

group_id
INTEGER

The group ID associated with the organization. New tickets from users in this organization are automatically put in this group.

Reference:

name
STRING

The name of the organization.

notes
STRING

Notes about the organization.

organization_fields__[zendesk_field_name]

For every not null custom field on an organization’s record, a field named organization_fields__[zendesk_field_name], where [zendesk_field_name] is the name of the field in Zendesk, will be created.

The data type of these fields will vary depending on the field’s type in Zendesk. Generally:

  • Text-based fields will be STRING
  • Dropdown fields will be STRING
  • Numeric fields will be INTEGER
  • Decimal fields will be NUMBER
  • Checkbox fields will be BOOLEAN
  • Date fields will be STRING, formatted as DATE-TIME
shared_comments
BOOLEAN

If true, end users in this organization are able to see each other’s comments on tickets.

shared_tickets
BOOLEAN

If true, end users in this organization are able to see each other’s tickets.

tags

The tags associated with the organization.

If your destination doesn't natively support nested data, this data may be denested into a subtable named organizations__tags. Refer to the Singer schema for details on possible attributes.

_sdc_source_key_id
INTEGER

The organization ID.

_sdc_level_0_id
INTEGER

This column forms part of a composite key for the table. The value will auto-increment for each unique record, beginning with 0.

value
STRING

The tag associated with the organization.

Reference:

url
STRING

The API URL of the organization.


satisfaction_ratings

Replication Method: Key-based Incremental Replication Key : updated_at
Primary Key : id API Endpoint: List satisfaction ratings

The satisfaction_ratings table contains info about ratings users have offered on support tickets.

Note: This table is only available if satisfaction ratings are enabled in your Zendesk account.

id
INTEGER

The satisfaction rating ID.

updated_at
STRING

The time the rating was last updated.

assignee_id
INTEGER

The ID of the agent assigned at the time of the rating.

Reference:

created_at
STRING

The time the rating was created.

group_id
INTEGER

The ID of the group assigned at the time of the rating.

Reference:

reason_id
INTEGER

The ID of the reason the user selected for giving a negative rating. Possible values are:

  • 0 - No reason provided (user didn’t select a reason from the list menu)
  • 5 - The issue took too long to resolve
  • 6 - The issue wasn’t resolved
  • 7 - The agent’s knowledge is unsatisfactory
  • 8 - The agent’s attitude is unsatisfactory
  • 100 - Some other reason
requester_id
INTEGER

The ID of the ticket requester submitting the rating.

Reference:

ticket_id
INTEGER

The ID of the ticket being rated.

Reference:

url
STRING

The API URL of the rating.

score
STRING

The rating. Possible values are:

  • offered
  • unoffered
  • good
  • bad
reason
STRING

Only applicable if satisfaction reasons are enabled. The reason for a bad rating, given by the requester in a follow-up question.

comment
STRING

The comment recieved with the rating, if available.


Replication Method: Full Table API Endpoint: List SLA Policies
Primary Key : id

The sla_policies table contains info about the Service Level Agreements (SLAs) in your Zendesk account. An SLA is a documented agreement between a support provider and their customers that defines performance measures for support.

Note: Replicating SLA policies requires that you be on an Enterprise or Professional Zendesk plan, and have Admin permissions in Zendesk.

id
INTEGER

The SLA policy ID.

created_at
DATE-TIME

The time the SLA policy was created.

description
STRING

The description of the SLA policy.

filter__all

Details about the conditions that a ticket must match in order for the SLA policy to be applied to the ticket.

If your destination doesn't natively support nested data, this data may be denested into a subtable named sla_policies__filter__all. Refer to the Singer schema for details on possible attributes.

filter__any

Details about the conditions that a ticket must match in order for the SLA policy to be applied to the ticket.

If your destination doesn't natively support nested data, this data may be denested into a subtable named sla_policies__filter__any. Refer to the Singer schema for details on possible attributes.

policy_metrics__priority
STRING

The priority that a ticket must match. For example: low

policy_metrics__target
INTEGER

The time in which the end-state for a metric should be met.

policy_metrics__business_hours
BOOLEAN

Indicates whether metric targets are measured in business hours or calendar hours.

policy_metrics__metric
STRING

The definition of the time that is being measured. Possible values are:

  • agent_work_time
  • first_reply_time
  • next_reply_time
  • pausable_update_time
  • periodic_update_time
  • requester_wait_time
position
INTEGER

The position of the SLA policy, which determines the order in which it is matched.

title
STRING

The title of the SLA policy.

updated_at
DATE-TIME

The time the SLA policy was last updated.

url
STRING

The URL of the SLA policy in your Zendesk account.


Replication Method: Full Table API Endpoint: List tags
Primary Key : name

The tags table the names and total number of applications of the tags in your Zendesk account.

Note: Retrieving tag data requires Zendesk Admin permissions.

name
STRING

The name of the tag.

Reference:

count
INTEGER

The total number of times the tag has been applied to objects in your Zendesk account.


Replication Method: Append-Only Incremental Replication Key : created_at
Primary Key : id API Endpoint: List all ticket audits

Note: This table uses Append-Only Incremental Replication. This means that new audit records, or updates made to existing audits, are appended as new rows to the end of the table.

The ticket_audits table contains info about the activity associated with a ticket. An audit is a history of all updates to a given ticket. When a ticket is updated in Zendesk, an audit record is created. Each audit represents a single update to a ticket.

A single audit record may include multiple event types. For example: A ticket comment, satisfaction rating, and a change event. For a full list of Zendesk audit event types, refer to Zendesk’s documentation.

id
INTEGER

The ticket audit ID.

Reference:

created_at
DATE-TIME

The time the audit was created.

author_id
INTEGER

The ID of the user who created the audit.

Reference:

ticket_id
INTEGER

The ID of the ticket associated with the audit.

Reference:

metadata__flags

Metadata for the audit, custom, and system data.

If your destination doesn't natively support nested data, this data may be denested into a subtable named ticket_audits__metadata__flags. Refer to the Singer schema for details on possible attributes.

metadata__system__location
STRING

The user’s location. For example: Philadelphia, PA, United States

metadata__system__longitude
NUMBER

The user’s longitude.

metadata__system__ip_address
STRING

The user’s IP address.

metadata__system__client
STRING

The user’s client, or web browser.

metadata__system__latitude
NUMBER

The user’s latitude.

events

The events that happened in the audit.

If your destination doesn't natively support nested data, this data may be denested into a subtable named ticket_audits__events. Refer to the Singer schema for details on possible attributes.

_sdc_source_key_id
INTEGER

The ticket audit ID.

_sdc_level_0_id
INTEGER

This column forms part of a composite key for the table. The value will auto-increment for each unique record, beginning with 0.

id
INTEGER

The audit event ID.

audit_id
INTEGER

The ticket audit ID.

Reference:

type
STRING

The event type. Refer to Zendesk’s documentation for a full list of event types.

body
STRING
  • For VoiceComment events - The comment added to the ticket.
  • For Notification events - The message sent to the recipients.
  • For Cc events - The message sent to the recipients.
  • For SatisfactionRating events - The user’s comment posted during the rating.
  • For OrganizationActivity events - The message sent to the recipients.
  • For Tweet events - The body of the tweet.
  • For FacebookEvent events - The message posted to Facebook.
  • For FacebookComment events - The comment made by the author.
  • For External events - The trigger message for the target event.
  • For LogMeInTranscript events - The audit of the transcript.
plain_body
STRING
  • For VoiceComment events - The comment in plaintext format.
  • For FacebookComment events - The comment in plaintext format.
value
STRING
  • For Create events - The value of the field that was set.
  • For Change events - The value of the field that was changed.
author_id
INTEGER
  • For VoiceComment events - The comment author, typically the agent assigned to the ticket.
  • For FacebookComment events - The ID of the comment author.
html_body
STRING
  • For VoiceComment events - The comment in HTML format.
  • For FacebookComment events - The comment in HTML format.
subject
STRING
  • For Notification events - The subject of the message sent to recipients.
  • For OrganizationActivity events - The subject of the message sent to recipients.
field_name
STRING
  • For Create events - The name of the field that was set.
  • For Change events - The name of the field that was changed.
  • For Push events - The data being pushed out of Zendesk.
public
BOOLEAN
  • For VoiceComment events - If true, the ticket requester can see the comment. Otherwise, only agents can see it.
  • For CommentPrivacyChange events - If true, the comment was public.
  • For FacebookComment events - If true, the comment was public. Otherwise, only agents can see it.
previous_value
STRING

Applicable to Change events. The previous value of the field that was changed.

Note: This field may occasionally be an array, which will create a subtable in your destination if nested structures are unsupported. This occurs when the field_name value is tags. Refer to Zendesk’s documentation for more info.

recipients

For Notification, Cc, OrganizationActivity, and Tweet events, the IDs of the recipients.

If your destination doesn't natively support nested data, this data may be denested into a subtable named ticket_audits__events__recipients. Refer to the Singer schema for details on possible attributes.

attachments__id
INTEGER

The attachment ID.

attachments__size
INTEGER

The size of the attachment in bytes.

attachments__url
STRING

The API URL associated with the attachment.

attachments__inline
BOOLEAN

If true, the attachment is excluded from the attachment list. Additionally, the attachment’s URL can be referenced within the comment of a ticket.

attachments__height
INTEGER

The height of the attachment, if applicable.

attachments__width
INTEGER

The width of the attachment, if applicable.

attachments__content_url
STRING

The full URL where the attachment image file may be downloaded.

attachments__mapped_content_url
STRING

The URL where the attachment image file may be downloaded.

attachments__content_type
STRING

The content type of the image. For example: image/png

attachments__file_name
STRING

The name of the image file.

attachments__file_name
STRING

The name of the image file.

attachments__thumbnails
OBJECT

Details about the thumbnails associated with image attachments.

via__channel
STRING

The channel used to create the event. For example: web, mobile

via__source
OBJECT

Additional details about how the event was created. Only available for some channels.

via__channel
STRING

The channel used to create the audit record. For example: web, mobile

via__source__to

If the source was an email, Twitter message/mention, phone call, etc., details about the recipient.

via__source__from

Details about the source that created the audit record.

via__source__rel
STRING

The type of relation that created the audit record. For example: For an event submitted through a Zendesk widget, this field would have a value of zendesk_widget.


Replication Method: Key-based Incremental Replication Key : created_at
Primary Key : id API Endpoint: List comments

The ticket_comments table contains info about the comments on tickets, which is the conversation between requesters, collaborators, and agents. Comments can be public or private.

id
INTEGER

The ticket comment ID.

created_at
STRING

The time the ticket comment was created.

body
STRING

The body of the comment.

ticket_id
INTEGER

The ID of the ticket associated with the comment.

Reference:

type
STRING

The comment type. Possible values are Comment or VoiceComment.

html_body
STRING

The comment formatted as HTML.

plain_body
STRING

The comment as plain text.

public
BOOLEAN

If true, the comment is public. Otherwise, the comment is an internal note.

audit_id
INTEGER

The ID of the associated ticket audit.

Reference:

author_id
INTEGER

The ID of the comment author.

Reference:

attachments

Details about attachments associated with the ticket comment, if any.

If your destination doesn't natively support nested data, this data may be denested into a subtable named ticket_comments__attachments. Refer to the Singer schema for details on possible attributes.

_sdc_source_key_id
INTEGER

The ticket comment ID.

_sdc_level_0_id
INTEGER

This column forms part of a composite key for the table. The value will auto-increment for each unique record, beginning with 0.

id
INTEGER

The attachment ID.

file_name
STRING

The name of the image file.

content_url
STRING

The full URL where the image file can be downloaded.

content_type
STRING

The content type of the image. For example: image/png

size
INTEGER

The size of the image file in bytes.

inline
BOOLEAN

If true, the attachment is excluded from the attachment list and the attachment URL can be referenced within the comment of a ticket.

thumbnails

Details about the attachment’s thumbnails.

If your destination doesn't natively support nested data, this data may be denested into a subtable named ticket_comments__attachments__thumbnails. Refer to the Singer schema for details on possible attributes.

via__source__from
via__source__to
via__source__rel
STRING
via__channel
STRING

The channel used to create the ticket comment. For example: web, rule, mobile

metadata__flags

System information (web client, IP address, etc.) and comment flags, if any.

If your destination doesn't natively support nested data, this data may be denested into a subtable named ticket_comments__metadata__flags. Refer to the Singer schema for details on possible attributes.


Replication Method: Key-based Incremental Replication Key : updated_at
Primary Key : id API Endpoint: List ticket fields

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

Note: Retrieving ticket metric data requires Zendesk Agent or Admin permissions.

id
INTEGER

The ticket field ID.

Reference:

updated_at
DATE-TIME

The time the ticket field was last updated.

created_at
DATE-TIME

The time the ticket field was created.

title_in_portal
STRING

The title of the ticket field when shown to end users.

visible_in_portal
BOOLEAN

If true, the ticket field is visible to end users.

collapsed_for_agents
BOOLEAN

If true, the ticket field is hidden alongside infrequently used fields by default.

regexp_for_validation
STRING

The validation pattern for a value in the ticket field to be deemed valuable.

title
STRING

The title of the ticket field.

position
INTEGER

The relative position of the ticket.

type
STRING

The type of the ticket field. Possible values:

  • checkbox
  • date
  • decimal
  • integer
  • regexp
  • tagger
  • text
  • textarea
editable_in_portal
BOOLEAN

If true, the ticket field is editable by end users.

raw_title_in_portal
STRING

The dynamic content placeholder, if present. If not, the title_in_portal value.

tag
STRING

The tag value to set for checkbox fields when checked.

removable
BOOLEAN

If true, the ticket field isn’t a system basic field that must be present on allt ickets for the account.

active
BOOLEAN

If true, the field is available.

url
STRING

The API URL for the ticket field.

raw_title
STRING

The dynamic content placeholder, if present. If not, the title value.

required
BOOLEAN

If true, the ticket field must have a value when updated by agents.

description
STRING

The description of the ticket field shown to end users.

raw_description
STRING

The dynamic content placeholder, if present, or the description value, if not.

agent_description
STRING

The description of the ticket field that only agents can see.

required_in_portal
BOOLEAN

If true, the ticket field must have a value when updated by end users.

custom_field_options

Options for ticket fields with type:"tagger".

If your destination doesn't natively support nested data, this data may be denested into a subtable named ticket_fields__custom_field_options. Refer to the Singer schema for details on possible attributes.

_sdc_source_key_id
INTEGER

The ticket field ID.

_sdc_level_0_id
INTEGER

This column forms part of a composite key for the table. The value will auto-increment for each unique record, beginning with 0.

id
INTEGER

The ID of the custom ticket field.

name
STRING

The name of the custom ticket field.

value
STRING

The value of the custom ticket field.


Replication Method: Key-based Incremental Replication Key : updated_at
Primary Key : id API Endpoint: List ticket forms

The ticket_forms table contains info about the ticket forms in your Zendesk account.

Note: Replicating ticket forms requires that you be on an Enterprise Zendesk plan or a Professional plan with the corresponding add-on, and have Admin permissions in Zendesk.

id
INTEGER

The ticket form ID.

Reference:

updated_at
DATE-TIME

The time the ticket form was last updated.

created_at
DATE-TIME

The time the ticket form was created.

name
STRING

The name of the ticket form.

raw_name
STRING

The dynamic content placeholder, if present. If not, the name value.

display_name
STRING

The name of the ticket form that is displayed to the end user.

raw_display_name
STRING

The dynamic content placeholder, if present. If not, the display_name value.

url
STRING

The url of the ticket form.

position
INTEGER

The relative position of the ticket form.

active
BOOLEAN

If true, the ticket form is set to active.

default
BOOLEAN

If true, the ticket form is the default form for the account.

end_user_available
BOOLEAN

If true, the ticket form is visible to the end user

in_all_brands
BOOLEAN

If true, the ticket form is available for use in all brands on the account

ticket_field_ids

IDs of all ticket fields which are in this ticket form.

If your destination doesn't natively support nested data, this data may be denested into a subtable named ticket_forms__ticket_field_ids. Refer to the Singer schema for details on possible attributes.

_sdc_source_key_id
INTEGER

The ticket form ID.

_sdc_level_0_id
INTEGER

This column forms part of a composite key for the table. The value will auto-increment for each unique record, beginning with 0.

value
INTEGER

The ID of the ticket field.

Reference:

restricted_brand_ids

IDs of all brands that this ticket form is restricted to.

If your destination doesn't natively support nested data, this data may be denested into a subtable named ticket_forms__restricted_brand_ids. Refer to the Singer schema for details on possible attributes.

_sdc_source_key_id
INTEGER

The ticket form ID.

_sdc_level_0_id
INTEGER

This column forms part of a composite key for the table. The value will auto-increment for each unique record, beginning with 0.

value
INTEGER

The ID of the brand.


Replication Method: Key-based Incremental Replication Key : updated_at
Primary Key : id API Endpoint: List ticket metrics

The ticket_metrics table contains info about the metrics associated with Zendesk tickets. Note: This table will not include records for deleted tickets.

Note: Retrieving ticket metric data requires Zendesk Admin permissions.

Deleted ticket metrics

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

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

For more info on how Zendesk handles deleting tickets, refer to their documentation.

id
INTEGER

The ticket metric ID.

updated_at
DATE-TIME

The last time the ticket metric was updated.

ticket_id
INTEGER

The ID of the associated ticket.

Reference:

agent_wait_time_in_minutes__calendar
INTEGER

The number of minutes the agent spent waiting outside of business hours.

agent_wait_time_in_minutes__business
INTEGER

The number of minutes the agent spent waiting inside of business hours.

assignee_stations
INTEGER

The number of assignees the ticket had.

created_at
DATE-TIME

The time the ticket metric was created.

first_resolution_time_in_minutes__calendar
INTEGER

The number of minutes to the first resolution time outside of business hours.

first_resolution_time_in_minutes__business
INTEGER

The number of minutes to the first resolution time inside of business hours.

group_stations
INTEGER

The number of groups the ticket passed through.

latest_comment_added_at
DATE-TIME

The time the last comment was added to the ticket.

on_hold_time_in_minutes__calendar
INTEGER

The number of minutes the ticket was on hold outside of business hours.

on_hold_time_in_minutes__business
INTEGER

The number of minutes the ticket was on hold inside of business hours.

reopens
INTEGER

The total number of times the ticket was reopened.

replies
INTEGER

The total number of times the ticket was replied to.

requester_updated_at
DATE-TIME

The time the requester last updated the ticket.

requester_wait_time_in_minutes__calendar
INTEGER

The number of minutes the requester spent waiting outside of business hours.

requester_wait_time_in_minutes__business
INTEGER

The number of minutes the requester spent waiting inside of business hours.

reply_time_in_minutes__calendar
INTEGER

The number of minutes to the first reply outside of business hours.

reply_time_in_minutes__business
INTEGER

The number of minutes to the first reply inside of business hours.

full_resolution_time_in_minutes__calendar
INTEGER

The number of minutes to the full resolution outside of business hours.

full_resolution_time_in_minutes__business
INTEGER

The number of minutes to the full resolution inside of business hours.

status_updated_at
DATE-TIME

The time the ticket’s status was last updated.

url
STRING

The API URL of the ticket metric.

initially_assigned_at
DATE-TIME

The time the ticket was initially assigned.

assigned_at
DATE-TIME

The time the ticket was last assigned.

solved_at
DATE-TIME

The time the ticket was solved.

assignee_updated_at
DATE-TIME

The time the assignee last updated the ticket.


Replication Method: Key-based Incremental Replication Key : updated_at
Primary Key : id API Endpoint: Incremental ticket export

The tickets table contains info about the tickets in your Zendesk account. Tickets are the means through which your end users (customers) communicate with your Zendesk agents.

Note: Retrieving ticket data requires Zendesk Admin permissions.

Custom ticket fields

Stitch’s Zendesk integration will replicate all custom ticket fields.

id
INTEGER

The ticket ID.

Reference:

updated_at
DATE-TIME

The time the ticket was last updated.

organization_id
INTEGER

The ID of the organization associated with the requester (requester_id).

Reference:

requester_id
INTEGER

The ID of the user who requested the ticket.

Reference:

is_public
BOOLEAN

If true, the ticket contains public comments.

description
STRING

The first comment on the ticket.

follower_ids

The IDs of agents currently following the ticket.

If your destination doesn't natively support nested data, this data may be denested into a subtable named tickets__follower_ids. Refer to the Singer schema for details on possible attributes.

_sdc_source_key_id
INTEGER

The ticket ID.

_sdc_level_0_id
INTEGER

This column forms part of a composite key for the table. The value will auto-increment for each unique record, beginning with 0.

value
INTEGER

The ID of the agent currently following the ticket.

Reference:

submitter_id
INTEGER

The ID of the ticket submitter. Unless the ticket was created as a follow-up ticket, this will always be the ID of the first comment author.

In the case of a follow-up ticket, the value of this field will be the ID of the user who created the ticket.

Reference:

brand_id
INTEGER

Zendesk Enterprise only. The ID of the brand associated with the ticket.

group_id
INTEGER

The ID of the group the ticket is assigned to.

Reference:

type
STRING

The ticket type. Possible values are:

  • problem
  • incident
  • question
  • task
recipient
STRING

The original recipient email address of the ticket.

collaborator_ids

The IDs of the collaborators currently CC’ed on the ticket.

If your destination doesn't natively support nested data, this data may be denested into a subtable named tickets__collaborator_ids. Refer to the Singer schema for details on possible attributes.

_sdc_source_key_id
INTEGER

The ticket ID.

_sdc_level_0_id
INTEGER

This column forms part of a composite key for the table. The value will auto-increment for each unique record, beginning with 0.

value
INTEGER

The ID of the collaborator currently CC’ed on the ticket.

Reference:

tags

The tags associated with the ticket.

If your destination doesn't natively support nested data, this data may be denested into a subtable named tickets__tags. Refer to the Singer schema for details on possible attributes.

_sdc_source_key_id
INTEGER

The ticket ID.

_sdc_level_0_id
INTEGER

This column forms part of a composite key for the table. The value will auto-increment for each unique record, beginning with 0.

value
STRING

The tag associated with the ticket.

Reference:

has_incidents
BOOLEAN

If true, the ticket has been marked as a problem.

created_at
DATE-TIME

The time the ticket was created.

raw_subject
STRING

The dynamic content placeholder, if present, or the subject value, if not.

status
STRING

The state of the ticket. Possible values are:

  • new
  • open
  • pending
  • hold
  • solved
  • closed
custom_fields

The custom fields associated with the ticket.

If your destination doesn't natively support nested data, this data may be denested into a subtable named tickets__custom_fields. Refer to the Singer schema for details on possible attributes.

_sdc_source_key_id
INTEGER

The ticket ID.

_sdc_level_0_id
INTEGER

This column forms part of a composite key for the table. The value will auto-increment for each unique record, beginning with 0.

id
INTEGER

The ID of the custom ticket field.

Reference:

value
STRING

The value of the custom field.

url
STRING

The API URL of the ticket.

allow_channelback
BOOLEAN

If true, channelback is enabled. Only applicable for channels framework tickets.

due_at
DATE-TIME

For task tickets (type: task), the ISO 8601 date that the ticket is due.

followup_ids

The IDs of the follow-ups created from the ticket. The IDs are only available once the ticket is closed (status: closed).

If your destination doesn't natively support nested data, this data may be denested into a subtable named tickets__followup_ids. Refer to the Singer schema for details on possible attributes.

_sdc_source_key_id
INTEGER

The ticket ID.

_sdc_level_0_id
INTEGER

This column forms part of a composite key for the table. The value will auto-increment for each unique record, beginning with 0.

value
INTEGER

The ID of the follow-up created from the ticket.

priority
STRING

The urgency with which the ticket should be addressed. Possible values are:

  • urgent
  • high
  • normal
  • low
assignee_id
INTEGER

The ID of the agent currently assigned to the ticket.

Reference:

subject
STRING

The value of the subject field for the ticket.

external_id
STRING

An ID that can be used to link the ticket to local (outside of Zendesk) records.

via__source__from
via__source__to
via__source__rel
STRING
via__channel
STRING

The channel used to create the ticket. For example: web, rule, mobile

ticket_form_id
INTEGER

Zendesk Enterprise only. The ID of the ticket form to render for the ticket.

Reference:

sharing_agreement_ids

The IDs of the sharing agreements used for the ticket.

If your destination doesn't natively support nested data, this data may be denested into a subtable named tickets__sharing_agreement_ids. Refer to the Singer schema for details on possible attributes.

_sdc_source_key_id
INTEGER

The ticket ID.

_sdc_level_0_id
INTEGER

This column forms part of a composite key for the table. The value will auto-increment for each unique record, beginning with 0.

value
INTEGER

The ID of the sharing agreement used for the ticket.

email_cc_ids

The IDs of the email CCs associated with the ticket.

If your destination doesn't natively support nested data, this data may be denested into a subtable named tickets__email_cc_ids. Refer to the Singer schema for details on possible attributes.

_sdc_source_key_id
INTEGER

The ticket ID.

_sdc_level_0_id
INTEGER

This column forms part of a composite key for the table. The value will auto-increment for each unique record, beginning with 0.

value
INTEGER

The ID of the email CC associated with the ticket.


Replication Method: Key-based Incremental Replication Key : updated_at
Primary Key : id API Endpoint: Incremental user export

The users table contains info about the users associated with your Zendesk account. This includes agents, admins, and end-users (customers).

Note: Retrieving user data requires Zendesk Admin permissions.

Custom user fields

Stitch’s Zendesk integration will replicate any custom fields associated with user records.

Note: Replicating user custom fields requires that you be on a Team, Professional, or Enterprise Zendesk plan.

id
INTEGER

The user’s ID.

Reference:

updated_at
DATE-TIME

The time the user was last updated.

active
BOOLEAN

If true, the user is currently active.

If false, the user has been deleted.

alias
STRING

The user’s alias, displayed to end users.

chat_only
BOOLEAN

If true, the user is a chat-only agent.

created_at
DATE-TIME

The time the user was created.

custom_role_id
INTEGER

Zendesk Enterprise only. The user’s custom role ID, if they are an agent.

default_group_id
INTEGER

The ID of the user’s default group.

Reference:

details
STRING

Details about the user, such as an address.

email
STRING

The user’s primary email address.

external_id
STRING

The user’s ID from another system.

last_login_at
DATE-TIME

The time the user last logged in.

locale
STRING

The user’s locale.

locale_id
INTEGER

The user’s language identifier.

name
STRING

The user’s name.

notes
STRING

Notes about the user.

moderator
BOOLEAN

If true, the user has forum moderation capabilities.

organization_id
INTEGER

The ID of the organization the user is associated with.

Reference:

only_private_comments
BOOLEAN

If true, the user can only create private comments.

permanently_deleted
BOOLEAN

If true, the user has been permanently deleted.

phone
STRING

The user’s phone number.

photo__id
INTEGER

The ID of the user’s profile picture.

photo__height
INTEGER

The pixel height of the user’s photo.

photo__width
INTEGER

The pixel width of the user’s photo.

photo__url
STRING

The API URL associated with the user’s photo.

photo__inline
BOOLEAN

If true, the attachment is excluded from the attachment list. Additionally, the attachment’s URL can be referenced within the comment of a ticket.

photo__content_url
STRING

The full URL where the user’s image file can be downloaded.

photo__content_type
STRING

The content type of the image file. For example: image/png

photo__file_name
STRING

The file name of the user’s photo.

photo__size
INTEGER

The size of the user’s image file, in bytes.

photo__thumbnails__id
INTEGER

The ID of the user’s profile picture.

photo__thumbnails__height
INTEGER

The pixel height of the user’s photo.

photo__thumbnails__width
INTEGER

The pixel width of the user’s photo.

photo__thumbnails__url
STRING

The API URL associated with the user’s photo.

photo__thumbnails__inline
BOOLEAN

If true, the attachment is excluded from the attachment list. Additionally, the attachment’s URL can be referenced within the comment of a ticket.

photo__thumbnails__content_url
STRING

The full URL where the user’s image file can be downloaded.

photo__thumbnails__content_type
STRING

The content type of the image file. For example: image/png

photo__thumbnails__file_name
STRING

The file name of the user’s photo.

photo__thumbnails__size
INTEGER

The size of the user’s image file, in bytes.

restricted_agents
BOOLEAN

If true, the user has restrictions. This will be true for agents and false for admins and unrestricted agents.

role
STRING

The role of the user. Possible values are:

  • agent
  • admin
  • end-user
role_type
INTEGER

The user’s role ID. Possible values are:

  • 0 - Custom agents
  • 1 - Light agents
  • 2 - Chat agents
shared
BOOLEAN

For ticket sharing accounts. If true, the user is a shared agent from a different Zendesk Support instance.

shared_agent
BOOLEAN

For ticket sharing accounts. If true, the user is a shared agent from a different Zendesk Support instance.

shared_phone_number
BOOLEAN

If true, the phone number (phone) is a shared number.

signature
STRING

The user’s signature. Only agents and admins have signatures.

suspended
BOOLEAN

If true, the user has been suspended. Tickets from suspended users are also suspended. Suspended users cannot sign into the end-user portal.

tags

The IDs of the tags associated with the user.

If your destination doesn't natively support nested data, this data may be denested into a subtable named users__tags. Refer to the Singer schema for details on possible attributes.

_sdc_source_key_id
INTEGER

The user’s ID.

_sdc_level_0_id
INTEGER

This column forms part of a composite key for the table. The value will auto-increment for each unique record, beginning with 0.

value
STRING

The ID of the tag associated with the user.

Reference:

ticket_restriction
STRING

Indicates which tickets the user has access to. Possible values are:

  • organization
  • groups
  • assigned
  • requested
  • null
time_zone
STRING

The user’s timezone.

two_factor_auth_enabled
BOOLEAN

If true, two factor authentication is enabled for the user.

url
STRING

The API URL associated with the user.

verified
BOOLEAN

If true, the user’s primary identity has been 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.