Zendesk

ZombieLicenseHunter connects to Zendesk through OAuth 2.0, using an OAuth client that you create in your own Zendesk account, to sync your agents and admins — the people who hold Zendesk seats — so you can identify inactive licenses.

Prerequisites

  • A Zendesk account where you are an administrator (e.g., yourcompany.zendesk.com)
  • The public URL of your ZombieLicenseHunter instance, for the redirect URL

Setup Instructions

Step 1: Create an OAuth client in Zendesk

  1. In Zendesk Admin Center, go to Apps and integrations → APIs → OAuth clients.
  2. Click Add OAuth client and fill in:
    • Client name: ZombieLicenseHunter
    • Description: optional
    • Redirect URLs:
      https://<your-zombielicensehunter-host>/integrations/zendesk/callback
      
    • Type: Confidential
  3. Save. Copy the Secret immediately — it is shown only once. The Identifier is your Client ID and stays visible on the client's page.

Step 2: Connect in ZombieLicenseHunter

  1. Go to Integrations → Add Integration and select Zendesk. Leave Category as Application.
  2. Enter:
    • Client ID — the OAuth client's Identifier
    • Client Secret — the Secret copied in Step 1
    • Zendesk Subdomain — just the subdomain (e.g., acme for acme.zendesk.com)
  3. Click Save Integration. You are redirected to your Zendesk instance to authorize the users:read scope, which is the only scope ZombieLicenseHunter requests.
  4. Approve the request. Zendesk redirects you back, the authorization code is exchanged for a token, the integration becomes active, and the first sync is queued.

What Gets Synced

Only users with the agent or admin role are fetched; end-users are excluded. For each of them:

Field Notes
Email and name From the Zendesk user record
License type The Zendesk role, agent or admin
Active status Active or suspended
Created and last login dates From the Zendesk user record

Troubleshooting

Zendesk reports an invalid redirect URL The redirect URL on the OAuth client must match https://<your-zombielicensehunter-host>/integrations/zendesk/callback exactly: scheme, host, port and path, with no trailing slash.

"subdomain is required" or an invalid-subdomain error Enter only the subdomain (e.g., acme), not the full host name. Letters, digits and internal hyphens are allowed.

401 errors during sync The token was revoked, for example because the OAuth client was deleted in Zendesk. Use Reconnect on the integration to authorize again.

A seat holder is missing Only agents and admins are synced. Check the person's role under People → Team members in Zendesk; end-users and suspended users without a seat are not included.