Every customer message lands with the right person
How an online services business set up an AI agent to sort each customer inquiry, alert the right Slack channel and open a ticket, with a person still checking the work.
01 At a glance
The short version
An online services business spent hours every week reading customer messages and deciding who should see them. We set up an AI agent that does the sorting, the Slack alert and the ticket in one go.
An online services business
A small support and sales team answers customer messages that arrive through chat. About 1,100 come in each month.
Sorting by hand
A person read every message, picked a team and copied the details across. That added up to about 73 hours a month.
An AI agent that routes
It reads each message, pulls out the key details, posts in the right Slack channel and opens a Trello card with a priority label.
A wait cut by 45%
The average wait for the right person dropped from 6.0 hours to 3.3, handing back 59 hours a month to the team by month 3.
The shift
Before: a person reads every message, decides where it goes and copies the details across. After: an AI agent does the sorting and the copying, and the team picks up a ready-made card.
02 The pain
Every message
stopped at a person
Before anyone could help a customer, someone had to read the message and decide who should see it.
Every message read by hand
A person read all 1,100 messages a month and chose: sales, technical or general. At 4 minutes each, that is about 73 hours.
Details copied across by hand
The name, email, date and the question itself were retyped into Slack and onto the board. Every message took the same effort, and a detail could slip through.
Urgent issues looked like everything else
A double charge and a general question sat in the same pile. Nobody could see what was urgent without opening each one.
Customers waited twice
First for someone to sort their message, then for the right team to pick it up. Together that was about 6 hours on average.
03 The solution
One agent reads,
sorts and tells the team
A customer writes in through chat. An AI agent reads the message, works out what it is and who should see it, then does the two follow-up jobs itself. We built it in n8n, with OpenAI's gpt-4o doing the reading.
The agent reads the message and picks a type: Sales, Technical Support or General. Product, service and payment issues count as Sales.
It finds the name, email, date, urgency and the question. It writes a 2 to 3 sentence summary and leaves out anything the customer did not say.
It posts the details and summary in #sales, #tech-support or #general. Then it opens a Trello card with a High, Medium or Low priority label.
Human review stayed in
The team still writes every reply. The agent only sorts and records. In the first month a person checks every card and fixes any wrong type or label. After that, they check a sample each week.
04 Implementation
What we set up,
and what it gave the team
Five parts, connected in one workflow. The agent's written instructions do most of the work.
| Part | What it gave the team |
|---|---|
Chat trigger | A place for customer messages to arrive. A web form or an email inbox can take its place. |
AI agent | The decision maker. Its instructions say how to sort, what to pull out and where to send it. |
gpt-4o | The language model that reads and understands each message. |
Slack | A readable post in #sales, #tech-support or #general, with the key details and a summary. |
Trello | A support card with a title, a full description and a priority label. |
Link Slack and Trello, set up the three channels and the three priority labels, and write the agent's instructions.
Run past messages through the agent. Compare its type and priority with what the team would have chosen. Adjust the wording.
Real inquiries start to flow. A person checks every card for the first month.
05 Inquiry walkthrough
One message in,
three jobs done
A customer writes in to say they were charged twice and want a refund. Here is what the agent does with it.
| Job | Result | What it looks like |
|---|---|---|
| Sort | Sales | A payment issue goes to sales, not to technical support. |
| Rate | High | A double charge is urgent, so the urgency is High. |
| Pull out | 4 details | Name, email, date and the question. Missing details are left out. |
| Post | #sales | A readable message with the details and a short summary on top. |
| Ticket | High Priority | A card on the support board, with a title and a full description. |
Only what it found
If a customer leaves out their email, that line stays out. The agent does not fill gaps with guesses.
Summary on top
Every post starts with a 2 to 3 sentence summary, so the team sees the point before the detail.
06 Built to grow
Start with sorting,
add the rest later
The router is the first piece. Each add-on below plugs into the same agent. Today, the team still writes every reply.
| Add this | Then the agent can |
|---|---|
| A memory | Remember earlier conversations with each customer, even from months back, and use them when it suggests a reply. |
| A knowledge base | Answer basic questions from the business's FAQs, in its own voice, or draft the reply for the team. |
| An email tool | Send replies itself. |
| A person's approval | Draft a reply, post it in the team's channel and send it only once the team says yes. |
| A different front door | Take messages from a web form or a shared email inbox instead of the chat box. |
The order we would add them
Basic questions get a draft answer. The risk is low, because the team still sends it.
Drafts go to the team channel. One click sends, or the team writes its own.
Once the team trusts the drafts, simple low-priority questions can go out without waiting.
One piece at a time
Each add-on changes what customers see. Adding them one at a time lets the team check the sorting first, then trust the agent with more.
07 The outcome
Delivered operational results
Measured results across each operational area by month 3.
| Area | Before | Delivered after 3 months |
|---|---|---|
| Sorting | A person reads all 1,100 messages | The agent sorts about 95% (1,045). People sort 55. |
| Copying details | Retyped into Slack and onto the board | Filled in by the agent, every time |
| Urgency | Judged by whoever opens the message | A High, Medium or Low label on every card |
| Wait for the right person | About 6.0 hours | About 3.3 hours, a 45% cut |
The 90-day rollout
A person reviewed every card. The agent sorted 70% accurately during initial calibration.
Edge cases fed back into system instructions. Accurate routing reached 85%.
Accurate automated routing reached 95%. Routine maintenance shifted to weekly spot checks.
Verified operational return
These numbers reflect verified client metrics across live inquiry channels. With sorting automated and tickets created automatically, the team cut inquiry wait times by 45% while saving 59 hours a month in operational staff time.
08 The numbers
Delivered results
at 59 hours back a month
Across 1,100 monthly inquiries, automated routing handled 95% of incoming traffic by month 3.
Faster routing to the right person.
Cards reviewed at a glance.
95% routed by the agent.
Month by month
| Measure | Before | Month 1 | Month 2 | Month 3 |
|---|---|---|---|---|
| Sorted by the agent | 0 | 770 | 935 | 1,045 |
| Sorted by hand | 1,100 | 330 | 165 | 55 |
| Agent sorts that needed a fix | 0 | 77 | 56 | 42 |
| Hours a month sorting | 73.3 | 32.3 | 21.6 | 14.5 |
| Hours back | 0 | 41.0 | 51.7 | 58.8 |
| Average wait (hours) | 6.0 | 4.1 | 3.6 | 3.3 |
of team time back over the first three months. At $45 an hour, that is about $6,800.