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

Build a credential rotation checklist when someone leaves

When someone leaves, we check which shared passwords they used in their final months and post a ranked rotation list to your security channel.

1Password
Rippling
Slack Bot
+1
Agentic Task
Weekly Amazon S3 bucket security audit posted to Slack

Every Monday, check every S3 bucket for public exposure, missing encryption and weak backup settings, then get the risks ranked in Slack.

Amazon S3
Slack Bot
Google Sheets
Agentic Task
Log Agorapulse social conversations to HubSpot contacts

Twice every weekday, the conversations from your social inbox land on the right HubSpot contact timelines, with a Slack recap for sales.

Agorapulse
HubSpot
Slack Bot
Agentic Task
Clean up HubSpot contacts from your Amazon SES suppression list

Every morning, find the addresses that hard bounced or filed a spam complaint, update the matching HubSpot contacts, and post a short Slack recap.

Amazon SES
HubSpot
Slack Bot
Agentic Task
Draft polite follow-ups for emails that never got a reply

Every weekday at 4pm, spot the threads that went quiet, stage a ready-to-send nudge in your mailbox, and get a ranked Slack recap.

Aurinko
Google Sheets
Slack Bot
Agentic Task
Replay failed SQS messages when a bug fix is merged

When you merge a fix in GitHub, this agent checks the matching dead-letter queue, replays the failed messages, and reports back on the pull request and in Slack.

Amazon SQS
GitHub
Slack Bot
Agentic Task

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.