Calendly bookings into Close with Apollo enrichment and Slack prep briefs
When a prospect books on Calendly, enrich them with Apollo, sync the lead in Close, and post a Slack prep brief so the rep walks in already researched.
Build me an agent workflow that turns every new Calendly booking into an enriched Close lead and a Slack prep brief, so the rep walks into the call already researched.
Trigger: a Calendly invitee.created webhook. Use Calendly's Create Webhook Subscription so the workflow runs the moment someone confirms a booking. The payload gives me the invitee's name, email, the scheduled event time, the event type, any intake question answers, and the meeting/call link.
Step 1 — Enrich with Apollo. Call Apollo's People Enrichment using the invitee's email. Pull title, company name, industry, employee headcount, LinkedIn URL, and a one-line company description if available. If Apollo returns no match or a low-confidence match, capture that explicitly so the brief can say so instead of making things up.
Step 2 — Find or create the Close lead. Use Close's List Leads to search for an existing lead by the invitee's email first, then by company domain. If a lead exists, call Update Lead to add or refresh the enriched firmographics (title, industry, headcount, LinkedIn) on the matched contact. If no lead exists, call Create Lead with a new contact built from the Calendly invitee plus Apollo data. Either way, follow up with Create Task on that lead with the meeting date/time as the due date and the Calendly call link in the task text so it shows up in the rep's Close inbox.
Step 3 — Post a Slack prep brief. Compose a 4-6 line message and send it with the Slack Bot's Send a Message to the assigned rep's channel (the channel ID will be a workflow parameter; default to a shared #inbound-meetings channel and let me override per rep). The brief should cover: who they are (name, title, company), what the company does in one line, the likely buying motion or pain based on their title and company size, and two suggested opening questions tailored to that role. End with the meeting time and a link to the Close lead. If Apollo couldn't enrich the prospect, say so in the brief instead of inventing firmographics.
This needs to be an agent because two steps require judgement: deciding match-or-create against Close, and drafting the prep brief itself. Don't try to template the brief, it should read like a human researcher wrote it.
Make the Slack channel ID and the default Close lead status configurable parameters. Everything else should just work from the Calendly payload.
Additional information
What does this prompt do?
- Runs the moment a prospect books a meeting on Calendly, so prep happens before the rep even sees the calendar invite.
- Looks the prospect up in Apollo to pull title, company, industry, headcount, and LinkedIn so the rep has real context.
- Checks Close for an existing lead, then updates it with the enriched firmographics or creates a fresh lead if it's a new account, and attaches a task pointing at the meeting time and call link.
- Drafts a tight Slack prep brief (who they are, what their company does, likely pain, two opening questions) and posts it to the assigned rep's channel.
What do I need to use this?
- A Calendly account that can install webhooks (Standard plan and up).
- An Apollo account with API access for people enrichment. Each enrichment uses a small number of Apollo credits.
- A Close account where the agent can read, create, and update leads, contacts, and tasks.
- A Slack workspace with the General Input Slack bot installed and access to the rep channel you want briefs posted to.
How can I customize it?
- Change which Slack channel the brief gets posted to, or route briefs per rep based on the Calendly event owner.
- Edit the brief format: shorten it to two lines, expand it with recent funding news, or add a custom field like preferred icebreaker.
- Filter by event type so this only runs for demo and discovery bookings, not internal events or free intro chats.
- Tune the match logic in Close (email-only vs. email or company domain) so duplicates don't get created for the same account.
Frequently asked questions
What happens if Apollo can't find the prospect?
Will this create duplicate leads in Close?
How fast does the brief land in Slack?
Can I have it post to the assigned rep's DM instead of a channel?
Does this work for routing form bookings?
Stop having reps Google prospects five minutes before the call.
Connect Calendly, Apollo, Close, and Slack once, and Geni runs this brief every time someone books a meeting.