Notion Recurring Task Generator
On a schedule, the flow reads a Notion recurrence-template database (daily/weekly/monthly definitions), generates the due task instances into a Notion tasks database for the period, assigns owners, and posts the day's generated tasks to Teams. Automates recurring task creation that Notion databases do not natively support.
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
This flow automates recurring-task creation in Notion. On a daily schedule it reads a recurrence-template database (daily / weekly / monthly definitions with owner and cadence rules), evaluates which templates are due today, generates a task instance for each into a Notion tasks database with the right owner and due date, and posts a digest of the day's generated tasks to a Teams channel and an Outlook email recipient.
Why it matters: Notion databases do not natively generate recurring tasks. This fills the gap, so routine work (reports, reviews, maintenance) appears automatically on the correct cadence instead of relying on memory.
Ships Off (Stopped).
Use Case
An Operations or Project Management team tracks work in Notion and has recurring obligations (weekly status reports, monthly access reviews, daily standup prep). They want those tasks created automatically on the right cadence with the right owner, plus a daily summary of what was generated.
Flow Architecture
Daily 06:00 Recurrence
RecurrenceThe generation cadence (daily 06:00 UTC).
Initialize Date & Config
Initialize variableComputes today's date, weekday, and day-of-month; binds the template/tasks DB ids, Teams group/channel, digest recipient, and new-task status; seeds the digest accumulator.
Query Templates
Notion - Query_a_databaseReads all rows from the recurrence-template database.
For Each Template
Apply to each (concurrency 1)Reads frequency, day-of-week, and day-of-month, evaluates whether the template is due today, and when due creates a task instance (CreateaPage) and appends it to the digest.
Compose Digest
ComposeWraps the generated-task rows in an HTML table.
Post to Teams
Teams - PostMessageToConversationPosts the digest to the tasks channel.
Email the Digest
Outlook - SendEmailV2Emails the digest to the configured recipient.
Environment Variables
| Schema name | Type | Default | Description |
|---|---|---|---|
| flowlibs_NotionTemplateDatabaseId | String | REPLACE_WITH_NOTION_TEMPLATE_DATABASE_ID | Recurrence-templates database ID. |
| flowlibs_NotionTasksDatabaseId | String | REPLACE_WITH_NOTION_TASKS_DATABASE_ID | Tasks database to populate. |
| flowlibs_TeamsGroupId | String | <your-team-id> | Target Teams team. |
| flowlibs_TeamsChannelId | String | <your-channel-id> | Target Teams channel. |
| flowlibs_DigestEmailRecipient | String | owner@contoso.com | Recipient of the daily digest email. |
Connectors & Connections
| Connector | API name | Actions used |
|---|---|---|
| Notion | shared_notionip | Query_a_database CreateaPage |
| 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.
- Cadence rules
- The due-today condition supports Daily, Weekly (DayOfWeek match), and Monthly (DayOfMonth match). Add patterns like bi-weekly or quarterly by extending the or expression and adding template properties.
- Task properties
- Edit the Properties JSON in Create Task Instance to match your tasks database column names exactly.
- Owner as a Notion person
- This build writes Owner as rich_text. To assign a real Notion user, change the property to people and supply Notion user IDs.
- Dedup
- Query the tasks DB by name + due date before creating, and gate creation on an empty result, to skip a template whose instance already exists for today.
- Notification channels
- The Teams post and Outlook email are independent; remove either if only one channel is needed.
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.01Instance due date
Today's date for the new task instances.
EXPR.02Current weekday
0 = Sunday ... 6 = Saturday.
EXPR.03Current day-of-month
Today's day-of-month for Monthly templates.
EXPR.04Due-today logic
Decides whether a template generates an instance today.
Comments
Sign in to join the conversation.
Sign inNo comments yet. Be the first to share your experience with this flow.