LearnDash
Education & LMSConnect AI agents to LearnDash, the WordPress LMS plugin. Agents create courses, lessons, topics, and groups, enroll or remove learners, and read course progress so curriculum changes and enrollments never wait on manual admin.
What This Integration Enables
LearnDash looks like content and behaves like access control. The courses, lessons, topics, and quizzes are the visible half; the load bearing half is who is entitled to what, which lives in enrollments and in groups. A course operator's worst days are not content days. They are the day a paying learner cannot get into the course they bought, and the day a cohort that should have lost access still has it. This connector targets both halves through the LearnDash LMS REST API on the operator's own WordPress install.
FlowRunner agents build and update the curriculum, create courses, lessons, topics, and groups, and read the course structure with Get Course Steps. More importantly they manage entitlement: enrolling users into courses individually or in bulk, adding and removing group members, associating courses with groups, and reading a learner's completion percentage with Get User Course Progress. Because a single group operation can move access across many courses at once, the human-in-the-loop step on this integration belongs on revocation, not on publishing.
Without FlowRunner
With FlowRunner
Use Case Scenarios
Purchase to access, without the wait
A learner buys a course through Stripe. On the successful payment event, the agent resolves the buyer to a WordPress user, maps the purchased product to its course IDs, and calls Enroll User In Courses to grant access to all of them in one call. It then calls List User Courses to confirm the enrollment landed and sends the welcome message with a direct course link. The gap between paying and getting in closes to the length of one workflow run instead of the length of somebody's queue.
A cohort that stays equal to its roster
A corporate training program manages its roster in Google Sheets, and access is granted through a LearnDash group so every member picks up the whole curriculum at once. The agent reads the roster, calls List Group Users for the current membership, and computes the difference. Additions go through Add Users To Group immediately, because granting access to someone who should have it carries no risk worth pausing for. Removals do not, for reasons described below.
Completion that triggers the next thing
The agent calls Get User Course Progress on a schedule across active learners. At 100 percent it emails the certificate link through Gmail and, if the program has a next tier, calls Enroll User In Courses to open it. Learners who have not moved in three weeks are surfaced to the program manager with their completed step count and total, so the follow up is a real conversation about a specific stall rather than a generic nudge to everybody on the list.
Human-in-Loop Highlight
Remove Users From Group is a quiet call with a wide blast radius. Group membership is what grants access to every course associated with that group, so removing one person revokes all of it at once, and the call itself gives no indication of how many courses that is. Whether their progress data survives depends on the site's own LearnDash settings, which means the agent cannot promise a clean reinstatement either. A roster sync that treats removals as symmetrical with additions can strip a paying cohort of a full curriculum in a single unattended run and report success.
So the agent splits the sync. Additions run on their own. Before any removal, it calls List Group Courses for the group and posts to the program channel: "The roster no longer lists 4 members of [group]. Removing them revokes access to these 6 courses, including [course name], where two of them are past the halfway point. Remove all 4, remove a subset, or hold?" The program manager answers with the course list in front of them, and the agent removes only the confirmed names. The same rule applies to Delete Course and Delete Lesson, where the Force option skips the WordPress trash and destroys the content permanently rather than making it recoverable. Agents can keep a cohort in sync all term. Taking access away from someone who paid for it is a decision that gets a person's name on it.
Agent Capabilities
30 actionsCourses
9- List Courses Retrieves a paginated list of courses with keyword search and sorting. WordPress caps the page size at 100, so an agent pages through larger catalogs. Used to resolve a course by name before enrolling anyone.
- Get Course Retrieves a single course by ID including title, content, status, and course settings. Used to read the current state before an update or to confirm what a learner is being granted.
- Create Course Creates a course with a title and optional HTML content, publication status, and access pricing model. Used when a content pipeline produces a new course shell for a program to fill in.
- Update Course Updates an existing course, changing only the fields supplied. Used to edit a title, revise content, or move a course between draft and published independently.
- Delete Course Deletes a course, moving it to the WordPress trash by default. Enabling Force deletes it permanently and irreversibly, which is why an agent should treat Force as an explicit human instruction rather than a default.
- Get Course Steps Retrieves the ordered structure of a course: its lessons, topics, and quizzes with their hierarchy. Used to inspect how a course is organized before changing it or reporting on it.
- List Course Users Lists the users currently enrolled in a course, with pagination for large enrollments. Used to reconcile enrollment against an upstream source of truth.
- Enroll Users In Course Enrolls one or more users into a course by WordPress user ID. Existing enrollments are preserved, so the call adds rather than replaces. Used for bulk onboarding of a new intake.
- Remove Users From Course Removes one or more users from a course, unenrolling them. Progress data may be retained depending on the site's settings. Used for expirations and refunds, and gated on human confirmation.
Lessons
5- List Lessons Retrieves a paginated list of lessons, optionally filtered to a specific course, with keyword search and sorting. Used to locate lesson IDs when building or auditing a curriculum.
- Get Lesson Retrieves a single lesson by ID including title, content, and status. Used to read current content before an edit.
- Create Lesson Creates a lesson and optionally attaches it to a course, with a title, optional HTML content, and publication status. Used when new material comes out of a content workflow.
- Update Lesson Updates an existing lesson, changing only the fields supplied. Used for content corrections that should not disturb publication status.
- Delete Lesson Deletes a lesson, moving it to the WordPress trash by default. Force deletes it permanently and irreversibly.
Topics
2- List Topics Retrieves a paginated list of topics, the sub sections that sit inside lessons, with keyword search. Used to audit the depth of a curriculum.
- Create Topic Creates a topic and optionally associates it with a course and lesson, with a title, optional HTML content, and publication status. Used to build out lesson detail from a content pipeline.
Quizzes
2- List Quizzes Retrieves a paginated list of quizzes with keyword search. Used to resolve a quiz before reporting on a course structure.
- Get Quiz Retrieves a single quiz by ID including title, content, and status. Used for curriculum audits and course structure reporting.
Groups
8- List Groups Retrieves a paginated list of groups, which bundle users and courses for cohort based management, with keyword search and sorting. Used to resolve a cohort by name.
- Get Group Retrieves a single group by ID including title, content, and status. Used to confirm which cohort an agent is about to modify.
- Create Group Creates a group with a title, optional HTML content, and publication status. Used to provision a cohort at the start of a term, then populated with Add Courses To Group and Add Users To Group.
- List Group Users Lists the members of a group, with pagination. Used to diff a cohort against an external roster before syncing.
- Add Users To Group Adds one or more users to a group by WordPress user ID. Membership grants access to every course associated with the group. Used to onboard a cohort in one call.
- Remove Users From Group Removes one or more users from a group, revoking the group based access to all of its courses. The call does not report how many courses that covers, so an agent should pair it with List Group Courses and a human confirmation.
- List Group Courses Lists the courses associated with a group, with pagination. Used to measure exactly what access a group grants before anyone is added to it or removed from it.
- Add Courses To Group Associates one or more courses with a group by course ID, giving every member of the group access to the added courses. Used to extend a cohort's curriculum mid term.
Users
4- List User Courses Lists the courses a specific WordPress user is enrolled in. Used to confirm an enrollment landed and to build a learner dashboard.
- Enroll User In Courses Enrolls a single user into one or more courses at once by course ID, preserving their existing enrollments. Used as the fulfillment step after a purchase.
- List User Groups Lists the groups a specific user belongs to, with pagination. Used to answer why a learner has access to something, since group membership is an indirect grant.
- Get User Course Progress Retrieves a user's progress in a course, including completed steps, total steps, and completion percentage. Used to trigger certificates, unlock the next tier, or surface a stalled learner to a program manager.
Frequently Asked Questions
What can FlowRunner do with LearnDash?
FlowRunner agents can run List Courses, Get Course, and Create Course in LearnDash, plus 27 more actions.
Does connecting LearnDash to FlowRunner require OAuth?
No. LearnDash connects to FlowRunner with basic authentication (a username and password), no OAuth flow required.
Can LearnDash trigger a FlowRunner workflow automatically?
LearnDash doesn't currently expose triggers in FlowRunner. It connects as an action step inside workflows started by another trigger.
Start building with LearnDash
$100 in credits. No card required. Connect in minutes.