Intermediate~15 min setupCommunication & Project ManagementVerified April 2026
Slack logo
Wrike logo

How to Send Wrike Task Updates to Slack with Power Automate

Automatically posts a Slack message to your project channel whenever a Wrike task changes status, gets 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

Microsoft 365 teams already using Power Automate who want Wrike status changes pushed to Slack without switching tools.

Not ideal for

Teams needing sub-minute latency on task changes — Power Automate polls Wrike on a schedule, not instantly.

Sync type

scheduled

Use case type

notification

Real-World Example

💡

A 22-person product team at a SaaS company uses this to post into #product-updates whenever a Wrike task moves to In Review or Done. Before the automation, the project manager sent manual Slack recaps twice a day — status changes sat invisible for up to four hours. Now the channel gets a message within five minutes of any status change, and the PM reclaimed about 30 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 Power Automate

Copy the pre-built Power Automate blueprint and paste it straight into Power Automate. 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 permission to read tasks in the target projects — standard member access is sufficient
Slack account with permission to post messages to the target channel — channel member access required
Microsoft 365 account with Power Automate license — the Wrike and Slack connectors are available on the standard plan
Wrike connector access in Power Automate — confirm by searching 'Wrike' in the connector list at make.powerautomate.com
Target Slack channel already created — the flow will fail silently if the channel name does not exist at send time

Field Mapping

Map these fields between your apps.

FieldAPI Name
Required
Task Titletitle
Task Statusstatus
6 optional fields▸ show
AssigneesresponsibleIds
Due Datedates.due
Task Permalinkpermalink
Parent Folder / Project NameparentIds
Descriptiondescription
Completion DatecompletedDate

Step-by-Step Setup

1

make.powerautomate.com > Create > Scheduled cloud flow

Open Power Automate and Create an Automated Flow

Go to make.powerautomate.com and sign in with your Microsoft 365 account. Click 'Create' in the left sidebar, then select 'Scheduled cloud flow' — not Automated — because Wrike's Power Automate connector does not expose a native event-based trigger. Give the flow a name like 'Wrike Status Change → Slack'. Set the schedule to every 5 minutes, which is the practical minimum for responsive notifications without hammering the Wrike API.

  1. 1Click 'Create' in the left sidebar
  2. 2Select 'Scheduled cloud flow'
  3. 3Enter a name: 'Wrike Status Change → Slack'
  4. 4Set Repeat every to '5' and unit to 'Minute'
  5. 5Click 'Create'
What you should see: The flow canvas opens with a 'Recurrence' trigger tile showing your 5-minute interval at the top.
Common mistake — Do not use 'Automated cloud flow' here. The Wrike connector has no event trigger in Power Automate — selecting Automated and searching for Wrike will show zero trigger options.
2

Flow canvas > + New step > Search: Wrike > List tasks

Connect to Wrike and Fetch Recent Tasks

Click '+ New step' below the Recurrence tile. In the search bar type 'Wrike' and select the Wrike connector. Choose the action 'List tasks'. If you have no existing Wrike connection, Power Automate will prompt you to sign in — click 'Sign in' and authenticate with your Wrike account in the popup. Once connected, you will see the action's configuration panel on the right side of the canvas.

  1. 1Click '+ New step'
  2. 2Type 'Wrike' in the connector search bar
  3. 3Select the Wrike connector
  4. 4Choose the 'List tasks' action
  5. 5Click 'Sign in' if prompted and complete Wrike OAuth
What you should see: The 'List tasks' action card appears on the canvas and shows a green checkmark on the connection line, confirming your Wrike account is linked.
Common mistake — The Wrike connector uses OAuth 2.0. If your Wrike account is on a custom domain (e.g., enterprise SSO), the standard OAuth popup may fail — you will need to use the Wrike API directly via HTTP action instead of the connector.
3

List tasks action > Show advanced options > Updated after > Expression editor

Filter Tasks by Updated Date

Inside the 'List tasks' action, expand 'Show advanced options'. Set the 'Updated after' field to a dynamic expression so you only pull tasks changed in the last 5 minutes. Click inside the 'Updated after' field and then open the Expression editor. Paste the expression below to calculate a timestamp 5 minutes before the current run. This prevents the flow from processing every task in your Wrike account on every run.

  1. 1Click 'Show advanced options' inside the List tasks card
  2. 2Click inside the 'Updated after' field
  3. 3Click 'Expression' tab in the dynamic content panel
  4. 4Paste: addMinutes(utcNow(), -5)
  5. 5Click 'OK' to confirm the expression
