AI Messenger Chatbot
A Facebook Messenger agent that answers product questions, takes orders and bookings, and hands off to a human when it should.
Problem
A retail page was getting messages around the clock. Replies during business hours were fine; everything outside that window sat unread for hours, and simple questions ate as much staff time as real ones.
Before
Every message — 'is this in stock', 'what's the price', a real order — waited in the same queue for a human to open Messenger.
After
The agent answers catalogue questions and takes orders and bookings immediately. It only escalates when a message genuinely needs a person.
Interactive workflow
Click through the actual node graph
Demo video
See it running end to end
Why it's built this way
Facebook sends two very different things to the same address: a one-time check to confirm the page is set up correctly, and every real customer message after that. Facebook also expects a fast "got it" reply within a few seconds — if it doesn't get one, it assumes the message failed to arrive and sends it again, which can make a customer's message get answered more than once. So the workflow always replies "got it" immediately, and only then goes on to actually handle the message.
A photo from a customer takes a different path than a text message. It's first scanned for a printed product code, since that's the fastest way to identify an item; only if no code is found does it get passed to an AI that looks at the photo itself and works out which product it matches by colour, pattern and style. That's the same idea covered on its own in Visual Product Search — here, it's built directly into this same workflow.
What the assistant can actually do
The assistant is more than just a chat window with a script. It can look up real, current product details, save a completed order or booking to the same records staff already use, book an actual slot on the calendar, and flag a conversation for a staff member when it decides that's the right call. It also remembers what each customer has already told it earlier in the conversation, so it never asks for the same detail twice — and never mixes up two different customers.
Staying in character, and staying safe
If a customer asks whether they're talking to a real person, the assistant gives one short, honest answer and moves on — it never pretends to be human, and never explains how it works or what it's built with. More importantly, nothing a customer types can talk the assistant into acting outside its instructions: a message that tries to get it to offer a discount, change its behaviour, or pretend to be the shop owner gets flagged for a staff member instead of being obeyed. The assistant can never change a price or promise something that isn't in the official product list, no matter how the request is phrased.
When it hands off to a person — and when it doesn't
A staff member only gets pulled in for a short, specific list of situations: an upset or angry customer, a complaint about a refund or a damaged item, rude language, someone directly asking for a person, or an attempt to manipulate the assistant. Everyday questions the assistant could reasonably answer itself — an unfamiliar product question, a vague first message — are not escalated. Every handoff is logged before the customer is told a person will follow up, so nothing slips through even if the customer doesn't reply again. And handing off one issue doesn't shut the assistant out of the rest of the conversation — if the customer asks something new and answerable right after, it answers normally.
Impact
Replies in seconds instead of hours; simple orders and bookings no longer need a human at all.