Customer support
Support Ticket Triage
Sorts incoming support tickets, sets priority, and drafts a first reply - so your team only touches the conversations that need a human.
How the data flows
Requests move between your backend and the AI workflows automatically. Here's the exact path a request takes.
AI workflow
ticket_triage_workflow
Classifies the ticket and starts the reply pipeline
Backend event
ticket_received
Backend event
reply_ready
AI workflow
ticket_reply_workflow
Drafts a first reply the support team can send
What you get
Every template is built from two kinds of pieces: Workflows and Response Formats.
Workflow
ticket_triage_workflow
Classifies the ticket and starts the reply pipeline
Workflow
ticket_reply_workflow
Drafts a first reply the support team can send
Response format
ticket_triage_response
Classification of the incoming support ticket
Response format
ticket_reply_response
Drafted first reply and next steps for the customer
Details
The full specification of each workflow, with plain-English explanations. Everything below is set in the downloaded file and can be changed after import.
ticket_triage_workflow
Classifies the ticket and starts the reply pipeline
The primary model plus automatic fallback models if the primary is unavailable.
The structured JSON this workflow returns. Fields are defined by you and enforced by ModelRiver.
Fields you include in each request so the workflow can personalise its answer.
Identical requests are answered from memory within this window, which is faster and cheaper.
Steps that run automatically around this workflow, in order.
Runs live against your connected AI provider.
ticket_reply_workflow
Drafts a first reply the support team can send
The primary model plus automatic fallback models if the primary is unavailable.
The structured JSON this workflow returns. Fields are defined by you and enforced by ModelRiver.
Fields you include in each request so the workflow can personalise its answer.
Runs live against your connected AI provider.
How to use it
- 1
Download the template
The file is a portable JSON bundle - safe to share and easy to read.
- 2
Open a project in ModelRiver
Sign in, pick a project, and make sure the AI providers used by this template are connected. You can connect them from the Providers section.
- 3
Import it
Open the Import button in your project, paste or upload the file, review the preview, and confirm. Everything is created atomically, so nothing is overwritten. How import & export works
Template file
Technical users can inspect the raw bundle below.
View full template JSON
{
"version": 1,
"structures": [
{
"name": "ticket_triage_response",
"description": "Classification of the incoming support ticket",
"example": {
"category": "technical",
"priority": "high",
"sentiment": "frustrated",
"needs_human": true
},
"schema": {
"type": "object",
"properties": {
"category": {
"type": "string",
"enum": [
"billing",
"technical",
"account",
"feature_request",
"other"
]
},
"priority": {
"type": "string",
"enum": [
"low",
"medium",
"high",
"urgent"
]
},
"sentiment": {
"type": "string"
},
"needs_human": {
"type": "boolean"
}
},
"required": [
"category",
"priority",
"sentiment",
"needs_human"
],
"additionalProperties": false
}
},
{
"name": "ticket_reply_response",
"description": "Drafted first reply and next steps for the customer",
"example": {
"reply": "Thanks for reaching out - I've started looking into this for you.",
"next_steps": [
"Try clearing your browser cache",
"Confirm the error message you see"
],
"needs_human": true
},
"schema": {
"type": "object",
"properties": {
"reply": {
"type": "string"
},
"next_steps": {
"type": "array",
"items": {
"type": "string"
}
},
"needs_human": {
"type": "boolean"
}
},
"required": [
"reply",
"next_steps",
"needs_human"
],
"additionalProperties": false
}
}
],
"workflows": [
{
"name": "ticket_triage_workflow",
"description": "Classifies the ticket and starts the reply pipeline",
"provider": "xai",
"model": "grok-4.5",
"backups": [
{
"provider": "anthropic",
"model": "claude-haiku-4-5-20251001"
}
],
"request_type": "chat",
"system_instructions": "Classify the support ticket: choose a category, set a priority, note the customer sentiment, and flag whether a human agent must review before sending.",
"structure": "ticket_triage_response",
"customer_fields": [
"ticket_id",
"customer_message"
],
"test_mode": false,
"cache_window_seconds": 600,
"backend_pipeline": {
"enabled": true,
"events": [
{
"name": "ticket_received"
},
{
"name": "draft_reply",
"target_workflow": "ticket_reply_workflow"
},
{
"name": "reply_ready"
}
]
}
},
{
"name": "ticket_reply_workflow",
"description": "Drafts a first reply the support team can send",
"provider": "xai",
"model": "grok-4.5",
"backups": [
{
"provider": "anthropic",
"model": "claude-haiku-4-5-20251001"
}
],
"request_type": "chat",
"system_instructions": "Write a friendly first reply for the support ticket. Include clear next steps the customer can take, and keep flagging tickets that need a human agent.",
"structure": "ticket_reply_response",
"customer_fields": [
"ticket_id",
"customer_message"
],
"test_mode": false
}
]
}Looking for something else?
More templates are on the way. In the meantime, you can build your own workflows from scratch in the ModelRiver console.