D2L Brightspace

Automates course provisioning, grade tracking, and student enrollment workflows by connecting your LMS data to external administrative tools.

Try D2L Brightspace in Ceven

Ask Ceven anything
Standard

Why use Ceven?

  1. AI native D2L Brightspace integration

    • Describe the outcome and Ceven picks the right D2L Brightspace calls, fills the parameters, and checks the result.
    • Structured, agent friendly tool schemas so each call runs reliably instead of by guesswork.
    • Rich coverage for reading, writing, and querying your D2L Brightspace data, across all 45 of its actions.
  2. Managed auth

    • Built in OAuth with automatic token refresh and rotation.
    • One place to manage, scope, and revoke D2L Brightspace access.
    • Per user and per environment credentials instead of shared keys.
  3. Agent optimized design

    • Actions are tuned from real success and error rates so reliability climbs over time.
    • Full execution logs so you always know what ran in D2L Brightspace, when, and on whose behalf.
    • The agent pauses and asks when D2L Brightspace is unclear instead of plowing ahead.
  4. Enterprise grade security

    • Fine grained access so you control which agents and people can reach D2L Brightspace.
    • Least privilege by default, read scopes first and only the writes a workflow needs.
    • A full audit trail of every D2L Brightspace action to support review and sign off.

Supported tools

Every action Ceven's agents can run on D2L Brightspace, and when to use it.

