Auto-triage every new Zendesk ticket with Claude

By General Input

Every 10 minutes, classify new Zendesk tickets, set a priority, and drop a draft reply as an internal note so your team approves instead of writing from scratch.

Integrations

  • Zendesk
  • Anthropic
  • Slack Bot

Type

Agentic Task

Categories

  • Customer Support

Build me an agent that triages brand new Zendesk tickets end-to-end using Claude, and posts the result to Slack for human approval.

Trigger: cron, every 10 minutes.

On each run, use Zendesk's List Tickets action, sorted by created_at descending, to find tickets created since the previous run. Keep the last-processed timestamp between runs so we don't miss or duplicate anything. Skip any ticket that already carries an 'ai-triaged' tag so re-runs and overlapping runs don't do the same work twice.

For each fresh ticket, call Zendesk's Show Ticket and List Ticket Comments to load the full context (subject, description, requester, existing priority, all public and internal comments).

Then call Anthropic's Create Message with that context and ask Claude to return three things in a structured way: (a) a category from this fixed list — billing, bug, feature-request, how-to, other, (b) an urgency rating from P0 (production down or angry customer threatening churn) through P3 (nice-to-have, no rush), based on the customer's language and stakes, and (c) a suggested first reply drafted in a warm, concise, professional tone that a support agent would be happy to send with light edits. The draft should acknowledge the issue, ask any missing clarifying questions, and either give an answer or set expectations on next steps.

Then call Zendesk's Update Ticket to (1) add the category as a tag, (2) add the 'ai-triaged' tag so we can dedupe on re-runs, (3) set the ticket's priority based on Claude's urgency rating (P0 -> urgent, P1 -> high, P2 -> normal, P3 -> low), and (4) add Claude's drafted reply as an internal note. Do NOT post it as a public reply — humans must approve first.

Finally, call Slack Bot's Send a Message to post a summary in the #support-triage channel. Include the ticket link (https://{subdomain}.zendesk.com/agent/tickets/{id}), the requester name and email, the category, the urgency rating with a short justification, and the drafted reply in a code block or quote so the support lead can skim it in Slack, then jump into Zendesk to approve or edit and send.

If a run finds no new tickets, do nothing (no empty Slack post). If any single ticket fails (Zendesk error, Claude error), log it, keep going with the rest, and include a note in Slack summarizing which ones were skipped so nothing quietly falls through.

Related prompts

Explore more prompts
A brand asset library your marketing team actually searchesTurn Mailjet email clicks into ranked HubSpot follow-upsClean out the Looker dashboards and Looks nobody opensLiveKit live operations console for room moderationWake up dormant Keap leads with a researched reasonLiveChat coverage board for planning next week's shiftsPhone routing control panel for LiveKit voice agentsLinkedIn Ads budget pacing dashboard for every client accountGive your team Looker numbers without buying more seatsPause marketing emails to escalated customers, then restore them