# Canvas course readiness board for the start of term

> See every course in the upcoming term with a readiness score, spot exactly what is missing, and fix it before day one.

- Workflow type: app
- Services: Canvas, Slack Bot
- Categories: Operations
- Published: 2026-08-16

## What it does

- Shows every course in the upcoming term as a row with a readiness score and a pass or fail on each item in your start of term checklist, with percent ready across the whole term at the top.
- Catches the problems that ruin a first day: a missing syllabus or home page, unpublished modules, hidden items inside published modules, assignments and quizzes with no due date or points, and week one content that is not ready.
- Opens any course to show exactly which checks failed with a link to each item that needs attention, and lets you fix the common ones in place and recheck that course on the spot.
- Posts a readiness summary for the term to your instructional design channel in Slack so everyone can see which courses are still red.

## What you'll need

- A Canvas account with admin access to the account and term you want to review.
- A Slack workspace, if you want to post readiness summaries to a channel.
- Your start of term checklist, so the checks can be worded the way your institution words them.

## Prompt

I want an app my instructional design team opens in the weeks before each term starts, so we can see how ready every course is and fix what is missing before students arrive. It reads courses from Canvas, scores each one against our start of term checklist, and lets us triage and repair them without leaving the app.

The main view is a readiness board. At the top I pick an account and a term, with the term picker populated by Canvas List Enrollment Terms. The board then loads every course in that term using Canvas List Courses in an Account filtered by enrollment_term_id. Each course is a row showing its name, course code, teacher, a readiness score as the percent of checks passed, and a pass or fail pill for each check. Across the top show percent ready for the whole term, a count of ready versus not ready courses, and a breakdown of which checks fail most often. Let me filter to only courses that are not ready, and sort by how close each course is to finished so we chase the nearly done ones first. Make that the default sort.

To score a course, run Canvas List Modules, List Module Items, List Pages, List Assignments and List Quizzes, then evaluate our start of term checklist: a syllabus page and a home page both exist and are published; every module is published; no unpublished items are sitting inside a published module; every assignment and every quiz carries both a due date and a points value; and week one content is ready, meaning the first module and its items are published and available. Present the checklist as configurable, since every institution phrases its own version. Let an admin turn individual checks on or off, edit the labels, and set which page titles count as the syllabus and the home page, and persist that configuration.

Clicking a course opens a detail view that lists exactly which checks failed and, under each failed check, every offending item by name with a direct link to that item in Canvas so I can open it in a new tab. Collapse the passing checks out of the way so the failures are what I see.

From the detail view I can fix the common problems in place. Publishing a module calls Canvas Update a Module with module[published] set to true. Setting a missing due date or a missing points value on an assignment calls Canvas Update an Assignment. Fixing course level settings calls Canvas Update Course Settings. After any fix, and from an explicit re-run button, re-run the checks for just that one course and update its score, its pills, and the term totals without reloading the whole board.

A button posts a readiness summary for the term to our instructional design channel using Slack Bot Send a Message. The summary should give percent ready across the term, the ready versus not ready counts, and the courses still red with their scores and top failing checks, so everyone can see where we stand. Let me choose the channel and preview the message before it sends.

Handlers run against a Canvas admin connection. Scanning a term means many calls per course, so fetch with sensible concurrency that stays inside Canvas rate limits, show progress while a term is scanning, and store the last scan per term so reopening the app is fast, with a refresh control to rescan.

## How to customize

- Turn individual checks on or off and reword them to match your own course readiness standards.
- Choose which page titles count as your syllabus and your home page.
- Pick the Slack channel that gets the readiness summary, and set how the board filters and sorts to match how your team triages.

## FAQ

### Does this change anything in my courses without asking?

No. The board only reads your courses until you choose to fix something. Publishing a module, setting a missing due date, or updating course settings happens only when you click the button for it.

### Can we use our own readiness checklist?

Yes. Every institution words its checklist differently, so the checks are configurable. Turn off the ones that do not apply, rename them, and set which page titles count as your syllabus and home page.

### Do I need to be a Canvas admin to use this?

To see every course in a term you do, because that view is account level. An account with instructor access will only surface the courses it can already see.

### How many courses can it handle?

It is built for a full term across an account, so it reviews courses in bulk and shows progress while it scans. A large term takes longer the first time, and results are kept so reopening the board is fast.

### Does the Slack summary go out automatically?

No. It posts when someone clicks the button, so your team controls when an update goes to the channel.

Use this prompt in General Input: https://www.generalinput.com/prompts/canvas-course-readiness-board-for-the-start-of-term