Zendesk
Support Subdomain and OAuth (authorization code or client credentials); legacy email and API token until April 2027Create, update and search tickets, manage users and organizations, run side conversations, and read macros, views and Help Center articles, from any Windmill script, flow or app.
Set up in 4 steps
Zendesk admin: create an OAuth client
In Admin Center, open Apps and integrations, then APIs, then OAuth clients, and add a client of kind Confidential with https://<your Windmill instance>/oauth/callback/zendesk as a redirect URL. Copy the identifier and the secret (shown once). Client-credentials tokens act as the admin who creates the client, so create it from a dedicated bot or admin agent for shared and scheduled flows.
Windmill instance admin: configure the client (authorization code)
In Instance settings, then OAuth, add Zendesk and enter the subdomain (yourcompany in yourcompany.zendesk.com), client id and secret. This is done once per instance, and connects one Zendesk account. Skip it if you only use client credentials.
Workspace user: connect the resource
Add a zendesk resource. With the instance client configured, click Connect and approve; the token acts as you. Otherwise pick Zendesk under Others and enter the subdomain, client id and secret for client credentials; Windmill renews the token either way, with read and write scopes by default.
Run your first script
Start with List Tickets or Search Tickets to check the connection, then Create Ticket or Update Ticket.
Scripts
Building blocks, if none of the projects above fit. Fork one, run it, or call it as a step inside your own flow.
Update Side Conversation
Set Custom Ticket Fields
Search Help Center
Search Community Posts
Search Articles
Reply to Side Conversation
List Side Conversations
List Articles
Get Side Conversation
Get Article
Create Side Conversation
List View Tickets
List Ticket Comments
Add Ticket Tags
Get Dynamic Content Items by Name
Remove Ticket Tags
Create or Update User
Get Dynamic Content Item
Update Organization
List Macros
List Tickets
Get Macro
List Organizations
List Locales
Create Ticket
List Ticket Fields
Create Organization
Delete Ticket
Search Tickets
Upload Ticket Attachments
Trigger flows from Zendesk
Zendesk is not only a destination. These inbound paths are supported today.
Zendesk webhooks on an HTTP route
Create a Windmill HTTP route with Raw body enabled, then in Admin Center add a webhook (Apps and integrations, then Webhooks) pointing at it: subscribe it to Zendesk events (user, organization, ticket events), or leave it on trigger or automation events and add a Zendesk trigger whose action is Notify webhook. Copy the webhook's signing secret, and verify each delivery in a preprocessor: X-Zendesk-Webhook-Signature must equal base64(HMAC-SHA256(secret, X-Zendesk-Webhook-Signature-Timestamp + raw body)).
Resource type
The shape of the credential every script on this page expects.
zendesk
View raw schema →| Field | Type | Required | What it is |
|---|---|---|---|
| password | string | No | Legacy API-token auth: the API token that goes with username. |
| subdomain | string | Yes | Your account subdomain: `yourcompany` in yourcompany.zendesk.com. |
| token | string | No | OAuth access token. Filled in when you connect with OAuth, using an OAuth client from Admin Center > Apps and integrations > APIs > OAuth clients. When set, username and password are ignored. |
| username | string | No | Legacy API-token auth: agent email followed by `/token` (e.g. `[email protected]/token`). Zendesk deactivates API tokens on April 30, 2027; accounts created after July 28, 2026 can't use them. |
Questions
What happens to API tokens?
Zendesk is retiring them: accounts created after July 28, 2026 can't use them, no account can create new ones after October 27, 2026, and all of them stop working on April 30, 2027. Resources holding username (email/token) and password still work until then; move them to OAuth by connecting the resource again.
There is no Connect button on my instance
On a self-hosted instance, an instance admin has to configure the Zendesk OAuth client in Instance settings first. Until then, connect with client credentials from the Others row of the resource dialog.
What can the token do?
What the scopes allow, within the permissions of the user it acts as: the approving user for an authorization-code connection, the client's creator for client credentials. The default read and write scopes cover every script here; admin-only calls such as dynamic content need an admin user.
Are my credentials stored on the hub?
Never. They live only in your own Windmill workspace, encrypted at rest.