Clever LMS Connect Quickstart Guide
This page includes a basic introduction to the Clever LMS Connect product.
Clever Complete Agreement Required
This feature is included with a Clever Complete subscription. Sign up here or email your Application Success Manager to learn more.
v3.1 Only
LMS Connect API endpoints are only available on v3.1 of the Clever API. If you are interested in getting started with LMS Connect, reach out to your Application Success Manager (for existing partners) or to [email protected].
Table of Contents
Overview
Steps to Getting Started with Clever LMS Connect
Steps to getting a Clever LMS Connect integration running
Clever LMS Connect
Welcome to the Clever LMS Connect Quickstart Guide! LMS Connect enables you to integrate with major Learning Management Systems (Google Classroom, Canvas, Schoology) through a single, unified Clever API. Write your code once, and let Clever handle the complex routing and translation for each specific LMS.
This guide will walk you through setting up a sandbox, establishing an LMS connection, and creating your first assignment via the Grade Passback API.
For more details on the process, see our additional Clever LMS Connect guides in the left side menu.
How It Works
- District Setup:
- School districts connect their LMS to Clever through a simple self-service flow.
- Data Synchronization:
- Once the LMS connection is established, Clever reads student, teacher, and course data from the LMS, allowing for integrations like grade passback (GPB) and LTI Single-Sign-On (SSO).
- Clever algorithms match this data to the existing data in Clever.
- Support:
- Districts collaborate with the Clever support team to resolve any connection or matching issues.
Features
Your application can either send an LMS Connect invitation to any school district or accept an LMS Connect request from a district customer. Once the connection is established you can support:
- LTI 1.3 Launch:
- District users can use LTI 1.3 SSO to launch into your application from the LMS. More on this can be found in this Help Center article.
- Gradebook Access:
- Your application can read and write assignments and gradebook entries in the LMS gradebook.
- Data Consistency:
- LMS Connect handles the translation from Clever IDs to LMS IDs, preventing duplicate users or misaligned courses.
Steps to Getting Started with Clever LMS Connect:
Prerequisites
Before you begin, ensure you have:
- A Clever Developer Account: Sign up at apps.clever.com/signup
- A Sandbox District: You will need a sandbox district populated with test data.
- An LMS sandbox for each LMS you want to test: You will need to ensure your Clever sandbox has users and classes that match users and classes in your LMS sandbox. Reach out to Clever's Partner Engineering team ([email protected])if you need assistance with getting a sandbox set up.
- API v3.1 Enabled: LMS Connect requires Clever API v3.1.
- A robust Clever Secure Sync integration: We highly recommend having your Clever Secure Sync integration up and running without major errors before integrating with Clever LMS Connect.
Design Considerations
Before designing a grade passback API integration, consider the following questions:
-
When should my product push assignments to the LMS gradebook?
- This could happen automatically whenever an assignment is created, or only in response to a teacher action (e.g., pushing a “Sync to LMS” button).
-
When should my product push student results to the LMS?
- This could happen whenever a student completes any work (e.g., an auto-graded quiz), or after teacher action/approval (e.g., a teacher-graded essay).
-
Will my product import changes to assignments or submissions from the LMS?
- The simplest integration model will only push results to the LMS. However, you can also read from the LMS gradebook if you want to pull any manual edits a teacher makes to assignments or submissions in the LMS gradebook back into your product.
Steps to Getting a Clever LMS Connect Integration Running:
Step 1: Establish the LMS Connection
Before you can sync grades, your application needs permission to access a district's LMS. In your sandbox environment, you will play the role of both the App and the District Admin.
- Connect the LMS (District Role): Log into your Clever Sandbox District Dashboard.
- Navigate to the LMS Connect tab and authorize a connection to your test LMS environment (e.g., Google Classroom).
- Send an Invite (App Role): Log into your App Dashboard.
- Navigate to your sandbox district and send them an "LMS Connect Request".
- Accept the Invite (District Role): Go back to the District Dashboard, review the pending invite from your app, and click Accept. (Note: Clever will automatically begin matching the district's Clever roster records to their LMS accounts.)
Step 2: Get Your Sandbox API Token
Just like Secure Sync, you need a Bearer Token to authenticate your API calls.
- In your App Dashboard, navigate to Data Sources > Sandbox District.
- Copy the Bearer Token.
Step 3: Verify LMS Readiness (Data API)
Before creating an assignment for a section, you should verify that the section is successfully matched and synced with the LMS. You can check this using the Data API (/v3.1/sections).
cURL Example:
Bash
curl -X GET "https://api.clever.com/v3.1/sections/<SECTION_ID>" \
-H "Authorization: Bearer <YOUR_SANDBOX_TOKEN>"
What to look for: Check the
synced_in_lmsfield in the response. If it istrue, the section is ready for Grade Passback!
Step 4: Create Your First Assignment
Now for the fun part. Let's push an assignment from your app directly into the teacher's LMS gradebook using the Grade Passback API.
We will use the /v3.1/sections/{section_id}/assignments endpoint.
cURL Example:
Bash
curl -X POST "<https://api.clever.com/v3.1/sections/>\<SECTION_ID>/assignments"
-H "Authorization: Bearer \<YOUR_SANDBOX_TOKEN>"
-H "Content-Type: application/json"
-d '{
"title": "Quickstart Math Quiz",
"description": "Please complete the quiz via the attached link.",
"due_date": "2026-12-01T23:59:59Z",
"state": "published",
"grading_type": "points",
"points_possible": 100,
"assignee_mode": "all",
"submission_types": ["link"],
"attachments": [
{
"type": "link",
"url": "https://yourapp.com/quiz/123",
"title": "Take the Quiz"
}
]
}'
If successful, Clever will return a
200OKwith the newly created Assignment object, including its Clever-generated id. Clever automatically translates this payload into the correct format for the destination LMS (Google Classroom, Canvas, etc.).
Step 5: Syncing Submissions and Grades
Once the assignment exists, you can manage student submissions.
Use POST /v3.1/sections/{section_id}/assignments/{assignment_id}/submissions to create a submission when a student finishes the work.
Include the score field in the submission payload to pass the grade directly back to the LMS gradebook.
Updated 12 days ago
