

How to Send Wrike Task Updates to Slack with Make
Automatically posts a Slack message to the relevant project channel whenever a Wrike task changes status, is completed, 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
Project teams who manage work in Wrike and need real-time status changes pushed to Slack channels without checking Wrike manually.
Not ideal for
Teams who need two-way sync — this flow is read-only from Wrike; it won't create or update Wrike tasks from Slack reactions.
Sync type
real-timeUse case type
notificationReal-World Example
A 22-person product agency uses this to post into #project-phoenix on Slack every time a Wrike task moves to 'In Review' or 'Completed'. Before the automation, the project manager sent manual Slack updates 5-6 times a day and statuses still lagged 30-90 minutes behind reality. Now the channel gets a formatted message within 30 seconds of any status change, and the PM reclaimed about 45 minutes per day.
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 | ||
| Task Title | ||
| Current Status | ||
| Previous Status | ||
| Task Permalink | ||
| Slack Channel | ||
5 optional fields▸ show
| Assignee(s) | |
| Due Date | |
| Project Name | |
| Task Description | |
| Completion Date |
Step-by-Step Setup
make.com > Scenarios > Create a new scenario
Create a new Make scenario
Log into Make at make.com and click the blue 'Create a new scenario' button in the top right of the Scenarios dashboard. You'll land on the visual canvas with a single empty circle in the center — that's your trigger slot. Click it to open the app search panel on the right side of the screen. This is where you'll connect Wrike as the event source.
- 1Log into make.com
- 2Click the blue 'Create a new scenario' button in the top right
- 3Click the empty circle in the center of the canvas
- 4Type 'Wrike' in the search bar and select it from the results
Canvas > Wrike module > Watch Tasks
Set the Wrike trigger to Watch Tasks
From the Wrike module list, select 'Watch Tasks' — this is the webhook-based trigger that fires instantly when a task is created or updated. Do not pick 'Search Tasks'; that's a polling action, not a trigger. After selecting 'Watch Tasks', Make will ask you to connect your Wrike account or select an existing connection. Click 'Add' if this is your first time, and you'll be redirected to Wrike's OAuth authorization page.
- 1Select 'Watch Tasks' from the Wrike trigger list
- 2Click 'Add' next to the Connection field
- 3Log into Wrike in the OAuth popup
- 4Click 'Allow access' on the Wrike permissions screen
- 5Return to Make — the Connection field should now show your Wrike account name
Canvas > Wrike: Watch Tasks > Configuration panel
Configure the Wrike trigger filters
Inside the Watch Tasks configuration panel, set the 'Folder/Project' field to the specific Wrike project you want to monitor — click the folder picker and navigate to it by name. Set 'Event Type' to 'Updated' to catch status changes and completions. Leave 'Status' blank here; you'll filter by specific statuses using a Router in step 5. Setting the scope to a specific project prevents the trigger from firing on every task across your entire Wrike workspace.
- 1Click the folder icon next to the 'Folder/Project' field
- 2Navigate to and select your target project
- 3Set 'Event Type' to 'Updated'
- 4Leave 'Status' filter blank
- 5Click 'OK' to save the module configuration
Canvas > + icon after Wrike module > Router
Add a Router module
Click the small '+' icon on the right edge of the Wrike module to add the next module. Search for 'Router' and add it. The Router splits your scenario into multiple parallel paths — one for status changes, one for completions, and one for deadline alerts. Each path will send a differently formatted Slack message. You'll see the Router appear as a diamond shape with expandable branches coming off it.
- 1Click the '+' on the right edge of the Wrike: Watch Tasks module
- 2Type 'Router' in the module search bar
- 3Click 'Router' in the results — it appears under 'Flow Control'
- 4The Router diamond appears on the canvas with two default branch lines
Canvas > Router branch line > wrench icon > Filter settings
Configure Router branch filters
Click the wrench icon on each Router branch line to open its filter. For branch 1 (status change), set the condition to: Task Status does not equal the previous status — use the formula {{1.status}} does not equal {{1.previousStatus}}. For branch 2 (completed), set: Task Status equals 'Completed'. For branch 3 (deadline), use Make's built-in date comparison: {{formatDate(1.dueDate; 'YYYY-MM-DD')}} equals {{formatDate(now; 'YYYY-MM-DD')}}. Click the '+' on the Router to add a third branch if only two are showing.
- 1Click the wrench icon on the first branch line
- 2Set Condition A: '{{1.status}}' does not equal '{{1.previousStatus}}'
- 3Click the wrench icon on the second branch line
- 4Set Condition B: '{{1.status}}' equals 'Completed'
- 5Click '+' on the Router to add a third branch, then set date condition for deadlines
Canvas > Router Branch 1 > + > Slack > Create a Message
Add a Slack module to branch 1 (status change)
Click the '+' at the end of Router branch 1 and search for 'Slack'. Select 'Create a Message'. Connect your Slack account via OAuth when prompted. Set 'Channel' to the Slack channel name or ID where project updates should go — e.g. #project-phoenix. In the 'Text' field, build the message using Wrike data from the trigger: you'll map fields like task title, assignee, old status, and new status here.
- 1Click '+' at the end of branch 1
- 2Search for 'Slack' and select 'Create a Message'
- 3Click 'Add' to connect your Slack account via OAuth
- 4Set 'Channel' to your target Slack channel (e.g. #project-phoenix)
- 5Build the message text using mapped Wrike fields
Canvas > Slack: Create a Message > Text field
Build the Slack message text for status changes
In the Slack 'Create a Message' Text field, click inside the text area and use the variable picker on the right to insert Wrike fields. Build a message like: 📋 *{{1.title}}* changed status from *{{1.previousStatus}}* to *{{1.status}}*\nAssigned to: {{1.responsibleIds[].name}}\nProject: {{1.project.title}}\nLink: {{1.permalink}}. The \n creates a line break. Use asterisks around text for bold formatting in Slack.
- 1Click inside the 'Text' field of the Slack module
- 2Use the variable panel on the right to insert '{{1.title}}'
- 3Type the status change message template around the variables
- 4Insert '{{1.permalink}}' at the end so recipients can click directly into Wrike
- 5Click 'OK' to save the module
📬 New entry: {{1.name}}
Email: {{1.email}}
Details: {{1.description}}Canvas > Right-click Slack module > Clone module
Clone and adjust Slack modules for branches 2 and 3
Right-click the Slack module on branch 1 and select 'Clone module'. Drag the clone to the end of branch 2. Double-click it to edit and change the message text to reflect a completion event: ✅ *{{1.title}}* has been marked *Completed*\nProject: {{1.project.title}}\nLink: {{1.permalink}}. Clone again for branch 3 and write a deadline message: ⏰ *{{1.title}}* is due TODAY\nAssigned to: {{if(1.responsibleIds[]; 1.responsibleIds[].name; 'Unassigned')}}\nLink: {{1.permalink}}. Using the same Slack connection across all three modules is fine.
- 1Right-click the Slack module on branch 1
- 2Select 'Clone module' from the context menu
- 3Drag the cloned module to the end of branch 2
- 4Edit the message text for completion events
- 5Repeat clone process for branch 3 and edit for deadline events
Canvas > Run once button (bottom left)
Run the scenario once with test data
Click 'Run once' in the bottom left of the canvas. Then go to Wrike and manually change a task's status in your target project. Within 30 seconds, Make should detect the event and run the scenario. You'll see a green bubble on each executed module showing how many records passed through. Click any bubble to inspect the exact data Make received from Wrike and sent to Slack.
- 1Click 'Run once' in the bottom left toolbar
- 2Switch to Wrike in a new tab
- 3Open a task in your target project and change its status
- 4Return to Make and watch for green execution bubbles to appear
- 5Click the bubble on the Wrike module to inspect the raw payload
Canvas > Scheduling icon (clock, bottom left) > Set to Immediately > Toggle ON
Set the scenario schedule and activate
Since this workflow uses Wrike's webhook trigger (not polling), the 'Schedule' setting controls how often Make checks for queued webhook events — not how often it polls Wrike. Set it to 'Immediately' so Make processes incoming Wrike events as fast as possible. Click the toggle in the bottom left to switch the scenario from OFF to ON. The toggle turns blue when active.
- 1Click the clock icon in the bottom left of the canvas
- 2Set scheduling to 'Immediately'
- 3Click 'OK' to save the schedule
- 4Click the ON/OFF toggle — it turns blue when active
Canvas > Right-click Slack module > Add error handler
Enable error handling with an alert route
Click the wrench icon on the Slack module and select 'Add error handler'. Choose 'Rollback' or 'Resume' depending on your preference — for notifications, 'Resume' is usually better so one failed Slack post doesn't stop the scenario entirely. Optionally add a second Slack 'Create a Message' inside the error handler that pings you or your ops channel when a message fails to send. This gives you visibility into failures without logging into Make to check run history.
- 1Right-click one of the Slack modules
- 2Select 'Add error handler'
- 3Choose 'Resume' from the handler type options
- 4Optionally add another Slack module inside the error route to ping an ops channel
- 5Repeat for the other two Slack modules
Paste this formula into the 'Text' field of any Slack module using Make's formula editor (click the formula icon — the 'f(x)' button — inside the text field). It conditionally formats the message based on status and gracefully handles missing assignees and due dates, so you get one clean formula instead of three separate Slack modules.
JavaScript — Custom Function{{if(▸ Show code
{{if(
1.status = "Completed";
"✅ *" & 1.title & "* is now Completed" &... expand to see full code
{{if(
1.status = "Completed";
"✅ *" & 1.title & "* is now Completed" &
"\nProject: " & 1.project.title &
"\nCompleted by: " & if(1.responsibleIds[].name; 1.responsibleIds[].name; "Unassigned") &
"\n" & 1.permalink;
if(
formatDate(1.dueDate; "YYYY-MM-DD") = formatDate(now; "YYYY-MM-DD");
"⏰ *" & 1.title & "* is due TODAY" &
"\nAssigned to: " & if(1.responsibleIds[].name; 1.responsibleIds[].name; "Unassigned") &
"\nStatus: " & 1.status &
"\n" & 1.permalink;
"📋 *" & 1.title & "* changed status" &
"\nFrom: *" & 1.previousStatus & "* → *" & 1.status & "*" &
"\nAssigned to: " & if(1.responsibleIds[].name; 1.responsibleIds[].name; "Unassigned") &
"\nDue: " & if(1.dueDate; formatDate(1.dueDate; "MMM D, YYYY"); "No due date") &
"\n" & 1.permalink
)
)}}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 real-time Slack notifications without writing a single line of infrastructure code, and you need conditional routing logic — different message formats for status changes vs. completions vs. deadlines. Make's visual Router is the right tool here: you can see all three paths on one canvas and debug exactly which branch fired and why. The other reason to pick Make is cost — at 3 ops per run, you can handle 3,300 Wrike events per month on the free tier before paying anything. Pick Zapier instead if your team already pays for it and just needs a single trigger-to-message path with no routing logic; Zapier's setup is faster for that specific case.
Real cost math: each scenario run uses 3 Make operations. At 50 Wrike task updates per day, that's 4,500 ops/month — free on Make's Core plan (10,000 ops included). At 150 updates/day you hit 13,500 ops/month and need the Pro plan at $9/month. Zapier charges per task: the same 150-updates/day workflow costs $49/month on Zapier's Professional plan. Make is $40/month cheaper at that volume for functionally identical output.
Zapier's 'Wrike: Updated Task' trigger is slightly faster to configure — 6 steps vs. Make's 11 — because it has no Router concept; you'd need one Zap per notification type. n8n gives you the most flexibility with a code node for complex message formatting, and it's free to self-host, but you're responsible for uptime. Power Automate has a Wrike connector but it's community-maintained with spotty reliability and no webhook support — it polls every 15 minutes, which means notifications lag by up to 15 minutes. Pipedream lets you write the entire logic in JavaScript with full npm access, which is useful if you need to call the Wrike API directly for enrichment data not in the webhook payload. Make wins on the balance of speed, cost, and visual debuggability — the execution inspector showing exactly what data passed through each module is genuinely useful when a Router branch silently stops firing.
Three things you'll hit post-launch. First: Wrike's webhook payload doesn't include the human-readable project name by default in all account configurations — you may see a project ID instead of 'Website Redesign Q1'. If that happens, add a 'Get Folder' Wrike action module after the trigger to fetch the project name by ID before the Router. Second: Slack's rate limit is 1 message per second per channel. If a bulk import or migration in Wrike fires 50 task updates in 10 seconds, Make will queue them but Slack will start returning 429 errors after the first few. Add error handlers set to Resume so the scenario doesn't crash. Third: the deadline branch only fires when the scenario runs and now matches the due date. If Make has any downtime or your scenario is paused on the day a task is due, that deadline notification is gone — there's no catch-up mechanism. For critical deadlines, add a second scheduled scenario that runs at 8am daily as a backup sweep.
Ideas for what to build next
- →Route to different Slack channels by project — Add a Wrike custom field called 'Slack Channel' and map its value to the Slack module's Channel field. This lets one scenario serve multiple projects, each posting to its own channel without duplicating the scenario.
- →Add a daily digest instead of per-event messages — Build a parallel Make scenario that runs on a schedule at 9am, searches Wrike for all tasks updated in the last 24 hours, aggregates them with Make's Array Aggregator module, and posts a single formatted digest to Slack instead of one message per event.
- →Trigger Wrike task creation from Slack reactions — Add a second scenario with a Slack 'Watch Reactions' trigger so that reacting to any Slack message with a specific emoji (e.g. ✅) automatically creates a Wrike task. This creates a lightweight two-way feedback loop without full bidirectional sync.
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