# 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.

- Workflow type: agent
- Services: Calendly, Keap, Slack Bot
- Categories: Sales, Operations
- Published: 2026-08-04

## What it does

- 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 you'll need

- 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

## Prompt

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.

## How to customize

- 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.

## 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?

## FAQ

### 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.

Use this prompt in General Input: https://www.generalinput.com/prompts/turn-calendly-bookings-into-prepped-keap-records-and-slack-briefs