Beginner~12 min setupCommunication & Project ManagementVerified April 2026
Slack logo
Wrike logo

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

Use case type

notification

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

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

Wrike account with Admin or at least 'Edit All Tasks' permission on the target project — the Watch Tasks trigger needs read access to task data including status history
Slack account with permission to post in the target channel — if the channel is private, your connected Slack user or bot must already be a member of that channel
Make account on at least the Core plan — the Wrike app is not available on Make's free Starter plan
Wrike API access enabled — go to Wrike > Account Settings > Apps & Integrations and confirm API access is not disabled by your Wrike admin
Slack OAuth scopes: channels:read, chat:write, and (for private channels) groups:read — these are granted automatically during the Make OAuth flow but your Slack admin must not have restricted third-party app installs

Field Mapping

Map these fields between your apps.

FieldAPI 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

1

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.

  1. 1Log into make.com
  2. 2Click the blue 'Create a new scenario' button in the top right
  3. 3Click the empty circle in the center of the canvas
  4. 4Type 'Wrike' in the search bar and select it from the results
What you should see: The Wrike module list appears on the right side of the canvas showing all available triggers and actions.
Common mistake — If you don't see Wrike in the app list, your Make workspace may be on a free plan that restricts some apps. Wrike requires at least the Core plan on Make.
2

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.

  1. 1Select 'Watch Tasks' from the Wrike trigger list
  2. 2Click 'Add' next to the Connection field
  3. 3Log into Wrike in the OAuth popup
  4. 4Click 'Allow access' on the Wrike permissions screen
  5. 5Return to Make — the Connection field should now show your Wrike account name
What you should see: The Wrike connection shows your account name in green text and the trigger configuration panel expands to show filter options.
Common mistake — The 'Watch Tasks' trigger in Make uses Wrike's webhook API, not polling. This means Wrike pushes events to Make, so you must activate the scenario for events to arrive. A deactivated scenario will miss events entirely — they are not queued.
Make
+
click +
search apps
Slack
SL
Slack
Set the Wrike trigger to Wat…
Slack
SL
module added
3

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.

  1. 1Click the folder icon next to the 'Folder/Project' field
  2. 2Navigate to and select your target project
  3. 3Set 'Event Type' to 'Updated'
  4. 4Leave 'Status' filter blank
  5. 5Click 'OK' to save the module configuration
What you should see: The Wrike module on the canvas shows the project name underneath it, confirming the scope is set correctly.
Common mistake — Filters are the most common place setups break. Double-check the field name and value exactly match what your app sends — a single capital letter difference will block everything.
Slack
SL
trigger
filter
Condition
matches criteria?
yes — passes through
no — skipped
Wrike
WR
notified
4

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.

  1. 1Click the '+' on the right edge of the Wrike: Watch Tasks module
  2. 2Type 'Router' in the module search bar
  3. 3Click 'Router' in the results — it appears under 'Flow Control'
  4. 4The Router diamond appears on the canvas with two default branch lines
What you should see: A diamond-shaped Router node appears on the canvas connected to the Wrike trigger, with two branch lines extending from it.
Common mistake — The Router evaluates branches in order from top to bottom. If a task matches the filter on branch 1, it will also evaluate branch 2 and 3 unless you check 'Break' after the matching path. For mutually exclusive statuses this usually isn't a problem, but watch for it if your filters overlap.
5

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.

  1. 1Click the wrench icon on the first branch line
  2. 2Set Condition A: '{{1.status}}' does not equal '{{1.previousStatus}}'
  3. 3Click the wrench icon on the second branch line
  4. 4Set Condition B: '{{1.status}}' equals 'Completed'
  5. 5Click '+' on the Router to add a third branch, then set date condition for deadlines
