LearnDash Automations
Mark a LearnDash Step Complete When a WooCommerce Product Is Purchased
When a bundle buys someone credit for an introductory lesson they don't need to sit through again, or a course a related purchase already covers, marking it complete for them saves the awkward "why do I still see this as unfinished" support ticket. Zapify does this with the A product is purchased trigger (WooCommerce) and the Mark a course, lesson or topic complete action (LearnDash). LearnDash is a Zapify PRO integration.
What this automation does
The automation is one trigger plus one action:
- Trigger: A product is purchased (
WC_PRODUCT_PURCHASED, WooCommerce) - Action: Mark a course, lesson or topic complete (
LEARNDASH_MARK_COMPLETE, LearnDash)
When the WooCommerce product you choose is purchased, Zapify marks the course, lesson, topic or quiz you specify as complete for the buyer.
Bypasses LearnDash's own prerequisites
This action calls LearnDash with $force = true, so it completes the step even if the buyer hasn't met a prerequisite, finished a required child step, or waited out a lesson timer. That's deliberate — an automation is an administrative instruction, not a learner clicking through the course themselves — but it means the step is marked done even if nothing underneath it actually happened.
Before you start
- WooCommerce and LearnDash must both be installed and active.
- Zapify PRO must be active, since LearnDash is a PRO integration.
- You need the product that should grant credit, and the ID of the course, lesson, topic or quiz to mark complete.
PRO feature
LearnDash (learndash) is a Zapify PRO integration. The Mark a course, lesson or topic complete action requires an active PRO licence. The A product is purchased trigger itself is free (WooCommerce).
How to build the automation
Step 1: Create a new automation
- In the WordPress admin, go to Zapify → Automations.
- Click Add New to open the builder.
- Name it clearly, such as Credit intro lesson on bundle purchase.

Step 2: Add the "A product is purchased" trigger
- Click Add Trigger.
- Choose WooCommerce as the app.
- Select the trigger A product is purchased.
- In the trigger's Product field, select the specific product.



Step 3: Add the "Mark a course, lesson or topic complete" action
- Click Add Action.
- Choose LearnDash as the app.
- Select Mark a course, lesson or topic complete.



Step 4: Configure the action
| Field | Required | What it does |
|---|---|---|
| Course, lesson, topic or quiz | Yes | The ID of the step to mark complete. |
| Course | No | The course the step belongs to. Leave empty and LearnDash works it out. |
| User | No | Leave empty to use the person the automation is running for — the buyer. |

Step 5: Set the steps Live and save
- Set both the trigger and the action to Live.
- Click Save.

Tokens this action makes available
| Token | What it holds |
|---|---|
| Completed step ID | The ID of the step that was marked complete. |
| Course ID | The course it belongs to. |
| User ID | The ID of the user credited. |
How to test it
- Place a test order for the selected WooCommerce product and mark it as paid.
- Check the buyer's course progress in LearnDash to confirm the step now shows complete.
- If it didn't complete, open Zapify → Logs — LearnDash reports a failure if the step doesn't belong to a course, or if another plugin's
learndash_process_mark_completefilter vetoed it.
Conclusion
With the A product is purchased trigger and the Mark a course, lesson or topic complete action, Zapify credits a buyer for progress they've effectively already made — no manual editing of their course progress. Next, enrol them on the full course as well with enrol a user on a LearnDash course when a product is purchased, or see the full picture in triggers and actions.
FAQs
Can this mark an entire course complete, not just one lesson?
Yes. Put the course's own ID in the Course, lesson, topic or quiz field.
Does this bypass LearnDash's completion rules?
Yes, by design — it completes the step even with an unmet prerequisite or an incomplete child step, because it's standing in for a purchase decision, not a learner's own click.
Is this feature free?
The A product is purchased trigger is free. The Mark a course, lesson or topic complete action is part of the LearnDash PRO integration, so it needs an active PRO licence.
What if the completion fails?
The action reports LearnDash's own reason — commonly that the step ID doesn't belong to a course, or another plugin blocked it — visible in Zapify → Logs.
Do I need to write any code?
No. Everything is configured in the Zapify visual builder.