Beginner~12 min setupCommunication & Project ManagementVerified April 2026
Slack logo
Monday.com logo

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-time

Use case type

notification

Real-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.

/mo
505005K50K

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

Skip the setup

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.

Monday.com account with Member or higher access on the boards you want to monitor
Slack account with permission to post messages in the target channel (must be a channel member)
Make account — the free tier supports instant triggers and handles up to 1,000 operations/month
Monday.com API access enabled — confirm under Admin > API in your Monday.com account settings
The Slack channel already created and the right team members added before you configure the module

Field Mapping

Map these fields between your apps.

FieldAPI Name
Required
Item Nameevent.pulseName
New Status Valueevent.value.label.text
Column IDevent.columnId
6 optional fields▸ show
Previous Status Valueevent.previousValue.label.text
Board Nameevent.boardId
Group Nameevent.groupId
Item IDevent.pulseId
Changed By (User ID)event.userId
Timestampevent.changedAt

Step-by-Step Setup

1

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.

  1. 1Log in to make.com
  2. 2Click 'Create a new scenario' in the top right
  3. 3Click the pencil icon next to the default scenario name
  4. 4Type a descriptive name like 'Monday Status → Slack Notifications'
What you should see: You should see a blank canvas with a single large circle containing a plus sign at the center.
Common mistake — Make auto-saves scenario names but does NOT auto-save module configuration. If you close the browser mid-setup, unconfigured modules are lost.
2

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.

  1. 1Click the plus circle on the canvas
  2. 2Type 'Monday' in the search bar
  3. 3Select 'Monday.com' from the results
  4. 4Click 'Watch Events (Instant)' from the trigger list
What you should see: A Monday.com module dialog opens asking you to create or select a connection.
Common mistake — Make also lists a non-instant 'Watch Items' polling trigger. Do not use it here — it checks every 15 minutes and will feel broken compared to the instant trigger.
Make
+
click +
search apps
Slack
SL
Slack
Add the Monday.com trigger m…
Slack
SL
module added
3

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.

  1. 1Click 'Add' in the Connection field
  2. 2In the popup, click 'Authorize' to start OAuth
  3. 3Log in to Monday.com if prompted
  4. 4Click 'Allow' on the Monday.com permissions screen
  5. 5Confirm your connection name appears in the dropdown
What you should see: The Connection field shows your Monday.com account name with a green dot, and the module form loads additional configuration fields.
Common mistake — If your Monday.com account uses SSO, the OAuth popup may silently fail. In that case, ask your Monday.com admin to generate an API token and use the 'API Key' connection type instead of OAuth.
Make settings
Connection
Choose a connection…Add
click Add
Slack
Log in to authorize
Authorize Make
popup window
Connected
green checkmark
4

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.

  1. 1Set 'Event Type' to 'Change Column Value'
  2. 2Click the 'Board ID' dropdown
  3. 3Select the target board by name from the list
  4. 4Leave 'Group ID' blank to watch all groups, or select a specific group
  5. 5Click OK to save the module
What you should see: The module shows your chosen event type and board name. Make generates a webhook URL in the background.
5

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.

  1. 1Click 'Run once' at the bottom left of the Make canvas
  2. 2Switch to your Monday.com board in a new tab
  3. 3Change any item's status column to a different value
  4. 4Switch back to Make and wait for the bubble to appear on the trigger module
  5. 5Click the bubble to inspect the captured data
What you should see: A numbered bubble appears on the Monday.com module showing '1 bundle'. Clicking it reveals the raw JSON payload including item ID, item name, column ID, previous value, and new value.
Common mistake — Monday.com webhooks expire if not triggered within 7 days after initial registration. If you set up the scenario and don't activate it immediately, re-run the webhook registration before going live.
6

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.

  1. 1Hover over the arrow after the Monday.com trigger module
  2. 2Click the wrench/filter icon that appears
  3. 3Click 'Add AND condition'
  4. 4Set Field to 'Column ID' from the trigger output
  5. 5Set Operator to 'Equal to' and type 'status' (or your exact column ID)
What you should see: The arrow between modules shows a small filter icon, and a label displays your filter condition.
Common mistake — Monday.com column IDs are not always 'status' — they depend on how the board was built. Check the exact column ID in the payload you captured in Step 5 before setting this filter.
Slack
SL
trigger
filter
Status
matches criteria?
yes — passes through
no — skipped
Monday.com
MO
notified
7

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.

  1. 1Click the plus icon after the filter arrow
  2. 2Search for 'Slack' and select the app
  3. 3Choose 'Create a Message' as the action
  4. 4Click 'Add' in the Connection field
  5. 5Authorize Make to access your Slack workspace via OAuth
What you should see: The Slack module dialog opens with a connected workspace name in the Connection field and a Channel field ready to configure.
Common mistake — Make's Slack OAuth only requests the scopes it needs for the selected action. If you later want to add 'Pin a Message' or DM actions, you'll need to disconnect and reauthorize with a fresh connection that has those scopes.
8

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.

  1. 1Click the Channel dropdown and select your target Slack channel
  2. 2Click inside the Text field
  3. 3Type your message prefix, e.g., '*Status Update:* '
  4. 4Click the blue variable picker and select 'Item Name' from Monday.com output
  5. 5Add ' changed to ' then insert 'New Value', then ' on ' then insert 'Board Name'
What you should see: The Text field shows a mix of static text and blue variable pills. Hovering over a pill shows which Monday.com field it maps to.
Common mistake — Map fields using the variable picker — don't type field names manually. Hand-typed variable names often have invisible spacing errors that produce blank output.
Message template
📬 New entry: {{1.name}}
Email: {{1.email}}
Details: {{1.description}}
9

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.

  1. 1Right-click the flow line after the trigger module
  2. 2Select 'Add a router'
  3. 3Label Route 1 'Status Changes' and Route 2 'Deadline Alerts'
  4. 4On Route 2, set filter: Date Column equals {{formatDate(now; 'YYYY-MM-DD')}}
  5. 5Add a second Slack module on Route 2 with a deadline-specific message
What you should see: The canvas shows a router module with two outgoing paths, each labeled with its filter condition.
Common mistake — Make's router evaluates routes in order. If Route 1's filter matches, Route 2 is still evaluated independently — routers are not if/else branches. Both routes can fire for the same event if both filters match.
10

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.

  1. 1Click 'Run once' at the bottom of the Make canvas
  2. 2Switch to Monday.com and change any item's status on your target board
  3. 3Return to Make and watch the execution animation
  4. 4Click each module's result bubble to inspect the data
  5. 5Open Slack and confirm the message posted to the correct channel
What you should see: All module bubbles are green, and a Slack message appears in your chosen channel within 90 seconds of the Monday.com change.
Make
▶ Run once
executed
Slack
Monday.com
Monday.com
🔔 notification
received
11

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.

  1. 1Click the OFF/ON toggle at the bottom left of the canvas
  2. 2Click 'Activate' in the confirmation dialog
  3. 3Click 'Scenario settings' (gear icon at the bottom)
  4. 4Confirm 'Maximum number of cycles' is set to 1
  5. 5Click Save
What you should see: The toggle shows ON in blue, and the scenario status changes to 'Active' in your Scenarios list. The scenario now runs automatically without manual intervention.

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

VerdictWhy Make for this workflow

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.

Cost

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.

Tradeoffs

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 AlertsReplace 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 StatusAdd 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 SheetAdd 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

Was this guide helpful?
Slack + Monday.com overviewMake profile →