What you should see: The 'Updated after' field shows the expression chip 'addMinutes(utcNow(), -5)' in blue, not raw text.
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

Flow canvas > + New step > Control > Apply to each > Condition

Apply a Condition to Filter by Status Change

Click '+ New step' and add a 'Apply to each' action. Set the input to the 'Tasks' array output from the 'List tasks' step — select it from the dynamic content panel under the Wrike section. Inside the loop, add a 'Condition' control. You will check whether the task's status matches the statuses you care about, such as 'Completed', 'In Review', or 'Deferred'. Configure the condition: 'Status' is equal to 'Completed' — you can add additional OR branches for other statuses.

  1. 1Click '+ New step' and select 'Control'
  2. 2Choose 'Apply to each'
  3. 3Set the input to 'Tasks' from the Wrike dynamic content panel
  4. 4Inside the loop, click 'Add an action' and choose 'Condition'
  5. 5Set left side to 'Status' (dynamic content), operator 'is equal to', right side 'Completed'
What you should see: The canvas shows an 'Apply to each' loop containing a Condition with a 'Yes' and 'No' branch.
Common mistake — Wrike returns status as an internal string like 'Completed' or 'InProgress' — not the display label you see in the UI. Check your Wrike workspace's actual status IDs by running the flow once in test mode and inspecting the raw outputs before setting the condition value.
5

Condition (No branch) > Add an action > Condition

Check for Deadline Hits Using a Second Condition Branch

Inside the 'No' branch of your first condition, add a second Condition to catch deadline notifications. Set the left side to the task's 'Due date' field and compare it using 'is less than or equal to' against the expression utcNow(). Also add a check that the task is not already completed, so you are only alerting on tasks that are overdue but still open. Combine these with an 'And' clause inside the condition editor.

  1. 1Inside the 'No' branch, click 'Add an action'
  2. 2Select 'Control' > 'Condition'
  3. 3Set left value to 'Due date' from Wrike dynamic content
  4. 4Set operator to 'is less than or equal to'
  5. 5Set right value to expression: utcNow()
  6. 6Click '+ Add' > 'Add row' and add: 'Status' 'is not equal to' 'Completed'
What you should see: The No branch now contains a nested Condition with two rows joined by 'And', covering overdue-but-open tasks.
Common mistake — Wrike returns Due date in ISO 8601 format (e.g., 2025-03-15T00:00:00Z). Power Automate's utcNow() is also ISO 8601, so the comparison works directly. Do not convert to ticks here — it causes type mismatch errors with Wrike date strings.
6

Condition (Yes branch) > Add an action > Slack > Post message

Connect to Slack

Inside the 'Yes' branch of the status Condition (and separately in the 'Yes' branch of the deadline Condition), click 'Add an action'. Search for 'Slack' and select the Slack connector. Choose 'Post message'. If you have no Slack connection configured, Power Automate will open an OAuth dialog — click 'Sign in' and authorize with your Slack workspace account. You will need channel posting permission for this to succeed.

  1. 1Inside the 'Yes' branch, click 'Add an action'
  2. 2Search 'Slack' in the connector search
  3. 3Select the Slack connector
  4. 4Choose 'Post message'
  5. 5Click 'Sign in' and complete Slack OAuth if prompted
What you should see: A 'Post message' action card appears inside the Yes branch with your Slack workspace name shown in the connection field.
Common mistake — Power Automate's Slack connector authenticates as a personal user, not a bot. The message will appear to come from your personal Slack account. If you want it to appear as a bot, you need to use the Slack HTTP API with a Bot Token via a custom HTTP action instead of the built-in connector.
7

Post message action > Channel > Message Text

Configure the Slack Message for Status Changes

