

How to Send Monday.com Status Alerts to Slack with Make
Automatically post a Slack message whenever a Monday.com item changes status, is created, or hits a deadline.
Steps and UI details are based on platform versions at time of writing — check each platform for the latest interface.
Best for
Teams that manage projects in Monday.com and need real-time Slack alerts without anyone manually checking boards.
Not ideal for
Teams needing two-way sync — this sends notifications from Monday.com to Slack only, not the reverse.
Sync type
real-timeUse case type
notificationReal-World Example
A 22-person product team uses this to post into #product-updates whenever a Monday.com task moves to 'In Review' or 'Blocked'. Before the automation, the PM sent manual Slack messages after standup — status changes made between standups sat unnoticed for hours. Now the Slack message fires within 90 seconds of the status change, tagging the item owner by name.
What Will This Cost?
Drag the slider to your expected monthly volume.
Each platform counts differently — Zapier: 1 task per trigger. Make: 1 operation per module per record. n8n: 1 execution per run.





Prices shown for annual billing. Based on published pricing as of April 2026.
Estimated ROI
1000
min saved/mo
$583
labor value/mo
Free
no platform cost
Based on ~2 min manual effort per operation at $35/hr fully loaded labor cost.
Implementation
Import this workflow directly into Make
Copy the pre-built Make blueprint and paste it straight into Make. All modules, filters, and field mappings are already configured — you just need to connect your accounts.
Before You Start
Make sure you have everything ready.
Field Mapping
Map these fields between your apps.
| Field | API Name | |
|---|---|---|
| Required | ||
| Item Name | event.pulseName | |
| New Status Value | event.value.label.text | |
| Column ID | event.columnId | |
6 optional fields▸ show
| Previous Status Value | event.previousValue.label.text |
| Board Name | event.boardId |
| Group Name | event.groupId |
| Item ID | event.pulseId |
| Changed By (User ID) | event.userId |
| Timestamp | event.changedAt |
Step-by-Step Setup
make.com > Scenarios > Create a new scenario
Create a new Make scenario
Log in to Make at make.com and click the blue 'Create a new scenario' button in the top right of your Scenarios dashboard. You'll land on an empty canvas with a large plus icon in the center. This is where your trigger module goes. Give your scenario a name by clicking the default title at the top — something like 'Monday Status → Slack' keeps it findable later.
- 1Log in to make.com
- 2Click 'Create a new scenario' in the top right
- 3Click the pencil icon next to the default scenario name
- 4Type a descriptive name like 'Monday Status → Slack Notifications'
Scenario Canvas > + > Monday.com > Watch Events (Instant)
Add the Monday.com trigger module
Click the plus circle in the center of the canvas. A search panel slides in from the right. Type 'Monday' and select the Monday.com app. You'll see a list of triggers — choose 'Watch Events (Instant)'. This uses Monday.com's native webhook system, so the scenario fires within seconds of a board change instead of polling every 15 minutes.
- 1Click the plus circle on the canvas
- 2Type 'Monday' in the search bar
- 3Select 'Monday.com' from the results
- 4Click 'Watch Events (Instant)' from the trigger list
Monday.com Module > Connection > Add > OAuth Flow
Connect your Monday.com account
Click 'Add' next to the Connection field to create a new Monday.com connection. Make redirects you to a Monday.com OAuth screen — log in with the account that has access to the boards you want to monitor. After authorization, Make redirects back to the module dialog and shows your connection name in the dropdown. Monday.com requires the connection account to have at least 'Member' access on the target board.
- 1Click 'Add' in the Connection field
- 2In the popup, click 'Authorize' to start OAuth
- 3Log in to Monday.com if prompted
- 4Click 'Allow' on the Monday.com permissions screen
- 5Confirm your connection name appears in the dropdown
Monday.com Module > Event Type > Board ID
Configure the Monday.com event trigger
With the connection set, configure which events and boards to watch. Set the 'Event Type' dropdown to watch status changes — select 'Change Column Value' for status updates, or add separate event types using Make's filter logic later. Set 'Board ID' to the specific board you want to monitor — click the dropdown and pick from your boards by name. If you leave Board ID blank, the trigger fires for ALL board changes across your account, which usually generates too much noise.
- 1Set 'Event Type' to 'Change Column Value'
- 2Click the 'Board ID' dropdown
- 3Select the target board by name from the list
- 4Leave 'Group ID' blank to watch all groups, or select a specific group
- 5Click OK to save the module
Scenario Canvas > Run once > (switch to Monday.com and trigger an event)
Register the Make webhook in Monday.com
Make needs to tell Monday.com where to send event data. After saving the module, Make prompts you to 'Run once' to register the webhook. Click 'Run once' at the bottom of the canvas, then go to your Monday.com board and manually change any item's status. Make captures this test payload and maps the field structure. Without this test run, Make doesn't know what data fields Monday.com will send.
- 1Click 'Run once' at the bottom left of the Make canvas
- 2Switch to your Monday.com board in a new tab
- 3Change any item's status column to a different value
- 4Switch back to Make and wait for the bubble to appear on the trigger module
- 5Click the bubble to inspect the captured data
Scenario Canvas > Arrow between modules > Wrench icon > Set up a filter
Add a filter to target status columns only
The 'Change Column Value' trigger fires for ANY column change — text edits, date changes, assignee updates, everything. You need a filter to pass only status column changes to Slack. Click the small wrench icon on the arrow between the trigger module and the next module, then select 'Set up a filter'. Set the condition to: Column ID contains 'status' (or use the exact column ID you captured in step 5, like 'status' or 'color'). This stops irrelevant column changes from generating Slack noise.
- 1Hover over the arrow after the Monday.com trigger module
- 2Click the wrench/filter icon that appears
- 3Click 'Add AND condition'
- 4Set Field to 'Column ID' from the trigger output
- 5Set Operator to 'Equal to' and type 'status' (or your exact column ID)
Scenario Canvas > + > Slack > Create a Message
Add the Slack module
Click the plus icon after the filter to add the next module. Search for 'Slack' and select it. Choose the action 'Create a Message'. This posts a message to a channel you specify. Connect your Slack workspace using OAuth — Make will ask for permission to post messages on your behalf. Select the correct workspace if you're in multiple Slack workspaces.
- 1Click the plus icon after the filter arrow
- 2Search for 'Slack' and select the app
- 3Choose 'Create a Message' as the action
- 4Click 'Add' in the Connection field
- 5Authorize Make to access your Slack workspace via OAuth
Slack Module > Channel > Text
Configure the Slack message content
Set the Channel field to the Slack channel where notifications should post — type the channel name or pick from the dropdown. Build the message text using the dynamic values captured from the Monday.com payload. Click inside the Text field and use Make's variable panel (the blue pill icons) to insert fields. A useful message template: '*{{Item Name}}* status changed to *{{New Value}}* on the {{Board Name}} board.' Keep it short — one line reads better in Slack than a wall of text.
- 1Click the Channel dropdown and select your target Slack channel
- 2Click inside the Text field
- 3Type your message prefix, e.g., '*Status Update:* '
- 4Click the blue variable picker and select 'Item Name' from Monday.com output
- 5Add ' changed to ' then insert 'New Value', then ' on ' then insert 'Board Name'
📬 New entry: {{1.name}}
Email: {{1.email}}
Details: {{1.description}}Scenario Canvas > Flow line wrench > Add a Router > Configure Routes
Add a router for deadline notifications (optional but recommended)
If you also want to catch deadline-based notifications, add a Router module before the Slack module. Click the wrench on the existing flow line and select 'Add a router'. Route 1 handles status changes (your existing filter). Route 2 handles items where the deadline date equals today — use Make's date formula: formatDate(now; 'YYYY-MM-DD') equals the item's date column value. Each route can post to a different Slack channel or use a different message format.
- 1Right-click the flow line after the trigger module
- 2Select 'Add a router'
- 3Label Route 1 'Status Changes' and Route 2 'Deadline Alerts'
- 4On Route 2, set filter: Date Column equals {{formatDate(now; 'YYYY-MM-DD')}}
- 5Add a second Slack module on Route 2 with a deadline-specific message
Scenario Canvas > Run once > Monday.com board > Verify Slack channel
Test the full scenario with a real Monday.com change
Click 'Run once' on the canvas, then go to your Monday.com board and change a real item's status. Watch the execution flow animate across the modules in Make — green bubbles mean data passed through, red means an error. Click each bubble to see exactly what data entered and exited that module. Confirm the Slack message arrived in the correct channel with the right item name and status value.
- 1Click 'Run once' at the bottom of the Make canvas
- 2Switch to Monday.com and change any item's status on your target board
- 3Return to Make and watch the execution animation
- 4Click each module's result bubble to inspect the data
- 5Open Slack and confirm the message posted to the correct channel
Scenario Canvas > Toggle (bottom left) > Activate > Scenario Settings
Activate the scenario and set scheduling
Flip the toggle at the bottom left of the canvas from OFF to ON. Make asks you to confirm — click 'Activate'. Since this uses an instant webhook trigger, you do not need to set a polling interval. The scenario stays on standby and fires only when Monday.com sends an event. Set the scenario's 'Maximum number of cycles' to 1 under scenario settings — each Monday.com event should process as a single execution.
- 1Click the OFF/ON toggle at the bottom left of the canvas
- 2Click 'Activate' in the confirmation dialog
- 3Click 'Scenario settings' (gear icon at the bottom)
- 4Confirm 'Maximum number of cycles' is set to 1
- 5Click Save
Paste this formula into the Slack module's Text field using Make's formula editor (click the variable pill, then switch to 'Formula' mode). It conditionally adds a red circle emoji and different message phrasing when the status is 'Blocked', and formats the timestamp to a readable local time — both things you'd otherwise need a separate router and two Slack modules to accomplish.
JavaScript — Custom Functionif(▸ Show code
if(
contains({{3.event.value.label.text}}; "Blocked");
"🔴 *Blocked Alert:* " & {{3.event.pulseName}} & " is now Blocked" &... expand to see full code
if(
contains({{3.event.value.label.text}}; "Blocked");
"🔴 *Blocked Alert:* " & {{3.event.pulseName}} & " is now Blocked" &
" (was " & {{3.event.previousValue.label.text}} & ")" &
" — changed at " & formatDate({{3.event.changedAt}}; "MMM D, h:mm A") &
". <https://monday.com/boards/" & {{3.event.boardId}} &
"/pulses/" & {{3.event.pulseId}} & "|View item →>";
"*Status Update:* " & {{3.event.pulseName}} &
" moved from *" & {{3.event.previousValue.label.text}} &
"* → *" & {{3.event.value.label.text}} & "*" &
" — " & formatDate({{3.event.changedAt}}; "MMM D, h:mm A") &
". <https://monday.com/boards/" & {{3.event.boardId}} &
"/pulses/" & {{3.event.pulseId}} & "|View item →>"
)Going live
Production Checklist
Before you turn this on for real, confirm each item.
Troubleshooting
Common errors and how to fix them.
Frequently Asked Questions
Common questions about this workflow.
Analysis
Use Make for this if your team wants conditional routing — sending 'Blocked' statuses to one Slack channel and 'Done' statuses to another without building two separate scenarios. Make's router module handles this in a single scenario, which keeps your operation count lower and your scenario list manageable. Make is also the right call if you need the message text to vary based on the status value, which you can do with Make's if() formula without writing any code. The one case where you'd skip Make: if your team already lives in Microsoft 365 and has Teams instead of Slack — Power Automate connects to both Monday.com and Teams natively and won't require a separate Make subscription.
Real cost math: this scenario uses 2 Make operations per run minimum — 1 for the Monday.com trigger, 1 for the Slack post. Add a router and a filter and you're at 3-4 operations per run. At 100 status changes per month, that's 200-400 operations. Make's free plan gives you 1,000 operations/month, so this workflow runs free for most small teams. At 500 changes/month you're burning 1,000-2,000 operations — you'd need the Core plan at $9/month. Zapier charges per task: the same 500 changes costs $19.99/month on the Starter plan. Make is roughly half the price at this volume.
Zapier sets this up faster — their Monday.com 'Status Changed' trigger is purpose-built and requires zero filter configuration, compared to Make's generic 'Change Column Value' trigger that fires for every column. That said, Zapier can't branch one trigger into two Slack channels without a paid Multi-Step Zap. n8n lets you self-host and run unlimited executions for free, which beats both on cost, but you're managing your own infrastructure. Power Automate has a Monday.com connector but it's in preview as of early 2024 and the trigger reliability is inconsistent — teams report 5-10 minute delays. Pipedream has solid Monday.com webhook support and lets you write JavaScript for complex message formatting, but it's overkill unless you're already building other API workflows there. Make hits the right balance of visual setup and enough formula logic to handle real-world conditional messaging.
Three things you'll run into after go-live. First: Monday.com webhook events don't include the board name as a plain string — they send a board ID. If you want 'Marketing Roadmap' in your Slack message instead of '4821093', you need a separate Make HTTP module to call the Monday.com GraphQL API and look up the board name by ID. It's an extra 2 operations per run but worth it for readability. Second: Monday.com's webhook delivery has a 30-second timeout — if Make takes longer than that to respond (rare, but happens under load), Monday.com marks the delivery as failed and may retry, causing duplicate Slack messages. Third: if you rename a status label in Monday.com (e.g., 'In Review' becomes 'Needs Approval'), your Slack messages instantly reflect the new label — but any hardcoded text in your Make filter or message template referencing the old label name will break silently.
Ideas for what to build next
- →Add a Daily Digest Instead of Per-Change Alerts — Replace the instant trigger with a scheduled scenario that runs at 5 PM and aggregates all status changes from that day into a single Slack message — cuts notification noise for busy boards.
- →Route Alerts to Different Channels by Board or Status — Add a Make router after the trigger to send 'Blocked' statuses to #blockers, 'Done' statuses to #wins, and everything else to #general-updates — one scenario, three targeted Slack channels.
- →Log Every Status Change to a Google Sheet — Add a Google Sheets module after the Slack module to write each status change as a row — gives you a full audit trail and raw data for monthly project velocity reporting.
Related guides
How to Share Notion Meeting Notes to Slack with Pipedream
~15 min setup
How to Share Notion Meeting Notes to Slack with Power Automate
~15 min setup
How to Share Notion Meeting Notes to Slack with n8n
~20 min setup
How to Send Notion Meeting Notes to Slack with Zapier
~8 min setup
How to Share Notion Meeting Notes to Slack with Make
~12 min setup
How to Create Notion Tasks from Slack with Pipedream
~15 min setup