Integrations / Canvas LMS
Canvas LMS
Canvas LMS: courses, assignments, enrollments, submissions, announcements and grading, with your access token and your school's Canvas address.
8 actions
API key
7 read1 write
Calls acme.instructure.com
Connect
const conn = await setu.connections.initiate({ userId: "user_1", toolkit: "canvas" });
console.log(conn.connectUrl); // show this to your user
await conn.waitUntilActive();Permissions requested
This toolkit uses a single credential and requests no scopes.
Actions
Get assignmentreadcanvas.get_assignmentRead one Canvas assignment: name, description, due and lock dates, points, grading type and submission types.
| Input | Type | Description | |
|---|---|---|---|
course_id | string | Required | Canvas course id |
assignment_id | string | Required | Assignment id |
await setu.execute({
userId: "user_1",
action: "canvas.get_assignment",
input: {
"course_id": "<course_id>",
"assignment_id": "<assignment_id>"
},
});Get coursereadcanvas.get_courseRead one Canvas course: name, code, state, start and end dates.
| Input | Type | Description | |
|---|---|---|---|
course_id | string | Required | Canvas course id |
await setu.execute({
userId: "user_1",
action: "canvas.get_course",
input: {
"course_id": "<course_id>"
},
});Grade or comment on submissionwritecanvas.grade_submissionSet a grade and/or add a text comment on one student's submission. Needs permission to manage grades in the course. The student can see the grade once it is posted.
| Input | Type | Description | |
|---|---|---|---|
course_id | string | Required | Canvas course id |
assignment_id | string | Required | Assignment id |
user_id | string | Required | Student's user id |
posted_grade | string | Optional | Points like 13.5, percent like 40%, a letter, or pass/fail |
text_comment | string | Optional | Comment shown to the student |
await setu.execute({
userId: "user_1",
action: "canvas.grade_submission",
input: {
"course_id": "<course_id>",
"assignment_id": "<assignment_id>",
"user_id": "<user_id>"
},
});List course announcementsreadcanvas.list_announcementsList announcements posted in a Canvas course (title, message, posted time). Defaults to the last 14 days unless dates are given.
| Input | Type | Description | |
|---|---|---|---|
course_id | string | Required | Canvas course id |
start_date | string | Optional | On or after this date, yyyy-mm-dd |
end_date | string | Optional | On or before this date, yyyy-mm-dd |
per_page | integer | Optional | Results per page |
await setu.execute({
userId: "user_1",
action: "canvas.list_announcements",
input: {
"course_id": "<course_id>"
},
});List assignmentsreadcanvas.list_assignmentsList assignments in a Canvas course (id, name, due date, points, submission types), optionally searched by title or filtered by bucket such as upcoming or overdue.
| Input | Type | Description | |
|---|---|---|---|
course_id | string | Required | Canvas course id |
search_term | string | Optional | Part of the assignment title |
bucket | string | Optional | Filter |
order_by | string | Optional | Sort order |
per_page | integer | Optional | Results per page |
await setu.execute({
userId: "user_1",
action: "canvas.list_assignments",
input: {
"course_id": "<course_id>"
},
});List coursesreadcanvas.list_coursesList the courses the token's owner is enrolled in or teaches (id, name, code, state), optionally filtered by enrollment type or state.
| Input | Type | Description | |
|---|---|---|---|
enrollment_type | string | Optional | Only courses where you have this role |
enrollment_state | string | Optional | Only courses with this enrollment state |
per_page | integer | Optional | Results per page |
await setu.execute({
userId: "user_1",
action: "canvas.list_courses",
input: {},
});List course enrollmentsreadcanvas.list_enrollmentsList the people enrolled in a Canvas course with their role and state, optionally limited to one role, state or user.
| Input | Type | Description | |
|---|---|---|---|
course_id | string | Required | Canvas course id |
type | string | Optional | Enrollment type |
state | string | Optional | Enrollment state (default active and invited) |
user_id | string | Optional | Only this user's enrollments |
per_page | integer | Optional | Results per page |
await setu.execute({
userId: "user_1",
action: "canvas.list_enrollments",
input: {
"course_id": "<course_id>"
},
});List assignment submissionsreadcanvas.list_submissionsList all students' submissions for one assignment (user id, score, grade, state, submitted time, late flag).
| Input | Type | Description | |
|---|---|---|---|
course_id | string | Required | Canvas course id |
assignment_id | string | Required | Assignment id |
per_page | integer | Optional | Results per page |
await setu.execute({
userId: "user_1",
action: "canvas.list_submissions",
input: {
"course_id": "<course_id>",
"assignment_id": "<assignment_id>"
},
});