Zendesk Support integration summary

Stitch’s Zendesk Support integration replicates data using the Zendesk Support API. Refer to the Schema section for a list of objects available for replication.

Zendesk Support feature snapshot

A high-level look at Stitch's Zendesk Support (v1.0) integration, including release status, useful links, and the features supported in Stitch.

STITCH
Release Status

Released

Supported By

Stitch

Stitch Plan

Paid

Singer GitHub Repository

Zendesk Support Repository

DATA SELECTION
Table Selection

Supported

Column Selection

Supported

REPLICATION SETTINGS
Anchor Scheduling

Supported

Advanced Scheduling

Unsupported

Table-level Reset

Unsupported

Configurable Replication Methods

Unsupported

TRANSPARENCY
Extraction Logs

Supported

Loading Reports

Supported

Connecting Zendesk Support

Zendesk Support setup requirements

To set up Zendesk Support in Stitch, you need:

  • A paid Stitch plan. While those currently in the Free Trial will also be able to set up Zendesk Support, replication will be paused until a paid plan is selected after the trial ends.
  • Administrator permissions in Zendesk Support. Some data types in Zendesk Support may only be accessed with Admin permissions. For example: To replicate ticket metric or tag data, Zendesk Support’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 Support plan if replicating ticket forms or SLA policies:

    • To replicate SLA policies, you must be on an Enterprise or Professional Zendesk Support plan.
    • To replicate ticket forms, you must be on an Enterprise Zendesk Support plan, or a Professional Zendesk Support 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 Support plans.

Step 1: Add Zendesk Support 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 Support 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 Support” would create a schema called stitch_zendesk_support in the destination. Note: Schema names cannot be changed after you save the integration.

  5. In the Zendesk Subdomain field, enter your Zendesk Support 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 Support 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 Support’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.

Zendesk Support integrations support the following replication scheduling methods:

To keep your row usage low, 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 Support

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

Step 5: Set tables and columns to replicate

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

Check out the Schema section to learn more about the available tables in Zendesk Support 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. To track a column, click the checkbox next to the column’s name. A green checkmark means the column is set to replicate.

  4. Repeat this process for all the tables and columns you want to replicate.
  5. 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 Support, 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 Support 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 Support plan. To replicate ticket_forms on a Professional plan, you’ll also need to have the ticket forms add-on enabled in your Zendesk Support 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 Support 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 Support agents are members of.

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

Deleted group memberships

As Zendesk Support’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 Support account.

Note: Retrieving group data requires Zendesk Support 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 Support account. Macros are actions defined by you that modify the values of a ticket’s fields.

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

id
INTEGER

The macro ID.

updated_at
DATE-TIME

The time the macro was last updated.

actions
ARRAY

Details about what the macro does.

field
STRING

The name of the ticket field to modify.

value
STRING

The new value of the field.

macros (table), actions (attribute)

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
OBJECT

Details about who can access the macro.

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:

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.

ids
ARRAY

The IDs of the groups or users who can access the macro.

value
INTEGER

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

Reference:

macros (table), ids (attribute)
macros (table), restriction (attribute)

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 Support 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 Support plan and have Admin permissions in Zendesk Support.

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
ARRAY

The domain names associated with the organization.

value
STRING

The domain name associated with the organization.

organizations (table), domain_names (attribute)

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
OBJECT

Details about this organization’s custom fields.

[zendesk_field_name]

