Trello High-Priority Card to Teams War Room
When a card is labeled urgent or incident, the flow posts a coordination thread to a Teams channel, links the thread URL back on the card, and logs the incident to Dataverse. As the card moves to Done, it posts a resolution note. Bridges Trello triage to Teams coordination.
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 bridges Trello triage to Microsoft Teams coordination with a full incident lifecycle backed by Dataverse. On a 15-minute schedule it reads the board, detects cards carrying the configured urgent/incident label, opens a Teams war-room thread, writes the thread link back onto the card as a comment, and logs the incident to a Dataverse table. On a later run, when a logged incident's card has moved to Done, it posts a resolution note and closes the Dataverse record.
Why it matters: triage happens on the board, but coordination happens in Teams. This bridges them automatically and keeps a clean system-of-record in Dataverse - without anyone re-keying anything.
Ships Off; turn on by authorizing the three connections and setting the env vars.
Use Case
Operations / IT teams that triage incidents on a Trello board want urgent cards to instantly spin up a Teams coordination thread, surface that thread back on the card for triagers, and maintain an auditable incident log - with automatic resolution tracking when the work is done.
Flow Architecture
Every 15 Minutes
RecurrencePolls the board on a schedule (replaces a fragile Trello webhook).
Initialize Config & Counters
Initialize variable (x7)Binds board, urgent label, done list, Teams group/channel; seeds new-incident and resolved counters.
Get Board Cards
Trello - ListCardsReads all open board cards in one call (fetch-once, filter-many).
Filter Urgent Cards
Filter arrayKeeps open cards whose idLabels contains the urgent label.
For Each Urgent Card
Apply to each (concurrency 1)Dedup-checks Dataverse by card id; for new incidents opens a Teams war-room thread, comments the thread URL back on the card, and logs an Open incident row.
List Open Incidents
Dataverse - ListRecordsReads incidents still Open to check for resolution.
For Each Open Incident
Apply to each (concurrency 1)Matches the live card; when its list equals the Done list, posts a resolution note to Teams and marks the incident Resolved with a timestamp.
Environment Variables
| Schema name | Type | Default | Description |
|---|---|---|---|
| flowlibs_TrelloBoardId | String | REPLACE_WITH_TRELLO_BOARD_ID | Board to monitor. |
| flowlibs_TrelloUrgentLabelId | String | REPLACE_WITH_TRELLO_LABEL_ID | Label id that marks a card urgent/incident. |
| flowlibs_TrelloDoneListId | String | REPLACE_WITH_TRELLO_DONE_LIST_ID | List id representing Done (drives resolution). |
| flowlibs_TeamsGroupId | String | <your-team-id> | Teams team hosting the war-room channel. |
| flowlibs_TeamsChannelId | String | <your-channel-id> | War-room channel for threads and resolution notes. |
| flowlibs_IncidentTableName | String | flowlibs_trelloincidents | Incident table entity-set name (documentation). |
Connectors & Connections
| Connector | API name | Actions used |
|---|---|---|
| Trello | shared_trello | ListCards AddCommentToCard |
| Microsoft Teams | shared_teams | PostMessageToConversation |
| Microsoft Dataverse | shared_commondataserviceforapps | ListRecords CreateRecord UpdateRecord |
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.
- Polling cadence
- Change the recurrence to match your urgency SLA (e.g. every 5 minutes for high-severity boards).
- Per-incident channel
- Swap the war-room post to create a dedicated channel per major incident instead of one shared channel.
- Escalation / paging
- Chain a PagerDuty or Twilio action after Log Incident to page on-call for after-hours urgent cards.
- Multiple urgent labels
- Change the filter to test membership against an array of label ids (urgent + incident).
- Stale-incident cadence
- Add a branch that re-pings the channel for incidents open longer than N hours.
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.01Urgent filter
Keeps open cards carrying the urgent label.
EXPR.02Dedup gate
True when no incident row exists yet for the card.
EXPR.03Thread link resolve
Uses the posted message link, with a channel deep-link fallback.
EXPR.04Card-done gate
True when the matched card has moved to the Done list.
EXPR.05Resolution timestamp
Stamped when the incident is marked resolved.
Comments
Sign in to join the conversation.
Sign inNo comments yet. Be the first to share your experience with this flow.