Quick Overview
This workflow runs daily, reads deadline rows from Google Sheets, and sends due-soon, due-today, or overdue reminder emails via Gmail, escalating overdue items to Slack and updating the sheet to prevent duplicate reminders.
How it works
- Runs every day at 07:00 on a schedule.
- Reads all rows from a Google Sheets worksheet.
- Filters out completed items and rows already reminded today, then classifies remaining rows as due soon, due today, or overdue based on the DueDate.
- Sends an HTML reminder email through Gmail to the address in the Email column with a subject and message tailored to the urgency.
- Posts an escalation message to a specified Slack channel for items that are overdue.
- Updates each reminded row in Google Sheets by writing today’s date to the NotifiedOn column using the stored row number.
Setup
- Add Google Sheets credentials and replace the spreadsheet URL/ID and sheet name used for reading and updating.
- Add a Gmail OAuth2 credential and ensure the Email column contains valid recipient addresses.
- Add Slack credentials and set the target channel (for example, #deadlines) for overdue escalations.
- Ensure your sheet includes the columns Title, DueDate (YYYY-MM-DD), Email, Status, and NotifiedOn, and uses Status = "Done" for completed items.
- Adjust the reminder window by changing REMINDER_WINDOW_DAYS in the date-classification code if needed.