Skip to content
Automation Squad
moTMade to order

Projects & operations

monday.com board → Monday-morning status roll-up in a Microsoft Teams channel

Board status lands in Teams at 08:00 on Monday, with stalled and past-due items named.

Status meetings exist because nobody reads the board. Every Monday at 08:00 this package reads the monday.com boards you choose and posts a roll-up to a Teams channel: item counts per status, what moved to Done since last Monday, what is due this week. A second message follows only when something is past due or has held one status for 14 days, and it names the owner. The board stays the source; Teams becomes the place it is read.

How it works

  1. mo

    Trigger

    Every Monday at 08:00 in your timezone (n8n Schedule Trigger), then one monday.com GraphQL items_page query per chosen board

    monday.com

  2. mo

    Step 1

    Read every item on the chosen boards

    The GraphQL items_page query returns each item with its group, status column label, owner from the people column and date column, paged by cursor so large boards are read in full.

  3. if

    Step 2

    Compare each item with last Monday's snapshot

    The workflow keeps a snapshot of every item's status and the date that status was first seen. An item whose status differs from the snapshot gets today as its since-date; one that matches keeps the old date. Newly Done means Done now and not Done last time.

  4. if

    Step 3

    Bucket the items and flag the exceptions

    Items are counted per status label and listed under done-since-last-Monday and due-this-week. Anything with a date before today and a status other than Done, or a since-date 14 or more days old, is flagged with its owner.

  5. T

    Step 4

    Post the roll-up to the project channel

    One channel message per board through the Microsoft Graph channel-message call in the n8n Teams node: the status counts, the done list and the due-this-week list, each item linked back to monday.com.

  6. if

    Step 5

    Check whether anything is past due or stalled

    When the flagged list is empty the run skips to the snapshot save. Otherwise it continues to a second message, so the channel only sees an exceptions post when there are exceptions.

  7. T

    Step 6

    Post the exceptions with owner names

    A second message lists each past-due or stalled item with its owner's name, its status, and days overdue or days since the status last changed, in the same channel under the roll-up.

  8. if

    Step 7

    Save this week's snapshot for next Monday

    Each item's ID, status and since-date are written back to the workflow's static data (a data store on Make), which is what the next run compares against; items no longer on the board drop out.

What changes once it runs

  • One Teams post per board every Monday at 08:00, before the first meeting of the week.
  • Items past their date, or holding one status for 14 days by the snapshot, are named with their owner in a separate message.
  • What moved to Done last week and what is due this week are listed with links, not recalled from memory.
  • The exceptions message appears only when there are exceptions, so a quiet week reads as quiet.

What you get

  • n8n workflow export, run against a sample board before it ships
  • Step-by-step guide to the monday.com token, the Teams consent and the board list
  • Board-to-channel setup sheet: board ID, status, date and people column IDs, Teams channel
  • A walkthrough recording of one Monday run, exceptions message included
  • The same run as a Make blueprint, with a data store standing in for n8n's static data

Before you start

  • monday.com with an API token for a user who can see the chosen boards
  • Boards with a status column, a date column and a people column, named in the setup sheet
  • Microsoft 365 with a Teams channel, and an admin to consent to the app's ChannelMessage.Send permission
  • n8n Cloud or self-hosted, either works; the snapshot lives in the workflow's static data, so keep the workflow on one instance

Built for

Questions before you buy

Can it run on Friday afternoon instead?
Yes. The schedule is one setting in the trigger node, and the snapshot comparison follows whatever cadence you set, so a Friday 16:00 run reports the week just finished. The guide shows the two lines to change.
Our boards use different status labels. Does that break the counts?
No. The counts use whatever labels each board has. The only labels the package needs to know are which one means Done and, if you use one, which means Blocked; both are set per board in the setup sheet.
What does the first run show?
Counts per status, due-this-week and past-due items, all read straight from the board. The done-since-last-run list needs a previous snapshot, so it starts on the second run, and the stalled flag first fires once an item has held one status for 14 days of snapshots.
Can it post to more than one channel?
Each board in the setup sheet has its own channel, so yes, and one board can be listed twice with two channels. Two boards can also share a channel; they post as separate messages.
We run Make, not n8n. Is that covered?
It is. The package includes a Make blueprint with the monday.com and Microsoft Teams modules, an array aggregator for the bucketing and a Make data store holding the snapshot. Zapier is not included; the per-board grouping and the conditional second message do not fit its one-trigger-one-path shape well.

Nearby on the shelf

Whole catalog