monday.com Subitem Rollup and Parent Status
When a subitem changes on a monday.com board, the flow recomputes the parent item's status and progress from its subitems (e.g. set parent to Done when all subitems are Done, or At Risk if any is blocked), updates the parent, and notifies the owner. Keeps parent items accurately reflecting their subitems.
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 keeps monday.com parent items accurate to their subitems. When a subitem changes, monday.com fires a webhook to the flow, which reads all sibling subitems, recomputes the parent's status (Done when all subitems are done, At Risk if any is blocked/stuck, otherwise In Progress) and a progress percentage, writes both back onto the parent item, and notifies the owner via Microsoft Teams and Outlook email.
Why it matters: Parent items drift out of sync with their subitems, misleading status views. Automatic rollup keeps the board honest with zero manual upkeep.
Solution: FlowLibs - monday.com Subitem Rollup and Parent Status. Flow ID: CF-654. State: Off (demo). Built 2026-06-10.
Build Note — Trigger Adaptation: The monday.com connector (shared_mondaycom) is the MCP-invoke connector — it exposes no native trigger (and no traditional CRUD actions), only InvokeMondayMCP. The brief's conceptual When_subitem_changes trigger does not exist as a connector trigger. This flow adapts using a built-in Request (HTTP webhook) trigger plus monday.com's challenge handshake: monday.com is pointed at the flow's trigger URL and POSTs an event on every subitem change. To go live: turn the flow On and copy its HTTP POST URL; in monday.com create a webhook on the subitems board for the change_column_value event (the flow echoes the one-time challenge automatically); authorize the three connections and set the eight env var values.
Use Case
A team using monday.com subitems wants each parent item's status and progress to reflect its subitems' completion automatically — without anyone re-checking the parent by hand whenever a subitem moves.
Flow Architecture
When a monday subitem changes
Request / HTTP webhookReceives monday.com webhook POSTs carrying either a one-time challenge or a subitem-change event object.
Initialize labels + parent id
Initialize VariableInitialize Done/Blocked/AtRisk/InProgress labels and the Parent Item Id pulled from the webhook event.
Check For Monday Handshake
ConditionTrue when the body contains a non-empty challenge: echo {challenge} on HTTP 200 and Terminate. False: process the subitem change.
Open Monday MCP Session
monday.com InvokeMondayMCP (initialize)Opens an MCP session; Capture Session Id reads Mcp-Session-Id for reuse.
Get Sibling Subitems
monday.com InvokeMondayMCP (tools/call -> all_monday_api)GraphQL read of the parent's subitems and their status column.
Parse + count subitems
ComposeParse Subitems then count total, done, and blocked subitems.
Compute Parent Status + Progress
ComposeAt Risk / Done / In Progress rollup and done/total x 100 progress percent.
Update Parent Item
monday.com InvokeMondayMCP (tools/call -> change_simple_column_value)Writes the rolled-up status + progress onto the parent item.
Notify Owner Teams
Teams PostMessageToConversationPosts the rollup summary.
Environment Variables
| Schema name | Type | Default | Description |
|---|---|---|---|
| flowlibs_MondayBoardId | String | <configure> | Parent board ID (used in the write mutation). |
| flowlibs_StatusColumnId | String | status | Parent status column ID to write the rolled-up status to. |
| flowlibs_ProgressColumnId | String | numbers | Parent numbers column ID to write progress % to. |
| flowlibs_SubitemStatusColumnId | String | status | Subitem status column ID read to compute the rollup. |
| flowlibs_MondayMcpToolName | String | all_monday_api | monday.com MCP tool name for tools/call. |
| flowlibs_TeamsGroupId | String | <your-team-id> | Teams team (group) ID to notify in. |
| flowlibs_TeamsChannelId | String | <your-channel-id> | Teams channel ID to post to. |
| flowlibs_OwnerEmail | String | you@yourcompany.com | Owner email address for the Outlook notification. |
Connectors & Connections
| Connector | API name | Actions used |
|---|---|---|
| monday.com | shared_mondaycom | InvokeMondayMCP |
| 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.
- Weighted progress
- Instead of a simple done/total ratio, weight subitems by an effort/size column read alongside the status column in Get Sibling Subitems.
- Date rollup
- Add a change_simple_column_value for the parent due date set to the latest subitem due date.
- Blocked propagation
- Surface the names of blocked subitems in the Teams/email notification by composing them from Parse Subitems.
- Label mapping
- If your board uses different labels, change the Initialize *Label variables; no flow-logic edits needed.
- Notification routing
- Drive flowlibs_OwnerEmail from the parent item's owner (read it in the GraphQL query) for true per-item routing.
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.01Parse subitems
Extracts the subitems array from the MCP result.
EXPR.02Done count
Counts subitems whose status equals the Done label.
EXPR.03Parent status
Computes the rolled-up parent status.
EXPR.04Progress %
Computes done/total x 100 progress percent.
EXPR.05Read GraphQL
Reads the parent's subitems and their status column.
EXPR.06Write GraphQL
Writes the rolled-up status and progress onto the parent.
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.