Stop Outreach sequences when a prospect books on Calendly

The moment someone books a meeting on Calendly, finish every active Outreach sequence they are in and tell the owner in Slack.

Agentic Task
OutreachCalendlySlack BotSalesMeeting WorkflowsNotifications & Alerts
PromptCreate

When someone books a meeting through Calendly, I want their active Outreach sequences to stop immediately, so we never keep cold emailing a prospect who already agreed to talk. Trigger this on a Calendly webhook for the invitee.created event, set up with Calendly's Create Webhook Subscription operation so new bookings arrive in real time. From the webhook payload take the invitee's email address, their name, the event type they booked, and the meeting start time. If the payload does not carry everything I need, fill the gaps with Get Scheduled Event, or Get Event Invitee and List Event Invitees for the invitee record.

Find the matching prospect in Outreach using List Prospects filtered on that email address, and include the prospect's owner on the same call so I have the owner's name and email without a second lookup. Email matching is the whole game here. Match on the exact invitee address, and if Outreach returns more than one prospect for it, which happens with duplicate records, handle every one of them rather than picking the first.

For each matched prospect, use List Sequence States to pull every enrollment that prospect has. Only act on the ones that are currently active. For each active enrollment, call Pause, Resume, or Finish Sequence State and finish it. Leave enrollments that are already paused or finished exactly as they are, never resume anything, and never add anyone to a sequence. Keep track of the sequence name behind each enrollment so I can name it in the notification, using List Sequences if I need to resolve a name from an id.

Then post a short Slack message to the prospect owner with the Slack Bot. Look up the owner's Slack account from their Outreach email using Look Up User by Email, then direct message them with Send a Message. Keep it to a few lines: who booked, when the meeting is with the date, time, and timezone exactly as Calendly reports it, the event type they booked, and a plain list of the sequences that were stopped. If I cannot resolve the owner's Slack account, post the same message to a fallback sales channel instead of dropping it.

If no prospect in Outreach matches the invitee email, do not fail quietly. Post to Slack that someone booked a meeting and we could not find them in Outreach, with their name, email, and meeting time, since it usually means they booked from a different address than the one we are sequencing and someone should link it up by hand. Do the same when a prospect matches but has no active enrollments: one line saying nothing needed stopping is more useful than silence.

If finishing one enrollment fails, keep going with the rest and report the failures in the Slack message rather than aborting the run. This should also catch prospects who were only secondary recipients on multi-recipient emails, which the built-in Outreach setting skips.

What does this prompt do?

  • Watches for new Calendly bookings and picks up the invitee's email address the second the meeting is confirmed.
  • Finds the matching prospect in Outreach and ends every sequence they are actively enrolled in, so no cold follow-up lands after they already agreed to talk.
  • Leaves enrollments that are already paused or finished exactly as they are, and never re-enrolls anyone.
  • Sends the prospect owner a short Slack note naming the sequences that were stopped and when the meeting is booked for, and flags bookings with no matching prospect instead of failing silently.

What do I need to use this?

  • A Calendly account with the booking links your team shares with prospects
  • An Outreach login that can view prospects and manage sequence enrollments
  • A Slack workspace where our bot can message your reps
  • Prospect email addresses in Outreach that mostly match what people type into Calendly, since the workflow tells you about the ones that do not

How can I customize it?

  • Choose which booking types count, so internal interviews or support calls do not stop a sales sequence
  • Pause sequences instead of finishing them if your team prefers to pick them back up after a no-show
  • Send the alert to a shared sales channel instead of a direct message to the prospect owner

FAQs

Does this stop every sequence the prospect is in, or just one?
Every one they are actively enrolled in. Prospects often sit in more than one cadence at a time, and stopping only the first is how an unwanted email still goes out.
Outreach can already mark prospects finished when a meeting is booked. Why use this?
Outreach's built-in setting only applies to the primary prospect on multi-recipient emails, so anyone who was a secondary recipient stays in sequence. This runs off the Calendly booking itself, so it catches those people too.
What if someone books with a different email than the one we are sequencing?
You get a Slack message saying a meeting was booked and no matching prospect was found, with their name, email, and meeting time, so a rep can find the right record instead of the sequence quietly rolling on.
Will it touch sequences we paused on purpose?
No. Paused and finished enrollments are left alone, and nothing is ever resumed or re-added.
How quickly does it run after someone books?
Within seconds. Calendly tells us about the booking as it happens rather than on a schedule.

Related templates

Review desk for portal forms your team still fills in by hand

Stage a batch of filings overnight, then approve each completed form from a screenshot before anything is ever submitted.

Kernel
Google Sheets
Slack Bot
App
Client-by-client cold email pipeline review for agencies

Pick a client and a date range to see sent, replies, meetings booked and the real deal value your cold email produced, campaign by campaign.

Instantly
HubSpot
Slack Bot
App
Audit what Intercom's Fin AI actually resolved before you pay

Review every conversation Fin closed as resolved, judge which ones actually stuck, and see what the gap is worth against your bill.

Intercom
Google Sheets
Slack Bot
App
One triage console for every Jira service desk queue

Merge your IT, HR and Facilities queues into one list ranked by SLA time left, then reply, change status and escalate without ever opening Jira.

Jira Service Management
Jira
Slack Bot
App
Run your Webflow site translations from one review desk

See every page's translation status at a glance, edit translations side by side with the English, and publish only what your team has actually approved.

Webflow
JigsawStack
Slack Bot
+1
App
Legal contract intake desk your teams use instead of email

One place for sales and ops to request an NDA or vendor agreement, watch its status, and let legal launch the contract in a single click.

Ironclad
Slack Bot
General Input Database
App

Stop cold emailing people who already said yes.

Every booking on your calendar quietly ends the outbound sequences behind it, and your rep hears about it in Slack.