Agent setup guide
Appointment Reminder Texts
Texts each Calendly booking a reminder 24 hours before, with the local time and reschedule link, skipping canceled bookings.
What it does
Texts each Calendly booking a reminder 24 hours before, with the local time and reschedule link, skipping canceled bookings.
- Starts on each new Calendly booking (checked every few minutes).
- AI checks it's an event you send reminders for and works out the reminder time: 24 hours before the start, or your setting.
- Waits until then, and reads the booking again from Calendly so canceled bookings are skipped.
- Writes a short text with the date and time in the invitee's time zone, your arrival note, the reschedule link and “Reply STOP to opt out”.
- Sends it from your Twilio number. Invitees without a usable mobile number (or without SMS consent, if you ask for it) are skipped.
What it needs
- A paid plan (agents run live on paid plans; the wait also needs the Wait step enabled on your workspace).
- An AI provider key (Settings → AI Providers).
- Calendly, with a required mobile-number question on your event, and Twilio with an SMS-enabled number.
- Texting consent and US A2P 10DLC registration, which are your responsibility.
What it doesn't do
- Bookings made more than 30 days ahead, or less than 2 hours ahead, get no reminder.
- It's for non-clinical appointments only (salons, spas, studios), not medical or therapy visits.
- It reads the first invitee only, so group events aren't supported.
- It doesn't handle replies or rescheduling: the reschedule link sends them to Calendly, and Twilio handles STOP opt-outs.
- Coming soon until Calendly and Twilio are approved.
Availability and plans
Coming soon — waiting for Calendly approval
The agent is built, but Calendly is still waiting for the vendor's approval. It becomes available on its own once that app is live; until then it can't be bought or set up.
Included free on the Enterprise plan; on other paid plans it's a one-time purchase per workspace (the price is on the Agents page). The Agents page in the app always shows its current status.
Before you start
- A paid plan: agents run live, and the Free plan only runs Dry Runs.
- An AI provider key (OpenAI, Anthropic, Google and more) in Settings → AI Providers. AI usage is billed by your provider.
- These apps, connected in Settings → Integrations: Calendly and Twilio.
- The app it watches, connected in Settings → Integrations (the agent starts from an app event).
- About 15 minutes.
Set it up step by step
Get the agent first (buy it, or it's already yours when your plan includes it), then in Agents → My agents press “Set up this agent”. That creates the agent's workflow in your workspace (it counts towards your plan's workflow limit) and opens the canvas with a setup checklist above it. Each item links to the exact place to go and ticks itself off when it's done.
1. Connect your AI provider
The AI steps run on your own key (OpenAI, Anthropic, Google and more). Add one in Settings → AI Providers.
2. Connect Calendly
Connect the Calendly account people book with (Settings → Integrations → Calendly).
3. Connect Twilio
Connect your Twilio account (Account SID + Auth Token or API key) in Settings → Integrations → Twilio.
4. Pick your Calendly account and events
Open the trigger and “Re-check the booking”, pick your Calendly account in each, then open “Work out when to remind” and name the events that get reminders.
| Setting | What to enter | In step |
|---|---|---|
| Calendly account (bookings) | The Calendly account whose new bookings start the agent. Pick your connected Calendly account. | “New booking in Calendly” |
| Calendly account (re-check) | The same Calendly account, used to read the booking again at reminder time. Pick your connected Calendly account. | “Re-check the booking” |
| Which events and how early | Replace the placeholder with the Calendly event names that get a reminder (or “all”) and how many hours before (24 if you leave it out). It starts as “[WHICH CALENDLY EVENT NAMES GET A REMINDER (OR “ALL”) AND HOW MANY HOURS BEFORE (DEFAULT 24)]” until you replace it. | “Work out when to remind” |
5. Add your business details and Twilio number
Open “Write the reminder text” and replace the placeholder with your business details, then open “Text the reminder” and pick your Twilio account and number.
| Setting | What to enter | In step |
|---|---|---|
| Business details for the text | Replace the placeholder with your business name, the name of the booking question that asks for a mobile number, any SMS consent question and its “yes” answer, a short arrival note (address, parking), your time zone and how to sign the text. It starts as “[YOUR BUSINESS NAME, THE BOOKING QUESTION THAT ASKS FOR A MOBILE NUMBER, ANY SMS CONSENT QUESTION AND THE ANSWER THAT MEANS YES, A SHORT ADDRESS OR ARRIVAL NOTE, AND HOW TO SIGN THE TEXT]” until you replace it. | “Write the reminder text” |
| Twilio account | The Twilio account the reminders are sent from. Pick your connected Twilio account. | “Text the reminder” |
| Twilio number to text from | One of your SMS-enabled Twilio numbers (E.164), registered for A2P messaging in the US. | “Text the reminder” |
6. Test it with Dry Run
Press Dry Run: the agent runs on sample data with no messages sent and nothing written to your apps.
7. Switch the trigger on
Open the trigger and press “Activate app trigger”: from then on each new booking gets a reminder text.
How it works
The agent is a normal workflow with 11 steps (2 AI steps). You can open, edit and monitor it like any other workflow.
- New booking in Calendly — Starts on “New booking” in Calendly (an app event). Starts a run when someone books one of your Calendly events (checked every few minutes; works on every Calendly plan).
- Work out when to remind — AI step (runs on your AI provider key). AI checks the booking is one you send reminders for and works out the reminder time: 24 hours before the start (or your setting). Bookings starting in under 2 hours or more than 30 days out get no reminder.
- Remind this booking? — Decision: picks the branch to follow. Bookings you don't remind, bookings starting soon and bookings more than 30 days out are skipped; the rest wait until reminder time.
- No reminder — Kept in the run history. Branch: No reminder. The run history keeps the booking and why no reminder was scheduled.
- Wait until reminder time — Waits until a date taken from the data (at most 30 days). Branch: Remind. Holds the run until the reminder time (24 hours before the start by default). Dry Run doesn't wait.
- Re-check the booking — Calendly: Get an event's invitees. Reads the booking again from Calendly at reminder time: whether it's still active, the invitee's name, time zone, mobile number and reschedule link.
- Write the reminder text — AI step (runs on your AI provider key). AI skips canceled bookings and invitees without a mobile number (or without SMS consent, if you ask for it), then writes a short reminder with the local date and time, your arrival note and the reschedule link.
- Text them? — Decision: picks the branch to follow. Canceled bookings and invitees without a usable mobile number (or consent) get no text.
- Not texted — Kept in the run history. Branch: Don't text. The run history keeps why no reminder was sent (canceled, no number, no consent).
- Text the reminder — Twilio: Send an SMS. Branch: Text. Sends the reminder from your Twilio number. Twilio blocks texts to numbers that have replied STOP.
- Reminder sent — Kept in the run history. The run history keeps the text and Twilio's message ID.
Test it with Dry Run
Press Dry Run in the canvas. The agent runs on the sample data stored on its trigger (the “Sample data for Dry Run” box), so you can check every step's output before anything is live. The sample has the same shape as a real event from the app.
Sample data fields
event_uri, name, status, start_time, end_time, event_type, location, join_url, invitees_active, created_at, canceled_by, cancel_reason, event.
- Nothing is sent or written: app actions, emails and Slack posts are simulated, and AI steps don't call your AI provider.
- Wait steps don't wait: they report how long they would wait and the run goes on.
Go live
- Open the trigger and press “Activate app trigger”: from then on each new booking gets a reminder text.
- Activating the app trigger needs the trigger's connected account. The first check only remembers what's already there, so older items don't start runs; the same item never starts two runs.
- The setup checklist adds a “paid plan” item before activation: live runs need a paid plan (the Free plan only runs Dry Runs).
- When every checklist item is done and the trigger is on, the checklist says “Live — this agent is running”. Follow its runs in the workflow's History tab and in Analytics → Agents.
Questions
Where does the phone number come from?
From a mobile-number question on your Calendly event (or Calendly's own text-reminder number). Make the question required. Bookings without a usable number are skipped.
What if they cancel or reschedule?
At reminder time the agent reads the booking again from Calendly and skips canceled bookings. A rescheduled booking counts as a new booking and gets its own reminder.
Can I use it for medical or therapy appointments?
No. It's for non-clinical bookings (salons, spas, studios). Texts and run history aren't covered by a healthcare data agreement.
Troubleshooting
- “No AI provider connected” or a rejected key: connect or fix the key in Settings → AI Providers, then press Test there.
- A checklist item stays unticked: the setting is still empty or still contains its placeholder text. Open the step from the checklist and fill it in.
- An app step fails with “Needs reconnect”: the account's access was revoked or expired. Reconnect it in Settings → Integrations.
- No runs start: activate the app trigger with a connected account. Only items created after activation start runs.
- A run shows “Waiting until …” in History: that's a Wait step; it continues on its own (it can be cancelled through the API).
- A step failed: open the run in History and check that step in the Trace tab for the error and what it received.
Generated from the agent's own workflow, so it always matches what the agent does. Last updated .