FlowRunner
PricingContact
Theme
Start Free

Canvas LMS

CMS & Content

Connect AI agents to Canvas LMS by Instructure. Agents provision courses and assignments, enroll students automatically, sync rosters and grades to reporting systems, look up users by name or email, and monitor submissions to drive follow-up.

13 actions API key available
Canvas LMS website ↗ Platform Documentation ↗ Capability data verified 2026-07-27
A learner buys a course seat through the storefront in [Shopify](/integrations/shopify)
List Account Users searches the Canvas instance by the buyer's email to resolve their user ID
The agent scores the match; an exact email match proceeds, anything fuzzy stops here
The program administrator resolves ambiguous matches and must approve any enrollment above the student role
Create Enrollment enrolls the learner as a student, set to Invited so they accept the seat themselves
List Enrollments confirms the seat landed with the right role and state
The confirmation posts to [Slack](/integrations/slack) and the enrollment logs to the program's tracking sheet

What This Integration Enables

Canvas is where the learning actually happens, but around every course sits a layer of registrar work: provisioning, enrolling, roster reconciliation, submission chasing. That layer is administrative, repetitive, and exactly what FlowRunner agents are for. Agents build courses and assignments from briefs and spreadsheets, move buyers and hires into seats, and read submissions and enrollments back out for reporting, while the decisions that touch roles and grade visibility stay with a person. - Enroll learners automatically from storefronts, HR systems, and spreadsheets, with fuzzy identity matches escalated instead of guessed - Provision courses and assignment sets in bulk, left unpublished so an instructor makes the call to go live - Sweep submissions weekly to flag late and missing work to instructors while intervention still matters - Sync rosters, enrollment states, and grades to reporting systems on a schedule - Route role assignments above student through [human-in-the-loop](/concepts/human-in-the-loop) approval, because roles in an LMS are permissions

Without FlowRunner

Enrollment is a re-keying job Someone copies names and emails from orders and signup forms into Canvas, seat by seat, and every cohort launch is a data-entry sprint
At-risk learners surface at grading time Missing submissions are discovered when grades are due, which is weeks after an intervention would have helped
Rosters and grades leave by export Completion reporting means a person downloading CSVs and reconciling them against the CRM by hand

With FlowRunner

Purchase to seat in minutes Agents resolve the buyer, enroll them as Invited, and confirm the seat, with humans handling only the ambiguous matches
Submissions watched on a schedule Weekly sweeps over every assignment flag late and missing work while there is still time to act on it
The roster is a live dataset Enrollments and grades sync to reporting sheets automatically, so completion status is a query, not a project

Use Case Scenarios

A cohort provisioned from a spreadsheet before lunch

A new training cohort lives as rows in [Google Sheets](/integrations/google-sheets): names, emails, program track. The agent calls Create Course with the term's name and SIS ID, then Create Assignment for each item in the program template, leaving everything unpublished. It resolves each learner with List Account Users and enrolls exact matches with Create Enrollment as Invited students. The three rows whose emails match nobody go to the administrator as a short exception list. The instructor reviews the built course and publishes it when ready: the agent assembled the classroom, a person opened the doors.

The at-risk sweep that runs every Friday

Each week, the agent walks List Assignments for every active course, pulls List Submissions per assignment, and collects the late and missing flags along with scores below threshold. Instructors get a per-course digest in [Slack](/integrations/slack) naming the learners who are falling behind, with the assignment and days overdue. The pattern that used to emerge at final grading now shows up in week two, when a check-in email can still change the outcome.

Completion reporting without the export ritual

Compliance training has an audience that must finish, and someone who has to prove it. Nightly, the agent pulls List Enrollments for each required course, capturing role, state, and grades, and syncs the results into [Google Sheets](/integrations/google-sheets) keyed by SIS ID. The operations lead reads completion percentages by department every morning, and when the auditor asks who completed the course and when, the answer is already a filtered view instead of a week of exports.

Human-in-Loop Highlight

Create Enrollment does not just add a name to a list, it grants a role, and roles in Canvas are permissions. Enrolling someone as a teacher or TA hands them the gradebook: every student's scores, submissions, and activity in that course become visible to them, and course content becomes editable. An agent that misreads "add Jordan to the course" and picks the teacher role has just exposed a roster's academic records to the wrong account, and un-enrolling them later does not undo what was seen. So FlowRunner agents enroll students freely and treat every elevated role as a stop: "Request: add Jordan Velez to BIO-201. Matched account [email protected]. Requested role: TA, which includes grade visibility for 240 students. Approve, downgrade to student, or reject?" The administrator answers, and the permission is granted by a person who understood what it contained.

Agent processes routinely
Detects exception requiring judgment
Clear match Continues automatically
Ambiguous Routes to human via preferred channel
Human decides
Agent resumes with decision

Agent Capabilities

13 actions

Courses

4
  • List My Courses Lists the courses the token owner is enrolled in, with name, code, term, and workflow state. The scoping step for instructor-level automations.
  • List Account Courses Lists all courses across an account or sub-account with text search over name, code, and SIS ID. Requires admin permissions, and powers institution-wide reporting and hygiene sweeps.
  • Get Course Retrieves one course's full details, expandable with syllabus body, total student count, or teacher list. The inspection step before enrollment or reporting runs.
  • Create Course Creates a course with name, code, and optional SIS ID and dates. New courses default to unpublished, which is exactly right: agents build, instructors publish.

Users

3
  • List Account Users Searches users across the account by name, login ID, SIS ID, or email. The identity-resolution step that runs before every enrollment.
  • Get User Retrieves one user's profile by Canvas ID, including SIS and login IDs. Pass self to identify the token owner.
  • List Course Users Lists the people enrolled in a course, filterable by enrollment type and searchable by name. The roster read behind notifications and audits.

Enrollments

2
  • List Enrollments Lists a course's enrollments with each user's role, state, and grades. The backbone of completion reporting and the verification step after seats are granted.
  • Create Enrollment Enrolls a user in a course as student, teacher, TA, observer, or designer, either Active immediately or Invited to accept. The permission grant this page's human gate exists for.

Assignments

2
  • List Assignments Lists a course's assignments with points, due dates, submission types, and published state. The map that submission sweeps walk.
  • Create Assignment Creates an assignment with name, points, due date, and allowed submission types, optionally published immediately. Used to stamp out program templates across new courses.

Submissions

1
  • List Submissions Lists student submissions for an assignment with state, submitted-at time, score, and late and missing flags. The signal source for at-risk interventions.

Modules

1
  • List Modules Lists a course's modules with position, published state, and unlock dates. Used to map course structure and check progression before reporting on it.

Frequently Asked Questions

What can FlowRunner do with Canvas LMS?

FlowRunner agents can run List My Courses, List Account Courses, and Get Course in Canvas LMS, plus 10 more actions.

Does connecting Canvas LMS to FlowRunner require OAuth?

No. Canvas LMS connects to FlowRunner with an API key, no OAuth flow required.

Can Canvas LMS trigger a FlowRunner workflow automatically?

Canvas LMS doesn't currently expose triggers in FlowRunner. It connects as an action step inside workflows started by another trigger.

Start building with Canvas LMS

$100 in credits. No card required. Connect in minutes.