For every not null custom field on an organization’s record, a field named [zendesk_field_name]__[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
organizations (table), organization_fields (attribute)

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
ARRAY

The tags associated with the organization.

value
STRING

The tag associated with the organization.

Reference:

organizations (table), tags (attribute)

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 Support 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

Primary Key :

id

API endpoint :

List SLA Policies

The sla_policies table contains info about the Service Level Agreements (SLAs) in your Zendesk Support 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 Support plan, and have Admin permissions in Zendesk Support.

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
OBJECT

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

all
ARRAY

Indicates logical AND. Tickets must meet all of the conditions to be matched to the SLA policy.

field
STRING

The name of a ticket field.

operator
STRING

The comparison operator.

value
STRING

The value of a ticket field.

sla_policies (table), all (attribute)

any
ARRAY

Indicates logical OR. Tickets must satisfy any of the conditions to be matched to the SLA policy.

field
STRING

The name of a ticket field.

operator
STRING

The comparison operator.

value
STRING

The value of a ticket field.

sla_policies (table), any (attribute)
sla_policies (table), filter (attribute)

policy_metrics
OBJECT

Details about the metric targets for each value of the priority field in a ticket.

priority
STRING

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

target
INTEGER

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

business_hours
BOOLEAN

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

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
sla_policies (table), policy_metrics (attribute)

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

Primary Key :

name

API endpoint :

List tags

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

Note: Retrieving tag data requires Zendesk Support 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 Support account.


Replication Method :

Append-Only Incremental

Replication Key :

created_at

Primary Key :

id

API endpoint :

List all ticket audits

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 Support, 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 Support audit event types, refer to Zendesk Support’s documentation.

Replication

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.

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
OBJECT

Metadata for the audit, custom, and system data.

flags
ARRAY

For Comment and VoiceComment events, the comment flags applied to the comment.

value
INTEGER

The value of the flag applied to the comment. Refer to Zendesk Support’s documentation for more info.

Possible values are:

  • 0 - Zendesk Support is unsure the comment should be trusted.
  • 2 - The comment author was not part of the conversation.
  • 3 - The comment author wasn’t signed in when the comment was submitted.
  • 4 - The comment was automatically generated.
  • 5 - The attached file was rejected because it’s too big.
  • 11 - The comment was submitted by the user on behalf of the author.
ticket_audits (table), flags (attribute)

flags_options
OBJECT

For Comment and VoiceComment events, additional information about the comment flags.

system
OBJECT

Metadata about the system of the user who created the audit.

location
STRING

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

longitude
NUMBER

The user’s longitude.

ip_address
STRING

The user’s IP address.

client
STRING

The user’s client, or web browser.

latitude
NUMBER

The user’s latitude.

ticket_audits (table), system (attribute)
ticket_audits (table), metadata (attribute)

events
ARRAY

The events that happened in the audit.

id
INTEGER

The audit event ID.

audit_id
INTEGER

The ticket audit ID.

Reference:

type
STRING

The event type. Refer to Zendesk Support’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 Support’s documentation for more info.

recipients
ARRAY

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

value
INTEGER

The ID of the recipient.

ticket_audits (table), recipients (attribute)

attachments
OBJECT

Details about the attachments associated with the event, if any.

id
INTEGER

The attachment ID.

size
INTEGER

The size of the attachment in bytes.

url
STRING

The API URL associated with the attachment.

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.

height
INTEGER

The height of the attachment, if applicable.

width
INTEGER

The width of the attachment, if applicable.

content_url
STRING

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

mapped_content_url
STRING

The URL where the attachment image file may be downloaded.

content_type
STRING

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

file_name
STRING

The name of the image file.

file_name
STRING

The name of the image file.

thumbnails
OBJECT

Details about the thumbnails associated with image attachments.

id
INTEGER

size
INTEGER

url
STRING

inline
BOOLEAN

height
INTEGER

width
INTEGER

content_url
STRING

mapped_content_url
STRING

content_type
STRING

file_name
STRING

ticket_audits (table), thumbnails (attribute)
ticket_audits (table), attachments (attribute)

via
OBJECT

Details about how the event was created.

channel
STRING

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

source
OBJECT

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

to
OBJECT

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

address
STRING

name
STRING

ticket_audits (table), to (attribute)

from
OBJECT

Details about the source that created the event.

id
INTEGER

ticket_id
INTEGER

Reference:

revision_id
STRING

title
STRING

address
STRING

subject
STRING

deleted
BOOLEAN

name
STRING

original_recipients
ARRAY

value
STRING

ticket_audits (table), original_recipients (attribute)
ticket_audits (table), from (attribute)

rel
STRING

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

ticket_audits (table), source (attribute)
ticket_audits (table), via (attribute)
ticket_audits (table), events (attribute)

via
OBJECT

Details about how the audit record was created.

channel
STRING

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

source
OBJECT

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

to
OBJECT

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

address
STRING

name
STRING

ticket_audits (table), to (attribute)

from
OBJECT

Details about the source that created the audit record.

id
INTEGER

ticket_id
INTEGER

revision_id
STRING

title
STRING

address
STRING

subject
STRING

deleted
BOOLEAN

name
STRING

original_recipients
ARRAY

value
STRING

ticket_audits (table), original_recipients (attribute)
ticket_audits (table), from (attribute)

rel
STRING

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

ticket_audits (table), source (attribute)
ticket_audits (table), via (attribute)

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
ARRAY

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

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
ARRAY

Details about the attachment’s thumbnails.

id
INTEGER

The attachment thumbnail ID.

file_name
STRING

The name of the image thumbnail file.

content_url
STRING

The full URL where the image thumbnail file can be downloaded.

content_type
STRING

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

size
INTEGER

The size of the image thumbnail in bytes.

ticket_comments (table), thumbnails (attribute)
ticket_comments (table), attachments (attribute)

via
OBJECT

Details about how the ticket comment was created.

source
OBJECT

Details about how the ticket comment was created.

from
OBJECT

name
STRING

ticket_id
INTEGER

Reference:

address
STRING

subject
STRING

ticket_comments (table), from (attribute)

to
OBJECT

address
STRING

name
STRING

ticket_comments (table), to (attribute)

rel
STRING

ticket_comments (table), source (attribute)

channel
STRING

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

ticket_comments (table), via (attribute)

metadata
OBJECT

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

flags
ARRAY

For Comment and VoiceComment events, the comment flags applied to the comment.

value
INTEGER

The value of the flag applied to the comment. Refer to Zendesk Support’s documentation for more info.

Possible values are:

  • 0 - Zendesk Support is unsure the comment should be trusted.
  • 2 - The comment author was not part of the conversation.
  • 3 - The comment author wasn’t signed in when the comment was submitted.
  • 4 - The comment was automatically generated.
  • 5 - The attached file was rejected because it’s too big.
  • 11 - The comment was submitted by the user on behalf of the author.
ticket_comments (table), flags (attribute)

flags_options
OBJECT

For Comment and VoiceComment events, additional information about the comment flags.

ticket_comments (table), metadata (attribute)

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 Support account.

Note: Retrieving ticket metric data requires Zendesk Support 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
ARRAY

Options for ticket fields with type:"tagger".

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.

ticket_fields (table), custom_field_options (attribute)

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 Support account.

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

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
ARRAY

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

value
INTEGER

The ID of the ticket field.

Reference:

ticket_forms (table), ticket_field_ids (attribute)

restricted_brand_ids
ARRAY

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

value
INTEGER

The ID of the brand.

ticket_forms (table), restricted_brand_ids (attribute)

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 Support tickets. This table will not include records for deleted tickets.

Note: Retrieving ticket metric data requires Zendesk Support Admin permissions.

Deleted ticket metrics

As Zendesk Support’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 Support account to see if the missing records are for deleted tickets.

For more info on how Zendesk Support 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
OBJECT

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

calendar
INTEGER

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

business
INTEGER

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

ticket_metrics (table), agent_wait_time_in_minutes (attribute)

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
OBJECT

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

calendar
INTEGER

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

business
INTEGER

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

ticket_metrics (table), first_resolution_time_in_minutes (attribute)

full_resolution_time_in_minutes
OBJECT

The number of minutes to the full resolution inside and outside 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
OBJECT

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

calendar
INTEGER

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

business
INTEGER

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

ticket_metrics (table), on_hold_time_in_minutes (attribute)

reopens
INTEGER

The total number of times the ticket was reopened.

replies
INTEGER

The total number of times the ticket was replied to.

reply_time_in_minutes
OBJECT

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

requester_updated_at
DATE-TIME

The time the requester last updated the ticket.

requester_wait_time_in_minutes
OBJECT

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

calendar
INTEGER

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

business
INTEGER

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

ticket_metrics (table), requester_wait_time_in_minutes (attribute)

reply_time_in_minutes
OBJECT

Number of minutes to the first reply inside and out of business hours.

calendar
INTEGER

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

business
INTEGER

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

ticket_metrics (table), reply_time_in_minutes (attribute)

full_resolution_time_in_minutes
OBJECT

Number of minutes to the full resolution inside and out of business hours.

calendar
INTEGER

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

business
INTEGER

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

ticket_metrics (table), full_resolution_time_in_minutes (attribute)

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 Support account. Tickets are the means through which your end users (customers) communicate with your Zendesk Support agents.

Note: Retrieving ticket data requires Zendesk Support Admin permissions.

Custom ticket fields

Stitch’s Zendesk Support 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
ARRAY

The IDs of agents currently following the ticket.

tickets (table), follower_ids (attribute)

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 Support 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
ARRAY

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

value
INTEGER

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

Reference:

tickets (table), collaborator_ids (attribute)

tags
ARRAY

The tags associated with the ticket.

value
STRING

The tag associated with the ticket.

Reference:

tickets (table), tags (attribute)

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
ARRAY

The custom fields associated with the ticket.

id
INTEGER

The ID of the custom ticket field.

Reference:

value
STRING

The value of the custom field.

tickets (table), custom_fields (attribute)

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
ARRAY

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

value
INTEGER

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

tickets (table), followup_ids (attribute)

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 Support) records.

