Scheduling and follow-up agent for Neorgana
Key points
-
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.
-
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.
-
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.
-
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.
-
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
The patient writes on WhatsApp
Tool: WhatsApp
- 2
The agent asks about condition, language and location
Tool: OpenAI
- 3
Sends the matching consultant's calendar
Tool: GoHighLevel
- 4
The patient books and the opportunity is created in the CRM
Tool: GoHighLevel
- 5
The consultation happens over video call
Tool: Zoom
- 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.