Skip to content
Atomic Software Studio

Appointment automation

A booking system that starts with a voice note.

appointment pipeline · representative runcompleted
A representative execution trace of the appointment automation pipeline, listing each node in the order it runs.
nodestatus
whatsapp.triggerok
audio.downloadok
transcribe · whisperok
normalizeok
fields_mappingok
agent.planok
tool · check_availabilityok
tool · get_bookingok
whatsapp.replyok

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

  1. 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.

  2. 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.

  3. 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.

  4. 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.

  5. 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

  • Voice notes and typed messages on the same path
  • Availability lookups against a live calendar
  • Booking creation and confirmation
  • Conversation memory across a thread
  • Messages arriving outside working hours

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.