Patient Experience

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.

Just starting with the platform?
For initial setup of your AI agent – including workspace setup, agent training, and channel deployment – please start here. This workflow guide assumes your AI agent is set up and ready for more advanced configurations.

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_typeQuick 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 in authorisation_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 to available_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_slotQuick 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.