Innovation Backlog Weekly Digest
Collects new Microsoft Forms submissions for automation ideas during the week, logs each to a Dataverse backlog table, and compiles a Friday digest email with idea count, submitter names, and top-voted items. Also posts a Teams summary to the COE channel for discussion and prioritization.
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 compiles a weekly digest of automation ideas submitted via Microsoft Forms and logged to a Dataverse backlog table. Every Friday morning, it queries Dataverse for new backlog entries from the past week, builds an HTML digest with idea titles, submitter names, and descriptions, then emails the digest to stakeholders and posts a summary to the COE Teams channel for prioritization.
Use Case
Organizations running a Center of Excellence (COE) need a structured way to collect, track, and prioritize automation ideas from across the business. This flow closes the feedback loop by surfacing ideas, delivering them to decision-makers, and providing a discussion anchor in the COE Teams channel for weekly prioritization meetings.
The flow is ideal for teams that:
- Surfacing all ideas submitted during the week in a single digest
- Delivering the digest to decision-makers via email and Teams
- Providing a discussion anchor in the COE Teams channel for weekly prioritization meetings
Flow Architecture
Recurrence - Weekly Friday
RecurrenceFires every Friday at 9:00 AM Eastern.
Init varFormId
Initialize VariableLoads the Microsoft Forms form ID from the flowlibs_InnovationFormId environment variable.
Init varBacklogTable
Initialize VariableLoads the Dataverse backlog table logical name from the flowlibs_InnovationBacklogTable environment variable.
Init varDigestRecipient
Initialize VariableLoads the digest email recipient from the flowlibs_InnovationDigestRecipient environment variable.
Init varTeamsGroupId
Initialize VariableLoads the Teams group ID from the flowlibs_InnovationTeamsGroupId environment variable.
Init varTeamsChannelId
Initialize VariableLoads the Teams channel ID from the flowlibs_InnovationTeamsChannelId environment variable.
Init varLookbackDays
Initialize VariableLoads the lookback period (default 7 days) from the flowlibs_InnovationLookbackDays environment variable.
Init varDigestHtml
Initialize VariableEmpty string accumulator for the HTML table rows that make up the digest body.
Init varIdeaCount
Initialize VariableInteger counter for the total number of ideas in the digest.
Init varSubmitterNames
Initialize VariableEnvironment Variables
| Schema name | Type | Default | Description |
|---|---|---|---|
| flowlibs_InnovationFormId | String | <configure> | Microsoft Forms form ID for the automation ideas submission form. Replace with your actual Forms ID. |
| flowlibs_InnovationBacklogTable | String | flowlibs_innovationbacklog | Logical name of the Dataverse table storing backlog entries. |
| flowlibs_InnovationDigestRecipient | String | you@yourcompany.com | Email address to receive the weekly digest. |
| flowlibs_InnovationTeamsGroupId | String | <configure> | Microsoft 365 Group ID for the COE Teams team that hosts the discussion channel. |
| flowlibs_InnovationTeamsChannelId | String | <configure> | Channel ID (e.g. 19:...@thread.tacv2) for the COE discussion channel. |
| flowlibs_InnovationLookbackDays | String | 7 | Number of days to look back when compiling the digest. |
| flowlibs_InnovationSiteUrl | String | https://your-tenant.sharepoint.com | SharePoint site URL (available for companion flows that mirror entries to a list). |
| flowlibs_InnovationListName | String | FlowLibs - Innovation Backlog | SharePoint list name (available for companion flows). |
Connectors & Connections
| Connector | API name | Actions used |
|---|---|---|
| Microsoft Dataverse | shared_commondataserviceforapps | ListRecords (Query the backlog table for the past N days) |
| Office 365 Outlook | shared_office365 | SendEmailV2 (Send the HTML digest email) |
| Microsoft Teams | shared_teams | PostMessageToConversation (Post the digest summary to the COE channel) |
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.
- Update environment variable values
- After importing the solution, set flowlibs_InnovationFormId to your actual Forms ID, and flowlibs_InnovationTeamsGroupId / flowlibs_InnovationTeamsChannelId to the Group and Channel IDs of the COE Teams channel that should receive the summary.
- Authorize the three connections
- Authorize Dataverse, Office 365 Outlook, and Microsoft Teams using a service account or the flow owner before turning the flow on.
- Create the Dataverse backlog table
- Create flowlibs_innovationbacklog with at minimum: flowlibs_ideatitle (Text), flowlibs_submittername (Text), flowlibs_ideadescription (Text), createdon (DateTime, auto).
- Wire up the Microsoft Forms intake
- Create the automation ideas Form and either point a companion flow at it or use a manual process to insert each submission into the Dataverse backlog table.
- Tune the lookback window
- Set flowlibs_InnovationLookbackDays to any integer (default 7). The recurrence trigger and lookback are independent, so a 14-day lookback with a weekly recurrence gives an overlapping rolling view.
- Change cadence or recipient without editing the flow
- Recipient, Teams target, and lookback are all environment-variable driven so updates are config-only. Adjust the Recurrence trigger only if you want a different day or time of week.
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.01Date filter for lookback window
Builds the OData $filter expression for the Dataverse ListRecords call so only records created within the lookback window are returned.
EXPR.02Idea count from returned records
Counts the rows returned from Dataverse and stores it in varIdeaCount for the digest header.
EXPR.03Null-safe HTML row builder
Pattern used inside the loop to append each idea as an HTML table row, with if(empty(...)) null-safety on every Dataverse field so missing values don't break the markup.
EXPR.04Email subject with formatted date
Generates a dated subject line such as 'Innovation Backlog Weekly Digest - May 09, 2026'.
Comments
Sign in to join the conversation.
Sign inNo comments yet. Be the first to share your experience with this flow.