Instant iMessage booking confirmations for Calendly
When someone books on Calendly, text them an instant iMessage confirmation with their meeting details and log the booking to Google Sheets.
Build a code workflow that sends an instant iMessage confirmation through Sendblue and logs the booking to Google Sheets whenever someone books a meeting on Calendly. The flow is fully deterministic: three known steps, no branching judgement required.
Trigger: Calendly webhook on the invitee.created event. Subscribe at the user or organization scope so any new booking on the selected event types fires the workflow.
Step 1, Calendly Get Event Invitee. Use the invitee URI from the webhook payload to pull the full invitee record. We need this to read the phone number captured in the booking form, the invitee's first name, timezone, the scheduled meeting start time, the event type name, the reschedule URL, and the cancel URL. Also read any question_and_answers entries in case the message copy should reference one.
Step 2, Sendblue Send Message. Send a single iMessage (with SMS fallback) to the invitee's phone number in E.164 format. The number must be normalized before the call. From_number should be the Sendblue line configured in the workflow. The message body should be a short, friendly confirmation that includes the invitee's first name, the meeting topic (event type name), the scheduled start time formatted in the invitee's timezone, and the reschedule link from Calendly. Keep it under a few hundred characters. If no phone number was captured on the booking, skip this step gracefully and proceed to logging.
Step 3, Google Sheets Append Values. Append a single row to the configured spreadsheet and sheet/tab with these columns in order: booking timestamp (UTC), invitee full name, invitee email, invitee phone, event type name, scheduled start time (in the invitee's timezone), reschedule URL. Use USER_ENTERED so dates and links render cleanly. Assume the first row of the sheet is a header row.
Inputs the user should configure on the workflow: the Calendly event type(s) to subscribe to, the Sendblue line phone number to send from, the message template copy, the Google Sheets spreadsheet ID and sheet name to append to.
Keep it deterministic. No LLM steps. Webhook → Get Event Invitee → Send Message → Append Values.
Additional information
What does this prompt do?
- Listens for new Calendly bookings the moment they happen, so confirmations go out in seconds, not minutes.
- Sends each invitee a personal iMessage that lands in their main thread, with their name, meeting time in their timezone, the topic, and a reschedule link.
- Appends every booking to a Google Sheet so you have a single running log of who booked, when, and for what.
- Cuts no-shows by reaching people where they actually read messages, instead of in a promo folder.
What do I need to use this?
- A Calendly account with permission to manage webhooks on the event types you want to confirm.
- A Sendblue account with a provisioned line that can send iMessage and SMS.
- A Google account with edit access to the spreadsheet you want bookings logged to.
- A booking form question that captures the invitee's phone number, so Sendblue has somewhere to text.
How can I customize it?
- Rewrite the message copy to match your voice, add directions, parking info, or a Zoom link.
- Swap the sheet columns to capture whatever your team actually tracks, like rep owner, source, or sales stage.
- Limit the workflow to specific Calendly event types if you only want confirmations for paid calls or demos.
- Add a fallback so invitees on non-iMessage devices still get an SMS instead of nothing.
Frequently asked questions
Will the message arrive as a blue iMessage or a green SMS?
What if the invitee did not enter a phone number?
Does this work for every Calendly event type, or just one?
Can I include a reschedule or cancel link in the message?
Where does the booking get logged?
Stop letting booking confirmations sit in spam.
Connect Calendly, Sendblue, and Google Sheets once, and every new booking gets an instant iMessage and a logged row, automatically.