---
title: External Course Provider
slug: external-course-provider
createdAt: 2025-03-17T19:45:04.132Z
---

ampEducator supports integration with **Brightspace, Canvas, and Moodle**, allowing you to sync data between ampEducator and the external platform. This integration simplifies the management of **student enrollment and grades**, ensuring consistency across both systems.

![](https://api.archbee.com/api/optimize/dAaYdF15xm67t_NLKoQQv/zKg8_1NRYQjGbF6cSKUvT_screen-shot-2025-03-20-at-21202-pm.png)

## Selecting an External Course Provider

To begin integrating an external course provider with ampEducator, navigate to **Institution Config / Courses / External Course Provider**. In the **Course Provider&#x20;**&#x64;ropdown menu, choose from the supported external course providers: **Brightspace**, **Canvas**, or **Moodle**.&#x20;

![](https://api.archbee.com/api/optimize/dAaYdF15xm67t_NLKoQQv/feY8VZCJ55WqGh5G0gYNA_screen-shot-2025-03-20-at-21106-pm.png)

When you select a provider, the instructions and available fields will adjust accordingly.

## Configuring Brightspace

The Brightspace integration allows ampEducator to sync **course enrollment** and **grade data** between both platforms. Once **Brightspace** is selected as the external course provider in **Institution Config / Courses / External Course Provider**, the full setup instructions and required fields will be displayed within ampEducator.

![](https://api.archbee.com/api/optimize/dAaYdF15xm67t_NLKoQQv/PntAasLFVgU56JIwfwGZZ_screen-shot-2025-03-20-at-22054-pm.png)

### Step 1: Set Up Your Brightspace Account

To enable integration, you need to configure settings within your Brightspace account.

- Create an **admin user** in Brightspace for ampEducator to use when accessing your Brightspace data.
- Under **Manage Extensibility / OAuth 2.0**, add a **new application** with the following details:&#x20;
  - **Application Name:** ampEducator
  - **Redirect URI:** This will be provided within ampEducator based on your institution’s unique domain.
  - **Scope:** core:\*:\* grades:\*:\* quizzing:\*:\* users:\*:\*
  - **Access Token Lifetime:** 3600
  - **Prompt For User Consent:** Yes
  - **Enable Refresh Tokens:** Yes
- Copy the **Client ID** and **Client Secret** generated for the OAuth app.

### Step 2: Enter Brightspace Credentials in ampEducator

After setting up the OAuth app in Brightspace, return to ampEducator to complete the configuration. Under the instructions, check **Yes** next to **Brightspace Integration** to reveal the required fields.&#x20;

![](https://api.archbee.com/api/optimize/dAaYdF15xm67t_NLKoQQv/O_H_a5xcU54PuA5ow2gy8_screen-shot-2025-03-20-at-22412-pm.png)

Then, enter the following details:

- **Brightspace URL** – Enter the URL for your Brightspace account. This should include http\:// or https\:// and must point to your Brightspace domain (e.g., https\://\[yourinstitution].brightspace.com).
- **Client ID** – Enter the **Client ID** from the OAuth app created in Brightspace.
- **Client Secret** – Enter the **Client Secret** from the OAuth app.

Click **Configure** to proceed. This will redirect you to the Brightspace website, where you will need to log in.

### Step 3: Set Organizational Unit Types

After successfully authenticating, you need to define how courses from Brightspace will be organized in ampEducator.

In Brightspace, courses are grouped into different **organizational unit types**, such as departments, course categories, or programs. In ampEducator, you must select the appropriate **Course Category** and **Course Offerings** to ensure courses sync correctly between the two platforms.

This step helps ampEducator recognize which Brightspace courses belong to which categories, ensuring that enrollments and grades are properly matched. Once this is set, the integration is complete, and ampEducator will be able to sync course enrollments and grades with Brightspace.

## Configuring Canvas

The Canvas integration allows ampEducator to sync **course enrollment** and **grade data** between both platforms. Once **Canvas** is selected as the external course provider in **Institution Config / Courses / External Course Provider**, the full setup instructions and required fields will be displayed within ampEducator.

![](https://api.archbee.com/api/optimize/dAaYdF15xm67t_NLKoQQv/IhJbU8rq2Me1MPC9zBViA_screen-shot-2025-03-20-at-23709-pm.png)

### Step 1: Set Up Your Canvas Account

To enable the integration, you must first generate an **access token** in Canvas that ampEducator will use to access course and student data.

- In Canvas, navigate to **Admin / Settings / Admins** and create an **admin user** for ampEducator.
- Log in with the newly created admin user.
- Go to **Accounts / Settings / Approved Integrations** and generate an **Access Token**.
- Copy the generated **Access Token**, as you will need to enter it in ampEducator.

### Step 2: Enter Canvas Credentials and Test the Connection

Return to ampEducator and complete the configuration. Under the instructions, check **Yes** next to **Canvas Integration** to reveal the required fields.

![](https://api.archbee.com/api/optimize/dAaYdF15xm67t_NLKoQQv/j8g9Qt0vBxwoHaANAnhjV_screen-shot-2025-03-20-at-23845-pm.png)

Enter the following details:&#x20;

- **Canvas URL** – This should include **http\://** or **https\://** and must point to your Canvas domain (e.g., **https\://\[yourinstitution].instructure.com**).
- **Access Token** – Paste the **Access Token** generated in Canvas.

If you want to limit syncing to only available courses in Canvas, check **Yes** next to **Only Available Courses**. If left unchecked, all courses will be included in the sync.

Once all details are entered, click **Test and Save** to verify the connection. If successful, ampEducator will display **Configured: YES**, indicating that the integration is active.

## Configuring Moodle

The Moodle integration allows ampEducator to sync **course enrollment** and **grade data** between both platforms. Once **Moodle** is selected as the external course provider in **Institution Config / Courses / External Course Provider**, the setup instructions and required fields will be displayed within ampEducator.

![](https://api.archbee.com/api/optimize/dAaYdF15xm67t_NLKoQQv/vs6kt3aWaqoz1786bSN97_screen-shot-2025-03-20-at-24830-pm.png)

### Step 1: Set Up Your Moodle Account

Before configuring Moodle in ampEducator, you must enable API access and generate an access token in Moodle.

**Enable REST Web Services**

- In Moodle, go to **Site Administration / Plugins / Manage Protocols** and enable REST Web Services.

**Create an External Service for ampEducator**

- Navigate to **Site Administration / Plugins / External Services** and create a new service called "ampEducator Service."

**Add Required Web Service Functions**

- Add the following functions to the ampEducator Service in Moodle:&#x20;
  - core\_webservice\_get\_site\_info
  - core\_course\_get\_categories
  - core\_course\_get\_courses\_by\_field
  - core\_course\_get\_course\_module
  - core\_enrol\_get\_enrolled\_users
  - core\_grades\_update\_grades
  - core\_user\_get\_users
  - core\_user\_create\_users
  - core\_user\_delete\_users
  - enrol\_manual\_enrol\_users
  - enrol\_manual\_unenrol\_users
  - gradereport\_user\_get\_grade\_items

**Generate an Access Token**

- Navigate to **Site Administration / Plugins / Web Services / Manage Tokens**.
- Create a new token for the ampEducator Service and copy the generated access token.

**Find the Student Role ID**

- Go to **Site Administration / Users / Permissions / Define Roles / Student Role** in Moodle.
- Look at the URL in your browser’s address bar. It will look something like this: https\://\[yourinstitution].moodlecloud.com/admin/roles/define.php?action=view&**roleid=5**
- The role ID is the number at the end of the URL (in this case, 5). If unsure, try using 5, as it is typically the default.

### Step 2: Enter Moodle Credentials and Test the Connection

Return to ampEducator and complete the configuration. Under the instructions, check **Yes** next to Moodle Integration to reveal the required fields.

![](https://api.archbee.com/api/optimize/dAaYdF15xm67t_NLKoQQv/y2tXArQIbjpG1SPs4O6ek_screen-shot-2025-03-20-at-30038-pm.png)

Enter the following details:&#x20;

- **Moodle URL** – This should include http\:// or https\:// and must point to the base of your Moodle installation (e.g., https\://\[yourinstitution].moodle.com).
- **Access Token** – Paste the access token generated in Moodle.
- **Student Role ID** – Enter the student role ID found in Moodle.
- **Student Username** – Choose whether ampEducator should use a student’s email or student ID when creating new users in Moodle.

By default, Moodle usernames must be lowercase and can only contain alphanumeric characters, underscores, hyphens, periods, and the @ symbol. This could cause issues if using student IDs as usernames. Refer to Moodle’s documentation for details.

Once all details are entered, click **Test and Save**. If the configuration is successful, ampEducator will display "Configured: YES." If unsuccessful, view the log for details and contact [support@ampeducator.com](mailto\:support@ampeducator.com) if needed.
