---
title: "Moodle Integration"
description: "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."
url: https://flowrunner.ai/integrations/moodle
date_modified: 2026-08-04T10:04:16-07:00
---

# Moodle

[Education & LMS](https://flowrunner.ai/integrations/category/education-lms)

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.

[Verified](https://flowrunner.ai/integrations/verified "What does verified mean?") · 9 actions · API key · available

[Moodle website](https://moodle.org/) · [Platform Documentation](https://docs.moodle.org/dev/Web_services) · Capability data verified 2026-07-27

1.  A new-hire record arrives from the HR system with a start date and a role
2.  Search Users looks for an existing account matched on email so nobody gets a duplicate identity
3.  Create User provisions the account with username, password policy, and profile fields
4.  The agent maps the hire's role to the required compliance courses from the training matrix
5.  Enrol User places the learner into each required course as a Student
6.  The training coordinator reviews any enrolment that requests a role above Student before it is granted
7.  Get User Grades runs on a schedule to track completion against the deadline
8.  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](https://flowrunner.ai/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](https://flowrunner.ai/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](https://flowrunner.ai/integrations/gmail-service) 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](https://flowrunner.ai/integrations/google-sheets) as the audit-ready record. Learners past the due date get an email nudge; their managers get a digest in [Slack](https://flowrunner.ai/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.

**Work at Moodle?** This integration exposes Moodle to AI agents on every FlowRunner plan, including through MCP, at no cost to you. [See what FlowRunner offers integration partners](https://flowrunner.ai/integrations/partners), including how to keep this page current.

---
Markdown version of https://flowrunner.ai/integrations/moodle. Site index: https://flowrunner.ai/llms.txt
