Trello Board to Dataverse and Power BI Reporting
On a schedule, the flow exports cards from one or more Trello boards (list, labels, members, due, age in list) into a Dataverse table and refreshes a Power BI dashboard showing throughput, cycle time, and WIP. Gives leadership Kanban analytics that Trello doesn't provide natively.
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 gives leadership the Kanban delivery metrics that Trello does not expose natively. On a nightly schedule it reads every card on a configured Trello board, upserts a per-card snapshot row into a custom Dataverse reporting table (keyed on the Trello card id), and then triggers a Power BI dataset refresh so dashboards for throughput, cycle time, and WIP stay current.
Why it matters: Landing card data in Dataverse turns ephemeral Trello board state into a queryable fact table that Power BI can model alongside other business reporting. Each run is stamped with a correlationId for cross-run traceability.
Status: Built and deployed Off (demo). Going live requires only: (1) authorizing the three connections, and (2) setting the four environment variable values. No flow logic changes are needed.
Use Case
A PMO / leadership team runs delivery on Trello but needs governed analytics (cycle time, WIP, throughput) in Power BI, refreshed automatically every night with no manual export.
Flow Architecture
Nightly Snapshot 0130
Recurrence (Day/1 @ 01:30 ET)Nightly load window.
Initialize Correlation Id
Initialize Variable (@guid())Run trace id stamped on every snapshot row.
Initialize Board Id
Initialize VariableTrello board id, from flowlibs_TrelloBoardId.
Initialize Card Fact Table
Initialize VariableDataverse set name, from flowlibs_CardFactTable (documentation).
Initialize PowerBI Workspace Id
Initialize VariablePower BI group id, from flowlibs_PowerBIWorkspaceId.
Initialize PowerBI Dataset Id
Initialize VariablePower BI dataset id, from flowlibs_PowerBIDatasetId.
List Cards
Trello - ListCardsBoard snapshot (all cards).
Apply to each Card
ForeachProcess every card.
Compose Days Since Last Activity
ComposeWhole days since dateLastActivity (age-in-list proxy).
List Existing Snapshot
Microsoft Dataverse - ListRecordsFind existing row for this card id (upsert key).
Snapshot Exists
Condition (If)Branch on whether a row already exists.
Environment Variables
| Schema name | Type | Default | Description |
|---|---|---|---|
| flowlibs_TrelloBoardId | String | REPLACE_WITH_TRELLO_BOARD_ID | Board to export (reused). |
| flowlibs_CardFactTable | String | flowlibs_trellocards | Dataverse reporting table set name (new). |
| flowlibs_PowerBIWorkspaceId | String | REPLACE_WITH_PBI_WORKSPACE_ID | Power BI workspace (group) id (reused). |
| flowlibs_PowerBIDatasetId | String | REPLACE_WITH_PBI_DATASET_ID | Dataset to refresh (reused). |
Connectors & Connections
| Connector | API name | Actions used |
|---|---|---|
| Trello | shared_trello | ListCards |
| Microsoft Dataverse | shared_commondataserviceforapps | ListRecords CreateRecord UpdateRecord |
| Power BI | shared_powerbi | RefreshDataset |
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.
- Multi-board export
- Extend flowlibs_TrelloBoardId to a comma list and wrap List Cards in an outer Foreach over the board ids.
- Cumulative flow diagram (CFD)
- Snapshot per-list card counts daily into a second table for a CFD chart.
- Label analytics
- Explode idLabels into a child table for label-level reporting.
- True cycle time
- Call Trello card actions per card to derive exact list-entry timestamps instead of the dateLastActivity proxy.
- Schedule
- Adjust the Recurrence trigger frequency / time zone to match the reporting cadence.
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.01Upsert key (filter)
Finds an existing snapshot row by Trello card id.
EXPR.02Exists branch
True when a snapshot row already exists for the card.
EXPR.03Existing record id
Resolves the existing row's primary key for update.
EXPR.04Days since last activity
Whole days since the card's last activity (age-in-list proxy).
EXPR.05Labels / members
Comma-joins the card's label (or member) ids.
EXPR.06Correlation id
Minted in the first action, stamped on every row.
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.