AI voice reminder calls before Calendly meetings to cut no-shows
Every 15 minutes, place a friendly AI voice reminder call to Calendly invitees whose meeting is about to start, then Slack you the outcome.
Integrations
Calendly
LiveKit
Slack
Type
Categories
- Sales
- Operations
Build me an agent workflow that runs on a cron every 15 minutes and places AI voice reminder calls before upcoming Calendly meetings so we cut no-show rates on demos and consults.
On each run, use the Calendly List Scheduled Events operation to fetch events that start in the next 15 to 30 minutes. For every event, call Calendly List Event Invitees to grab each invitee's name, phone number, timezone, and the event's join link and topic. Skip anyone without a phone number and anyone whose event has an opt-out custom field set (something like a Do not call me question on the intake form).
For every remaining invitee, build a short reminder script that includes the host name, the event topic, the join link, the meeting time in the invitee's local time, and the phrase 'reply with reschedule if you can't make it.' Then place the call through LiveKit: use Create Room to spin up a fresh room named after the event and invitee, use Create Agent Dispatch to attach our reminder voice agent to that room, and use Create SIP Participant on our outbound trunk to dial the invitee's phone number and join them to the room.
Based on how the call goes, pick one of three outcomes and act on it. If the invitee confirms, use Slack Send a Message to DM the account owner (or post in a configurable team channel) 'attendance confirmed' with the invitee name and meeting time. If the invitee declines or asks to reschedule, use Calendly Mark Invitee as No-Show on that invitee and Slack a follow-up alert so a human can reach out. If the call goes to voicemail or nobody answers, have the voice agent leave a short voicemail with the join link and meeting time, then Slack a lightweight nudge so the host knows to expect maybe a late arrival.
Nuance to bake in: only dial between 8am and 8pm in the invitee's local time, dedupe against invitees already called in this run cycle, and never call the same invitee twice for the same event across runs (keep a small in-workflow record of which event+invitee pairs we've already dialed). If Calendly's opt-out field is set on any invitee, skip that invitee silently. Keep the Slack channel/DM destination, the reminder window, the quiet-hours range, and the reminder script phrasing all configurable at the top of the workflow.
Integrations to use: Calendly (List Scheduled Events, List Event Invitees, Mark Invitee as No-Show), LiveKit (Create Room, Create Agent Dispatch, Create SIP Participant), and Slack (Send a Message). Trigger: cron every 15 minutes.
What it does
- Checks Calendly every 15 minutes for meetings starting in the next 15 to 30 minutes and pulls the invitee's name, phone number, and event details.
- Places a short AI voice reminder call to each invitee that confirms the meeting, shares the join link, and offers a way to reschedule.
- Reads the outcome of the call and acts on it. Confirmed attendees trigger a Slack heads-up to the host, reschedules and declines mark the invitee as a no-show and ping a human, and voicemail or no-answer leaves a short message and a lightweight Slack nudge.
- Respects quiet hours, an opt-out custom field on the event, and dedupes so no invitee ever gets called twice for the same meeting.
What you’ll need
- A Calendly account with access to your scheduled events and invitees.
- A LiveKit project with an outbound SIP trunk configured (so the workflow can place phone calls) and your reminder voice agent registered.
- A Slack workspace where the workflow can post outcome updates to your team channel or the account owner's DMs.
How to customize it
- Change the reminder window. 15 to 30 minutes before start is a nice default, but you can move it earlier for consult calls or later for quick demos.
- Adjust quiet hours or the daily send window if your customers are in different time zones or expect earlier or later contact.
- Swap the Slack destination between a shared team channel and a direct message to the meeting host, and change what each outcome (confirmed, reschedule, no answer) posts.
- Tweak the reminder script the voice agent reads, including the host name, event topic, and the phrase invitees can say to reschedule.
Use cases
- Meeting Workflows
- Notifications & Alerts