Turn Calendly bookings into prepped Keap records and Slack briefs

When someone books on Calendly, we update and tag their Keap record, add a prep task, and send the rep a Slack brief that flags existing customers.

Agentic Task
CalendlyKeapSlack BotSalesOperationsMeeting WorkflowsLead EnrichmentData Sync
PromptCreate

Watch Calendly for new scheduled events and turn each new booking into a fully prepared Keap record plus a Slack prep brief for the rep who owns the call. Use a Calendly poll trigger on new scheduled events so this runs within minutes of someone booking.

When a booking comes in, use Calendly's Get Event Invitee to pull the invitee's full name, email address, the event type they booked, and their answers to the booking questions. Those intake answers are the most valuable part of the brief, so keep them close to verbatim rather than paraphrasing them away.

Before writing anything into Keap, work out whether this person is already known to us. Use Keap's List Contacts filtered by their email address. If a contact comes back, use Keap's List orders to pull their order history so we know whether they are an existing paying customer and what they have already bought. Treat anyone with at least one past order as an existing customer.

Then upsert the invitee into Keap with Create or Update a Contact, matched on email address so we never create a duplicate. Note that contact upsert is a Keap v1 capability: v1 resource ids are integers and v2 resource ids are strings, so do not carry an id returned by one version into a call against the other.

Apply a Keap tag reflecting the meeting type using Apply Tag, for example "Discovery Call Booked" for a discovery event type versus "Demo Booked" for a demo. If the invitee turned out to be an existing customer with past orders, still apply the meeting type tag but skip any new lead tag.

Write the intake answers onto the record with Create a Note, so the booking questions and their answers live on the contact where the rep will actually look for them. Include the event type and the scheduled time in that note.

Add a Keap task with Create a Task due the morning of the call, assigned to the call owner, spelling out what to prepare. Make the task specific to this booking rather than generic, for example reviewing a particular answer they gave or pulling their account's order history.

Finally, send the assigned rep a Slack message using Slack Bot's Send a Message containing a short prep brief. Cover who booked and their company or role if the booking answers reveal it, what they said they want, whether they are an existing Keap contact with past orders, and the two or three questions worth asking on this specific call. If the invitee is an existing customer, say so prominently at the very top of the brief along with what they have already bought, so nobody runs a cold discovery script at a current customer. Keep the brief short enough to read on a phone on the way into the meeting.

Example output

EXISTING CUSTOMER: 3 past orders in Keap Jordan Reyes (jordan@brightpath.io) booked a Demo for Thu Aug 6, 10:00am. What they said they want: "We are outgrowing our current setup and need to see how reporting works for a 40 person team." History: Keap contact since March. Past orders: Starter Plan (x2) and an Onboarding Package. Worth asking: 1. What specifically is breaking in reporting now that you are at 40 people? 2. Who else needs to see those reports? 3. Is this an expansion of the Starter Plan or a replacement for it?

Additional information

What does this prompt do?
  • Picks up every new Calendly booking within minutes and pulls the invitee's name, email, meeting type, and the answers they gave on your booking form.
  • Creates or updates their Keap contact matched on email address, tags them by meeting type, saves their booking answers as a note, and adds a task due the morning of the call.
  • Checks whether they are already a customer with past orders, and if they are, flags it at the top of the brief and skips the new lead tag.
  • Sends the assigned rep a short Slack prep brief: who booked, what they said they want, their history with you, and two or three questions worth asking.
What do I need to use this?
  • A Calendly account, ideally with a few booking questions on your event types so there are intake answers to capture
  • A Keap account where your contacts, tags, notes, and tasks live
  • A Slack workspace, plus the channel or person who should receive each prep brief
  • The tag names you already use for each meeting type, for example Discovery Call Booked and Demo Booked
How can I customize it?
  • Change which tag maps to which meeting type, and add new tags as you create new event types.
  • Send briefs to a shared sales channel instead of a direct message, or route each one to whoever owns the booking.
  • Adjust when the prep task is due and what it asks the rep to prepare before the call.

FAQs

Will this create duplicate contacts in Keap?
No. Everyone is matched on their email address first, so an existing contact gets updated in place and only genuinely new people are created.
What happens when an existing customer books a call?
They get called out at the very top of the brief, along with what they have already bought, and the new lead tag is skipped. The idea is that no rep should ever run a cold discovery script at a current customer.
How soon after someone books does the brief arrive?
Calendly is checked for new bookings on a short repeating cycle, so the Keap record and the Slack brief are usually ready within a few minutes of the booking.
Does this work if my booking form has no custom questions?
Yes. You still get the contact created or updated, the meeting type tag, the task, and the brief. The brief is just thinner because there are no intake answers to summarize.
Can it treat different meeting types differently?
Yes. The meeting type drives which tag gets applied, so a discovery call and a demo can be tagged and prepped differently.

Related templates

Chase past-due JobNimbus invoices with escalating emails

Every weekday, find every unpaid JobNimbus invoice, email each customer one reminder that gets firmer as it ages, and post a receivables summary to Slack.

JobNimbus
Gmail
Slack Bot
Agentic Task
Flag at-risk students in Canvas before they fall behind

Every weekday at 7am, your active courses are checked for missing work, silent logins, and slipping grades, with a ranked list sent to your advising channel.

Canvas
Google Sheets
Slack Bot
Agentic Task
Catch Jira service desk tickets before their SLA runs out

Every hour, find the tickets closest to breaching, leave a nudge on each one, and post a ranked at-risk list to your support channel.

Jira Service Management
Slack Bot
Agentic Task
Send Canvas students a kind nudge about missing work

Every weekday afternoon, each student who is behind gets a warm, personal message in their Canvas inbox listing exactly what they owe.

Canvas
Slack Bot
Agentic Task
Weekly Canvas grading backlog report in Slack and Sheets

Every Monday at 8am, see exactly which assignments have work waiting, sorted worst first, posted to Slack and logged to a spreadsheet.

Canvas
Slack Bot
Google Sheets
Deterministic Code
Revoke Bitwarden access when someone leaves in BambooHR

Every weekday morning we compare your password vault against your HR records and suspend access for anyone who has already left.

Bitwarden
BambooHR
Slack Bot
Agentic Task

Stop walking into booked calls cold.

Every Calendly booking lands in Keap tagged, noted, and tasked, with a prep brief already waiting in Slack.