tr Skip to content

Connect WooCommerce and LearnDash

Sell courses through your WooCommerce checkout and let FlowMattic handle access in LearnDash. Paid orders enroll the buyer, refunds and lapsed subscriptions take access away, and course completions can hand back a coupon for the next course. Both plugins run on the same WordPress site, so nothing leaves it.

51 triggers 63 actions 7 example workflows 1 ready-made template Unlimited runs

Try a pairing

When this happens in WooCommerce43 triggers

Do this in LearnDash6 actions

1. TriggerNew Order Created
2. ActionEnroll Into Course

When WooCommerce fires New Order Created, FlowMattic runs Enroll Into Course in LearnDash with the data from that event.

You build this in the FlowMattic workflow builder on your own site. See the setup steps

WooCommerce and LearnDash workflows you can build

Each one uses only triggers and actions the two integrations ship today, plus FlowMattic's own tools. Where the library has a ready-made template, import it instead of building from scratch.

WooCommerce app icon LearnDash app icon Ready-made template

Enroll the buyer in a LearnDash course when they order

Each course is a WooCommerce product. When the order comes in, the buyer is enrolled into the matching course, so they can start learning without waiting for you.

New Order CreatedEnroll Into Course

View the template
WooCommerce app icon LearnDash app icon

Give a course bundle by adding buyers to a group

Put the bundle's products in one WooCommerce category. A purchase from that category adds the buyer to a LearnDash group that holds every course in the bundle.

Product Category PurchasedAdd to Group

WooCommerce app icon LearnDash app icon

Take course access away when an order is refunded

A refund in WooCommerce removes the student from the course they paid for, so refunded buyers do not keep the lessons.

Order Status Set to RefundedRemove From Course

WooCommerce app icon LearnDash app icon

Match group access to a membership subscription

For course memberships sold as WooCommerce Subscriptions, a Router reads the new status. Active subscribers are added to the members' group and cancelled or expired ones are removed.

WooCommerce Subscription Status UpdatedRouterAdd to GroupRemove From Group

WooCommerce app icon LearnDash app icon

Sell cohorts as variations and enroll into the right one

Run each start date as a variation of one product. A Router reads the variation bought and enrolls the student into that cohort's course.

Variable Product PurchasedRouterEnroll Into Course

WooCommerce app icon LearnDash app icon

Reward a finished course with a coupon for the next one

When a student completes a course, create a single-use WooCommerce coupon and email them the code, so the next purchase comes from someone already engaged.

Course CompletedCreate CouponEmail (SMTP)

WooCommerce app icon LearnDash app icon

Give loyal customers a bonus course

When a customer's total spend passes the amount you set, enroll them into a bonus course as a thank-you, with no coupon code to manage.

Customer Total Spend ThresholdEnroll Into Course

Set up: enroll buyers on new orders

When you are done, a new order for your course product enrolls the buyer in the LearnDash course it sells.

  1. Check both plugins

    WooCommerce and LearnDash run on the same site as FlowMattic, so there is no account to connect for either one.

  2. Start with New Order Created

    Create a workflow with the WooCommerce New Order Created trigger and place a test order so FlowMattic captures the order data.

  3. Keep course orders only

    Add a Filter that checks the product in the order, so orders for other products do not enroll anyone.

  4. Enroll the buyer

    Add LearnDash Enroll Into Course, map the customer's user ID, pick the course, test the step and switch the workflow on.

Import the ready-made template Beginner, about 5 min to set up
Enroll the buyer in a LearnDash course when they order Template
  1. WooCommerce app icon 1. Trigger in WooCommerce New Order Created
  2. LearnDash app icon 2. Action in LearnDash Enroll Into Course

    Fields mapped from the earlier steps (a typical setup)

    From WooCommerceTo LearnDash
    Customer user IDUser
    Line item product IDFilter condition
    Order IDKept in the run log
Built on the FlowMattic canvas. Test each step with real data, then switch the workflow on.

Triggers and actions in this pair

A trigger starts a workflow. An action is something FlowMattic does in the app as a step.

Good to know

  • Enroll Into Course needs a WordPress user. Guest checkouts create none, so require an account at checkout or create one first with WooCommerce Create a Customer.
  • Some payment methods create the order before money arrives. If you take bank transfers or cash on delivery, start from Order Paid or Order Status Set to Completed instead.
  • A refunded order that held several courses needs Remove From Course for each one, or a group removal if you sold them as a bundle.
WooCommerce app icon

WooCommerce

