Zendesk

Zendesk logo

Zendesk

Configuration

Zendesk source connector integrates with the Zendesk API to extract and synchronize data.

Connects to your Zendesk instance to sync tickets, comments, users, orgs, and attachments.

Authentication

This connector uses OAuth 2.0 with custom credentials. You need to provide your OAuth application’s Client ID and Client Secret, then complete the OAuth consent flow.

OAuth Setup Required
  1. Create an OAuth application in your provider’s developer console
  2. Enter your Client ID and Client Secret when configuring the connection
  3. Complete the OAuth consent flow

Configuration Options

The following configuration options are available for this connector:

Configuration Parameters

Zendesk configuration schema.

subdomain
strRequired

Your Zendesk subdomain only (e.g., ‘mycompany’ NOT ‘mycompany.zendesk.com’)

exclude_closed_tickets
Optional[bool]

Skip closed tickets during sync (recommended for faster syncing)

Data Models

The following data models are available for this connector:

Schema for Zendesk ticket entities.

Reference: https://developer.zendesk.com/api-reference/ticketing/tickets/tickets/

FieldTypeDescription
ticket_idintUnique identifier of the ticket
subjectstrThe subject of the ticket
descriptionOptional[str]The description of the ticket (first comment)
requester_idOptional[int]ID of the user who requested the ticket
requester_nameOptional[str]Name of the user who requested the ticket
requester_emailOptional[str]Email of the user who requested the ticket
assignee_idOptional[int]ID of the user assigned to the ticket
assignee_nameOptional[str]Name of the user assigned to the ticket
assignee_emailOptional[str]Email of the user assigned to the ticket
statusstrCurrent status of the ticket
priorityOptional[str]Priority level of the ticket
tagsList[str]Tags associated with the ticket
custom_fieldsList[Dict[str, Any]]Custom field values for the ticket
organization_idOptional[int]ID of the organization associated with the ticket
organization_nameOptional[str]Name of the organization associated with the ticket
group_idOptional[int]ID of the group the ticket belongs to
group_nameOptional[str]Name of the group the ticket belongs to
ticket_typeOptional[str]Type of the ticket (question, incident, problem, task)
urlOptional[str]URL to view the ticket in Zendesk

Schema for Zendesk comment entities.

Reference: https://developer.zendesk.com/api-reference/ticketing/tickets/ticket-comments/

FieldTypeDescription
comment_idintUnique identifier of the comment
ticket_idintID of the ticket this comment belongs to
ticket_subjectstrSubject of the ticket this comment belongs to
author_idintID of the user who wrote the comment
author_namestrName of the user who wrote the comment
author_emailOptional[str]Email of the user who wrote the comment
bodystrThe content of the comment
html_bodyOptional[str]HTML formatted content of the comment
publicboolWhether the comment is public or internal
attachmentsList[Dict[str, Any]]Attachments associated with this comment

Schema for Zendesk user entities.

Reference: https://developer.zendesk.com/api-reference/ticketing/users/users/

FieldTypeDescription
user_idintUnique identifier of the user
emailstrEmail address of the user
rolestrRole of the user (end-user, agent, admin)
activeboolWhether the user account is active
last_login_atOptional[Any]When the user last logged in
organization_idOptional[int]ID of the organization the user belongs to
organization_nameOptional[str]Name of the organization the user belongs to
phoneOptional[str]Phone number of the user
time_zoneOptional[str]Time zone of the user
localeOptional[str]Locale of the user
custom_fieldsList[Dict[str, Any]]Custom field values for the user
tagsList[str]Tags associated with the user
user_fieldsDict[str, Any]User-specific custom fields

Schema for Zendesk organization entities.

Reference: https://developer.zendesk.com/api-reference/ticketing/organizations/organizations/

FieldTypeDescription
organization_idintUnique identifier of the organization
domain_namesList[str]Domain names associated with the organization
detailsOptional[str]Details about the organization
notesOptional[str]Notes about the organization
tagsList[str]Tags associated with the organization
custom_fieldsList[Dict[str, Any]]Custom field values for the organization
organization_fieldsDict[str, Any]Organization-specific custom fields

