Sync Kajabi purchases to HubSpot with VIP Slack alerts

Every 30 minutes, push new Kajabi buyers into HubSpot as enriched customer contacts and ping Slack only when a VIP purchase comes through.

Agentic Task
KajabiHubSpotSlack BotSalesOperationsData SyncNotifications & Alerts
PromptCreate

Every 30 minutes, run a cron-triggered agent that syncs new Kajabi purchases into HubSpot and posts a Slack alert only when a VIP customer comes through. Kajabi is not in the poll providers catalog, so cron is the right trigger.

Each run should do the following:

1. Use Kajabi List Purchases to pull every purchase created since the last successful run. Sort by created_at descending and keep a high-water mark plus the set of purchase IDs already processed in the workflow state, so the same enrollment never gets handled twice even if it shows up again in a later page.

2. For each new purchase, look up the buyer in HubSpot with Search Contacts by email. If a contact already exists, use Update Contact to refresh the lifecycle stage to customer, set the latest Kajabi offer name and purchase amount in cents on the contact, and increment a running kajabi_lifetime_value_cents property by the purchase amount. If no contact exists, use Create Contact with email, first name, last name, lifecycle stage = customer, and those same Kajabi properties. Treat kajabi_lifetime_value_cents as a single source of truth for total Kajabi spend by that buyer.

3. Use HubSpot Create Note on that contact summarizing what they just bought (offer name, amount in dollars, purchase date) and, if available, a short list of any prior Kajabi purchases on file. The note should give a CSM instant context the next time they open the contact.

4. Classify the purchase as VIP if any of these are true: the amount in cents is above a configurable threshold (default 50000 cents = $500), the buyer has at least one prior Kajabi purchase (repeat customer), or the offer name matches a configurable VIP keyword list (defaults: coaching, mastermind, vip, 1:1, private).

5. Only for VIP purchases, use Slack Bot Send a Message to post a short alert to a configurable Slack channel with the customer name, email, offer, amount in dollars, the reason it qualified as VIP (high-ticket, repeat buyer, or matched keyword), and a clickable deep link to the HubSpot contact record. Routine non-VIP purchases should sync silently into HubSpot and post nothing to Slack.

Make the cron interval, the VIP cents threshold, the VIP offer keywords, and the Slack channel all easy inputs to change later without editing the workflow.

Additional information

What does this prompt do?
  • Every 30 minutes, brings new Kajabi buyers into HubSpot as fully filled-out customer contacts with their latest offer, purchase amount, and running lifetime value.
  • Adds a fresh CRM note on every purchase summarizing the offer, amount, date, and any prior Kajabi history so a CSM has instant context when they open the contact.
  • Sends a short Slack alert only when a VIP purchase comes through, defined as a high-ticket order, a repeat customer, or a coaching or mastermind product.
  • Stays quiet on routine purchases so your team's Slack stays focused on the buyers that actually need a personal touch.
What do I need to use this?
  • A Kajabi account with the Public API enabled (included on the Pro plan, or available as a $25/month add-on).
  • A HubSpot login with permission to read, create, and update contacts and add notes.
  • A Slack workspace and a channel where you want VIP buyer alerts to land.
How can I customize it?
  • Change the dollar threshold that decides what counts as a high-ticket VIP purchase.
  • Edit the list of offer keywords (for example coaching, mastermind, vip, private) that should always trigger a Slack alert.
  • Pick which Slack channel the alerts post to, or send them as a DM to a specific person on your CSM team.
  • Change how often the sync runs, for example every 15 minutes during a launch week and back to 30 minutes after.

FAQs

Will this create duplicate contacts if the same customer buys twice?
No. Before creating anything, the workflow looks up the buyer in HubSpot by email. If they already exist, their contact is updated and the running Kajabi lifetime value adds up across purchases instead of creating a duplicate.
Why every 30 minutes instead of right away?
Kajabi does not currently push a live update when a purchase happens, so the workflow checks on a schedule. Thirty minutes keeps the Slack alerts feeling timely without overloading your Kajabi connection. You can shorten it during a launch or stretch it back out the rest of the time.
What counts as a VIP purchase?
By default, a purchase is VIP if it is above $500, the buyer has purchased from you before, or the offer name contains words like coaching, mastermind, or vip. All three rules are configurable, so you can tune them to match how you price and package your offers.
Will Slack get spammed if a hundred people buy during a launch?
No. Only VIP purchases trigger a Slack message. A flash sale on a low-ticket offer to first-time buyers will sync everyone to HubSpot quietly and post nothing to Slack. Big-ticket and repeat buyers still get their own alert.
Does this work on HubSpot Free?
Yes. Contacts, custom contact properties, and notes are available on every HubSpot tier including Free. The workflow uses standard contact fields plus one custom property to track Kajabi lifetime value.

Related templates

Reconcile Stripe payouts against your Mercury deposits

Every weekday morning, check that every Stripe payout actually landed in your Mercury account, and hear about it only when one did not.

Stripe
Mercury
Slack Bot
Agentic Task
Catch social posts stuck in approval before they miss their slot

Every weekday morning, get a Slack digest of the social posts still waiting on sign-off, with the ones about to go live flagged first.

Hootsuite
Slack Bot
Agentic Task
Turn last week's support tickets into a Miro affinity map

Every Monday morning, last week's support tickets become a themed Miro board, so your product team can see what customers actually complain about.

Zendesk
Miro
Slack Bot
Agentic Task
Chase unsigned contracts and nudge stalled signers daily

Every weekday we find the contracts still waiting on a signature, resend the ones going stale, and post a prioritized chase list to Slack.

Documenso
Gmail
Slack Bot
Agentic Task
Filter spam from Netlify forms before it reaches your CRM

Every new form submission gets judged real or junk, sorted by intent, and only genuine sales leads land in HubSpot with an email brief waiting for your team.

Netlify
HubSpot
Gmail
Agentic Task
Turn today's Miro boards into written Notion summaries

Every weekday at 6pm, any board your team edited today becomes a readable Notion write up, so the people who missed the session can catch up.

Miro
Notion
Slack Bot
Agentic Task

Turn every Kajabi sale into a CRM-ready customer.

Connect Kajabi, HubSpot, and Slack once, and Geni keeps your CRM clean and your team alerted only when a VIP buyer comes through.