Free module. Adds 10 Zendesk Support commands to RailCall so workflows can triage, reply to, and route tickets — every write still goes through RailCall's preview → approve → execute → signed-receipt airlock.
Small support teams (2–15 agents) on Zendesk who want RailCall workflows to auto-triage inbound tickets, apply the right macro, tag and route by topic, and reply — the repetitive first-touch work that otherwise eats an agent's morning. One macro + one tag on 20 tickets/day saves ~30–45 min daily; an approved workflow does it instead.
| Command | Effect |
|---|---|
zendesk.create_ticket | New ticket, optional requester email/name, priority, tags |
zendesk.get_ticket | Fetch status/priority/requester/tags |
zendesk.list_tickets | Recent tickets, optional status filter |
zendesk.search_tickets | Full Zendesk search syntax (status:open priority:urgent) |
zendesk.update_ticket | Change status/priority/subject/assignee (by email) |
zendesk.add_comment | Public reply or private internal note |
zendesk.add_tags | Add tags without disturbing existing ones |
zendesk.list_macros | List active macros + ids |
zendesk.apply_macro | Apply a macro and commit the resulting ticket changes |
zendesk.find_or_create_user | Look up a requester by email, create if new |
Read-only commands (get, list, search, list_macros) execute immediately. Everything else writes to your Zendesk and requires airlock approval first.
curl -fsSL https://railcall.ai/install.sh | bash
railcall market install saifbrand/zendesk
Zendesk is retiring plain API tokens, so this module uses a Confidential OAuth client with the client_credentials grant — no browser redirect, no agent password.
http://localhost:8080/callback) — it's never used, since client_credentials has no redirect step.zendesk credential: {"subdomain": "yourcompany", "client_id": "<identifier>", "client_secret": "<secret>"}The module exchanges these for a short-lived access token per call (cached in memory, ~30 min) — nothing beyond subdomain/client_id/secret is ever persisted, and no token appears in inputs, outputs, or receipts.
Run railcall studio, open saifbrand/zendesk → create_ticket, fill in subject, body, priority=normal, tags=["billing"]. Because this command is side_effects: external, the airlock shows a preview diff first — approve it, then execute. The signed receipt returns:
{"ok": true, "ticket_id": 481, "status": "open",
"url": "https://yourcompany.zendesk.com/agent/tickets/481"}
Read-only commands (get_ticket, list_tickets, search_tickets, list_macros) skip the approval step and return immediately.
search_tickets on tags: lags Zendesk's own index refresh — a tag added seconds ago may not be searchable yet. status:/subject: are immediate.apply_macro commits whatever the macro proposes — review macros before wiring one into an unattended workflow.