Zendesk
Connect & Ingest data from Zendesk
Zendesk is a customer service platform that provides support ticketing, knowledge management, and customer communication tools. The Sling Zendesk connector extracts data from the Zendesk REST API, supporting tickets, users, organizations, satisfaction ratings, and configuration data.
CLI Pro Required: APIs require a CLI Pro token or Platform Plan.
Setup
The following credentials and inputs are accepted:
Secrets:
subdomain(required) -> Your Zendesk subdomain (the first part of your Zendesk URL, e.g.,mycompanyfrommycompany.zendesk.com)oauth_token(optional) -> OAuth Bearer token for authentication (starts withBearer)email(optional) -> Email address for Basic Auth (required if using API token instead of OAuth)api_token(optional) -> API token for Basic Auth (required if using email instead of OAuth)
Inputs:
anchor_date(optional) -> The starting date for historical data extraction on first sync (default: 1 year ago). Format:YYYY-MM-DD
Getting Your Credentials
OAuth Bearer Token (Recommended)
OAuth is the recommended authentication method for Zendesk:
Log in to your Zendesk Admin Center
Go to Apps and integrations > OAuth clients
Click Create OAuth client (or use an existing one)
Under Authorized redirect URIs, add your application's redirect URI
Copy your OAuth token from the client details
Format it as:
Bearer <your_token>
Basic Auth with API Token
For Basic Auth using an API token:
Log in to your Zendesk Admin Center
Go to Settings > API and webhooks > API tokens
Click + Add API token to create a new token
Copy the API token (you'll only see it once)
Use your account email address and the API token for authentication
Important: Store your API token securely. It provides full access to your Zendesk account data. Never commit tokens to version control.
Using sling conns
Here are examples of setting a connection named ZENDESK. We must provide the type=api property:
With OAuth Bearer token:
With Basic Auth (email + API token):
Environment Variable
See here to learn more about the .env.sling file.
With OAuth:
With Basic Auth:
Sling Env File YAML
See here to learn more about the sling env.yaml file.
With OAuth Bearer token:
With Basic Auth (email + API token):
With anchor date for historical data:
Replication
Here's an example replication configuration to sync Zendesk data to a PostgreSQL database:
Sync all endpoints:
Full refresh example for configuration data:
Endpoints
Core Support Data
tickets
Support tickets
Yes (cursor-based)
ticket_comments
Comments on tickets (child endpoint)
No
satisfaction_ratings
Customer satisfaction ratings
Yes (time-based)
Users & Organizations
users
Support agents and end-users
Yes (cursor-based)
organizations
Customer organizations
Yes (time-based)
group_memberships
Membership of users in groups
No
organization_memberships
Membership of users in organizations
No
Ticket Configuration
ticket_fields
Custom ticket field definitions
No
ticket_forms
Ticket form configurations
No
ticket_metrics
Ticket statistics and metrics
No
Groups & Routing
groups
Support agent groups
No
views
Saved ticket views/filters
No
Organization Configuration
brands
Account brands
No
custom_roles
Custom role definitions
No
SLAs & Schedules
sla_policies
Service level agreements
No
schedules
Business hour schedules
No
Automation
triggers
Automation triggers
No
automations
Automation workflows
No
macros
Quick action macros
No
Tags & Metadata
tags
Available tags
No
To discover available endpoints:
Incremental Sync
The Zendesk connector supports incremental sync for the following endpoints:
Cursor-based Incremental Sync
tickets - Uses cursor pagination for large result sets
users - Uses cursor pagination for large result sets
First run fetches all records, subsequent runs only fetch records created or modified after the last sync.
Time-based Incremental Sync
organizations - Filters by
updated_attimestampsatisfaction_ratings - Filters by
created_attimestamp
Anchor Date
On the first sync, incremental endpoints use the anchor_date input (default: 1 year ago) as the starting point. Subsequent syncs only fetch records modified after the last sync timestamp.
Child Endpoints
The ticket_comments endpoint uses a queue-based pattern:
First, the
ticketsendpoint runs and collects ticket IDsThen, the
ticket_commentsendpoint iterates through the queue to fetch comments for each ticket
This means you should run the tickets endpoint before ticket_comments in your replication.
Rate Limiting
The Zendesk API has rate limits:
Standard accounts: 10 requests per second
Enterprise accounts: May have higher limits
The connector automatically:
Uses conservative rate limiting (5 requests/second)
Retries with exponential backoff on rate limit responses
To check your rate limits, refer to the Zendesk Rate Limiting documentation.
Common Use Cases
Sync Core Support Tickets
Sync Users and Organizations
Configuration and Reference Data
Support Analytics with SLA Tracking
If you are facing issues connecting, please reach out to us at support@slingdata.io, on discord or open a Github Issue here.
Last updated
Was this helpful?