via
OBJECT

Details about how the ticket was created.

source
OBJECT

Details about how the ticket was created.

from
OBJECT

name
STRING

ticket_id
INTEGER

Reference:

address
STRING

subject
STRING

tickets (table), from (attribute)

to
OBJECT

address
STRING

name
STRING

tickets (table), to (attribute)

rel
STRING

tickets (table), source (attribute)

channel
STRING

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

tickets (table), via (attribute)

ticket_form_id
INTEGER

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

Reference:

sharing_agreement_ids
ARRAY

The IDs of the sharing agreements used for the ticket.

value
INTEGER

The ID of the sharing agreement used for the ticket.

tickets (table), sharing_agreement_ids (attribute)

email_cc_ids
ARRAY

The IDs of the email CCs associated with the ticket.

value
INTEGER

The ID of the email CC associated with the ticket.

tickets (table), email_cc_ids (attribute)

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 Support account. This includes agents, admins, and end-users (customers).

Note: Retrieving user data requires Zendesk Support Admin permissions.

Custom user fields

Stitch’s Zendesk Support 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 Support 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
OBJECT

Details about the user’s profile picture.

id
INTEGER

The ID of the user’s profile picture.

height
INTEGER

The pixel height of the user’s photo.

width
INTEGER

The pixel width of the user’s photo.

url
STRING

The API URL associated with the user’s 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.

content_url
STRING

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

content_type
STRING

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

file_name
STRING

The file name of the user’s photo.

size
INTEGER

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

thumbnails
OBJECT

id
INTEGER

The ID of the user’s profile picture.

height
INTEGER

The pixel height of the user’s photo.

width
INTEGER

The pixel width of the user’s photo.

url
STRING

The API URL associated with the user’s 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.

content_url
STRING

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

content_type
STRING

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

file_name
STRING

The file name of the user’s photo.

size
INTEGER

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

users (table), thumbnails (attribute)
users (table), photo (attribute)

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
ARRAY

The IDs of the tags associated with the user.

value
STRING

The ID of the tag associated with the user.

Reference:

users (table), tags (attribute)

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.