Catch fake Calendly bookings before your AE wastes the slot

When someone books a meeting on Calendly, verify their email and flag low-intent bookings in your CRM so reps walk in prepared, not blindsided.

Agentic Task
CalendlyZeroBounceAttioSlack BotSalesOperationsLead EnrichmentNotifications & AlertsMeeting Workflows
PromptCreate

Build me an agent workflow that triages every new Calendly booking so my AEs do not waste demo slots on fake or low-intent invitees.

Trigger: Calendly webhook on the invitee.created event. When Calendly fires the webhook, the agent should run with the invitee's name, email, the meeting time, the event type, and the user who owns the calendar.

Step 1. Check the email with ZeroBounce. Call ZeroBounce Validate Email on the invitee's email address. Then call ZeroBounce Get Activity Data on the same address to see if the mailbox has shown recent inbox activity. Keep both results.

Step 2. Decide a risk level. Mark the booking as high risk if any of the following are true: the email status from Validate Email is invalid, the sub-status flags it as disposable or role_based, or Get Activity Data returns no recent activity at all. Otherwise mark it as low risk.

Step 3. Update Attio either way. Use Attio Assert a Record (Upsert) on the People object, matching on email_addresses, to create or update the person with their name, email, and a booking_risk attribute set to either high or low. Always do this step so the AE has CRM context when they open the meeting.

Step 4. If the booking is high risk, also do these two things. First, use Attio Create a Task linked to that person record, assigned to the Attio user that matches the Calendly meeting owner's email, with a short title like "Confirm Calendly booking with <invitee> before prep" and a deadline 30 minutes before the meeting. Second, use Slack Send a Message (via the Slack Bot integration) to ping the AE who owns the calendar. Pick the channel by mapping the Calendly meeting owner to a Slack user and DMing them, or post into a shared #booking-triage channel if I configure one. The Slack message should say who booked, the meeting time, the event type, and one short line explaining which ZeroBounce signal raised the flag (for example: "flagged as disposable" or "no recent inbox activity").

If the booking is low risk, do not send any Slack message and do not create a task. The silent Attio upsert in step 3 is enough.

Use an agent because the Slack copy and the reason line should read naturally and reflect whichever ZeroBounce signal actually fired, instead of a templated one size fits all message.

What does this prompt do?

  • Runs the second a new Calendly invitee schedules a meeting, before the slot ever shows up on a rep's calendar with no context.
  • Checks the invitee's email against ZeroBounce to see if it is valid, disposable, role based, or has shown recent inbox activity.
  • Writes a booking risk score onto the matching person record in Attio so the AE has CRM context the moment they open the meeting.
  • If the email looks fake or low intent, creates an Attio task for the meeting owner and pings them in Slack with the risk reason.

What do I need to use this?

  • A Calendly account that can send webhooks when a new invitee is created.
  • A ZeroBounce account with email validation credits.
  • An Attio workspace where you track people and tasks.
  • A Slack workspace where your sales team gets alerts.

How can I customize it?

  • Change the risk rules. Add disposable domains you care about, treat role based addresses as high risk only on enterprise event types, or require a minimum activity window.
  • Change who gets pinged. Route alerts to a single sales ops channel, DM the AE who owns the calendar, or split by event type.
  • Change the CRM fields you write. Push the risk reason into a note, a custom attribute, or a list entry instead of a single tag.

FAQs

Will this cancel the meeting automatically?
No. The agent never touches the booking itself. It only writes context into Attio and sends a heads up in Slack so a human can decide whether to confirm, reschedule, or drop the meeting.
What counts as a high risk booking?
By default, the agent flags invalid emails, disposable inboxes, role based addresses like info@ or sales@, and mailboxes with no recent inbox activity. You can tighten or loosen those rules in the prompt.
Does it run on every Calendly meeting?
Yes, every new invitee triggers the check. If you only want it on certain event types, like demos or enterprise calls, you can scope the agent to those event types when you set it up.
What happens if the email looks legitimate?
The agent silently upserts the person in Attio with a low risk tag so the rep still gets CRM context for the meeting. No Slack alert and no task are created.
Can it work with a different CRM?
Yes. The same pattern works with HubSpot, Salesforce, or Pipedrive. Swap the Attio steps for your CRM when you generate the workflow.

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 letting fake bookings burn your AEs.

Connect Calendly, ZeroBounce, Attio, and Slack once, and Geni triages every new meeting the moment it is booked.