Weekday Blackboard reminders for work due in the next 48 hours

Every weekday morning each student gets one short, friendly email listing everything they still owe across all of their courses.

Agentic Task
BlackboardGmailGoogle SheetsOperationsEmail AutomationNotifications & AlertsDaily Digests
PromptCreate

Every weekday at 7am, email my Blackboard students a personal reminder about the work they still owe in the next 48 hours. Send one message per student covering all of their upcoming items across every course, never one email per assignment. Use a cron trigger, since Blackboard does not send outgoing webhooks for an approaching due date and the window has to be computed inside the run.

Start by reading the Google Sheets reminder ledger with Get Values, before anything else. Each row records a student, an assignment, the course, and the date the reminder was sent. Treat the combination of student and assignment as the deduplication key: if a student has already been reminded about a given gradebook column, do not remind them about it again in this run.

Next, use the Blackboard Get Courses operation to list courses, and scope this to the courses running in the current active term rather than sweeping every course on the instance. The default Blackboard site quota is 10,000 requests per 24 hours shared across the whole institution, so keep the working set deliberately small. For each course in scope, call Get Grade Columns, which lives on the v2 gradebook path, and keep only the columns whose grading due date falls between now and 48 hours from now.

For every course that has at least one column due inside that window, call Get Course Memberships to list the enrolled students, filtering to the student course role so instructors and teaching assistants are excluded. Then call Get Column Attempts for each of those columns to work out which students have no attempt recorded yet. A student with a submitted attempt has already done the work and must not be reminded about it.

All of these Blackboard list endpoints page with offset and limit and return a paging.nextPage link. Follow nextPage until it is absent, so students or columns sitting on later pages are not silently missed.

Group the outstanding items by student, not by assignment. For each student with at least one item still owing, draft a single short and encouraging Gmail message and send it with Send a Message. Name each assignment, the course it belongs to, and when it is due. Use judgement about emphasis: a major project due tomorrow morning reads very differently from an optional practice quiz, so lead with what actually matters, keep the whole message to a few sentences, and keep the tone supportive rather than scolding. Do not send anything to a student who owes nothing.

Resolve each student's email address from the membership record by expanding the related user object, or by looking the user up with Get Users when the address is not already inlined.

After each message sends successfully, append one row per reminded assignment to the Google Sheets ledger with Append Values, recording the student, the assignment, the course, and the date sent. Only log items that were genuinely included in a sent email, so that a failed send gets retried on the next run instead of being silently marked as done.

Additional information

What does this prompt do?
  • Checks your Blackboard courses each weekday morning for work due in the next 48 hours.
  • Works out which students have not submitted yet, so nobody gets chased about something they already handed in.
  • Sends each student a single encouraging email covering everything they owe across every course, instead of one email per assignment.
  • Keeps a running log in a Google Sheet and reads it first, so no student is reminded about the same assignment twice.
What do I need to use this?
  • A Blackboard account for your institution with permission to view courses, enrolments, and the gradebook.
  • A Gmail account to send the reminders from.
  • A Google Sheets spreadsheet to use as the reminder log. A blank one is fine, the workflow fills it in as it goes.
  • Due dates filled in on your Blackboard gradebook items, since that is what the 48 hour window is measured against.
How can I customize it?
  • Change the timing: run it at a different hour, or every day of the week instead of weekdays only.
  • Widen or narrow the reminder window: 24 hours for a last call, or a full week for bigger projects.
  • Limit which courses are included, for example only the current term or a single department, and adjust how warm or formal the wording is.

FAQs

Will students get a separate email for every assignment?
No. That is the main thing this does differently. Each student gets one email per morning that covers every item they owe across all of their courses. A student taking four classes gets one message, not four.
Does it email students who have already submitted their work?
No. Before writing anything it checks who has actually submitted each item and only writes to students with something still outstanding. Students who owe nothing get no email at all.
How does it avoid reminding someone about the same assignment twice?
Every reminder is logged to your Google Sheet with the student, the assignment, and the date it was sent. The next run reads that log before doing anything else and skips any student and assignment pairing that has already been covered.
Does this work with both Blackboard Original and Ultra courses?
Yes. It reads due dates from the gradebook, which works across both course types. The one requirement is that your items actually have due dates set, since that is what the 48 hour window is measured against.
Will this slow down or overload our Blackboard site?
It is designed to stay light by looking only at the courses running in your current term rather than sweeping every course on the system. Institutions have a shared daily limit on automated requests, and scoping to the active term keeps the workflow well inside it.

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
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
Weekday early alert digest for at-risk students in Slack

Every weekday morning your advising team gets a ranked list of students slipping behind in each course, plus a tracking log that shows whether outreach worked.

Blackboard
Slack Bot
Google Sheets
Agentic Task
Turn every completed roofing job into a review request

Every evening we find the jobs you just finished, email each customer a personal review request, and log it on the job so nothing slips.

JobNimbus
Gmail
Agentic Task
Chase overdue ERPNext invoices with escalating reminders

Every weekday morning, review your unpaid ERPNext invoices, email each customer a reminder that gets firmer as the debt ages, and brief finance in Slack.

ERPNext
Gmail
Slack
Agentic Task

Stop chasing students about deadlines.

Let every student wake up to one short, encouraging note telling them exactly what they owe and when it is due.