Integration page

Triggers (43)

  • New Product CreatedWhen a new product is created
  • Product UpdatedWhen a product is updated
  • Product DeletedWhen a product is moved to trash
  • Restore ProductWhen a product is restored from trash
  • New Order CreatedWhen a new order is created
  • Order UpdatedWhen an order is updated
  • Order DeletedWhen an order is moved to trash
  • Restore OrderWhen an order is restored from trash
  • New Coupon CreatedWhen a new coupon is created
  • New Customer CreatedWhen a new customer profile is created
  • Product Added to CartWhen user adds product in cart
  • Product Removed from CartWhen a product is removed from cart
  • Order Status Set to PendingTriggers when an order status is set to pending
  • Order Status Set to FailedTriggers when an order status is set to failed
  • Order Status Set to On-holdTriggers when an order status is set to on-hold
  • Order Status Set to ProcessingTriggers when an order status is set to processing
  • Order Status Set to CompletedTriggers when an order status is set to completed
  • Order Status Set to RefundedTriggers when an order status is set to refunded
  • Order Status Set to CancelledTriggers when an order status is set to cancelled
  • WooCommerce Subscription CreatedTriggers when a subscription is created after a customer purchases a subscription product or products
  • WooCommerce Subscription Status UpdatedTriggers immediately after a subscription's status has been changed
  • Product ViewedTriggers when a product is viewed on frontend
  • Order Note AddedTriggers when a note is added to an order
  • Customer Order Count ThresholdTriggers when customer reaches specified completed order count
  • Customer Total Spend ThresholdTriggers when customer reaches specified spending amount
  • Product Category PurchasedTriggers when a product from specific category is purchased
  • Product PurchasedTriggers when a specific product is purchased
  • Variable Product PurchasedTriggers when a variable product is purchased
  • Variable Subscription PurchasedTriggers when a variable subscription product is purchased
  • Order PaidTriggers when an order payment is completed
  • Product ReviewedTriggers when a product review is submitted
  • Product RefundedTriggers when a product refund is created
  • Coupon UpdatedTriggers when a coupon is updated
  • Coupon DeletedTriggers when a coupon is deleted
  • Coupon RestoredTriggers when a coupon is restored from trash
  • Customer UpdatedTriggers when a customer profile is updated
  • Customer DeletedTriggers when a customer is deleted
  • Product Goes Out of StockTriggers when a product goes out of stock
  • Product Back in StockTriggers when a product comes back in stock
  • Product Low StockTriggers when a product reaches low stock threshold
  • Product Variation Goes Out of StockTriggers when a product variation goes out of stock
  • Product Variation Back in StockTriggers when a product variation comes back in stock
  • New Cart AbandonmentTriggers when a customer abandons their cart without completing checkout

Actions (57)

  • Create New ProductCreate a new product in WooCommerce
  • Create Variable ProductCreate a new variable product in WooCommerce
  • Create Product VariationCreate a new product variation in WooCommerce
  • Update ProductUpdate existing product in WooCommerce
  • Create New OrderCreate a new order in WooCommerce
  • Create CouponCreate a new coupon
  • Apply CouponApply a coupon to the cart
  • Add Email(s) to CouponAdd one or more emails to a coupon
  • Add Product to CartAdd products to the cart
  • Remove Product from CartRemoves the given product from the cart
  • Create a CustomerCreate a new customer profile
  • Get Customer by IDGet a customer's profile by their ID
  • Get Customer by EmailGet a customer's profile by their email
  • Get Order by IDGet an order's details by its ID
  • Get Orders by EmailGet all orders by email
  • Create AttributeCreate a custom product attribute
  • Add Attribute TermsAdd terms to the product attribute taxonomy
  • Add Product AttributesAdd attributes to the existing product
  • Update Product AttributesUpdate product attributes with new values and remove previous values
  • Get Product Sales CountGet number of sales for the product by ID
  • Add Order NoteAdd a note to the order
  • Get Product by IDGet product details by ID
  • Get Product by SKUGet product details by SKU
  • Get Orders of UserList all completed orders of a user by email or ID
  • Change Order StatusChange the status of an order
  • Get Customer Total SpentGet total amount spent by a customer
  • Get Customer Order CountGet total number of orders placed by a customer
  • Get Customer Last OrderGet the last order placed by a customer
  • Delete CouponDeletes an existing coupon
  • Retrieve Sales ReportGet total sales, refunds, net sales, and order count for a selected date range
  • Retrieve Top Sellers ReportGet list of top selling products with quantity sold
  • Retrieve Reviews TotalsGet review totals by rating
  • Retrieve Products TotalsGet product totals by type
  • Retrieve Customers TotalsGet customer totals report
  • Retrieve Coupons TotalsGet coupon totals by discount type
  • Retrieve Orders TotalsGet order totals by status
  • Retrieve a List of RefundsGet list of refunds for an order
  • Fetch Coupon DetailsRetrieves coupon details by coupon code or ID
  • Add/Update Custom FieldsAdds or update custom fields on specific order
  • Create Product ReviewCreate a new product review
  • Create Product TagCreate a new product tag
  • Create Product CategoryCreate a new product category
  • Delete CustomerDelete a customer account
  • Delete Product TagDelete a product tag
  • List All OrdersRetrieve a list of all orders
  • Retrieve Product by Name/SlugGet product details by product name or slug
  • Update CouponUpdate an existing coupon
  • Update CustomerUpdate customer details
  • Get All CustomersRetrieve a list of all customers
  • Get All ProductsRetrieve a list of all products
  • Get Product VariationGet variation details by product and variation ID
  • List All Order NotesRetrieve all notes for a specific order
  • Update Product VariationUpdate an existing product variation
  • Send Abandoned Cart EmailSend a recovery email to customers with abandoned carts
  • Check Cart StatusCheck if a cart is abandoned, recovered, or active
  • Update Product PriceManage the regular price or sale price of an existing Product or Variation by SKU or ID
  • Update Product Stock QuantityManage the stock quantity and stock status of an existing Product or Variation by SKU or ID
