Draft rubric-aligned feedback on new Canvas submissions

Every weekday evening, a first draft of criterion by criterion feedback is waiting in SpeedGrader for you to edit and approve.

Agentic Task
CanvasSlack BotOperationsContent GenerationNotifications & Alerts
PromptCreate

Every weekday at 6pm, on a cron trigger, draft rubric-aligned feedback on new Canvas submissions so I only have to review and approve rather than write from scratch.

Start with Canvas List Courses to get my active courses, then use List Assignments on each course. Only work on assignments that have a rubric attached, and skip the rest.

For each of those assignments, call List Assignment Submissions with include of user, submission_comments, and rubric_assessment. Keep only the submissions that are submitted but not yet graded. Skip any submission that already has a comment from an instructor, since that means a human has already started on it. Cap the whole run at 40 submissions so each evening's batch stays reviewable.

Before drafting anything, pull the context for the assignment: Get a Single Assignment for the instructions and description, and Get a Single Rubric for the criteria, their descriptions, and their rating levels.

Then read the student's actual submission and write feedback organized by rubric criterion. For every criterion, name one concrete strength and one concrete improvement, and quote the student's own work where it helps them see exactly what I mean. Keep it specific to what they wrote. No generic praise and no advice that would apply to any essay.

Post the draft using Canvas Grade or Comment on a Submission with the comment text field only. Never set a grade and never fill in a rubric assessment. I remain the decision maker: the draft simply waits in SpeedGrader for me to edit, adjust, and decide the score myself.

Finish with a Slack Bot Send a Message to me telling me how many feedback drafts are waiting for my review, broken down by course and assignment.

Example output

Feedback draft posted on Maya R.'s submission for "Essay 2: Public Health and Public Trust" Thesis and argument Strength: your thesis does real work. "The 1918 pandemic did not create distrust in public health so much as expose distrust that was already there" gives the reader a clear claim to follow, and you return to it in your conclusion. Improvement: the second half argues two things at once, institutional distrust and press sensationalism, without saying how they relate. One sentence at the top of page 3 connecting them would keep the argument single threaded. Use of evidence Strength: the Milwaukee health commissioner quote is well chosen and you explain what it shows rather than letting it sit there. Improvement: paragraphs 4 and 5 rest on a single secondary source. Bringing in one primary document, even a newspaper item, would let you make the claim in your own right. Organization and clarity Strength: strong topic sentences throughout, particularly in the opening three paragraphs. Improvement: the transition into the conclusion is abrupt. Consider a short paragraph that closes the press argument before you widen out. [Slack] 27 feedback drafts are waiting for your review: 12 in HIST 210, 9 in HIST 315, 6 in HIST 101.

Additional information

What does this prompt do?
  • Finds submissions that are in but not graded yet across your courses, and skips anything an instructor has already commented on
  • Reads each submission against the assignment instructions and the rubric you already attached to it
  • Writes feedback for every rubric criterion, naming one concrete strength and one concrete improvement and quoting the student's own work
  • Posts it as a comment only, never a grade, then messages you in Slack with how many drafts are waiting for review
What do I need to use this?
  • A Canvas account with teacher or TA access to the courses you want covered
  • Assignments that already have a rubric attached in Canvas
  • A Slack workspace where you want the end of day heads up
How can I customize it?
  • Change the timing. Every weekday at 6pm is the default, but nightly or twice a week works just as well.
  • Narrow the scope to specific courses or assignment types instead of everything you teach.
  • Adjust the batch size or the feedback style, such as asking for more than one strength per criterion or a warmer tone for first year students.

FAQs

Does this grade my students?
No. It only leaves a comment. It never sets a score and never fills in the rubric grid. You open SpeedGrader, read the draft, edit anything you want to change, and enter the grade yourself.
Will students see the draft before I have reviewed it?
Comments land on the submission the same way a comment you type yourself would. If you want them held back until you have looked them over, set the assignment to manually post grades, which keeps comments hidden from students until you choose to post.
What if I already left a comment on a submission?
It gets skipped. Anything an instructor has already touched is left alone, so this never talks over you or duplicates feedback you have already written.
Does it work with the rubrics I already use?
Yes. It reads the rubric attached to each assignment, including the criteria and their descriptions, so the feedback lines up with what you are actually assessing rather than generic writing advice.
How many submissions does it handle at once?
Up to 40 per run by default, which keeps each evening's batch something you can realistically review. You can raise or lower that number.

Related templates

Chase past-due JobNimbus invoices with escalating emails

Every weekday, find every unpaid JobNimbus invoice, email each customer one reminder that gets firmer as it ages, and post a receivables summary to Slack.

JobNimbus
Gmail
Slack Bot
Agentic Task
Flag at-risk students in Canvas before they fall behind

Every weekday at 7am, your active courses are checked for missing work, silent logins, and slipping grades, with a ranked list sent to your advising channel.

Canvas
Google Sheets
Slack Bot
Agentic Task
Catch Jira service desk tickets before their SLA runs out

Every hour, find the tickets closest to breaching, leave a nudge on each one, and post a ranked at-risk list to your support channel.

Jira Service Management
Slack Bot
Agentic Task
Send Canvas students a kind nudge about missing work

Every weekday afternoon, each student who is behind gets a warm, personal message in their Canvas inbox listing exactly what they owe.

Canvas
Slack Bot
Agentic Task
Weekly Canvas grading backlog report in Slack and Sheets

Every Monday at 8am, see exactly which assignments have work waiting, sorted worst first, posted to Slack and logged to a spreadsheet.

Canvas
Slack Bot
Google Sheets
Deterministic Code
Revoke Bitwarden access when someone leaves in BambooHR

Every weekday morning we compare your password vault against your HR records and suspend access for anyone who has already left.

Bitwarden
BambooHR
Slack Bot
Agentic Task

Stop writing feedback from a blank box.

Let a first draft be waiting on every ungraded submission, so your evening is review and approve instead of write from scratch.