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.

Agentic Task
CanvasSlack BotOperationsEmail AutomationNotifications & Alerts
PromptCreate

Every weekday at 4pm, find the students in my Canvas courses who have work they have not turned in, send each of them a short personalized nudge in their Canvas inbox, and post me a recap in Slack when you are done.

Start with Canvas List Courses to get the courses I am currently teaching. For each course, call List Assignments once and hold on to the results, since you will need each assignment's name, points possible, and due date when you write the messages. Then call List Students in a Course to get the roster, and for each student call List Missing Submissions to get their past due unsubmitted assignments. Reuse the assignment list you already fetched for that course instead of refetching it for every student.

Skip any student whose missing list is empty. They should never receive a message. If a student is behind in more than one of my courses, combine everything into a single message rather than sending one message per course.

Write each message yourself rather than filling in a template. Every message should name the specific assignments the student is missing, and for each one give the due date and the points it is worth. Keep it short, warm and non punitive. Never use language that shames the student, warns about grade penalties, or implies they are in trouble.

Match the tone to how far behind the student is. One missing assignment gets a light, low key reminder that assumes they simply lost track of it. Two gets a friendlier nudge that lays out both items clearly. Three or more gets a genuine check in that acknowledges they may be overwhelmed, offers office hours, and invites them to reply if something is going on.

Send each message with Canvas Create a Conversation, using the student's Canvas user id as the only recipient, a short plain subject line, and your drafted message as the body. Send a separate conversation per student and never create a group conversation, so no student can see another student's name or missing work.

Never send the same student more than one message in a day. Track who you have already messaged during this run, and if a student has already been nudged today, skip them.

Finish by posting a recap to me with Slack Bot Send a Message. Tell me how many nudges went out, how many students were already caught up and skipped, and list the students who are furthest behind along with how many assignments each one is missing, so I know who to follow up with in person.

Additional information

What does this prompt do?
  • Checks each of your Canvas courses every weekday afternoon and finds the students with past due work that still has not been turned in.
  • Writes a short, warm message for each student naming the assignments they are missing, when each one was due, and what it is worth.
  • Adjusts the tone on its own: one missing item gets a light reminder, three or more gets a real check in that offers office hours.
  • Delivers every message straight to the student's Canvas inbox, then posts you a recap in Slack showing how many went out and who is furthest behind.
What do I need to use this?
  • A Canvas account for the courses you teach, with permission to message your students.
  • A Slack workspace and a channel where your end of day recap should land.
  • No separate email tool. Students are messaged in Canvas, where they already read course mail.
How can I customize it?
  • Change when it runs. Weekday afternoons at 4pm is the default, but a morning send or a single Friday sweep works just as well.
  • Move the tone thresholds, so the gentle check in kicks in at two missing assignments instead of three.
  • Narrow it to one course or one term instead of every course you are currently teaching, and point the recap at whichever Slack channel you prefer.

FAQs

Will my students get spammed with reminders?
No. Each student gets at most one message per day, and anyone who is fully caught up is skipped entirely. If a student is behind in two of your courses, they still get a single message that covers both rather than one per course.
Where does the student actually see the message?
In their Canvas inbox, the same place your normal course messages arrive, so it reaches them through the notification settings they already use. Nothing gets sent to a personal email address.
Does every student get the same form letter?
No. Each message is written fresh for that student and names their specific assignments with due dates and point values. The tone also shifts with how far behind they are, so one late item reads as a light reminder and several reads as a genuine check in.
Will this make students feel called out?
That is exactly what it is built to avoid. The messages stay short, warm and non punitive, with no talk of grade penalties or being in trouble, and students who are further behind are offered office hours instead of a warning.
Can I see the messages before they go out?
It sends automatically so it stays effortless, but you can ask for a version that posts the drafts to Slack for your approval first and only sends once you give the go ahead.

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
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
Answer engineers' library questions in Slack from live docs

When someone asks a library or framework question in your help channel, they get a straight answer with working code and a source link, right in the thread.

Context7
Slack Bot
Linear
Agentic Task

Stop chasing missing work one student at a time.

Let a warm, personal nudge go out every afternoon while you focus on teaching.