Skip to content

Back to projects

Project at Kobler

Scheduling and follow-up agent for Neorgana

WhatsApp agent for a clinic: it replies to each patient in their language, picks the right consultant and sends that consultant's calendar to book a Zoom consultation. When the call ends, another flow updates the CRM and triggers the follow-up.

Client
Neorgana
Context
Kobler y Asociados · Team project
Technologies
  • n8n
  • OpenAI API
  • GoHighLevel
  • WhatsApp
  • Zoom

Key points

  1. Neorgana: an agent that responds to patients and sends the doctor's calendar to schedule a Zoom consultation, selecting the consultant by language, location, and condition, and triggering follow-up and a quote once the video call ends.

  2. The agent replies in whatever language the patient writes in and gives no diagnoses or medical advice: clinical details are collected by the calendar's booking form.

  3. Each time it sends a calendar, the agent tags the contact in GoHighLevel with the send and their language. If no consultant matches or the question is out of scope, it hands the conversation to a team member.

  4. When the patient books, a flow creates the opportunity in the CRM and stores its reference in the Zoom meeting, so each video call can later be matched to its opportunity.

  5. When the video call ends, Zoom notifies n8n. The flow checks the duration and the participants, marks the consultation as completed or cancelled, and GoHighLevel sends the matching message.

Automation flow

  1. 1

    The patient writes on WhatsApp

    Tool: WhatsApp

  2. 2

    The agent asks about condition, language and location

    Tool: OpenAI

  3. 3

    Sends the matching consultant's calendar

    Tool: GoHighLevel

  4. 4

    The patient books and the opportunity is created in the CRM

    Tool: GoHighLevel

  5. 5

    The consultation happens over video call

    Tool: Zoom

  6. 6

    When it ends, the opportunity is updated and the follow-up goes out

    Tool: GoHighLevel

Problem

Neorgana gets messages from patients who write in different languages and from different locations. Each one has to reach the consultant who speaks their language, covers their region and handles their condition, and after the consultation someone has to follow up and send a quote.

Solution

The solution is three n8n flows connected to GoHighLevel. The first is the WhatsApp agent: using an OpenAI model, it talks with the patient, collects their condition, language and location, and sends the calendar of the matching consultant. The second runs when the patient books: it creates the opportunity in the CRM and links it to the Zoom meeting. The third runs when the video call ends: it checks whether the consultation took place, moves the opportunity to the right stage and triggers the follow-up and the quote in GoHighLevel.

Technical decisions

  • Each doctor's Zoom details live in a table. Adding a doctor means adding a row, with no changes to the flow.

Failure handling

  • Zoom resends its notification if it gets no response within three seconds, so the flow responds first and does the rest of the work afterwards.
  • If an appointment is moved to another doctor, Zoom creates a new meeting. The appointments flow detects it and links the new meeting to its opportunity again.

My role

This was team work at Kobler. I built Neorgana's agent and automations in n8n, monitored them in production and fixed their issues. I also took part in client meetings to gather business rules and identify edge cases.

Results

  • The agent picks the consultant by language, location and condition, and sends their calendar to book the Zoom consultation.
  • The follow-up and the quote are triggered automatically when the video call ends.
  • Each opportunity's stage in GoHighLevel changes on its own depending on whether the consultation took place.

Code kept private due to client confidentiality; screenshots, architecture, and a demo available upon request.