Book medical procedures through AI chat
Workflow purpose
This guide demonstrates how to use Proto's platform to automate booking for specific medical procedures – diagnostic imaging, dialysis sessions, minor day surgery, and similar bookings that need more than a calendar slot. Unlike a routine consultation booking, procedures often carry preparation instructions and, in insured markets, a pre-authorisation check. This workflow captures the procedure type, checks whether pre-authorisation is required, confirms a slot with the provider's scheduling system, and sends preparation instructions automatically.
Who can benefit from this guide:
- Hospitals and diagnostic centres offering imaging, lab draws, or day-procedure bookings
- Insurers and HMOs that require pre-authorisation before certain procedures
- Operations teams reducing no-shows through automated prep reminders
- Clinics wanting to free front-desk staff from repetitive procedure bookings
Book a medical procedure
This workflow lets a patient book a specific procedure, checks pre-authorisation where required, and confirms with preparation instructions attached. See how to book medical procedures through AI chat.
1. Create a trigger
Purpose: Start the flow when a patient asks to book a procedure rather than a routine consultation.
- Navigate to the Actions tab in the AI agent settings.
- Click “+ Add Trigger” and select the Message Received trigger type.
- Name the trigger “Procedure Booking”.
- Add a description such as “Triggers if user requests to book a diagnostic, dialysis, or day-procedure appointment.”
2. Survey – procedure type
Purpose: Identify which procedure the patient needs, since prep and authorisation rules differ by type.
- Add a Survey action titled
Procedure selection. - Field
procedure_type– Quick replies: MRI, Blood work, Dialysis, Minor surgery, Vaccination – Required: On.
3. Branch – check for pre-authorisation
Purpose: Route procedures that require insurer sign-off before a slot is offered.
- Add a Branch action.
- Condition:
_.lower(procedure_type) in ["dialysis", "minor surgery"]. - If true: Send API request to the insurer’s authorisation endpoint with
{procedure_type}and the patient’s plan number, storing the result inauthorisation_status.
4. Send API request – available slots
Purpose: Pull live availability instead of offering a slot that isn’t actually open.
- Add a Send API request action to your scheduling system, filtered by
{procedure_type}. Map the response toavailable_slots.
5. Survey – select a slot
Purpose: Let the patient confirm a specific time from what’s actually available.
- Add a Survey action titled
Slot selection. - Field
selected_slot– Quick replies generated from{available_slots}– Required: On.
6. Confirmation and preparation instructions
Purpose: Close the loop with everything the patient needs before arrival.
- Add a Send message action: “You’re booked for {procedure_type} on {selected_slot}. Preparation instructions: [insert per-procedure text]. Reply 1 if you need to reschedule.”
7. Test the flow
Purpose: Confirm authorisation and scheduling both behave correctly before go-live.
- Test a procedure that requires pre-authorisation with a plan that will be declined, and confirm the patient is routed to a live agent rather than booked anyway.
- Test a procedure with no authorisation requirement to confirm it skips straight to slot selection.
- Test with no available slots to confirm the fallback message offers a waitlist or callback instead of a dead end.