Enquiries · Cloud services support team, at Accenture
Support tickets sorted, routed and answered faster
A support system that works out the likely cause of each ticket, routes it, and suggests a reply from the knowledge base.
- Less manual triage for the support agents
- Faster first replies
What I built
- Works out the likely cause
- Routes the ticket
- Suggests a reply from the knowledge base
The problem
Tickets arrived by email, chat and web form and were triaged by hand. An agent had to read each one, work out the likely cause, decide where it should go, and write a reply.
The process
Before
Every ticket read, sorted and answered by hand
Tickets arrive by email, chat and web form
IncomingAgent reads each one and works out the likely cause
PersonAgent decides where the ticket should go
PersonAgent writes the reply
PersonAfter
The agent reviews and sends
Likely cause worked out, ticket routed
Reply suggested from the knowledge base
Agent reviews the suggestion and sends it
PersonAn example ticket
The system sorts the ticket and drafts the reply. The agent decides what is sent.
1 · Ticket arrives
A customer writes in
Web form · Ticket 4127
Nightly backup is failing
Received 09:14
Customer message
Since last night our backup job stops with “access denied” when it writes to our storage bucket. We haven’t changed anything on our side. Can you help?
2 · Cause found, ticket routed
Worked out from the customer’s message
Likely cause
The access key the backup job uses has expired.
Routed to
- Billing
- Access and permissions
- Networking
3 · Reply suggested
Drawn from the knowledge base, for the agent to check
Suggested reply
Thanks for the details. The access key your backup job uses has expired. Create a new key, update it in the job’s settings, and run the backup again.
From the knowledge base
Article: “Replacing an expired access key”
Agent reviews and sends
What I built
I developed and extended an existing support system. I built the backend of the support team’s resolution tool: the APIs that work out the likely cause of a ticket, route it, and suggest a reply from the knowledge base. A frontend engineer built the app the agents use. I also built the customer-facing chatbot and the scheduled pipeline that loads the knowledge base.
How it works
The backend runs as APIs on Cloud Run, called from HubSpot Service Hub through a webhook and a workflow custom action. Reply suggestions come from a retrieval pipeline over the knowledge base, using pgvector on a private Cloud SQL for PostgreSQL instance. Cloud Run Jobs load the knowledge base on a schedule. Google Cloud DLP removes personal data twice: during loading, and before anything is sent to Gemini.
Built with
- Python
- Cloud Run
- Cloud Run Jobs
- Cloud SQL
- pgvector
- Gemini
- Cloud DLP
- HubSpot Service Hub
Outcome
Less manual triage and faster first replies for the support agents.
What this means for a small team
The same pattern fits a shared inbox. Each enquiry is sorted, a reply is drafted from your own past answers and FAQs, and a person checks it before it is sent. If client data can’t go to an AI as it is, personal details are stripped out first.
See what you could automate
Enter your website and get three workflows worth automating, with estimated hours saved.