Our own working system, running on real Instagram, Google Calendar and Slack accounts and demoed on a fictional med spa. Customers ask prices and book inside the DM, and the team supervises everything from Slack. It's the same approach we use for the chat agents we add to client websites.

Appointment businesses get most of their leads in DMs, usually at night or while the team is busy, and a lead who waits books somewhere else. We built an AI assistant that answers and books inside the conversation while the team watches and replies from Slack. The rule behind the design: the AI only decides what to say. Prices, available times, bookings and security are plain code, so the parts that cost money when they go wrong can't be made up.





11 n8n workflows and 165 nodes, with one Claude Haiku 4.5 agent and 6 tools: services and prices, FAQs, save lead, check availability, create booking and hand-off. Everything around the agent is deterministic.
Prices and FAQs are read from Postgres, open slots are computed from opening hours, treatment length and the live calendar, and the time buttons are attached by code from real tool output.
The exact slot is re-checked right before booking, so there are no double bookings. The event is created with the customer as a guest, so Google emails the invite and reminders.
Each Instagram chat is a live Slack thread. Team replies typed in Slack arrive on Instagram, and buttons let staff take over, hand back to the bot or cancel a booking in one click.
Medical questions, complaints, photos or a request for a person pause the bot and alert the team. If staff reply from the Instagram app, the bot notices and steps back.
Signed webhooks, duplicate deliveries dropped, message bursts merged into one reply, and a local harness that runs 57 automated regression checks against mocked Instagram, Google, Slack and Claude.