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.

Agentic Task
KajabiCalendlySlack BotSalesCustomer SupportMeeting WorkflowsDaily Digests
PromptCreate

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?
The card still posts, with a clear 'no Kajabi record, treat as a new lead' note so you're not caught out on the call.
What happens on days with no bookings?
Nothing. The workflow checks Calendly, sees zero meetings, and skips quietly so your channel stays scannable.
Can it post to a private channel or DM me directly instead?
Yes. When you set it up, point it at any channel, private channel, or your own DM.
Will this work if I run multiple coaching offers or courses?
Yes. The prep card lists every offer the client currently owns and pulls adjacent ones from your full catalog.
Can I change what shows up on the card or how the talking points read?
Yes. You can edit the card layout, the tone, and the instructions that shape the three talking points at the bottom.

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.