View as Markdown
Moodle icon

Moodle ACTION

Enroll a User in a Course

Manually enrolls a user into a specified course with a given role and optional start and end dates. See the documentation
  • Action
  • Writes data
  • API key
  • SDK
  • MCP

IMPLEMENTATION

Call this tool

Connect a user's Moodle account once, then configure and run Enroll a User in a Course from your backend or agent.

import { PipedreamClient } from "@pipedream/sdk"

const pd = new PipedreamClient({
  projectId: process.env.PIPEDREAM_PROJECT_ID!,
  clientId: process.env.PIPEDREAM_CLIENT_ID!,
  clientSecret: process.env.PIPEDREAM_CLIENT_SECRET!,
  projectEnvironment: "production",
})

const result = await pd.actions.run({
  id: "moodle-enroll-user-in-course",
  externalUserId: "{external_user_id}", // any stable ID for this user in your system
  configuredProps: {
    moodle: { authProvisionId: "apn_xxxxxxx" },
    userId: "User ID",
    courseId: "Course ID",
  },
})

console.log(result)

SCHEMA

Inputs

Pipedream supplies the connected account. Your application provides the operation-specific values below. Dynamic inputs are resolved against that user's account.

Enroll a User in a Course inputs
Property Type Description
userId User ID string
The ID of the user
Required Dynamic
courseId Course ID string
The ID of the course
Required Dynamic
roleid Role ID integer
The ID of the role to assign to the user in the course (e.g. 5 for student)
Required
timestart Start Date integer
The enrollment start date as a Unix timestamp
Optional
timeend End Date integer
The enrollment end date as a Unix timestamp
Optional

REFERENCE

Tool details

Behavior hints are published with the component in the Pipedream registry and surface as MCP tool annotations, so an agent can reason about a tool before it calls it.

Registry key
moodle-enroll-user-in-course
Version
0.0.2
App
Moodle
Authentication
API key
Read-only
No
Destructive
No
Open world
Yes