Telehealth Video Link Dispatch
Example prompt: "When I add a video consultation to my Google Calendar, create a Zoom meeting with a waiting room, send the patient a confirmation and a 24-hour reminder, and post me a one-click join link in Slack five minutes before the appointment."
The Problem
A clinic running video consultations — mental health practices, private GP groups, physio first assessments, aesthetics consultations — has the same chair-time mechanics as in-person, plus an extra layer of plumbing. Each appointment needs a unique Zoom (or Meet) link with a waiting room, the link needs to be in the calendar event, the patient needs the link in a confirmation and a reminder, and the clinician needs the link in a place they can click on the way back from making tea five minutes before the call. When this is reception's manual job it goes wrong in small ways every week — the link wasn't created until the morning, the waiting room wasn't on so the patient walked in before the clinician was ready, the link was pasted into the wrong event, the patient missed the call because the reminder didn't include the link.
How GloriaMundo Solves It
We build a workflow on the practice's 'Clinic Diary' Google Calendar that fires on every add or update — not just the ones currently marked as video, because an edit that strips '[VIDEO]' off a previously-video appointment is one of the cases we exist to handle. On each fire, the workflow looks up 'Video Consults' by calendar_event_id and branches into one of four paths: creation (no row, event qualifies, in the future), reschedule (row, event still qualifies, start time or procedure code changed), cancellation (row, calendar event cancelled), or video-removed (row, '[VIDEO]' has been stripped from the title). The Zoom meeting is created with a waiting room and a unique passcode sized to the procedure code's duration, and the join_url is written back into the calendar event so wherever the clinician and the patient look the link is the same one. The four templated patient emails — confirmation, 24-hour reminder, reschedule notice, cancellation notice — auto-send because they are operational comms with no clinical content. Five minutes before the appointment's then-current start time, the workflow posts the clinician's personal Slack DM with the join link and the pre-visit briefing link if one exists. Glass Box preview shows whichever path fires before anything goes out.
Example Workflow Steps
- Trigger (integration): Every add or update on the 'Clinic Diary' Google Calendar — no pre-filter on '[VIDEO]' or location.
- Step 1 (conditional): Look up 'Video Consults' by calendar_event_id and decide which of the four branches applies. Creation needs no existing row and a future qualifying event (no row-status check — there is no row yet). Reschedule and video-removed need an existing row with
row.status == 'Scheduled'and a future appointment. Cancellation needs an existing row but is recorded regardless of the stored slot's time. - Step 2 — creation path (integration + llm): Look up patient, clinician, and procedure duration. Create a Zoom meeting with waiting room, join-before-host disabled, and a unique passcode. Write the join link to the event location and a Join/Meeting ID/Passcode block to the description. Auto-send the patient confirmation Gmail, schedule the 24-hour reminder, and append a 'Video Consults' row with status 'Scheduled'.
- Step 3 — cancellation path (integration): Delete the Zoom meeting, auto-send the cancellation Gmail with the reception number, cancel the queued reminder, clear Zoom fields, and update status to 'Cancelled'.
- Step 4 — reschedule path (integration + llm): Update the Zoom meeting in place (same meeting_id and join_url), refresh the calendar description, auto-send the reschedule Gmail, and re-queue the 24-hour reminder for the new start time. An update with no time or procedure change is a no-op.
- Step 5 — video-removed path (integration): Delete the Zoom meeting, auto-send a cancellation Gmail saying reception will be in touch, cancel the queued reminder, and update status to 'Cancelled' — leaving the calendar event itself untouched.
- Step 6 (integration): Five minutes before each Scheduled appointment, post a Slack DM to the clinician with the patient first name, the join link, and the pre-visit briefing link if one exists.
- Step 7 (integration): After the event end time, flip Scheduled rows to 'Past' — never flip Cancelled rows.
Integrations Used
- Google Calendar — the 'Clinic Diary' that triggers the workflow on every add or update
- Zoom — the per-appointment meeting with a waiting room, unique passcode, and join-before-host disabled; updated in place on a reschedule and deleted on a cancellation
- Google Sheets — the 'Patients', 'Clinicians', 'Procedures', and 'Video Consults' tabs
- Gmail — the four templated patient emails (confirmation, 24-hour reminder, reschedule, cancellation), all auto-sent
- Slack — the clinician's personal DM five minutes before the appointment
Who This Is For
Private mental health practices, private GP groups, physiotherapy first-assessment workflows, sexual-health and travel clinics, and aesthetics consultations that run a meaningful proportion of their diary on video. Particularly useful where the same clinician runs a mix of in-person and video appointments through the day, where the front desk doesn't have time to manually create a Zoom link per appointment, and where the practice has standardised on Google Calendar as the diary source of truth.
Time & Cost Saved
Reception manually creating Zoom links, pasting them into events, sending the patient confirmation, sending the reminder, and DMing the clinician — for a practice running ten to twenty video consultations a week — is two to four hours of admin a week. This workflow does all of it as a side effect of the appointment being added to the calendar. The bigger gain is the reduction in missed-or-delayed video starts: a patient who has the link in two emails and a calendar event, and a clinician who has it in a Slack DM five minutes before, simply doesn't miss the call as often as one chasing the link in three different places.