Auto-enroll Stripe buyers in your Skool course

By General Input

When a customer pays through Stripe, send them a Skool invite and unlock the matching course in seconds, with no manual member provisioning.

Integrations

  • Stripe
  • Skool

Type

Deterministic Code

Categories

  • Operations
  • Sales

Build a deterministic code workflow that auto-enrolls Stripe buyers into my Skool community and unlocks the course they paid for. No LLM reasoning is needed anywhere in this pipeline. Payment in, invite plus unlock out.

Trigger: a Stripe webhook on a successful payment event. Default to checkout.session.completed, but make it easy to switch to charge.succeeded if I don't use Stripe Checkout. The workflow should ignore any other Stripe event types.

Configuration the user needs to supply once: a mapping table from Stripe product ID (or price ID) to one or more Skool course IDs. Treat the keys as a simple lookup; do not infer anything fuzzy. Example shape: { "prod_ABC123": ["course_skool_xyz"], "prod_BUNDLE": ["course_skool_xyz", "course_skool_pqr"] }.

Steps in order:

1. Receive the Stripe webhook. Pull the customer email (from customer_details.email on a checkout session, or by looking up the customer on a charge) and the purchased product or price ID. For checkout sessions, expand line_items so the product/price ID is available. For charges, use the price/product on the associated invoice line item or subscription.

2. Look up the product or price ID in the configured mapping table. If there is no match, write a log entry that says the event was skipped along with the product ID and the customer email, then exit successfully. Do not send any invite. Do not unlock any course.

3. If there is a match, call the Skool Invite Member action with the customer email so the buyer receives the join email for the community.

4. For every mapped Skool course ID, call the Skool Unlock Course action with the customer email and that course ID so access is granted the moment they accept the invite. If the mapping returns multiple courses, call Unlock Course once per course.

5. Log a success entry with the customer email, the Stripe product ID, and the list of Skool course IDs that were unlocked.

Error handling: if Skool Invite Member fails because the email is already a member, treat that as success and still run Unlock Course. If Unlock Course fails because the member hasn't accepted the invite yet, that's expected on a brand new invite. The Skool action handles the email-based lookup; do not try to wait or retry from inside the workflow. Surface any other errors so I can see them in the run log.

Integrations to use: Stripe (webhook trigger on a successful payment event) and Skool (Invite Member and Unlock Course actions). Do not pull in any other services unless I add them later.

Related prompts

Explore more prompts
Let support send one-off Loops emails without an engineerCustomer lifecycle inspector for Loops, Stripe and PostHogMonth-end Stripe finance pack, stored and shared in SlackRank your Intercom queue by what each customer pays youCatch the trials quietly dying before the card gets chargedWork every open Stripe dispute from one chargeback war roomLook up any customer's support, billing and CRM in one pageInvestor update studio that builds your board deck monthlySell and invoice Ghost newsletter sponsor slots in one boardSupport console that pairs Gladly chats with orders and refunds