Pause Reply.io outreach when a prospect books on Calendly
The moment a prospect books a meeting on Calendly, mark them as Meeting Booked in Reply.io, update HubSpot, and log which sequence sourced the meeting.
Build an agent workflow that fires whenever a prospect books a meeting on Calendly, then silences any cold outreach to them in Reply.io and reflects the booking in HubSpot.
Trigger: a webhook from Calendly on the invitee.created event. The webhook payload includes the invitee's email, name, the scheduled event URI, the event type, and the meeting start time. If any of those fields are missing from the payload, call Calendly's Get Event Invitee to pull the full record before continuing.
In Reply.io, find the contact by the invitee's email. Use List Contacts (search by email) to locate the contact record and pull their contactId. If the contact is enrolled in a sequence, use Get Sequence Contacts (Extended) to identify the active sequenceId they are currently on. Then call Set Contact Status with status MeetingBooked and pass that sequenceId so Reply.io pauses every remaining step in the cadence (email, LinkedIn, calls, SMS, tasks). Note: Reply.io requires a sequenceId for sequence-scoped statuses like MeetingBooked, so the lookup is necessary, not optional.
If the email is not found in Reply.io, skip the Reply.io steps and continue. Do not fail the workflow.
In HubSpot, run Search Contacts by email to find the contact. If found, call Update Contact to record the meeting time and the Calendly event type on the contact properties. Then call Create Note associated to that contact summarizing who booked, the event type, the meeting start time in the contact's local time zone if available, and which Reply.io sequence sourced the meeting (sequence name plus id). The note should make it easy for the team to credit the right campaign for the booking.
If the contact does not exist in HubSpot, create the note attribution context in plain text within the workflow log instead, but do not create a new contact unless the operator explicitly opts into that during setup.
Keep the workflow tight: one Calendly booking in, Reply.io paused (when applicable), HubSpot updated, sequence attribution captured. No other side effects.
Additional information
What does this prompt do?
- Listens for new Calendly bookings and instantly stops further cold emails to that prospect in Reply.io.
- Marks the contact as Meeting Booked in the right Reply.io sequence so they drop out of the cadence cleanly.
- Updates the matching HubSpot contact with the meeting time and event type so your CRM mirrors reality.
- Adds a HubSpot note crediting the Reply.io sequence that sourced the meeting, so the right campaign gets the win.
What do I need to use this?
- A Calendly account where you can turn on outgoing booking notifications.
- A Reply.io account with the sequences you want to silence when meetings get booked.
- A HubSpot account where the prospect's contact record lives.
How can I customize it?
- Limit it to bookings on specific Calendly event types, such as demos or discovery calls only.
- Change the wording of the HubSpot note, for example to flag which rep owns the meeting.
- Decide what should happen if the email is not in Reply.io. The default is to still update HubSpot.
Frequently asked questions
Will this actually stop the next email in the Reply.io sequence?
What if the person who booked is not in Reply.io?
How does it know which Reply.io sequence to credit?
Does this work for any Calendly event type?
What gets written to HubSpot?
Stop emailing prospects who already said yes.
Connect Calendly, Reply.io, and HubSpot once. Every new booking pauses outreach and updates the CRM automatically.