LearnDash app icon

LearnDash

Integration page

Triggers (8)

  • Course CompletedTriggers when a course is completed
  • Enrolled Into a CourseTriggers when a user is enrolled into a new course
  • Added Into a GroupTriggers when a user is added to group access
  • Essay SubmittedTriggers when a new essay is submitted
  • Group CompletedTriggers when a user completes all courses in a group
  • Lesson CompletedTriggers when a lesson is completed
  • Quiz CompletedTriggers when a quiz is completed by student
  • Topic CompletedTriggers when a topic is completed

Actions (6)

  • Add to GroupAdd user to group(s).
  • Remove From GroupRemove from group.
  • Enroll Into CourseEnrol user into a course.
  • Remove From CourseRemove the student access from LearnDash course(s).
  • Mark Course as CompleteMark the course as complete for user.
  • Reset Course ProgressReset the given course progress for user.

Why run this pair with FlowMattic

WooCommerce and LearnDash connect through FlowMattic on your own site, with no separate automation account in the middle and no charge per run.

Student data stays on one site

Orders, user accounts and course progress move between two plugins on your own WordPress install, with no outside service in the middle.

Launch day costs the same

Runs are unlimited, so a course launch that brings hundreds of orders in an hour runs every enrollment on the plan you already have.

Access follows the money both ways

The same workflows that grant access on payment take it away on refunds and cancelled subscriptions, which keeps your course roster honest.

Common questions

Can WooCommerce enroll students into LearnDash automatically?

Yes. Use a WooCommerce order trigger, such as New Order Created or Order Paid, followed by LearnDash Enroll Into Course. A Filter on the product keeps other orders out.

What happens if the buyer checked out as a guest?

LearnDash can only enroll a WordPress user. Turn on account creation at checkout, or add a WooCommerce Create a Customer step before the enrollment so the buyer has an account.

Can I remove access when a subscription ends?

Yes. Start from WooCommerce Subscription Status Updated, check the new status with a Router or Filter, and run Remove From Course or Remove From Group for cancelled and expired subscriptions.

Can I reset a student's progress when they buy a retake?

Yes. Sell the retake as its own product, start from Product Purchased for that product, and run Reset Course Progress followed by Enroll Into Course if needed.

Can finishing a course give the student a discount?

Yes. Start from LearnDash Course Completed, create a coupon with WooCommerce Create Coupon, then email the code. Add Email(s) to Coupon can limit it to that student's address.

Did not find your answer? You can browse the help center or ask us directly.

Start automating WooCommerce and LearnDash

Install FlowMattic, connect both accounts and import a template. Every run stays on your own server.

30-day money-back guarantee Unlimited workflows and runs Self-hosted

Reviewed 27 Oct 2026. The example workflows are written with AI from the real triggers and actions of both integrations and checked against them. WooCommerce integration 2.2.2, LearnDash integration 1.0.4.