Pause Mailshake outreach when a prospect books on Calendly

The second a prospect books on Calendly, pause them in every Mailshake campaign they are on and post the handoff to Slack so cold follow-ups stop dead.

Agentic Task
MailshakeCalendlySlack BotSalesNotifications & AlertsData Sync
PromptCreate

Build me an agent workflow that pauses a prospect in every Mailshake campaign they are on the moment they book a meeting on Calendly, and then posts a short handoff note to Slack. This is the classic "stop the cold sequence once they are already talking to us" automation.

Trigger: a Calendly webhook for the invitee.created event. When the workflow runs, the payload will contain the new invitee, including their email, name, and the event type they booked.

Steps the agent should take:

1. Read the invitee email, invitee name, and event type name out of the Calendly webhook payload.

2. Use Mailshake List Campaigns to enumerate the team's active campaigns. Then for each campaign, use Mailshake Get Recipient (with campaign ID plus the invitee's email) or Mailshake List Recipients scoped by that email to find whether the prospect is on that campaign. Collect every campaign where the recipient exists and is not already paused, along with each match's recipient ID.

3. For every match, call Mailshake Pause Recipient to pause them on that campaign. Handle the multi-campaign case: pause them on all of them, not just the first.

4. If at least one campaign was paused, post a Slack Bot Send a Message to a sales channel (I will pick the channel at setup time). The message should name the prospect (name plus email), the Calendly event type they booked, and a bulleted list of the Mailshake campaigns they were paused on so the rep has a paper trail.

5. If the invitee is not on any active Mailshake campaign, exit silently. Do not post anything to Slack in that case, so the channel does not fill up with noise from bookings that never came from outreach.

Failure and edge cases: if Mailshake returns a not_found on Get Recipient for a specific campaign that is expected, just skip it and continue. If Pause Recipient fails on one campaign, still try the others and include the failure in the Slack message so the rep knows one campaign still needs a manual pause. Do not error the whole workflow just because one Mailshake call failed.

Integrations to use: Calendly (for the incoming webhook), Mailshake (List Campaigns, Get Recipient / List Recipients, Pause Recipient), and Slack Bot (Send a Message). Prefer the bot Slack integration over user Slack, because this is a workflow notification, not a message that should look like it was sent by a specific person.

Additional information

What does this prompt do?
  • Listens for new Calendly bookings and reacts within seconds, before the next scheduled cold email goes out.
  • Finds the prospect in every active Mailshake campaign they are enrolled in and pauses them everywhere they show up.
  • Handles the messy cases quietly: multiple campaigns, no match at all, or an invitee who was never on outreach in the first place.
  • Posts a short handoff note to your sales Slack channel with the prospect, the event they booked, and which campaigns were paused, so the rep has a paper trail.
What do I need to use this?
  • A Mailshake account with API access (the API key lives under Extensions and API).
  • A Calendly account that can send booking notifications to outside tools.
  • A Slack workspace and a channel where your sales team lives.
  • A rough idea of which Mailshake campaigns are running so you can spot-check the handoff.
How can I customize it?
  • Point the Slack alert at a specific channel or DM a specific rep instead of the whole sales team.
  • Filter which Calendly event types this fires on, for example only demos and discovery calls, not every 15-minute intro.
  • Choose whether to also pause the prospect on any future campaigns, or only the campaigns they are on right now.

Frequently asked questions

What happens if the person who booked was never on a Mailshake campaign?
Nothing noisy. The workflow checks first, and if the invitee is not on any active campaign it exits quietly without pinging Slack. No false alarms in your sales channel.
What if the same person is on more than one Mailshake campaign?
They get paused on every campaign they are enrolled in, and the Slack note lists all the campaigns by name so the rep knows exactly what was stopped.
How fast does the pause happen after the meeting is booked?
Within seconds. Calendly sends the booking notification the moment the invitee confirms, and Mailshake pauses the recipient right after. Note that Mailshake can take up to a few minutes for the pause to reflect on the send calendar itself.
Will this pause the prospect on future campaigns they get added to later?
By default, no. It pauses them on the campaigns they are on at the moment they book. If you want a stronger guarantee, ask the workflow author to also add the address to your Mailshake unsubscribe list, which blocks them from any future campaign team-wide.
Can I use a different Slack channel or add a Slack thread reply instead of a new post?
Yes. Both are simple tweaks. Tell the workflow author which channel to use, whether to mention a specific rep, or whether to reply in a thread on an existing lead handoff post.

Stop sending cold follow-ups to people who already booked a call.

Connect Mailshake, Calendly, and Slack once, and Geni pauses the sequence the moment a prospect books.