Customer.io · Workspace 199348

Calendly demo reminders — what your prospects will see

Calendly bookings now flow straight into Customer.io. The matched profile gets a branded confirmation, a day-before reminder, and a 1-hour reminder — each linking to the same Google Meet / Zoom call. Cancellation clears the state; SMS will join once Twilio is connected.

Built 2026-05-14 All campaigns in draft

Email reminders 3 in the sequence · all live

Rendered with example data (Mia / Glen Jones / Tue May 20 at 2:30 PM). Real bookings substitute the invitee's name, host, time, and join URL.

SMS reminders 3 drafted · Twilio pending

Pre-built for when Twilio is connected to workspace 199348. Each stays under 160 chars (single segment) and carries the same Google Meet link as the emails.

SMS 1 · 24 hours before

After the day-before email lands.

Hi Mia, quick reminder your Carepatron demo with Glen Jones is tomorrow at 2:30 PM. Join: https://meet.google.com/abc-defg-hij

145 characters · 1 segment

SMS 2 · 1 hour before

Alongside the 1-hour email.

Your Carepatron demo with Glen Jones starts in 1 hour. Join: https://meet.google.com/abc-defg-hij

95 characters · 1 segment

SMS 3 · Starting now (optional)

At appointment time.

Starting now — join your Carepatron demo: https://meet.google.com/abc-defg-hij

68 characters · 1 segment

Every reminder points to event.join_url — Calendly stores the Google Meet (or Zoom) join URL on each booking. The same value resolves on all 3 emails and all 3 SMS, so the prospect always has the right call link.


What was built in Customer.io

Three campaigns + one segment, all in draft. Activate after a fresh test booking validates routing end-to-end.

Campaign 69 — Receiver stopped

Open Campaign 69 →

Direct Calendly webhook receiver. Routes invitee.created to a booked Batch Update (tracked: id from utm_content, or fallback: email + is_primary_workspace=true). Routes hard cancels to the cancel Batch Update. Silent-skips reschedule cancel-halves and unmatched events.

Campaign 70 — Cancellation State Handler draft

Open Campaign 70 →

Triggered by calendly_call_canceled. Recipient filter: Segment 65 (Primary Workspaces). State-only — no email per v1 decision. Clears has_upcoming_demo, sets last_demo_status=canceled, records last_demo_cancellation_reason from the event.

Campaign 71 — Sales Demo Reminder Sequence draft

Open Campaign 71 →

Triggered by calendly_call_booked. Recipient filter: Segment 65. 16-action workflow that sets demo state, sends Email 1 immediately, waits until 1 day out then sends Email 2, waits another 23h then sends Email 3, then marks completed + clears has_upcoming_demo after the appointment.

Segment 126 — Has Upcoming Demo dynamic · building

Open Segment 126 →

Members where has_upcoming_demo=true. Apply as a suppression filter on book-a-demo CTA marketing (Onboarding / Free Trial, Onboarding-Outreach, Post-trial series, demo-CTA newsletters).

Next steps

1
Paste email bodies in Design Studio. Three email_actions are sitting in draft on Campaign 71 (IDs 434, 437, 440). Action names tell you which HTML file to paste. Open each → its template → Code Editor → paste from ~/Downloads/calendly-demo-templates-2026-05-13/ → set subject + preheader per the README in that folder.
2
Verify Liquid on the 4 captured webhooks. Open Campaign 69 → Activity → click each captured webhook → Variables panel. Confirm paths like {{ trigger.payload.scheduled_event.start_time }} resolve. For the reschedule cancel-half (event 7a385853), confirm Path 2 (silent skip), not Path 1.
3
One real test booking. Use a personal email NOT already in CIO. Book via calendly.com/glen-carepatron/carepatron-demonstration. Watch Campaign 69 activity for the fallback path firing and calendly_call_booked landing on the matched profile.
4
Edge tests: hard cancel + reschedule. Cancel the test booking — watch Campaign 70 fire and clear state. Reschedule — confirm the cancel-half is silent-skipped at Path 2 and the new booking re-enters the reminder sequence.
5
Activate in order: 69 → 71 → 70. Start the receiver first, then reminders, then cancel handler. Apply Segment 126 as a suppression filter on book-a-demo CTA marketing when ready.

Deferred / known trade-offs