One place for a team’s questions, each sent to the right lane.
Live
BeforeQuestions came in by email, Slack and Teams.AfterOne channel. Three bots answer, look it up, or pass it to a person.

The 60-second version
Project 02 · Agoda- Situation
- Questions reached the team by email, Slack and Teams, sometimes with several rounds of back-and-forth.
- What I did
- Interviewed each team member, mapped who should get which case, and worked through four versions to a final design: three existing bots in one channel that answer, look it up, or hand it to a person with a ticket.
- Result
- Live, like Project 01.
- So what
- The aim: questions arrive in one place and reach the right person with the context attached.
The problem
Questions reached the team in three different places.
Colleagues brought the team questions by email, Slack and Teams. Some could take several rounds of back-and-forth before anyone could start on them. A first reply could take hours (my estimate).
I worked with my manager, who set the requirements, on one shared channel where colleagues bring the team their questions.
Exhibit 1Where a question used to land
Scroll to watch the back-and-forthIllustrative picture. Three inboxes side by side: email, Slack and Teams. A question lands in each. The team asks back for more details, the colleague replies, and the team asks again before work can start. A first reply could take hours, by my estimate.
The final design
Now every question starts in one channel and takes one of three lanes.
The first bot reads every message, so nobody has to tag it. It answers common questions from prepared answers, or calls the bot that looks things up, or the bot that opens a ticket for a person.
Exhibit 2One channel, three lanes
Scroll to send three questions throughIllustrative picture. Before, questions came in three places: email, Slack and Teams. Now questions are posted in one channel. The reader bot reads every message without a tag and sends each one down one of three lanes: a common question is answered from prepared answers; a question that needs looking up goes to the look-up bot, which replies clearly from company sources; a case that needs a person goes to the ticket bot, which opens a ticket with the findings and tags the right people, and a person decides from there.
- A common question is answered from prepared answers.
- A question to look up goes to the look-up bot, which replies clearly.
- A case for a person gets a ticket with the findings; the right people are tagged.
What I did first
I interviewed each team member about the cases they should get.
I used their answers to design the routing: which teammate to involve, depending on the question and that person’s area.
Exhibit 3Who a case reaches, from the interviews
Point at a caseA case comes in
- Area A. The case goes to the teammate whose area it is, and they are tagged.
- Area B. The same rule: the person who handles area B is tagged.
- Area C. Each teammate gets the kinds of cases they told me should reach them.
- Details missing. The colleague is asked for the details first, so an unclear question doesn’t travel too far.
How I got there
I worked through four versions to reach the final design.
An existing platform, then a custom bot, then, on the internal platform team’s advice to reuse existing bots, one existing bot, and finally three existing bots working together.
The final design combines three strengths: one bot reads every message without a tag, one writes the clearest answers, and one connects to the team’s ticket system.
Exhibit 4Four versions, one final design
Pick a version-
v1 · An existing platform
I started from an AI platform that already existed.
-
v2 · A custom bot
I designed one bot to do it all: take the question in, choose where to look, ask back when details are missing, present the answer and work with the ticket system. On the internal platform team’s advice, I moved to reusing existing bots.
-
v3 · One existing bot
Next, one existing bot that connects to the ticket system. It showed what the final design needed: no tagging, and answers that are easy to read.
-
v4 · Three existing bots Live
The final design: a reader bot that needs no tag, a look-up bot with clear answers, and a ticket bot that connects to the ticket system. Each has one job.
Three bots, one job each
I chose each bot for the one thing it does best.
All three are existing bots supplied by Agoda. I combined and configured them, and designed the logic for what each one does and when the first bot calls the others.
Exhibit 5What each bot does, and why it was chosen
Flip a card-
1Reader bot
Its job
Reads every message in the channel and answers common questions from prepared answers. Otherwise it calls the right bot.
1Reader bot
Why this one
- It reads the channel without being tagged, so colleagues never have to remember a bot’s name.
- It gives consistent answers to common questions and recurring issues.
-
2Look-up bot
Its job
Looks the question up in company sources and replies to the colleague in the channel.
2Look-up bot
Why this one
- Its answers were the clearest and easiest to read.
- The reader bot tags it, so the colleague doesn’t have to.
-
3Ticket bot
Its job
Looks into cases that need a person, opens a ticket with the findings and a suggested next step, and tags the right people.
3Ticket bot
Why this one
- It connects to the ticket system the team’s process needs.
- It is the only bot that opens tickets, so every ticket comes from one place.
What a person still decides
When a case needs a person, a teammate takes it from the ticket.
- How to resolve the case. Team members investigate and resolve it themselves.
- The next step. The ticket suggests one, with the findings attached; the teammate decides.
Exhibit 6A case that needs a person
- A colleagueSomething looks off with [a case]. Can someone take a look?
- RReader botThis one needs a person. @Ticket bot, can you look into it and open a ticket?
- TTicket botTicket opened: [short title]The question: the colleague’s messageFound so far: [findings]Suggested next step: [next step]Tagged: @[teammate], whose area this is
- TeammateTakes the ticket, investigates and resolves the case.
Built-in guards
Only one bot opens tickets, and unclear questions are asked back first.
With three bots in one channel, I designed the routing so an unclear question is asked back first, before it goes any further.
Only the ticket bot connects to the team’s ticket system, so every ticket comes from one place. When a case needs a person, a teammate reviews the findings and decides.
Exhibit 7What if…? Four cases, one set of guards
Pick a case- A common questionAnswered from the prepared answers.
- It needs looking upThe reader bot tags the look-up bot, which replies clearly.
- It needs a personThe ticket bot opens a ticket with the findings; the right people are tagged.
- Details are missingThe colleague is asked for them first.
What happened
The channel is live, and cases that need a person reach one with a ticket.
Live
Questions arrive in one place. The bots answer or look up what they can, and a case that needs a person arrives as a ticket with the findings attached.
So whatThe aim: questions arrive in one place and reach the right person with the context already attached.
SkillsStakeholder interviews · Requirements · Iterative prototyping
Exhibit 8Before and now: where a question goes
Drag to compareIllustrative picture. Before: a question landed in one of three inboxes, email, Slack or Teams, and the team sometimes asked back for details more than once. Now: questions are posted in one channel, and each one ends in one of three ways: answered from a prepared answer, a clear reply looked up for the colleague, or a ticket with the findings attached, so a person decides. The channel is live.
Each team member interviewed before the routing was designed.
Built with
- Slack, where questions arrive
- AI assistants, three existing bots
- Jira, tickets for a person
Three of the company’s existing AI assistants work together in Slack: one reads the question, one looks up the answer, one hands a case to a person as a Jira ticket. I combined and configured them and designed the routing.