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

Stitch plan

Standard

API availability

Available

Singer GitHub repository

singer-io/tap-zendesk-chat

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

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

  3. Click the Zendesk Chat 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 Chat” would create a schema called stitch_zendesk_chat in the destination. Note: Schema names cannot be changed after you save the integration.

  5. In the Zendesk Subdomain field, enter the subdomain of your Zendesk site. For example, the subdomain of stitchdata.zendesk.com would be stitchdata.

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.

  1. Enter your Zendesk Chat credentials and click Login.
  2. Complete the authorization process.
  3. After the authorization process successfully completes, you’ll be redirected back to Stitch.
  4. 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.

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

account

The account table contains info about accounts within your Zendesk Chat account.

Replication Method

Full Table

Primary Key

account_key

Useful links

account schema on GitHub

Zendesk Chat API method

Join account with on
goals
account.plan.goals = goals.id
chats
account.plan.goals = chats.conversions.goal_id
account.plan.goals = chats.history.conversion.goal_id

account_key

STRING

billing

OBJECT

additional_info

STRING

address1

STRING

address2

STRING

city

STRING

company

STRING

country_code

STRING

email

STRING

first_name

STRING

last_name

STRING

postal_code

STRING

state

STRING

create_date

DATE-TIME

plan

OBJECT

agent_leaderboard

BOOLEAN

agent_reports

BOOLEAN

analytics

BOOLEAN

chat_reports

BOOLEAN

daily_reports

BOOLEAN

email_reports

BOOLEAN

file_upload

BOOLEAN

goals

INTEGER

high_load

BOOLEAN

integrations

BOOLEAN

ip_restriction

BOOLEAN

long_desc

STRING

max_advanced_triggers

STRING

max_agents

INTEGER

max_basic_triggers

STRING

max_concurrent_chats

STRING

max_departments

STRING

max_history_search_days

STRING

monitoring

BOOLEAN

name

STRING

operating_hours

BOOLEAN

price

NUMBER

rest_api

BOOLEAN

short_desc

STRING

sla

BOOLEAN

support

BOOLEAN

unbranding

BOOLEAN

widget_customization

STRING

status

STRING

agents

The agents table contains info about agents within your Zendesk Chat account.

Replication Method

Full Table

Primary Key

id

Useful links

agents schema on GitHub

Zendesk Chat API method

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

email

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

administrator

BOOLEAN

owner

BOOLEAN

scope

STRING

skills

ARRAY

bans

The bans table contains info about bans created in your Zendesk Chat account.

Replication Method

Full Table

Primary Key

id

Useful links

bans schema on GitHub

Zendesk Chat API method

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.

Replication Method

Key-based Incremental

Primary Key

id

Replication Key

timestamp

Useful links

chats schema on GitHub

Zendesk Chat API method

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

attribution

OBJECT

agent_id

INTEGER

agent_name

STRING

chat_timestamp

DATE-TIME

department_id

INTEGER

department_name

STRING

goal_id

INTEGER

goal_name

STRING

id

STRING

timestamp

DATE-TIME

count

OBJECT

agent

INTEGER

total

INTEGER

visitor

INTEGER

department_id

INTEGER

department_name

STRING

duration

INTEGER

end_timestamp

DATE-TIME

history

ARRAY

channel

STRING

conversion

OBJECT

attribution

OBJECT

agent_id

INTEGER

agent_name

STRING

chat_timestamp

DATE-TIME

department_id

INTEGER

department_name

STRING

goal_id

INTEGER

goal_name

STRING

id

STRING

timestamp

DATE-TIME

department_id

INTEGER, STRING

department_name

STRING

msg

STRING

msg_id

STRING, INTEGER

name

STRING

new_rating

STRING

new_tags

ARRAY

nick

STRING

options

STRING

prev_department_id

INTEGER, STRING

rating

STRING

skills_name

ARRAY

tags

ARRAY

timestamp

DATE-TIME

type

STRING

id

STRING

message

STRING

missed

BOOLEAN

rating

STRING

referrer_search_engine

STRING

referrer_search_terms

STRING

response_time

OBJECT

avg

NUMBER, INTEGER

first

INTEGER

max

INTEGER

session

OBJECT

started_by

STRING

tags

ARRAY

timestamp

DATE-TIME

triggered

BOOLEAN

triggered_response

BOOLEAN

type

STRING

unread

BOOLEAN, INTEGER

visitor

OBJECT

email

STRING

id

STRING

name

STRING

notes

STRING

phone

STRING

webpath

ARRAY

zendesk_ticket_id

INTEGER

departments

The departments table contains info about departments within your Zendesk Chat account.

Replication Method

Full Table

Primary Key

id

Useful links

departments schema on GitHub

Zendesk Chat API method

Join departments with on
shortcuts
departments.id = shortcuts.departments
chats
departments.id = chats.department_id
departments.id = chats.history.prev_department_id
agents
departments.id = agents.departments

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.

Replication Method

Full Table

Useful links

goals schema on GitHub

Zendesk Chat API method

Join goals with on
chats
goals.id = chats.conversions.goal_id
goals.id = chats.history.conversion.goal_id
account
goals.id = account.plan.goals

attribution_model

STRING

attribution_period

INTEGER

description

STRING

enabled

BOOLEAN

id

INTEGER

name

STRING

settings

OBJECT

conditions

ARRAY

operator

STRING

type

STRING

value

STRING

shortcuts

The shortcuts table contains info about shortcuts within your Zendesk Chat account.

Replication Method

Full Table

Primary Key

name

Useful links

shortcuts schema on GitHub

Zendesk Chat API method

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.

Replication Method

Full Table

Primary Key

id

Useful links

triggers schema on GitHub

Zendesk Chat API method

definition

OBJECT

actions

STRING

condition

STRING

event

STRING

version

INTEGER

description

STRING

enabled

BOOLEAN

id

INTEGER

name

STRING


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.