Moodle
This guide gives Moodle administrators the step-by-step instructions to integrate Moodle with GradeChum using web services. Follow the steps below, one after another, to complete the setup.
- Enable web services
- Purpose: Use Moodle's built-in API functions that the integration needs.
- Steps: 1. Go to Site Administration > Advanced Features. 2. Make sure that Enable web services is checked.
- Enable the REST protocol
- Purpose: Let third-party apps such as GradeChum access your Moodle REST API server.
- Steps: 1. Go to Server > Web Services > Manage protocols. 2. Make sure that the REST protocol is enabled by toggling its eye icon.
- Install the required plugins
- Plugins and their functions:
1. GradeChum TokenManagement (Google Drive link): manages user web service tokens by extending their validity and deleting them upon logout.
2. GradeChum TeacherFunctions (Google Drive link): contains custom functions to sync assignments between Moodle and GradeChum.
- Steps: 1. Go to Site Administration > Plugins > Install plugins. 2. Upload and install the zip file of each plugin.
- Configure custom services
- Purpose: Create the services that let GradeChum work with Moodle for logging in and syncing data.
- Steps:
1. Go to Site Administration.
2. In the search bar, type External Services.
3. Under Custom Services, click Add.
4. Create the two services below, then continue with the next step:
- GradeChum Student Service
- Name: GradeChum Student Service
- Short Name: gradechum_student_service
- Enabled: ✓
- Required Capability:
mod/assign:submit - GradeChum Teacher Service
- Name: GradeChum Teacher Service
- Short Name: gradechum_teacher_service
- Enabled: ✓
- Required Capability:
moodle/course:manageactivities
- Add API functions to the custom services
- Purpose: Define the API functions each custom service can use.
- API functions:
1. GradeChum Student Service
gradechum_delete_tokengradechum_refresh_tokencore_webservice_get_site_infocore_enrol_get_users_courses2. GradeChum Teacher Servicegradechum_delete_tokengradechum_refresh_tokengradechum_create_assignmentgradechum_update_assignmentcore_webservice_get_site_infocore_enrol_get_users_coursescore_course_get_courses_by_fieldcore_user_get_users_by_fieldmod_assign_save_gradesenrol_manual_enrol_usersenrol_manual_unenrol_userscore_enrol_get_enrolled_users_with_capability
- Steps: 1. Go to Site Administration > Plugins > Web services > External services. 2. Select each service you created and add its functions listed above.
- Define roles
- Purpose: Give the roles the capabilities the integration needs.
- Steps to edit roles:
1. Edit the Student role
- Go to Site Administration > Users > Permissions > Define roles.
- Select the Student role and edit it as follows:
- System context: Check System under Context types.
- Capabilities:
1. Allow Create a web service token.
- Description: Enables logging in through GradeChum.
- Risk management: Tokens are only created for a specific service. They are encrypted and handled securely. 2. Allow Use REST protocol.
- Description: Enables web service functions.
- Edit the Teacher role
- Go to Site Administration > Users > Permissions > Define roles.
- Select the Teacher role and edit it as follows:
- System context: Check System under Context types.
- Capabilities:
1. Allow Create a web service token.
- Description: Enables logging in through GradeChum.
- Risk management: Tokens are only created for a specific service. They are encrypted and handled securely. 2. Allow Use REST protocol.
- Description: Enables web service functions.
- Assign system roles
- Purpose: Assign users to their system roles so the integration works for them.
- Steps:
1. Go to Site Administration > Users > Permissions > Assign system roles.
2. Assign each user their role:
- Students: Assign the Student role.
- Teachers: Assign the Teacher role.
- Send GradeChum the data it needs
- Purpose: Set up the connection from GradeChum's servers to Moodle.
- Steps: 1. Go to Site Administration > Users > Permissions > Define roles. 2. Click the Student role. 3. Copy the URL. 4. Send the URL to info@gradechum.com. 5. Once you receive confirmation that everything is set up correctly, the integration is complete.
And that's how you integrate Moodle with GradeChum! If you run into any issues, check the API documentation on your Moodle site or email us at info@gradechum.com. Next, your teachers can connect to LMS from their GradeChum accounts.
Last updated September 21, 2026
