Client build · Delivered

For an agency that sets up Instagram booking agents for med spas · ManyChat · 7 n8n workflows · OpenAI gpt-4o-mini · GoHighLevel · Google Calendar · Gmail

An Instagram agent built to book consults in the DMs.

I built this agent for an agency that sets up Instagram booking agents for med spas. It was made to answer DMs from each spa’s own knowledge base and book consults inside the thread. The engagement ended in July 2026.

An Instagram DM thread: the person asks to book a consult, the agent asks which service (Botox) and when (weekday morning), offers two open times on Monday, and asks how to send the intake form.

Swipe sideways to see the whole thread.

A real test conversation from the client’s sandbox, so no real customer is shown. The test person is me. The conversations on this page are cropped to remove account names and photos.

Who it was for

An agency that sets up Instagram booking agents for med spas. I worked with them as a freelancer from April to July 2026.

Each spa had its own knowledge base, a Google Doc that the spa’s team edited. I built the full agent to read the intent of each Instagram DM, answer from that knowledge base and book consults inside the DM thread, with an OpenAI model (gpt-4o-mini).

How booking worked in the thread

Booking took five steps, all inside the DM.

  1. Service

    It asked which service the person wanted.

  2. Preferred time

    Then it asked what time worked best, such as a weekday morning.

  3. Two open slots

    It offered two open times from the spa’s calendar.

  4. The intake form

    It asked how the person wanted the intake form sent.

  5. Contact details

    It took the contact details for the form, such as an email address, and confirmed the booking in the thread.

The end of a second test booking: the person picks email, gives an address, and the agent replies that the Botox appointment is confirmed and the intake form is on its way. The spa’s location is covered.

Swipe sideways to see the whole thread.

The end of a second test booking. The grey bar covers the spa’s town.

Contacts and bookings

I set it up so every DM created or updated one GoHighLevel contact, with no duplicates. When a booking was confirmed, four things followed.

  • A calendar event was added.
  • The pipeline opportunity in GoHighLevel moved to Booked.
  • The intake form was sent.
  • The team got an alert.

The design goal

Built so every text DM became a GoHighLevel contact within 60 seconds.

Returning people and the handoff to a person

It remembered people, and it knew when a person should take over.

A returning client was welcomed back by name. In testing, it mentioned their last Botox visit and asked what they would like to book.

Some messages were never answered by the AI: medical, refund, legal or “talk to a person” messages. For those, it took a callback time and a way to reach the person, then alerted the team.

Someone unsure about a date also got a callback, flagged for the team.

The person asks for a callback instead of picking a date; the agent asks for a time of day and a way to reach them, then says the team has been flagged.

Swipe sideways to see the whole thread.

A test where the person asks for a callback instead of picking a date.

Follow-ups when someone went quiet

If someone went quiet, it followed up after 1 hour and again after 20 hours, then stopped at Meta’s 24-hour limit.

What it was built with

ManyChat for Instagram, 7 n8n workflows, an OpenAI model (gpt-4o-mini), GoHighLevel, Google Calendar and Gmail.

I built the first version on Instagram’s own webhooks (the verification handshake and inbound message events), with replies sent through ManyChat.

One of the 7 workflows was the brain. It read the message, checked the knowledge base, ran the AI agent, decided the next step and replied in under 2 seconds.

The n8n workflow behind the agent, in full color: a webhook, the returning-contact lookup, the knowledge base cache, the AI agent with its OpenAI model and memory, the next-step decision, the calendar lookup and the reply.

Swipe sideways to see the whole workflow.

The brain workflow in n8n, shown in two rows.

How it was tested

219 automated checks across 7 test suites, all passing on 27 April 2026.

The rule: no workflow change went back into n8n until the checks passed.

Status

Client build, delivered. The engagement ended in July 2026.

Want one for your clinic or agency?

Tell me how people book with you today and which DMs your team answers by hand. I’ll walk you through what an agent like this could handle for you.