Triage urgent Zendesk tickets to Slack with a draft reply

By General Input

Every 15 minutes, post new urgent and high priority Zendesk tickets to a Slack channel with a classification and a draft first response.

Integrations

  • Zendesk
  • Slack Bot

Type

Agentic Task

Categories

  • Customer Support
  • Operations

Build me an agent workflow that triages urgent Zendesk tickets into a dedicated Slack channel with a draft first response, so whoever is on-call can reply faster.

Trigger: cron, every 15 minutes.

On each run, do this:

1. Call Zendesk Search Tickets for tickets created or updated since the last run with priority urgent or high and status new or open. Use a query like 'type:ticket priority>=high status<solved updated>{last_run_iso}' and sort by updated_at descending.

2. For every ticket returned, call Zendesk Show Ticket to get the full ticket (subject, description, requester id, tags, status, priority, url) and Zendesk List Ticket Comments to get the conversation, then pick the most recent comment authored by the requester as the customer's actual question.

3. Classify the ticket into exactly one of these buckets: bug, billing, how-to, churn risk. Base the classification on the subject, description, and latest customer comment.

4. Draft a short proposed first response (3 to 6 sentences) grounded in the ticket body. Address the customer by first name when known. Do not invent facts, account ids, refund amounts, or commitments. If something cannot be answered without more info, the draft should ask for the missing detail.

5. For each ticket, post one Slack message via Slack Bot Send a Message into the channel #support-urgent. Format the message like this:

*New urgent ticket from {customer_name}* — {classification} Ticket #{ticket_id} • Priority: {priority} • Status: {status} *Question:* {requester_question} *Draft reply:* ``` {draft_reply} ``` <{ticket_url}|Open in Zendesk>

Use mrkdwn formatting. The ticket_url should deep link to the ticket inside the user's Zendesk subdomain.

6. Dedupe by ticket id. Keep a record of which Zendesk ticket ids have already been posted, and skip any ticket that has already been announced. Only post again if the ticket re-opens after being solved.

Other rules: never post tickets that are already solved or closed. Never auto-reply to the customer in Zendesk; the draft only goes to Slack. If no qualifying tickets exist on a given run, do nothing (no 'all clear' message). If Zendesk returns a 429, back off and retry on the next run.

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