Schema for Zendesk attachment entities.

Reference: https://developer.zendesk.com/api-reference/ticketing/tickets/ticket-attachments/

FieldTypeDescription
attachment_idintUnique identifier of the attachment
ticket_idOptional[int]ID of the ticket this attachment belongs to
comment_idOptional[int]ID of the comment this attachment belongs to
ticket_subjectOptional[str]Subject of the ticket this attachment belongs to
content_typestrMIME type of the attachment
file_namestrOriginal filename of the attachment
thumbnailsList[Dict[str, Any]]Thumbnail information for the attachment

Setting Up Your Zendesk OAuth Application

Zendesk requires you to create your own OAuth application (BYOC - Bring Your Own Credentials) to connect with Airweave. Follow these steps to set up your OAuth client:

Step 1: Create OAuth Client in Zendesk

  1. Log into your Zendesk Admin Center
  2. Navigate to Apps and integrationsAPIsOAuth clients
  3. Click Add OAuth client on the right side

Step 2: Configure OAuth Client

Fill out the OAuth client form with the following details:

Name
stringRequired

Example: Airweave

This name will be shown to users during the authorization flow.

Description
string

Example: Airweave connector for syncing Zendesk data

Optional description visible during authorization.

Company
string

Example: Your Company Name

Helps users understand who they’re granting access to.

Identifier
stringRequired

Example: airweave

This becomes your Client ID. You can use the auto-generated value or customize it.

Type client
enumRequired

Must be: Confidential

Important: Select “Confidential”, not “Public”. Public clients will not work with Airweave.

Redirect URLs
stringRequired

Enter your Airweave callback URL. Use the appropriate URL for your environment:

  • Production: https://api.airweave.ai/source-connections/callback
  • Local: http://localhost:8001/source-connections/callback

The redirect URL must match exactly (including protocol and trailing slashes). For localhost, http:// is required.

Step 3: Save and Generate Secret

  1. Click Save
  2. After saving, a Secret field will appear with your client secret
  3. Copy the entire secret immediately - it will only be shown once in full
  4. Click Save again to finalize

Security Note: The client secret will only be displayed fully once. After clicking Save, you’ll only see the first 9 characters. Store it securely!

Step 4: Activate the OAuth Client

  1. Find your OAuth client in the OAuth clients list
  2. Change the Status from Inactive to Active
  3. Save the changes

The OAuth client must be in “Active” status to accept authorization requests. If it’s inactive, you’ll receive an “Invalid Authorization Request” error.

Step 5: Configure in Airweave

When creating a Zendesk connection in Airweave, you’ll need to provide:

  1. Subdomain: Your Zendesk subdomain only (e.g., mycompany NOT mycompany.zendesk.com)
  2. Client ID: The identifier you set in Step 2
  3. Client Secret: The secret you copied in Step 3
Example Configuration
1{
2 "config": {
3 "subdomain": "mycompany"
4 },
5 "authentication": {
6 "client_id": "airweave",
7 "client_secret": "your-secret-here"
8 }
9}

Troubleshooting

Cause: Your OAuth client is inactive or misconfigured.

Solution:

  • Verify the OAuth client status is “Active”
  • Ensure the client type is set to “Confidential”
  • Check that the redirect URL exactly matches your Airweave callback URL

Cause: Incomplete secret copied or secret regenerated.

Solution:

  • Make sure you copied the entire secret (it may extend past the visible text box)
  • If needed, click the “Regenerate” button to generate a new secret
  • Copy the new secret immediately and update it in Airweave

Cause: The redirect URL in your OAuth client doesn’t match Airweave’s callback URL.

Solution:

  • Verify the redirect URL is exactly: https://api.airweave.ai/source-connections/callback
  • Check for trailing slashes, protocol (http/https), and exact domain match
  • For local development, ensure you’re using http:// not https://

Required Scopes

Airweave requires the following Zendesk OAuth scopes:

  • read - Read access to tickets, users, organizations, and comments
  • write - Write access for updating ticket data (optional, for future features)

These scopes are automatically included in the authorization request.