Google Tasks Overdue Digest and Nudge
Each morning the flow reads a user's (or team's) Google Tasks, summarizes due-today, overdue, and upcoming tasks, sends a personal digest via Teams/email, and nudges on items overdue past a threshold. Keeps Google Tasks from piling up unseen.
Provided as-is, without warranty of any kind. Review and test each pattern in a non-production environment before deploying it to live automations. See our Terms.
Overview
FlowLibs - Google Tasks Overdue Digest and Nudge (CF-697) keeps Google Tasks from piling up unseen. On a daily schedule it reads every Google Tasks list for the connected account, categorises open tasks as overdue, due today, and upcoming, posts a compact summary to a Teams channel, emails the full HTML digest to a recipient, and escalates (a high-importance email + Teams post) when any task is overdue past a configurable threshold.
Why it matters: Google Tasks reminders are easy to ignore. A consolidated morning digest plus a threshold-based escalation keeps work moving without anyone having to open the Tasks app.
Status: Built and deployed Off (demo). Going live requires only: confirm the three connections, set the digest recipient + Teams group/channel env vars, and turn the flow on.
Use Case
A user or team wants a single daily readout — and a nudge — for their Google Tasks across all of their lists, delivered where they already work (Teams + email).
Flow Architecture
Daily Morning Digest
Recurrence (Day/1, 07:45 ET)Fires the morning digest.
Initialize varToday
Initialize VariableutcNow() as yyyy-MM-dd.
Initialize varUpcomingCutoff
Initialize Variabletoday + Upcoming Window days.
Initialize varNudgeCutoff
Initialize Variabletoday minus Overdue Nudge days (escalation cutoff).
Initialize varTaskListFilter
Initialize VariableBound to the Task List IDs env var (empty = all lists).
Initialize varOpenTasks
Initialize VariableAccumulator array for tasks across lists.
List Task Lists
Google Tasks — ListTaskListsReads all task lists for the account.
Apply to each Task List
ForeachIterates lists; inner Condition includes a list when the filter is empty or contains its id.
List Tasks In List
Google Tasks — ListTasksReads all tasks in the included list.
Append Open Tasks
Set Variableunion() the list's tasks into the accumulator.
Filter Tasks With Due / Overdue / Due Today / Upcoming / Nudge
Filter arrayCategorise open tasks (needsAction with a due date) into overdue, due-today, upcoming, and nudge sets.
Environment Variables
| Schema name | Type | Default | Description |
|---|---|---|---|
| flowlibs_TaskListIds | String | — | Comma-separated Google Tasks list IDs to include. Empty = include all lists. |
| flowlibs_UpcomingDays | String | 3 | How many days ahead counts as upcoming. |
| flowlibs_OverdueNudgeDays | String | 5 | Tasks overdue by more than this many days trigger the escalation. |
| flowlibs_GoogleTasksDigestRecipient | String | alerts@yourcompany.com | Recipient of the digest + nudge emails. |
| flowlibs_TeamsGroupId | String | <your-team-id> | Target Teams team/group id for the channel post. |
| flowlibs_TeamsChannelId | String | <your-channel-id> | Target Teams channel id. |
Connectors & Connections
| Connector | API name | Actions used |
|---|---|---|
| Google Tasks | shared_googletasks | ListTaskLists ListTasks |
| Microsoft Teams | shared_teams | PostMessageToConversation |
| Office 365 Outlook | shared_office365 | SendEmailV2 |
Note — All connections are referenced as solution connection references; the flow is portable between environments as long as a connection is mapped at import time.
Customization Guide
Almost every realistic variant of this flow can be implemented by changing environment variable values. A few cases require small edits inside the flow definition — those are called out explicitly below.
- Per-user fan-out
- Read a roster (Dataverse/Sheet) and send each person their own digest, scoping ListTaskLists/ListTasks per connection.
- Scope to specific lists
- Set flowlibs_TaskListIds to a comma list of list IDs (get IDs from a one-off ListTaskLists run).
- Tune the windows
- Adjust flowlibs_UpcomingDays and flowlibs_OverdueNudgeDays without touching flow logic.
- Weekly view
- Add a week-ahead section by adding another Filter array with a 7-day cutoff.
- Snooze
- Respect a snooze marker stored in a task's notes by adding a not(contains(...)) clause to the filters.
- Adaptive Card
- Replace the Teams HTML message with a PostCardToChannel adaptive card for richer formatting.
Key Expressions
The flow is intentionally light on Power Fx / WDL gymnastics — the heaviest expressions are the branch-name concatenation and the approval outcome check. They are listed below in the order they appear in the flow.
EXPR.01Today (compare key)
Date key used for comparisons.
EXPR.02Upcoming cutoff
Upper bound for the upcoming window.
EXPR.03Nudge cutoff
Escalation cutoff date.
EXPR.04Accumulate tasks across lists
Merges each list's tasks into the accumulator.
EXPR.05Open + has due (Filter)
Keeps open tasks that have a due date.
EXPR.06Overdue (Filter)
Due date earlier than today.
EXPR.07Escalate when any nudge task
Triggers the escalation branch.
Customize & download
Generate a ready-to-import copy of this solution with your environment-variable values baked in — available on Base, Pro, or Team.
Upgrade to customize
Comments
Sign in to join the conversation.
Sign inNo comments yet. Be the first to share your experience with this flow.