FlowRunner
PricingContact
Theme
Start Free

Moodle

CMS & Content

Connect AI agents to your Moodle LMS to create user accounts, provision courses, enrol learners, and pull rosters, assignments, and grades through Moodle Web Services. Useful for onboarding learners from signup systems and syncing grade data into reporting tools.

9 actions API key available
Moodle website ↗ Platform Documentation ↗ Capability data verified 2026-07-27
A new-hire record arrives from the HR system with a start date and a role
Search Users looks for an existing account matched on email so nobody gets a duplicate identity
Create User provisions the account with username, password policy, and profile fields
The agent maps the hire's role to the required compliance courses from the training matrix
Enrol User places the learner into each required course as a Student
The training coordinator reviews any enrolment that requests a role above Student before it is granted
Get User Grades runs on a schedule to track completion against the deadline
Overdue learners and their managers get a reminder, and the coordinator gets the weekly exception list

What This Integration Enables

Moodle runs the training, but somebody has to run Moodle, and at most organizations that somebody is an administrator doing enrolments by hand between other jobs. This connector gives the admin work to agents through Moodle Web Services. FlowRunner agents create accounts, provision courses, enrol learners with the right role, and pull rosters, assignments, and grades into the systems where compliance and reporting actually happen, against any Moodle site with web services enabled. - Onboard learners from signup forms and HR systems: account, enrolment, welcome, done - Provision courses on demand from an external catalog or spreadsheet - Sync rosters and grade data out of Moodle into reporting, CRM, and notification tools - Reconcile learners across platforms by email or username - Audit course structure, assignments, and due dates without clicking through every course Moodle's role model is exactly where FlowRunner's [human-in-the-loop](/concepts/human-in-the-loop) gate earns its place: enrolling a Student is routine, but granting a Teacher or Manager role is an access decision, and agents on this page treat it as one.

Without FlowRunner

Onboarding by ticket Every new hire means a helpdesk request to create the account and click through enrolments
Rosters exported by hand Completion reporting means logging into Moodle, running the gradebook, and pasting into a spreadsheet
Role grants nobody remembers Teacher and Manager roles accumulate over years with no record of who granted them or why

With FlowRunner

Onboarding as a pipeline Signup in the HR system becomes account, enrolments, and welcome message without a ticket
Grades flow out on a schedule Rosters and completion data sync to reporting tools automatically
Elevated roles are decisions Anything above Student passes through a named approver, with the reason logged

Use Case Scenarios

Signup to first login without a ticket

A registration lands through [Typeform](/integrations/typeform). The agent calls Search Users on the email, finds nothing, and runs Create User. Enrol User places the learner into the onboarding course as a Student, and [Gmail](/integrations/gmail) sends credentials and the start-here link. When the same email already exists, the agent skips creation and enrols the existing account, which is the difference between automation and duplicate identities. The whole path runs in under a minute, so a learner who registers at 9 pm is working through module one at 9:01 instead of waiting for Monday's admin batch.

The compliance completion sweep

Every Monday, Get Enrolled Users pulls the roster for each mandatory course and Get User Grades reads each learner's completion state and score. The results append to [Google Sheets](/integrations/google-sheets) as the audit-ready record. Learners past the due date get an email nudge; their managers get a digest in [Slack](/integrations/slack). List Assignments keeps the deadline data honest by reading due dates from the courses themselves rather than a stale copy in a spreadsheet.

Provisioning a training program from a catalog

A new client engagement needs a dedicated course shell. The agent calls Create Course with the program name, a unique short name, and the right category, then Get Course Contents to verify the template sections landed. Instructors are enrolled with the appropriate role after coordinator sign-off, learners follow as Students from the client's roster file, and the kickoff summary posts to the program channel with the course link.

Human-in-Loop Highlight

Enrol User takes a role ID, and the difference between 5 and 3 is the difference between joining a course and controlling it: an editing Teacher can change content and alter every student's grades. An agent automating enrolments at volume must never make that grant on its own judgment. So on this page, any enrolment above Student stops and asks: "Request to enrol d.reyes as editing Teacher (role 3) in 'Safety Certification 2026', source: program kickoff sheet, row 14. This grants grade-editing power over 240 enrolled learners. Approve?" The training coordinator approves or downgrades the role, and the grant is logged with their name on it. Create User sits behind the same discipline in bulk runs, because a mis-mapped import creates real accounts with real credentials, and unwinding a hundred of them is a manual job Moodle gives you no shortcut for.

Agent processes routinely
Detects exception requiring judgment
Clear match Continues automatically
Ambiguous Routes to human via preferred channel
Human decides
Agent resumes with decision

Agent Capabilities

9 actions

Courses

3
  • List Courses Lists all courses the token can see, or a specific subset by ID, with full name, short name, category, visibility, and format. The discovery step for catalog syncs and audits.
  • Get Course Contents Retrieves a course's full structure: sections and the modules within them, assignments, resources, forums, quizzes, with names, types, and links. Used to verify templates and audit content.
  • Create Course Creates a course with full name, unique short name, and category, plus optional format, summary, and visibility. The provisioning step for on-demand programs.

Users

2
  • Search Users Searches users by a single field-value criterion such as email, username, or ID number. The dedup check that runs before every account creation.
  • Create User Creates a user account with username, password, name, and email, optionally setting authentication method and location. Returns the new user's ID.

Enrolment

2
  • Get Enrolled Users Returns a course's enrolled users with profile fields and their roles within the course. The roster pull behind completion reporting.
  • Enrol User Manually enrols a user into a course with a specified role. Requires manual enrolment enabled on the course. Role grants above Student pass through this page's human gate.

Assignments

1
  • List Assignments Retrieves the assignments in one or more courses with names, due dates, grade settings, and intro text. The source of truth for deadline tracking.

Grades

1
  • Get User Grades Returns a user's grade items and grades in a course, raw and formatted, with percentage and feedback. The completion signal that drives reminders and compliance reports.

Frequently Asked Questions

What can FlowRunner do with Moodle?

FlowRunner agents can run List Courses, Get Course Contents, and Search Users in Moodle, plus 6 more actions.

Does connecting Moodle to FlowRunner require OAuth?

No. Moodle connects to FlowRunner with an API key, no OAuth flow required.

Can Moodle trigger a FlowRunner workflow automatically?

Moodle doesn't currently expose triggers in FlowRunner. It connects as an action step inside workflows started by another trigger.

Start building with Moodle

$100 in credits. No card required. Connect in minutes.