Reference

Authentication OAuth - Client Credentials (Server-to-Server)


Description

Recommended for unattended server-to-server automation. No interactive user login or refresh token is required. The OAuth client must be configured as a Confidential client in Zendesk. [API reference]

Instructions

Use OAuth - Client Credentials (Server-to-Server) for unattended applications such as ETL packages, scheduled jobs, services, data pipelines, and other server-side integrations.

Recommended for unattended automation: This authentication method does not require an interactive user login and does not use a refresh token. When the access token expires, ZappySys automatically requests a new access token using the same Client ID and Client Secret.
  1. Sign in to Zendesk as an administrator.
  2. Go to Admin Center > Apps and integrations > APIs > Zendesk API.
  3. Open the OAuth Clients section and create an OAuth client.
  4. Configure the OAuth client as a Confidential client.
  5. Enter a unique Client ID.
  6. Copy the generated Client Secret and store it securely.
  7. Configure the permissions/scopes required by your integration.
  8. In the ZappySys connection, enter your Zendesk Sub Domain, Client ID, Client Secret, and desired Permissions.
  9. Click Test Connection.
Security: Client Credentials should only be used in trusted server-side environments where the Client Secret can be stored securely. Do not expose the Client Secret in browser-side or client-side applications.
The access token is associated with the Zendesk user linked to the OAuth client and inherits that user's permissions. For automated integrations, consider using a dedicated Zendesk service account with only the permissions required by the integration.

No Redirect URL, browser login, authorization code, or refresh token is required for this authentication method.

Parameters

Parameter Required Default value Options
Name: Domain

Label: Sub Domain (e.g. mycompany)

YES
Name: ClientId

Label: OAuth Client ID

YES
Name: ClientSecret

Label: OAuth Client Secret

YES
Name: Permissions

Label: Permissions

Select the OAuth permissions required by your integration.
YES read write
Name Value
Full Access (Read + Write) read write
Read Only (All Resources) read
Tickets - Read Only tickets:read
Tickets - Read + Write tickets:read tickets:write
Users - Read Only users:read
Users - Read + Write users:read users:write
Organizations - Read Only organizations:read
Organizations - Read + Write organizations:read organizations:write
Groups - Read Only groups:read
Groups - Read + Write groups:read groups:write
Help Center - Read Only hc:read
Help Center - Read + Write hc:read hc:write
Name: RetryMode

Label: RetryMode

RetryWhenStatusCodeMatch
Name Value
None None
RetryAny RetryAny
RetryWhenStatusCodeMatch RetryWhenStatusCodeMatch
Name: RetryStatusCodeList

Label: RetryStatusCodeList

429
Name: RetryCountMax

Label: RetryCountMax

5
Name: RetryMultiplyWaitTime

Label: RetryMultiplyWaitTime

True