Customer.io · Workspace 199348
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.
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.
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.
SMS 2 · 1 hour before
Alongside the 1-hour email.
SMS 3 · Starting now (optional)
At appointment time.
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.
Three campaigns + one segment, all in draft. Activate after a fresh test booking validates routing end-to-end.
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.
id eq payload.tracking.utm_contentemail + is_primary_workspace=true static; was email-only)new_invitee !exists clause added (mitigates string-vs-boolean risk on rescheduled != "true")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.
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.
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).
~/Downloads/calendly-demo-templates-2026-05-13/ → set subject + preheader per the README in that folder.
{{ trigger.payload.scheduled_event.start_time }} resolve. For the reschedule cancel-half (event 7a385853), confirm Path 2 (silent skip), not Path 1.
calendly_call_booked landing on the matched profile.
calendly_call_canceled (Campaign 69 stopped — no events fired). After the first real cancellation, add the exit_on event in the UI so queued reminders skip for cancelled appointments.customer.phone + event.join_url and are ready to wire once Twilio + A2P 10DLC consent is in place.