Start inputs
AI ticket triage
Passed by the calling system
Headless & Integration package
An AI agent classifies each helpdesk ticket and drafts a reply; confident, low-risk answers go out automatically and the rest wait for a person.
About this package
AI ticket triage with human review puts an AI agent in front of your support queue without letting it answer everything on its own. Your helpdesk posts each new ticket (id, subject, body, customer email, channel and plan tier) to the workflow.
The Ticket triage agent returns the category, urgency, sentiment, a short summary, a suggested reply and its confidence. The Triage routing decision table then decides: confident how-to and low-urgency answers are posted automatically; security issues, critical tickets, enterprise billing and anything the agent is unsure about go to a person, with a queue and priority set either way.
The "Review AI triage" task shows the ticket, the summary and the draft reply. The reviewer corrects the category and priority, edits the reply and sends it, escalates the ticket (which moves it to the escalation queue and emails your support leads) or discards the draft and leaves the ticket for an agent. Every ticket is tagged so you can measure how often the AI reply was used. Adapt the agent instructions, the routing rules and the helpdesk calls to your tooling.
Headless: your helpdesk posts each new ticket to the start API or an inbound webhook. People only see the tickets the rules send for review.
Another system starts it over REST or an inbound webhook. No UI is needed; people only appear where a decision needs a human.
The flow
Ticket received
The helpdesk posts the ticket id, subject, body, customer email, channel and plan tier.
AI triage
The Ticket triage agent returns category, urgency, sentiment, a summary, a suggested reply and its confidence.
Apply routing rules
The Triage routing decision table decides auto-reply or human review and sets the queue and priority.
Auto-reply
Confident, low-risk answers are posted to the customer and the ticket is updated and tagged.
Human review
Otherwise a reviewer checks the triage and edits the reply, then sends it, escalates or discards it.
Forms
The inputs a caller passes when it starts a run, and the forms people complete when the process needs a decision.
Start inputs
Passed by the calling system
User Task
Review triage: {{ticket_id}} {{subject}} ({{urgency}}, {{=ROUND(MULTIPLY(confidence, 100), 0)}}% confident)
Headless
Every workflow can be started over REST, MCP or the CLI, whatever its trigger, with the sample input below. Runs start straight away on the published version; replace <workflow id> with the id the install created.
REST
curl -X POST "$USERTASKS_URL/api/v1/workflows/start" \
-H "Authorization: Bearer $USERTASKS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"workflow_id":"<workflow id>","variables":{"ticket_id":"T-48213","subject":"Charged twice for October","channel":"email","tier":"pro","customer_email":"lee.chen@example.com","body":"Hi, my card statement shows two charges of 49.00 for the October invoice. Can you check and refund the duplicate? This is the second time this has happened."}}'CLI
usertasks workflows inputs <workflow id> # the start form: keys, types, required
usertasks workflows run <workflow id> --input ticket_id=T-48213 --input subject="Charged twice for October" --input channel=email --input tier=pro … --waitInbound webhook
usertasks webhooks create <workflow id> # prints the hook slug and secret once
curl -X POST "$USERTASKS_URL/api/webhooks/inbound?hook=<slug>" \
-H "Authorization: Bearer <webhook secret>" -H "Content-Type: application/json" \
-d '{"ticket_id":"T-48213","subject":"Charged twice for October","channel":"email","tier":"pro","customer_email":"lee.chen@example.com","body":"Hi, my card statement shows two charges of 49.00 for the October invoice. Can you check and refund the duplicate? This is the second time this has happened."}'What's included
| Type | Name | Details |
|---|---|---|
| Email template | Ticket escalated | Sent to the escalation contact when a reviewer escalates a ticket. |
| Integration | AI model (OpenAI-compatible) | |
| Integration | Helpdesk | |
| API reference | Post reply | POST /tickets/{{ticket_id}}/replies — Post a public reply to the customer on the ticket. |
| API reference | Update ticket | PATCH /tickets/{{ticket_id}} — Set the ticket status, priority, queue, category and tags. |
| Decision table | Triage routing | 7 rules — Whether the AI reply can be sent automatically, and the queue and priority, from the agent confidence, urgency, category and plan tier. First matching rule wins. |
| AI agent | Ticket triage agent | Classifies a support ticket, judges urgency and sentiment, summarises it and drafts a reply. |
| Workflow | AI ticket triage | 18 steps — A helpdesk ticket is triaged by an AI agent; routing rules decide whether its reply is sent automatically or a person reviews the triage, edits the reply and sends, escalates or discards it. |
Requirements
Credentials never travel in a package. The install wizard asks for what your environment must provide, or installs it incomplete until you finish setup.
Integration “AI model (OpenAI-compatible)”Required
Integration “Helpdesk”Required
Workflow “AI ticket triage” assigneesRequired
Install
Works on UserTasks cloud and on any self-hosted instance. Installing creates the assets above; nothing runs until you complete setup and start it.
curl -fLO https://usertasks.com/gallery/ai-agent-triage-hitl-1.0.0.utpkg
usertasks packages inspect ai-agent-triage-hitl-1.0.0.utpkg # offline: checksum, hashes, signature
usertasks packages install ai-agent-triage-hitl-1.0.0.utpkg --dry-run
usertasks packages install ai-agent-triage-hitl-1.0.0.utpkg # prompts for each requirement
usertasks packages install ai-agent-triage-hitl-1.0.0.utpkg --keep-incomplete --yes # in CI; finish with:
usertasks packages complete ai-agent-triage-hitl -f values.yamlVerify the download
shasum -a 256 ai-agent-triage-hitl-1.0.0.utpkg should print the file SHA-256. How gallery packages are signed.
Versions
Installing a newer version upgrades in place: local credentials and requirement values are kept, and changes you made are flagged first. How packages work
More packages
Headless & Integration
Turn contract data from any app into a filled Word contract and Excel fee schedule, file both in your DMS and send the contract for e-signature.
Needs:REST APIDocument templatesInbound webhook
Headless & Integration
A synchronous order endpoint for your storefront: validate, price, fraud-screen, reserve stock, authorise payment and create the shipment in one call.
Needs:REST APIInbound webhookAssignees
Headless & Integration
A CRM "account updated" webhook is validated and fanned out to the ERP, billing platform and support desk, with every result written to a sync log.
Needs:REST APIInbound webhook