Text a personal SMS confirmation when someone books on Cal.com
When a new Cal.com booking comes in, an agent texts the attendee a friendly confirmation by name and logs the meeting to a Google Sheet.
Build me an agent that sends a personalized SMS confirmation the moment someone books a meeting with me on Cal.com.
Trigger: a Cal.com poll trigger on new_booking. Whenever a new booking appears, the agent runs once for that booking.
What the agent should do, in order:
1. Call Cal.com Get a Booking using the booking id from the trigger payload. Pull the attendee first name, phone number, event type title, start time, attendee time zone, location or join link, and any intake form answers (responses / bookingFieldsResponses).
2. If no phone number was collected on the booking, skip the SMS step entirely and continue to logging. Do not error out.
3. Otherwise, draft a friendly 1 to 2 sentence SMS confirmation that: addresses the attendee by first name, restates the start time in their local time zone with the time zone abbreviation, and includes the meeting link (for video meetings) or the address (for in-person meetings). If the intake form answers contain something concrete that warrants prep (for example a specific question they want to discuss, a doc they want reviewed, a context about their company), add one short additional line with tailored prep guidance. Otherwise keep it to the confirmation sentence only. Keep the total message under 320 characters so it fits comfortably in two SMS segments.
4. Send the SMS via Twilio Send a Message, using my Twilio number as the From and the attendee's phone number (in E.164 format) as the To.
5. Append a row to my bookings log in Google Sheets via Append Values. The columns are: timestamp sent, attendee name, attendee phone, event type, start time (in attendee time zone), location or join link, and the exact SMS body that was sent. If the SMS was skipped because no phone was collected, log the row anyway and put 'skipped: no phone' in the SMS body column.
Inputs the workflow should ask me to configure once: my Twilio sending phone number, my Google Sheet ID, and the sheet tab name to append to.
Tone for the SMS: warm and human, like a quick note from me personally. Not corporate. No emojis unless the event type clearly calls for a casual vibe. Never start with 'Hi {firstName},' as a hollow template; lead with something that feels like I actually wrote it.
What does this prompt do?
- Sends a warm SMS confirmation to the attendee the moment they book a meeting with you.
- Personalizes the text using their first name, the time restated in their time zone, and the meeting link or address.
- Adds one tailored line of prep guidance when the event type calls for it, pulling from their intake form answers.
- Logs every confirmation to a Google Sheet so you have a clean audit trail of who was texted and what was sent.
What do I need to use this?
- A Cal.com account with an API key.
- A Twilio account with a phone number that can send SMS.
- A Google account and a Google Sheet to use as the bookings log.
How can I customize it?
- Change the tone or length of the SMS, for example more formal for executive calls or playful for product demos.
- Decide which event types should get a prep instruction line and which should stay short and simple.
- Swap the Google Sheet log for a different spreadsheet, add columns, or turn the logging step off entirely.
FAQs
What happens if the attendee did not share a phone number?
Will the meeting time show up in the attendee's local time zone?
Can the message reference what the attendee wrote in the intake form?
Can I send a WhatsApp message instead of an SMS?
Does this work for free Cal.com plans?
Related templates
Stage a batch of filings overnight, then approve each completed form from a screenshot before anything is ever submitted.
Review every conversation Fin closed as resolved, judge which ones actually stuck, and see what the gap is worth against your bill.
Work every return, damage and warranty claim in one queue, with the order, the delivery date and a policy-backed recommendation already on screen.
See exactly which ingredients next week needs based on what you actually sold, adjust anything by hand, then build a one-click grocery cart.
See follower growth, posting cadence, format mix and engagement rate for your brand and every competitor you track, side by side on one board.
Open one screen to see how every service in your Jobber price book actually performed: how often it sold, what you charged, and where prices swing.
Stop retyping the same confirmation message to every meeting attendee.
Connect Cal.com, Twilio, and Google Sheets once and let Geni send a warm, personal text the moment a booking lands.