What you should see: Each branch line shows a small filter icon confirming a condition is active. Hovering over the icon previews the condition text.
Common mistake — Wrike returns status names as human-readable strings like 'In Progress' — not numeric IDs. Type them exactly as they appear in your Wrike workflow. A typo here means the branch never fires and you'll get no error — just silence.
6

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.

  1. 1Click '+' at the end of branch 1
  2. 2Search for 'Slack' and select 'Create a Message'
  3. 3Click 'Add' to connect your Slack account via OAuth
  4. 4Set 'Channel' to your target Slack channel (e.g. #project-phoenix)
  5. 5Build the message text using mapped Wrike fields
What you should see: The Slack module appears on branch 1 and shows your connected Slack workspace name in the Connection field.
Common mistake — Slack's 'Create a Message' in Make posts as your connected user by default. If you want messages to appear from a bot name like 'Wrike Bot', you need to use a Slack Bot token instead of a user OAuth token. User tokens will show your real name as the sender.
7

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.

  1. 1Click inside the 'Text' field of the Slack module
  2. 2Use the variable panel on the right to insert '{{1.title}}'
  3. 3Type the status change message template around the variables
  4. 4Insert '{{1.permalink}}' at the end so recipients can click directly into Wrike
  5. 5Click 'OK' to save the module
What you should see: The Text field shows a mix of static text and orange variable tokens. The preview won't render until you run the scenario with real data.
Common mistake — The `responsibleIds` field in Wrike returns an array. If multiple people are assigned, you'll get all names concatenated. If nobody is assigned, the field returns empty and your message will show a blank. Wrap it in an `if()` formula: `{{if(1.responsibleIds[]; 1.responsibleIds[].name; 'Unassigned')}}`.
Message template
📬 New entry: {{1.name}}
Email: {{1.email}}
Details: {{1.description}}
8

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.

  1. 1Right-click the Slack module on branch 1
  2. 2Select 'Clone module' from the context menu
  3. 3Drag the cloned module to the end of branch 2
  4. 4Edit the message text for completion events
  5. 5Repeat clone process for branch 3 and edit for deadline events
What you should see: Three Slack modules appear on the canvas, one at the end of each Router branch, each with different message text visible in the module label.
9

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.

  1. 1Click 'Run once' in the bottom left toolbar
  2. 2Switch to Wrike in a new tab
  3. 3Open a task in your target project and change its status
  4. 4Return to Make and watch for green execution bubbles to appear
  5. 5Click the bubble on the Wrike module to inspect the raw payload
What you should see: Green numbered bubbles appear above each module. The Slack module bubble shows '1' meaning one message was sent. Check Slack to confirm the message arrived in the correct channel.
Common mistake — If you click 'Run once' but don't trigger a Wrike change within ~10 minutes, Make stops listening and the run expires. You'll need to click 'Run once' again before triggering the Wrike event.
Make
▶ Run once
executed
Slack
Wrike
Wrike
🔔 notification
received
10

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.

  1. 1Click the clock icon in the bottom left of the canvas
  2. 2Set scheduling to 'Immediately'
  3. 3Click 'OK' to save the schedule
  4. 4Click the ON/OFF toggle — it turns blue when active
What you should see: The scenario status in the top bar reads 'Active' and the toggle is blue. The scenario is now live and will process Wrike events in real time.
Common mistake — Confirm your workflow timezone matches your business timezone — n8n uses the instance timezone by default. Also verify the workflow is saved and set to Active, since Schedule Triggers won't fire on inactive workflows.
11

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.

  1. 1Right-click one of the Slack modules
  2. 2Select 'Add error handler'
  3. 3Choose 'Resume' from the handler type options
  4. 4Optionally add another Slack module inside the error route to ping an ops channel
  5. 5Repeat for the other two Slack modules
What you should see: A red dashed branch appears below each Slack module indicating the error handler is attached. The scenario will continue processing other events even if one Slack post fails.

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

VerdictWhy Make for this workflow

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.

Cost

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.

Tradeoffs

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 projectAdd 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 messagesBuild 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 reactionsAdd 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

Was this guide helpful?
Slack + Wrike overviewMake profile →