Free template · n8n
AI Support Triage Bot for n8n: Classify and Escalate
support-triage-bot-n8n.json
Most support queues are 60% repeat questions, 30% routine issues, and 10% genuine fires. The problem is that humans have to read all 100% to find the fires. This n8n workflow reads tickets first, answers the easy ones, and makes sure the fires hit Slack within seconds.
What this workflow does
- Webhook receives the ticket from your helpdesk (subject, sender email, message, ticket ID)
- OpenAI node classifies it:
urgency(low/medium/high),category(billing, bug, how_to, account_access, feature_request, other),can_auto_answer,confidence, and — when auto-answerable — a completesuggested_reply - Code node turns that into a route decision with conservative guardrails: anything high-urgency or low-confidence escalates; auto-replies only fire at confidence ≥ 0.8
- Switch node sends each ticket down one of three branches:
- Auto-reply: HTTP request posts the AI-written answer back to your helpdesk API (as a pending reply, tagged
ai-auto-reply, so agents can audit) - Escalate: formatted alert in
#support-escalationswith urgency, category, and a quoted excerpt - Log: routine tickets appended to a Google Sheets triage log
- Auto-reply: HTTP request posts the AI-written answer back to your helpdesk API (as a pending reply, tagged
The guardrail logic is the important part. The LLM never auto-answers account-specific or low-confidence questions — the prompt explicitly restricts auto-answers to documentation-grade how-to and billing questions.
Prerequisites
- n8n instance reachable by your helpdesk’s outgoing webhooks
- OpenAI API key (
gpt-4o-mini) - A helpdesk with an inbound webhook and a reply API (Zendesk, Freshdesk, Help Scout, Intercom — the template uses a generic HTTP Request node you point at your API)
- Slack bot token; Google Sheets credentials for the log
How to import
- Download the JSON above, then in n8n: Workflows → Import from File.
- Attach credentials at the four placeholders (
YOUR_OPENAI_CREDENTIAL,YOUR_HELPDESK_CREDENTIAL,YOUR_SLACK_CREDENTIAL,YOUR_GOOGLE_SHEETS_CREDENTIAL). - Point the HTTP Request node’s URL at your helpdesk’s reply endpoint and adapt the JSON body to its API shape.
- Configure your helpdesk to POST new tickets to the production webhook URL, then activate.
What to customize
- Urgency definitions in the system prompt — the defaults treat security, data loss, and billing disputes as high; add your own SLA triggers
- The auto-answer whitelist — paste your top 10 FAQ answers into the system prompt so replies cite real product facts instead of generic guidance
- Confidence thresholds in the Code node (0.8 to auto-reply, below 0.6 escalates)
- Categories — rename them to match your helpdesk’s tag taxonomy so reporting lines up
For the full build, including a knowledge-base lookup step before the reply, see the AI customer support bot tutorial.
Cost per run
One classification call per ticket, typically 500-1,200 tokens round trip with gpt-4o-mini — as of mid-2026, comfortably under half a cent per ticket. A 2,000-ticket month costs a few dollars, which is hard to argue with when each auto-answered ticket saves several minutes of agent time.
Try it yourself
n8n
Ticket volume is exactly where per-task pricing hurts — n8n triages 50 or 5,000 tickets a month for the same flat cost, and the Switch node makes three-way routing trivial.
Start with n8n