Trello Daily Board Digest
Each morning the flow summarizes a Trello board — cards added/completed yesterday, in-progress, blocked, due today, per-list counts — and posts a digest to Teams plus an email to the board owner. Replaces manual standup prep with an automatic board readout.
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 posts a daily summary of a Trello board to a Microsoft Teams channel and emails it to the board owner. Each morning before standup it reads the board with the Trello connector and reports total open cards, cards due today, cards completed yesterday, blocked cards, and a per-list breakdown.
Why it matters: standup prep is repetitive. An automatic board readout gives the whole team one shared picture each morning with zero effort, so standups focus on hotspots instead of reading status aloud.
The solution ships Off — turn it on after authorizing the connections and setting the environment variable values.
Use Case
A team running its work on a Trello board wants a consistent morning summary delivered to Teams and email, so the daily standup can focus on what's due, what's blocked, and what moved — not on reading the board aloud.
Flow Architecture
Daily 08:45 Recurrence
RecurrenceScheduled trigger that runs daily at 08:45 Eastern Standard Time, just before standup.
Initialize Configuration Variables
Initialize variable (x6)Hydrate the six environment variables (flowlibs_TrelloBoardId, flowlibs_OwnerEmail, flowlibs_TeamsGroupId, flowlibs_TeamsChannelId, flowlibs_DigestEmailSubject, flowlibs_TrelloBlockedLabel) into flow variables.
Initialize Date Variables
Initialize variable (x2)Compute varToday and varYesterday as yyyy-MM-dd strings for date matching.
Initialize HTML Accumulators
Initialize variable (x4)Empty string accumulators for the per-list breakdown, due-today, completed-yesterday, and blocked HTML sections.
Get Board Lists
Trello — ListListsReads all lists on the board, used for per-list counts and blocked-list detection.
Get Board Cards
Trello — ListCardsReads all cards on the board — the source data for every digest section.
Filter Open Cards
Filter arrayKeeps cards where closed = false.
Filter Due Today
Filter arrayOpen cards whose due date equals today.
Filter Completed Yesterday
Filter arrayCards where dueComplete = true and dateLastActivity was yesterday.
Filter Blocked Lists
Environment Variables
| Schema name | Type | Default | Description |
|---|---|---|---|
| flowlibs_TrelloBoardId | String | <your-board-id> | The Trello board to summarize (board id). |
| flowlibs_OwnerEmail | String | me@contoso.com | Email recipient — the board owner / PM who receives the digest. |
| flowlibs_TeamsGroupId | String | <your-team-id> | Teams team (group) ID of the standup channel. |
| flowlibs_TeamsChannelId | String | <your-channel-id> | Teams channel ID of the standup channel. |
| flowlibs_DigestEmailSubject | String | Daily Trello Board Digest | Digest title and email subject base; the date is appended at runtime. |
| flowlibs_TrelloBlockedLabel | String | Blocked | List-name keyword used to identify blocked cards (case-insensitive contains match). |
Connectors & Connections
| Connector | API name | Actions used |
|---|---|---|
| Trello | shared_trello | ListLists ListCards |
| 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.
- Change the schedule
- Edit the Daily 08:45 recurrence (hour/minute/timezone) to match your team's standup.
- Tune blocked detection
- flowlibs_TrelloBlockedLabel matches by list name (case-insensitive contains). Set it to whatever your board calls its blocked column, or filter on each card's labels array to match by Trello label instead.
- List cards per list
- The breakdown table gives one row per list. To list individual card titles per list, extend the per-list loop to append card rows the same way the Due Today and Completed sections do.
- Store a trend
- Log the daily counts to a Dataverse table (one row per day) to drive a Power BI trend chart.
- Add recipients
- flowlibs_OwnerEmail drives the email; the Teams target is set by flowlibs_TeamsGroupId and flowlibs_TeamsChannelId. Add more channels by duplicating the Post to Teams action.
- Report cards added yesterday
- Trello encodes a card's creation time in the first 8 hex characters of its id. Convert that to a date and compare to varYesterday to report cards added yesterday.
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 / Yesterday
Computes today and yesterday as yyyy-MM-dd strings for date matching.
EXPR.02Due today (null-safe)
Filter-array predicate: open cards whose due date is today, guarding against null due dates.
EXPR.03Completed yesterday
Filter-array predicate: cards marked complete whose last activity was yesterday.
EXPR.04Blocked lists (by name)
Identifies lists whose name contains the blocked label.
EXPR.05Cards in a blocked list
Keeps cards whose list id is one of the blocked-list IDs.
EXPR.06Per-list open count (table row)
Builds one HTML table row per list with its open-card count.
EXPR.07Empty-section guard
Falls back to None when a section has no cards.
Comments
Sign in to join the conversation.
Sign inNo comments yet. Be the first to share your experience with this flow.