

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
scheduledUse case type
notificationReal-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.
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 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.
Field Mapping
Map these fields between your apps.
| Field | API Name | |
|---|---|---|
| Required | ||
| Task Title | title | |
| Task Status | status | |
6 optional fields▸ show
| Assignees | responsibleIds |
| Due Date | dates.due |
| Task Permalink | permalink |
| Parent Folder / Project Name | parentIds |
| Description | description |
| Completion Date | completedDate |
Step-by-Step Setup
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.
- 1Click 'Create' in the left sidebar
- 2Select 'Scheduled cloud flow'
- 3Enter a name: 'Wrike Status Change → Slack'
- 4Set Repeat every to '5' and unit to 'Minute'
- 5Click 'Create'
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.
- 1Click '+ New step'
- 2Type 'Wrike' in the connector search bar
- 3Select the Wrike connector
- 4Choose the 'List tasks' action
- 5Click 'Sign in' if prompted and complete Wrike OAuth
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.
- 1Click 'Show advanced options' inside the List tasks card
- 2Click inside the 'Updated after' field
- 3Click 'Expression' tab in the dynamic content panel
- 4Paste: addMinutes(utcNow(), -5)
- 5Click 'OK' to confirm the expression
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.
- 1Click '+ New step' and select 'Control'
- 2Choose 'Apply to each'
- 3Set the input to 'Tasks' from the Wrike dynamic content panel
- 4Inside the loop, click 'Add an action' and choose 'Condition'
- 5Set left side to 'Status' (dynamic content), operator 'is equal to', right side 'Completed'
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.
- 1Inside the 'No' branch, click 'Add an action'
- 2Select 'Control' > 'Condition'
- 3Set left value to 'Due date' from Wrike dynamic content
- 4Set operator to 'is less than or equal to'
- 5Set right value to expression: utcNow()
- 6Click '+ Add' > 'Add row' and add: 'Status' 'is not equal to' 'Completed'
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.
- 1Inside the 'Yes' branch, click 'Add an action'
- 2Search 'Slack' in the connector search
- 3Select the Slack connector
- 4Choose 'Post message'
- 5Click 'Sign in' and complete Slack OAuth if prompted
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.
- 1Click the 'Channel Name' dropdown and select or type your target channel (e.g., #project-updates)
- 2Click inside 'Message Text'
- 3Type '✅ Task updated: ' then insert 'Title' from dynamic content
- 4Press Enter and type 'Status: ' then insert 'Status'
- 5Press Enter and type 'Assigned to: ' then insert 'Assignees'
- 6Press Enter and type 'Due: ' then insert 'Due date'
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.
- 1Click 'Add an action' inside the deadline Yes branch
- 2Select Slack > Post message
- 3Select your target channel
- 4In Message Text type '⚠️ Overdue task: ' then insert 'Title'
- 5Add 'Due date: ' then insert 'Due date'
- 6Add 'Assigned to: ' then insert 'Assignees'
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.
- 1Click 'Save' in the top-right toolbar
- 2Click 'Test' next to Save
- 3Select 'Manually' and click 'Run flow'
- 4Change a Wrike task status to Completed in another browser tab
- 5Return to Power Automate and watch the run progress in real time
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.
- 1Click 'My flows' in the left sidebar
- 2Find your flow in the list
- 3Check the status column — it should show 'On'
- 4If it shows 'Off', click the three-dot menu and select 'Turn on'
- 5Click the flow name to open run history and monitor the first few runs
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
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.
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.
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 Projects — Switch 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 Project — Add 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 List — Add 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
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