Sync Calendly bookings to Loops and trigger prep emails

By General Input

When someone books a meeting on Calendly, save them in Loops with their meeting details and fire your Loops email workflow for reminders, prep tips, and no-show follow-ups.

Integrations

  • Calendly
  • Loops.so

Type

Deterministic Code

Categories

  • Sales
  • Marketing

Build a deterministic code workflow that syncs new Calendly bookings into Loops.so and fires a pre-meeting email sequence. No LLM reasoning, no classification, every field maps cleanly from the Calendly payload into Loops.

Trigger: an incoming Calendly webhook for the invitee.created event. The payload contains the invitee (email, name, full payload including reschedule_url and the parent scheduled_event), and the scheduled event (start_time, end_time, event_type name, uri/uuid).

Step 1: call Loops Update Contact as an upsert. Pass the invitee's email as the identifier. Split the Calendly invitee name into firstName and lastName (first whitespace token is firstName, the rest joined is lastName; if only one token, leave lastName empty). Then include these custom properties (camelCase): meetingType set to the Calendly event type name, meetingDate set to the scheduled event start_time as ISO-8601, calendlyEventUuid set to the scheduled event UUID (last path segment of the scheduled_event URI), and rescheduleUrl set to the invitee's reschedule_url. Update is an upsert in Loops, so this creates the contact if no contact matches the email.

Step 2: call Loops Send Event with eventName set to meeting_booked, identifying the contact by the same email used in step 1. Include eventProperties (camelCase) with meetingDate (ISO-8601 start time), meetingType (the event type name, or its slug if more convenient), and rescheduleUrl. This event will be the trigger for a published Loops email workflow that handles pre-meeting reminder and prep emails (agenda asks, a one-pager link, a calendar reminder one hour before, and a no-show follow-up). I'll build the actual Loops workflow inside Loops; this automation just needs to keep the contact fresh and fire the event.

Run step 1 first, then step 2, sequentially. If step 1 fails, do not send the event. If step 2 fails, leave the updated contact in place and log the failure so I can retry. Both Loops endpoints should be called with the workspace's Loops.so API key.

Keep the workflow code-only with two discrete nodes (one per Loops call). No agent reasoning. The whole point is determinism: every Calendly booking results in exactly one contact upsert plus one event send, in that order.

Related prompts

Explore more prompts
Let support send one-off Loops emails without an engineerCustomer lifecycle inspector for Loops, Stripe and PostHogBuild audience segments from product usage and push to LoopsSee which Calendly meetings actually turned into revenueCalendly team workload board: see who is drowning in meetingsNo-show and cancellation recovery desk for CalendlyStop Outreach sequences when a prospect books on CalendlySend DocuSeal waivers automatically for new Calendly bookingsTurn Calendly bookings into prepped Keap records and Slack briefsPause Mailshake outreach when a prospect books on Calendly