Create course offering
Use this when you need to launch a new section of a course for a specific semester or cohort.
Create user
Provision a new student or instructor account within the LMS.
Get grade objects
Pull all current grade items for a specific course to analyze class performance.
Create quiz
Build a new assessment with specific attempt limits and password protections.
Get quiz attempts
Pull a list of all student attempts for a specific quiz to check for completion.
Get users
Search for student or staff records using IDs or names to verify enrollment.
Update course offering
Modify course dates or codes for an existing offering to reflect schedule changes.
Get quiz statistics
Pull statistical data for a grade item to identify difficult assessment questions.
Create grade object
Add a numeric or pass fail grade item to a course gradebook.
Delete course
Remove a course offering from the system after a term ends.
Get enrolled roles
Pull a list of all roles assigned within a specific organizational unit.
Create quiz category
Organize quizzes into specific categories for better gradebook weighting.
Get course offering
Pull the full details and configuration of a specific course section.
Delete user
Remove a user account from the system during offboarding.
Copy Role
Creates a new role copied from an existing role in d2l brightspace. notes: - the new role will not have any capabilities upon the old role from which it was created - some capabilities will be copied for the new role (e.g., if old role user
Create Course Template
Creates a new course template in d2l brightspace. notes: - course template code limitations: max 50 chars, no special chars: \ : * ? " < > | ' # , % & - path: leave empty if path enforcement is enabled requires oauth2 scope: - orgunits:cour
Delete Course Template
Deletes a course template from d2l brightspace. requires oauth2 scope: - orgunits:course:delete available in api versions 1.46+ (lms v20.24.3+)
Delete Grade Object
Deletes a specific grade object from an org unit. requires oauth2 scope: - grades:gradeobjects:delete available in api versions 1.75+ (lms v20.24.5+)
Delete Quiz
Deletes a quiz from d2l brightspace. requires oauth2 scope: - quizzing:quizzes:delete available in api versions 1.75+ (lms v20.24.5+)
Delete Quiz Category
Deletes a quiz category from d2l brightspace. requires oauth2 scope: - quizzing:quizzes:delete available in api versions 1.75+ (lms v20.24.5+)
Delete User Demographics
Deletes one or more of a particular user's associated demographics entries. notes: - if entry ids are provided, only those specific entries will be deleted - if entry ids are not provided, all demographics entries for the user will be delet
Get Course Template
Retrieves a course template from d2l brightspace. returns a coursetemplate json block with the template's information. available in api versions 1.46+ (lms v20.24.3+)
Get Course Schema
Retrieves the list of parent org unit type constraints for course offerings. returns a json array of schemaelement blocks defining the allowed parent organizational unit types for courses. available in api versions 1.46+ (lms v20.24.3+)
Get Course Template Schema
Retrieves the list of parent org unit type constraints for course offerings built on this template. returns a json array of schemaelement blocks defining the allowed parent organizational unit types for course templates. available in api ve
Get Current User Information
Retrieves the current user context's user information from d2l brightspace. requires one of these oauth2 scopes: - users:profile:read - users:own profile:read available in api versions 1.46+ (lms v20.24.3+)
Get Grade Access
Retrieves a list of users with access to a specified grade. returns an objectlistpage containing useraccess blocks. can optionally filter by specific user id or role id. requires oauth2 scope: - grades:access:read available in api versions
Get Grade Object
Retrieves a specific grade object for a particular org unit. returns a gradeobject json block containing the grade object's properties. requires oauth2 scope: - grades:gradeobjects:read available in api versions 1.75+ (lms v20.24.5+)
Get Grade Setup
Retrieves the grades configuration for an org unit. returns a gradesetupinfo json block containing the grades setup information. requires oauth2 scope: - grades:gradesettings:read available in api versions 1.75+ (lms v20.24.5+)
Get Grade Statistics
Retrieves statistics for a specified grade item. returns a gradestatisticsinfo json block containing statistical data about the grade item. requires oauth2 scope: - grades:gradestatistics:read available in api versions 1.75+ (lms v20.24.5+)
Get Org Unit Demographics
Retrieves all demographics entries for users enrolled in a particular org unit. notes: - filters are applied cumulatively (all conditions must match) - when using id lists in filters, matching any id in the list satisfies that filter - for

30 actions · scroll to see them all

Frequently asked questions

Ceven operates using the OAuth2 permission model defined by D2L. When you connect your account, you must ensure the connected app has the specific scopes required for the actions you want to automate. For example, creating users requires the users userdata create scope, while deleting courses requires the orgunits course delete scope. If an agent attempts an action and receives a forbidden error, it means the administrative account used for the connection lacks the necessary role permissions within Brightspace itself. You can adjust these permissions in the Brightspace admin panel by modifying the role associated with the API user to ensure it has the correct capabilities for the requested organizational units.
Yes, Ceven can create quizzes and organize them into categories. Use the create quiz action to define the number of attempts allowed and set passwords if needed. You can then use the create quiz category action to ensure the quiz is filed correctly for grading purposes. For highly complex quizzes with many branching questions, we recommend creating a quiz template first and then using the agent to duplicate or provision that template across multiple course offerings. This ensures consistency across different sections of the same course while reducing the number of individual API calls required to build each assessment from scratch.
D2L Brightspace has strict validation rules for course codes that the agent must follow. Course codes are limited to a maximum of 50 characters. Furthermore, the system forbids several special characters, including backslashes, colons, asterisks, question marks, double quotes, angle brackets, pipes, single quotes, hashtags, commas, percent signs, and ampersands. If you attempt to push a course code containing these characters via a Ceven workflow, the API will return an error. We recommend using a sanitization step in your workflow to replace these forbidden characters with underscores or spaces before the agent calls the create course offering endpoint to ensure the process does not fail.
When pulling lists of users or grade objects, Ceven handles the pagination logic automatically. D2L Brightspace returns data in pages, and our agent continues to request the next page of results until the full dataset is retrieved. For very large institutions with tens of thousands of users, we recommend using the search filters provided in the get users action, such as filtering by organizational unit ID, rather than pulling the entire user list. This reduces the load on the API and ensures that your workflows run faster and are less likely to hit timeout limits during heavy end of term grading periods.
Ceven monitors progress by polling the get quiz attempts and get grade objects endpoints. You can set up a scheduled workflow that runs every few hours to check for new attempts or updated grades. When the agent detects a value that meets your pre defined risk criteria, such as a grade below 60 percent, it can trigger a downstream action like sending a notification to a teacher. While D2L Brightspace does not always push these events via webhooks for every single grade change, the high frequency polling available in Ceven provides a near real time visibility into student performance and engagement.
Yes, you can use the update course template action to modify the underlying structure of your courses. It is important to note that the update course template action in D2L Brightspace completely replaces the existing template data with the new values provided. The agent does not perform a partial update or a merge. To avoid losing configuration data, the agent first pulls the current template state using the get course template action, modifies only the necessary fields in the workflow logic, and then pushes the full updated object back to the system. This ensures that your global course changes are applied without accidentally wiping out other settings.
Ceven can manage access by using the get enrolled roles action to see who currently has what level of authority in a course. While the agent can create users and copy roles, the fine grained assignment of capabilities is handled within the Brightspace role engine. Use the copy role action when you need to create a new role based on an existing one, but be aware that not all capabilities are copied automatically. This means you may still need to manually verify the permissions of a newly created role in the Brightspace dashboard to ensure students or teachers have the exact access they need for their specific course activities.
If a course is deleted, any subsequent API calls targeting that course ID will return a not found error. Ceven agents are designed to handle these errors gracefully. Instead of crashing the entire workflow, the agent will log the failure for that specific record and move on to the next item in the queue. You can configure your workflow to send you a summary report of any failed actions, allowing you to see exactly which course offerings were missing. This is particularly useful during end of year cleanups where courses are being deleted in bulk while reporting workflows are still attempting to pull final grade statistics.

Alternatives to D2L Brightspace

Other tools that solve a similar problem. Ceven supports these too, so you can switch or run more than one at once.

Try Ceven on your stack

Plug Ceven on top of the tools you already run. Connect D2L Brightspace and the rest of your stack, describe the outcome, and its agents handle the work end to end, days of it in minutes.

Get started for free