This integration is powered by Singer's Zendesk Chat tap and certified by Stitch. Check out and contribute to the repo on GitHub.
For support, contact Stitch support.
Zendesk Chat integration summary
Stitch’s Zendesk Chat integration replicates data using the Zendesk Chat API. Refer to the Schema section for a list of objects available for replication.
Zendesk Chat feature snapshot
A high-level look at Stitch's Zendesk Chat (v1) integration, including release status, useful links, and the features supported in Stitch.
STITCH | |||
Release status |
Released on November 15, 2022 |
Supported by | |
Stitch plan |
Standard |
API availability |
Available |
Singer GitHub repository | |||
REPLICATION SETTINGS | |||
Anchor Scheduling |
Unsupported |
Advanced Scheduling |
Unsupported |
Table-level reset |
Unsupported |
Configurable Replication Methods |
Unsupported |
DATA SELECTION | |||
Table selection |
Supported |
Column selection |
Supported |
Select all |
Supported |
||
TRANSPARENCY | |||
Extraction Logs |
Supported |
Loading Reports |
Supported |
Connecting Zendesk Chat
Zendesk Chat setup requirements
To set up Zendesk Chat in Stitch, you need:
-
Owner permissions in Zendesk Chat. The user who authorizes the integration must have Owner permissions in Zendesk Chat. Otherwise, Stitch will encounter authentication issues and be unable to replicate data.
-
An Advanced or Premium Zendesk Chat account. Zendesk only allows customers on their Advanced or Paid Zendesk Chat plans to utilize the Rest API, which is what Stitch uses to connect to your Zendesk Chat account and replicate data.
If your Zendesk Chat account is on Lite or Basic, you will need to upgrade your Zendesk Chat plan. More info on Zendesk Chat plans can be found on Zendesk’s website.
Step 1: Add Zendesk Chat as a Stitch data source
- Sign into your Stitch account.
-
On the Stitch Dashboard page, click the Add Integration button.
-
Click the Zendesk Chat icon.
-
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 Chat” would create a schema called
stitch_zendesk_chat
in the destination. Note: Schema names cannot be changed after you save the integration. - In the Zendesk Subdomain field, enter the subdomain of your Zendesk site. For example, the subdomain of
stitchdata.zendesk.com
would bestitchdata
.
Step 2: Define the historical replication start date
The Sync Historical Data setting defines the starting date for your Zendesk Chat integration. This means that data 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 Chat’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 Chat 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 Chat
Lastly, you’ll be directed to Zendesk’s website to complete the setup.
- Enter your Zendesk Chat credentials and click Login.
- Complete the authorization process.
- After the authorization process successfully completes, you’ll be redirected back to Stitch.
- Click All Done.
Initial and historical replication jobs
After you finish setting up Zendesk Chat, 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.
Initial replication jobs with Anchor Scheduling
If using Anchor Scheduling, an initial replication job may not kick off immediately. This depends on the selected Replication Frequency and Anchor Time. Refer to the Anchor Scheduling documentation for more information.
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 Chat table reference
Schemas and versioning
Schemas and naming conventions can change from version to version, so we recommend verifying your integration’s version before continuing.
The schema and info displayed below is for version 1 of this integration.
This is the latest version of the Zendesk Chat integration.
Table and column names in your destination
Depending on your destination, table and column names may not appear as they are outlined below.
For example: Object names are lowercased in Redshift (CusTomERs
> customers
), while case is maintained in PostgreSQL destinations (CusTomERs
> CusTomERs
). Refer to the Loading Guide for your destination for more info.
account
The account
table contains info about accounts within your Zendesk Chat account.
Full Table |
|
Primary Key |
account_key |
Useful links |
account_key STRING |
||||||||||||||||||||||||||||
billing OBJECT
|
||||||||||||||||||||||||||||
create_date DATE-TIME |
||||||||||||||||||||||||||||
plan OBJECT
|
||||||||||||||||||||||||||||
status STRING |
agents
The agents
table contains info about agents within your Zendesk Chat account.
Full Table |
|
Primary Key |
id |
Useful links |
Join agents with | on |
---|---|
chats |
agents.id = chats.agent_ids agents.departments = chats.department_id agents.departments = chats.history.prev_department_id |
departments |
agents.departments = departments.id |
shortcuts |
agents.departments = shortcuts.departments |
create_date DATE-TIME |
||
departments ARRAY |
||
display_name STRING |
||
STRING |
||
enabled BOOLEAN |
||
enabled_departments ARRAY |
||
first_name STRING |
||
id INTEGER |
||
last_login DATE-TIME |
||
last_name STRING |
||
login_count INTEGER |
||
role_id INTEGER |
||
roles OBJECT
|
||
scope STRING |
||
skills ARRAY |
bans
The bans
table contains info about bans created in your Zendesk Chat account.
Full Table |
|
Primary Key |
id |
Useful links |
created_at DATE-TIME |
id INTEGER |
ip_address STRING |
reason STRING |
type STRING |
visitor_id STRING |
visitor_name STRING |
chats
The chats
table contains info about the chats within your Zendesk Chat account.
Key-based Incremental |
|
Primary Key |
id |
Replication Key |
timestamp |
Useful links |
Join chats with | on |
---|---|
agents |
chats.agent_ids = agents.id chats.department_id = agents.departments chats.history.prev_department_id = agents.departments |
departments |
chats.department_id = departments.id chats.history.prev_department_id = departments.id |
shortcuts |
chats.department_id = shortcuts.departments chats.history.prev_department_id = shortcuts.departments |
goals |
chats.conversions.goal_id = goals.id chats.history.conversion.goal_id = goals.id |
account |
chats.conversions.goal_id = account.plan.goals chats.history.conversion.goal_id = account.plan.goals |
agent_ids ARRAY |
|||||||||||||||||||||||||||
agent_names ARRAY |
|||||||||||||||||||||||||||
comment STRING |
|||||||||||||||||||||||||||
conversions ARRAY
|
|||||||||||||||||||||||||||
count OBJECT
|
|||||||||||||||||||||||||||
department_id INTEGER |
|||||||||||||||||||||||||||
department_name STRING |
|||||||||||||||||||||||||||
duration INTEGER |
|||||||||||||||||||||||||||
end_timestamp DATE-TIME |
|||||||||||||||||||||||||||
history ARRAY
|
|||||||||||||||||||||||||||
id STRING |
|||||||||||||||||||||||||||
message STRING |
|||||||||||||||||||||||||||
missed BOOLEAN |
|||||||||||||||||||||||||||
rating STRING |
|||||||||||||||||||||||||||
referrer_search_engine STRING |
|||||||||||||||||||||||||||
referrer_search_terms STRING |
|||||||||||||||||||||||||||
response_time OBJECT
|
|||||||||||||||||||||||||||
session OBJECT |
|||||||||||||||||||||||||||
started_by STRING |
|||||||||||||||||||||||||||
tags ARRAY |
|||||||||||||||||||||||||||
timestamp DATE-TIME |
|||||||||||||||||||||||||||
triggered BOOLEAN |
|||||||||||||||||||||||||||
triggered_response BOOLEAN |
|||||||||||||||||||||||||||
type STRING |
|||||||||||||||||||||||||||
unread BOOLEAN, INTEGER |
|||||||||||||||||||||||||||
visitor OBJECT
|
|||||||||||||||||||||||||||
webpath ARRAY |
|||||||||||||||||||||||||||
zendesk_ticket_id INTEGER |
departments
The departments
table contains info about departments within your Zendesk Chat account.
Full Table |
|
Primary Key |
id |
Useful links |
description STRING |
enabled BOOLEAN |
id INTEGER |
members ARRAY |
name STRING |
settings OBJECT |
goals
The goals
table contains info about URL-based goals set within your Zendesk Chat account.
Full Table |
|
Useful links |
attribution_model STRING |
||||
attribution_period INTEGER |
||||
description STRING |
||||
enabled BOOLEAN |
||||
id INTEGER |
||||
name STRING |
||||
settings OBJECT
|
shortcuts
The shortcuts
table contains info about shortcuts within your Zendesk Chat account.
Full Table |
|
Primary Key |
name |
Useful links |
Join shortcuts with | on |
---|---|
departments |
shortcuts.departments = departments.id |
chats |
shortcuts.departments = chats.department_id shortcuts.departments = chats.history.prev_department_id |
agents |
shortcuts.departments = agents.departments |
agents ARRAY |
departments ARRAY |
id STRING |
message STRING |
name STRING |
options STRING |
scope STRING |
tags ARRAY |
triggers
The triggers
table contains info about triggers within your Zendesk Chat account.
Full Table |
|
Primary Key |
id |
Useful links |
definition OBJECT
|
||||
description STRING |
||||
enabled BOOLEAN |
||||
id INTEGER |
||||
name STRING |
Related | Troubleshooting |
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.