This example uses Workflows. For new builds, use Squads for multi-assistant triage and scheduling. See: Squad - Clinic Triage & Scheduling.
Build an AI-powered clinic receptionist workflow that handles patient triage, appointment scheduling, and emergency routing using Vapi workflows with medical protocol compliance and safety monitoring.
What You’ll Build:
We will be creating a triage and scheduling workflow for Riverside Family Clinic, a primary care practice that wants to improve patient access while ensuring appropriate care routing and emergency response through sophisticated workflow automation.

Before building the workflow, create the necessary tools in your dashboard:
Click Create Tool and configure:
lookup_patientpatient_id (string, required): Patient’s ID numberhttps://jsonplaceholder.typicode.com/usersThis example uses JSONPlaceholder for demonstration. In production, replace with your EHR system API (Epic, Cerner, etc.).
Create another tool:
conduct_triagesymptoms (string): Description of patient symptomsonset (string): When symptoms startedseverity (string): Severity level (1-10)https://jsonplaceholder.typicode.com/postsThis example uses JSONPlaceholder for demonstration. Replace with your medical triage system in production.
Create a third tool:
schedule_appointmentpatient_id (string): Patient identifierappointment_type (string): Type of appointment neededurgency_level (string): Urgency classificationhttps://jsonplaceholder.typicode.com/postsThis example uses JSONPlaceholder for demonstration. In production, integrate with your appointment scheduling system.
You’ll start with a default template that includes a “Call Start” node. We’ll modify the existing nodes and add new ones to create our medical triage and scheduling workflow.
The default template includes a conversation node. Click on it and configure:
Extract Variables:
call_purposeStringPrimary purpose of the patient's callemergency, medical_triage, appointment, prescription, generalClick the + button below the greeting node and add a new Conversation node:
Extract Variables:
patient_idStringPatient's ID number if providedpatient_nameStringPatient's full name if provideddate_of_birthStringPatient's date of birth if providedAdd a Tool node:
Select Tool: Choose your pre-configured patient lookup tool from the dropdown. This tool will use the extracted patient information to find their medical record.
Create branching paths based on the patient’s call purpose. Add multiple conversation nodes:
Emergency Routing Node:
Medical Triage Node:
Appointment Scheduling Node:
Create a global node that monitors for emergency keywords throughout the call:
Node Name: emergency_detector
Global Node: enabled = true
Enter Condition: {{ emergency_keywords_detected == true or red_flag_symptoms == true }}
This global node will activate whenever emergency keywords are detected, regardless of where they are in the workflow.
For the medical triage path, add these nodes:
Symptom Collection Node:
Node Name: collect_symptoms
Extract Variables:
symptom_detailsStringDetailed symptom descriptionpain_scaleStringPain level 1-10symptom_durationStringHow long symptoms have been presentTriage Protocol Tool Node:
Urgency Classification Node:
Node Name: classify_urgency
Provider Lookup Tool Node:
Appointment Options Node:
Node Name: present_appointment_options
Appointment Confirmation Node:
Node Name: confirm_appointment
911 Routing Node:
Node Type: Transfer
Destination: 911
Urgent Care Transfer Node:
Node Type: Transfer
Destination: +1-555-URGENT-1 (urgent care line)
Nurse Line Transfer Node:
Node Type: Transfer
Destination: +1-555-NURSE-1 (triage nurse line)
End Call Node:
Node Type: Hangup
Create Phone Number for a new Vapi number, orImport Phone Number to use your existing clinic numberThis example uses JSONPlaceholder for demonstration purposes. To integrate with your actual healthcare systems:
HIPAA Compliance: When integrating with real healthcare systems, ensure all integrations comply with HIPAA regulations and your organization’s privacy policies.
Just like that, you’ve built a medical triage and scheduling workflow that can handle patient calls, assess symptoms, and route to appropriate care levels with 24/7 availability.
Consider reading the following guides to further enhance your workflow: