AutomationIntermediate

How to Auto-Classify Support Tickets with AI in Make.com

Use OpenAI inside Make to tag incoming form submissions by category and urgency, then route them automatically.

9 minIntermediate

Manual ticket triage is slow and inconsistent. This scenario takes a support form submission, asks the model to return a strict JSON label, parses it, and uses a router to send urgent tickets one way and the rest another.

  • A Make.com account
  • A form tool such as Typeform, Tally, or a webhook
  • An OpenAI API key
  • A destination for routing, such as a Slack channel and an Airtable base

Step 1: Capture the ticket

Start the scenario with a Webhooks Custom webhook module, or with your form tool's Watch responses module. Run it once and submit a test ticket so Make learns the data structure (name, email, message).

Step 2: Ask the model for structured JSON

Add an OpenAI Create a Completion (Chat) module. The trick to reliable routing is forcing JSON output. Tell the model exactly which fields and which allowed values to return, and enable Response Format set to JSON if your model supports it.

OpenAI system message
You are a support ticket classifier. Read the message and reply with ONLY valid JSON, no markdown, in this exact shape:
{
  "category": "billing" | "bug" | "feature" | "other",
  "urgency": "low" | "medium" | "high",
  "reason": "one short sentence"
}
Make.com - OpenAI module config
Module 2 OpenAI > Create a Completion (Chat)
Model: gpt-4o-mini
Response format: JSON object
Temperature: 0
Message[system]: classifier prompt
Message[user]: {{1.message}}

Step 3: Parse the JSON

The OpenAI output is still a plain string. Add a JSON Parse JSON module and feed it the result field. Now Make exposes category, urgency, and reason as separate mappable values for the next steps.

Guard against bad JSON
Models occasionally wrap output in code fences. Add a Text replace operation to strip ``` before the Parse JSON module, or your scenario will throw a parsing error on those runs.

Step 4: Add a router for urgency

Add a Router module after Parse JSON. On the first route set a filter where urgency equals high, and connect it to a Slack alert. On the second route leave no filter (the fallback) and connect it to an Airtable Create a Record so normal tickets just get logged.

Make.com - router branches
Router
Route A [filter: urgency = high] -> Slack alert
Route B [fallback] -> Airtable record
High urgency pings Slack; everything else is logged.

Step 5: Run and activate

Submit two test tickets, one calm and one with words like outage or refund. Confirm the urgent one reaches Slack and the calm one lands in Airtable. Save and switch the scenario on.

Example: a ticket saying my card was charged twice comes back as category billing, urgency high, and immediately pings your finance channel while a feature request quietly files itself in Airtable.

Watch related tutorials

Tags
#make.com#openai#classification#routing#support