Daily coaching call prep cards in Slack from Kajabi and Calendly
Every weekday at 6am, post one Slack prep card per Calendly coaching call with the client's Kajabi purchase history, current offers, and three tailored talking points.
Build me an agent workflow that runs on a cron every weekday at 6am in my local timezone and posts one prep card per coaching call to my Slack channel #coaching-prep. The point is that I walk into every 1:1 already knowing who's on the call, what they've bought from me, and what I should bring up.
Step 1 — pull today's meetings from Calendly. Use Calendly's List Scheduled Events to get every meeting scheduled for the current day (min_start_time = start of today, max_start_time = end of today, status = active) for my Calendly user. For each event, call List Event Invitees to get the invitee's name, email, and any answers they filled out on the booking form. If there are zero meetings today, exit cleanly without posting anything to Slack.
Step 2 — enrich each invitee against Kajabi. For every invitee email, call Kajabi's List Contacts with filter[email] set to that email. If a contact exists, follow the customer relationship on that contact to Get Customer Details, then call List Customer's Offers to pull every offer the customer currently has access to. Capture purchase history, currently owned offers and courses, and any notes attached to the contact or customer record. If the email does not match a Kajabi contact, don't fail — flag them as 'no Kajabi record, treat as a new lead' and continue.
Step 3 — compose one prep card per meeting. Each card should include: who's on the call (name, meeting time, and meeting type), what they currently own (offers and courses from Kajabi), a short one-line read on where they seem to be in the customer journey (e.g. new lead, first-purchase buyer, active student, high-value repeat buyer), two or three adjacent offers they haven't bought yet that would be natural next steps given what they own, and three tailored talking points I can bring up on the call. Keep it tight — this channel needs to stay scannable when 4-6 calls stack up in a day.
Step 4 — post to Slack. Use the Slack bot Send a Message action to post each prep card as its own message in #coaching-prep. Use Slack mrkdwn formatting (bold section headers, bullet points), and order the messages by meeting start time so the earliest call is at the top of the channel that morning. If any single invitee enrichment fails, still post that card with whatever context you have plus a short note that Kajabi lookup failed — don't skip the meeting.
Guardrails: read-only across Calendly and Kajabi, no writes anywhere except sending Slack messages. If Calendly returns no meetings for today, exit silently. If Kajabi's Public API isn't reachable at all (auth or 5xx), still post the Calendly meetings with a note that Kajabi enrichment was unavailable this morning.
Additional information
What does this prompt do?
- Every weekday at 6am, pulls your Calendly meetings scheduled for the day and posts one prep card per call in the Slack channel you choose.
- Cross-references each invitee's email against your Kajabi account so the card shows what they own, what they've bought before, and any notes on file.
- Suggests two or three adjacent offers they haven't purchased yet, plus a one-line read on where they seem to be in your customer journey.
- Ends every card with three tailored talking points, and skips the digest cleanly on days with no calls so the channel stays quiet.
What do I need to use this?
- A Kajabi account with the Public API enabled (Pro plan or the API add-on)
- A Calendly account with the meetings you want prepped
- A Slack workspace and the channel where the prep cards should land
How can I customize it?
- Move the send time earlier or later, or run only on the days you actually coach
- Point the cards at a different Slack channel, a private channel, or a DM to yourself
- Adjust the card format, tone, or how 'adjacent offer' is defined for your catalog
Frequently asked questions
What if a client on my calendar isn't in Kajabi yet?
What happens on days with no bookings?
Can it post to a private channel or DM me directly instead?
Will this work if I run multiple coaching offers or courses?
Can I change what shows up on the card or how the talking points read?
Related templates
Walk into every coaching call already prepped.
Connect Kajabi, Calendly, and Slack once. Every weekday at 6am, Geni posts one prep card per call with the client context you actually need.