Back to selected work

Client project, GoHighLevel and n8n

AI receptionist and patient journey for a dental clinic

A clinic system where an enquiry turns into a booked appointment without staff, with an AI receptionist in GoHighLevel and a second agent in n8n that works with the CRM through four MCP servers.

  1. Patient writes

    • Chat and SMS
    • Telegram
    • Web chat
  2. AI receptionist

    • GoHighLevel AI
    • n8n agent
  3. MCP servers

    • Contacts
    • Calendar
    • Pipeline and tasks
  4. Result

    • Booked visit
    • Task for staff
Industry
Dental and aesthetic clinics
Role
CRM architect and AI agent developer
Status
Built; GoHighLevel path tested end to end
Stack
GoHighLevel, n8n, OpenAI, MCP, Telegram

The task

The client needed a working clinic system in GoHighLevel for internal testing and sales presentations. Not slides: an account where a real enquiry turns into a booking in front of the prospect, and which can be copied for the next clinic without cleanup.

I built it around a fictional private dental and aesthetics clinic in the UK, with its own services, prices, opening hours and team.

The patient journey in GoHighLevel

A second agent in n8n

For Telegram and a custom web chat I built an agent in the client's n8n that works with the same GoHighLevel account. It does the full job of a receptionist:

  1. Finds the patient by phone or creates a new contact.
  2. Offers only the clinic's services.
  3. Checks for an existing booking and offers to keep or cancel it.
  4. Finds free slots for the next seven days and widens the search when the week is full.
  5. Shows a summary and waits for the patient's explicit yes.
  6. Creates the appointment, the deal in the pipeline and a task for staff in one step.

Cancelling and rescheduling run the chain in a fixed order: calendar first, then the task, then the deal. The CRM never keeps a half-cancelled booking.

n8n workflow: a webhook passes the message to an AI agent with an OpenAI model, memory and four MCP clients for contacts, opportunities, calendar and tasks, then returns the reply.
The agent and its four MCP servers in n8n.

Decisions that mattered

Four small MCP servers instead of one large tool. Contacts, calendar, pipeline and tasks each sit behind their own server. The agent sees only the operations it needs, and each server can be reused with another CRM.

n8n MCP server for the calendar with three tools: book appointment, delete calendar event and get free slots.
The calendar server exposes exactly three operations.

Hard rules in the prompt. No action before the patient is identified, a fixed order for cancellations, one language per conversation and no technical details shown to the patient.

The channel is separate from the logic. Telegram and the web chat feed the same agent, so WhatsApp or SMS can be added without touching it.

How I checked it

I ran three scenarios end to end: an emergency, an Invisalign enquiry and a routine check-up. Each one confirmed the AI answer, the contact, the deal in the right stage, the appointment in the right calendar and the reminders. The client received a video walkthrough and documentation for copying the account to a new clinic.

Verification and handover

How it was tested
Three scenarios run end to end in GoHighLevel: an emergency, an Invisalign enquiry and a routine check-up. Each one confirmed the AI answer, the contact, the deal in the right stage, the appointment in the right calendar and the reminders.
What was handed over
A video walkthrough and documentation for copying the account to a new clinic.
Status
Demo account on a fictional clinic, used for the client's internal tests and sales demos.
Discuss your project