Appointment automation
A booking system that starts with a voice note.
| node | status |
|---|---|
| whatsapp.trigger | ok |
| audio.download | ok |
| transcribe · whisper | ok |
| normalize | ok |
| fields_mapping | ok |
| agent.plan | ok |
| tool · check_availability | ok |
| tool · get_booking | ok |
| whatsapp.reply | ok |
node names and order read from the live workflow
The problem
Booking by message is how a great deal of business already works in Colombia. The friction is not the customer — it is what happens after they press send. Someone has to read the message, work out what was being asked, open a calendar, check whether the slot is free, book it, and write back. At 11pm on a Sunday, nobody does.
The harder part is the format. People do not type carefully worded requests; they send a forty-second voice note while driving. Any system that only accepts clean text has already lost most of its input.
The pipeline, in order
Take the message as it actually arrives
A WhatsApp trigger fires on the inbound message and the audio is pulled down before anything else happens. Voice is a first-class input here, not a fallback path bolted on later.
Transcribe before reasoning
The audio goes through Whisper and becomes text. Everything downstream — planning, tool selection, the reply — works from that transcript, which keeps a single, inspectable representation of what the customer said.
Normalize and resolve
The transcript is shaped into a predictable payload and the loose parts of a human request — “next Tuesday afternoon”, “same as last time” — are resolved into concrete fields the rest of the system can act on.
Let the agent plan, with tools
An agent runs with a chat model and conversation memory, and is given real tools rather than instructions to imagine an outcome. It can check availability and it can create a booking. Those are the two things it can do, which is the point — the boundary is the design.
Close the loop
A confirmation goes back on the same thread the customer started. From their side it is one conversation, and no part of it required a person.
What it handles
Stack
Automation
- n8n
AI
- OpenAI
- Whisper
- Tool calling
- Memory
Channel
- WhatsApp Cloud API
Infrastructure
- Google Cloud
Outcome
Booking runs end to end with nobody in the loop. A request that arrives as a voice note at eleven at night is transcribed, understood, checked against the calendar and confirmed on the same thread — with no queue for someone to work through the next morning.
Next case study
Multi-client automation platform