In the 'Post message' action inside the status-change Yes branch, set the Channel to the target Slack channel (e.g., #project-updates). Build the message text using dynamic content from Wrike. Combine static text with dynamic fields to create a clear, readable notification. Click inside the 'Message Text' field to open the dynamic content panel and insert values from the Wrike task.

  1. 1Click the 'Channel Name' dropdown and select or type your target channel (e.g., #project-updates)
  2. 2Click inside 'Message Text'
  3. 3Type '✅ Task updated: ' then insert 'Title' from dynamic content
  4. 4Press Enter and type 'Status: ' then insert 'Status'
  5. 5Press Enter and type 'Assigned to: ' then insert 'Assignees'
  6. 6Press Enter and type 'Due: ' then insert 'Due date'
What you should see: The Message Text field shows a mix of static text and blue dynamic content chips representing Wrike task fields.
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.
8

Deadline Condition (Yes branch) > Post message action > Message Text

Configure the Slack Message for Deadline Alerts

Repeat the same Post message setup inside the deadline Condition's Yes branch, but write a different message that makes the urgency clear. Use a distinct emoji and phrasing so the team can visually distinguish deadline alerts from regular status updates. Set the same channel or a separate #alerts channel depending on your team's preference.

  1. 1Click 'Add an action' inside the deadline Yes branch
  2. 2Select Slack > Post message
  3. 3Select your target channel
  4. 4In Message Text type '⚠️ Overdue task: ' then insert 'Title'
  5. 5Add 'Due date: ' then insert 'Due date'
  6. 6Add 'Assigned to: ' then insert 'Assignees'
What you should see: A second 'Post message' action appears in the deadline branch with different message text than the status-change branch.
Common mistake — If both conditions can fire for the same task in one run (e.g., a task is overdue AND just changed status), the team will get two Slack messages. Add a Condition check at the top of each branch to prevent overlap if that matters for your team.
9

Flow toolbar > Save > Test > Manually > Run flow

Test the Flow with a Live Wrike Task

Click 'Save' in the top right, then click 'Test' and select 'Manually'. Power Automate will run the flow immediately using the current recurrence window. Go to Wrike and change a task's status to 'Completed'. Return to Power Automate and watch the run history — the flow should complete and show green checkmarks on every action. Click any action card to expand the inputs and outputs and verify the Wrike data is coming through correctly.

  1. 1Click 'Save' in the top-right toolbar
  2. 2Click 'Test' next to Save
  3. 3Select 'Manually' and click 'Run flow'
  4. 4Change a Wrike task status to Completed in another browser tab
  5. 5Return to Power Automate and watch the run progress in real time
What you should see: Each action shows a green checkmark. Expanding the 'Post message' action shows Slack confirmed the message was sent (HTTP 200 response). The Slack channel shows the notification within 30 seconds.
Common mistake — The manual test uses the current 5-minute window. If no Wrike tasks were updated in the last 5 minutes, the 'Apply to each' loop will have zero iterations and no Slack message will fire — this is correct behavior, not a bug. Update a Wrike task right before clicking 'Run flow'.
Power Automate
▶ Test flow
executed
Slack
Wrike
Wrike
🔔 notification
received
10

make.powerautomate.com > My flows > [Your flow] > Turn on

Turn On the Flow for Production

If the test passed, go to 'My flows' in the left sidebar to find your new flow. Confirm its status shows 'On'. If it shows 'Off', click the three-dot menu next to the flow name and select 'Turn on'. The flow will now run every 5 minutes automatically. Monitor the run history for the first hour to confirm it is firing and not hitting any connection errors.

  1. 1Click 'My flows' in the left sidebar
  2. 2Find your flow in the list
  3. 3Check the status column — it should show 'On'
  4. 4If it shows 'Off', click the three-dot menu and select 'Turn on'
  5. 5Click the flow name to open run history and monitor the first few runs
What you should see: The flow status shows 'On' with a green indicator. Run history shows successful executions every 5 minutes, each completing in under 10 seconds when no tasks have changed.

Paste this expression into a 'Compose' action placed immediately after the 'List tasks' step, before the Apply to each loop. It formats the raw Wrike due date into a readable string and resolves the status to a human-friendly label — two transformations you would otherwise need multiple steps for. Reference the Compose output in your Slack message instead of the raw Wrike fields.

JavaScript — Code Step// Add a Compose action after List tasks, before Apply to each
▸ Show code
// Add a Compose action after List tasks, before Apply to each
// Name it: Format Task Message
// In the Compose input field, switch to Expression mode and paste:

... expand to see full code

// Add a Compose action after List tasks, before Apply to each
// Name it: Format Task Message
// In the Compose input field, switch to Expression mode and paste:

concat(
  if(
    equals(items('Apply_to_each')?['status'], 'Completed'),
    '✅ Task completed: ',
    if(
      lessOrEquals(items('Apply_to_each')?['dates/due'], utcNow()),
      '⚠️ Overdue: ',
      '🔄 Updated: '
    )
  ),
  items('Apply_to_each')?['title'],
  ' | Due: ',
  if(
    empty(items('Apply_to_each')?['dates/due']),
    'No due date',
    formatDateTime(items('Apply_to_each')?['dates/due'], 'MMM d, yyyy')
  ),
  ' | ',
  items('Apply_to_each')?['permalink']
)

// Reference this Compose output in the Slack Post message action
// using: outputs('Format_Task_Message')

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 n8n for this workflow

Use Power Automate for this if your team is already inside the Microsoft 365 ecosystem and does not want to introduce another SaaS tool with its own login and billing. The Wrike and Slack connectors are both available on the standard Power Automate plan, so you are not paying extra for connectors. It also makes sense if your IT team controls approved automation tools — Power Automate is often pre-approved in enterprise environments where Make or Zapier are not. The one scenario where you should skip Power Automate: if you need notifications to fire in under 60 seconds. Power Automate's minimum recurrence interval is 1 minute, but Wrike's API does not support webhooks through the standard connector, so you are effectively polling every 5 minutes at best.

Cost

The math on cost is straightforward. Power Automate's standard plan runs $15/user/month. At 5-minute polling, this flow runs 288 times per day, 8,640 times per month. Each run touches roughly 8-10 actions (Recurrence, List tasks, Apply to each, Condition x2, Compose, Post message x2). That is 69,000-86,400 action executions per month. The standard plan includes 250,000 action executions per month per user, so this workflow alone will not exceed your limit unless you are running dozens of other flows on the same account. Zapier would cost $19.99/month for the starter plan and consume roughly 8,640 tasks/month — their free tier caps at 100 tasks/month, so you would be paying from day one. Make's free tier includes 1,000 operations/month, which this flow burns through in about 3 hours.

Tradeoffs

Make handles this use case better if you want a faster trigger: Make supports Wrike webhooks via their HTTP module, so you can get near-instant Slack notifications instead of 5-minute delays. Zapier has a cleaner interface for this specific workflow — their Wrike 'Task Status Changed' trigger is purpose-built and requires no filter expressions. n8n gives you the most control over message formatting and supports Wrike webhooks natively, but requires self-hosting or a paid cloud account. Pipedream has native Wrike event sources that fire on actual task changes, not polling. Power Automate is still the right call if you are standardizing all your company's automation in one place and your team is not comfortable managing n8n infrastructure or Pipedream's developer-oriented interface.

Three things you will hit after setup. First, the Wrike connector returns assignee IDs, not names — your Slack message will say 'Assigned to: KUAFDMDE' unless you build a lookup step. This is not documented in the connector UI; you only discover it when you see the first real notification. Second, Power Automate's Slack connector posts as a personal user, so team members will see messages from your name rather than a bot, which confuses people. Third, the flow's run history only stores the last 28 days of executions and does not alert you on failures by default — turn on the failure email notification immediately, because if the Wrike OAuth token expires on a Saturday, you will lose a weekend of notifications before anyone notices.

Ideas for what to build next

  • Add a Digest Mode for Low-Traffic ProjectsSwitch the recurrence to once daily and collect all task updates into a single formatted Slack message using a string-append variable inside the loop. This cuts notification noise for projects with fewer than 5 task changes per day.
  • Route Alerts to Different Channels by ProjectAdd a Switch control inside the Apply to each loop that checks the task's parent folder name and posts to a different Slack channel for each project. This eliminates the need for one catch-all channel that everyone mutes.
  • Log Every Notification to a SharePoint ListAdd a 'Create item' action after each Slack Post message step to write the task title, status, timestamp, and Slack channel to a SharePoint list. This gives you an audit trail of all notifications without relying on Slack's message history.

Related guides

Was this guide helpful?
Slack + Wrike overviewPower Automate profile →