

How to Celebrate Wrike Milestones in Slack with Zapier
When a Wrike task marked as a milestone is completed, Zapier automatically posts a celebration message to a designated Slack channel so the whole team sees it instantly.
Steps and UI details are based on platform versions at time of writing — check each platform for the latest interface.
Best for
Project teams of 5–50 people who track major deliverables as milestones in Wrike and want the broader team notified in Slack without manual announcements.
Not ideal for
Teams completing dozens of milestones per day — at that volume, digest-style batching in Make is cheaper and less noisy.
Sync type
real-timeUse case type
notificationReal-World Example
A 22-person product agency tracks each client project phase as a Wrike milestone. Before this automation, the project manager had to manually post in #project-wins after each phase closed — which got skipped when things got busy. Now, the moment a milestone task status flips to Completed in Wrike, a Slack message fires in #celebrations tagging the assignee and naming the project. The team sees every win without anyone lifting a finger.
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
Before You Start
Make sure you have everything ready.
Optional
Field Mapping
Map these fields between your apps.
| Field | API Name | |
|---|---|---|
| Required | ||
| Task Name | ||
| Folder Name | ||
| Assignee Names | ||
| Permalink | ||
| Status | ||
| Slack Channel | ||
4 optional fields▸ show
| Completed Date | |
| Description | |
| Bot Name | |
| Bot Icon |
Step-by-Step Setup
zapier.com > Dashboard > Create Zap
Create a new Zap in Zapier
Log into zapier.com and click the orange 'Create Zap' button in the top-left sidebar. This opens the Zap editor, which walks you through trigger and action setup in a guided interface. You'll see a blank canvas with a 'Trigger' block and an 'Action' block already placed. The editor auto-saves as you go, so you won't lose progress if you navigate away.
- 1Log into zapier.com
- 2Click 'Create Zap' in the left sidebar
- 3Wait for the Zap editor to open — you'll see a two-block canvas
Zap Editor > Trigger > App & Event > Wrike > Task Status Changed
Set Wrike as the trigger app
Click the Trigger block and type 'Wrike' in the search bar. Select Wrike from the results — it shows the teal Wrike logo. You'll then be prompted to choose a trigger event. Scroll through the list and select 'Task Status Changed' — this is the correct trigger because Wrike marks milestones as completed by flipping their status, not by a separate milestone-complete event.
- 1Click the Trigger block
- 2Type 'Wrike' in the search field
- 3Select Wrike (teal logo) from the dropdown
- 4Click the 'Event' dropdown and select 'Task Status Changed'
- 5Click 'Continue'
Zap Editor > Trigger > Account > Sign in to Wrike
Connect your Wrike account
Click 'Sign in to Wrike' to open an OAuth popup. Log in with the Wrike account that has access to the projects containing your milestones. Zapier needs read access to tasks and folders in Wrike. After authentication, you'll be redirected back to the Zap editor and your account name will appear in the connection dropdown.
- 1Click 'Sign in to Wrike'
- 2Log in via the OAuth popup using your Wrike credentials
- 3Click 'Accept' on the Wrike permissions screen
- 4Confirm your account name appears in the Zapier connection dropdown
- 5Click 'Continue'
Zap Editor > Trigger > Configure > Space or Folder + New Status
Configure the Wrike trigger filters
After connecting your account, Zapier asks you to configure the trigger. You'll see dropdowns for 'Space or Folder' and 'New Status'. Set 'New Status' to 'Completed'. For 'Space or Folder', select the specific Wrike folder or project where your milestones live — don't leave it set to All, or the Zap will fire for every completed task across your entire Wrike account. This is the most important configuration step.
- 1Click the 'Space or Folder' dropdown and select the specific project folder containing your milestones
- 2Click the 'New Status' dropdown and select 'Completed'
- 3Leave 'Old Status' blank unless you want to restrict to tasks that were previously in a specific state
- 4Click 'Continue'
Zap Editor > Trigger > Test > Test Trigger
Test the Wrike trigger
Click 'Test trigger' to pull in recent task data from Wrike. Zapier will fetch the last 3 tasks that changed to Completed status in the folder you selected. Review the data returned — you'll see fields like Task Name, Permalink, Assignees, and Folder Name. Confirm that at least one of the returned samples is an actual milestone task. You'll reference these field names in later steps.
- 1Click 'Test trigger'
- 2Wait for Zapier to pull sample data from Wrike (takes 5–15 seconds)
- 3Review the returned fields — look for Task Name, Permalink, Assignee Names
- 4Click 'Continue with selected record' on a milestone task sample
Zap Editor > + (between Trigger and Action) > Filter by Zapier
Add a Filter step to target only milestone tasks
Click the '+' icon between the Trigger and Action blocks to insert a new step. Search for 'Filter' and select 'Filter by Zapier'. This is how you restrict the Zap to fire only when a true Wrike milestone task completes, not just any task. Wrike milestones are typically identified by a naming convention (e.g., task names containing 'Milestone' or 'Phase Complete') or by being in a dedicated milestone folder. Set the filter to match whatever convention your team uses.
- 1Click the '+' icon between Trigger and Action blocks
- 2Search for 'Filter' and select 'Filter by Zapier'
- 3In the left dropdown, select 'Task Name' from the Wrike trigger data
- 4In the condition dropdown, select '(Text) Contains'
- 5In the value field, type the keyword that identifies milestones in your naming convention (e.g., 'Milestone' or 'Phase')
- 6Click 'Continue'
Zap Editor > Action > App & Event > Slack > Send Channel Message
Add Slack as the action app
Click the Action block (or the '+' after the Filter step) and search for 'Slack'. Select Slack and then choose 'Send Channel Message' as the action event. This posts a message to any public or private channel your connected Slack account can access. You'll configure the message content in the next step.
- 1Click the Action block
- 2Type 'Slack' in the search field and select it
- 3Click the 'Event' dropdown and choose 'Send Channel Message'
- 4Click 'Continue'
Zap Editor > Action > Account > Sign in to Slack
Connect your Slack workspace
Click 'Sign in to Slack' to open the Slack OAuth flow. You'll be asked to select which workspace to connect and to grant Zapier permission to post messages. The account you connect needs to be a member of the channel you plan to post to. After authentication, your workspace name will appear in the connection dropdown.
- 1Click 'Sign in to Slack'
- 2Select the correct Slack workspace from the dropdown
- 3Click 'Allow' on the Slack permissions screen
- 4Confirm your workspace name appears in Zapier's connection dropdown
- 5Click 'Continue'
Zap Editor > Action > Configure > Channel + Message Text + Bot Name
Configure the Slack message
You'll now see the Slack action configuration form. Set the 'Channel' field to your celebration channel (e.g., #celebrations or #project-wins). Build the message text using dynamic fields from the Wrike trigger — click the '+' icon inside the message text box to insert fields. Construct a message like: '🎉 Milestone Complete! *[Task Name]* in *[Folder Name]* has been finished. Great work, [Assignee Names]! View it here: [Permalink]'. Set 'Bot Name' to something recognizable like 'Milestone Bot' and optionally set the icon emoji to 🏆.
- 1Click the 'Channel' dropdown and select your celebration Slack channel
- 2Click into the 'Message Text' field
- 3Type '🎉 Milestone Complete! *' then click '+' and insert 'Task Name' from Wrike
- 4Continue building: '* in *' + insert 'Folder Name' + '* is done. Great work, ' + insert 'Assignee Names' + '! ' + insert 'Permalink'
- 5Set 'Bot Name' to 'Milestone Bot'
- 6Set 'Bot Icon' to '🏆' or ':trophy:'
- 7Click 'Continue'
📬 New entry: {{1.name}}
Email: {{1.email}}
Details: {{1.description}}Zap Editor > Action > Test > Test Action
Test the Slack action
Click 'Test action' to send a real message to your Slack channel using the sample Wrike data. Open Slack and navigate to the channel you configured. You should see the celebration message appear within 30 seconds. Check that the task name, folder name, assignee, and link all populated correctly. If the message looks right, you're ready to publish.
- 1Click 'Test action'
- 2Open Slack and navigate to your celebration channel
- 3Confirm the test message appears with correct task name, folder, assignee, and link
- 4If the message looks wrong, click 'Back' and adjust the message text configuration
Zap Editor > Zap Name (pencil icon) > Publish
Name and publish the Zap
Click the pencil icon at the top of the Zap editor and give it a descriptive name like 'Wrike Milestone → Slack Celebration'. Then click 'Publish' in the top-right corner. Zapier will confirm the Zap is live. It will poll Wrike every 1–15 minutes (depending on your Zapier plan) for newly completed tasks. From this point on, every milestone completion that passes your filter will trigger a Slack message automatically.
- 1Click the pencil icon next to 'Untitled Zap' at the top
- 2Type a clear name: 'Wrike Milestone → Slack Celebration'
- 3Click 'Publish' in the top-right corner
- 4Click 'Publish & Turn On' if prompted for confirmation
This Code by Zapier step reformats the raw Wrike completion timestamp into a human-readable date and builds a richer message string that includes the completion date. Paste this into a 'Code by Zapier' step (choose 'Run Javascript') inserted between the Filter step and the Slack action. Map the output variable 'formattedMessage' into the Slack message text field.
JavaScript — Code Step// Input data passed from previous Zapier steps▸ Show code
// Input data passed from previous Zapier steps const taskName = inputData.taskName || 'Unknown Task'; const folderName = inputData.folderName || 'Unknown Project';
... expand to see full code
// Input data passed from previous Zapier steps
const taskName = inputData.taskName || 'Unknown Task';
const folderName = inputData.folderName || 'Unknown Project';
const assigneeNames = inputData.assigneeNames || 'the team';
const permalink = inputData.permalink || '';
const rawDate = inputData.completedDate || '';
// Format the completion date into a readable string
let completionDate = 'today';
if (rawDate) {
const dateObj = new Date(rawDate);
const options = { year: 'numeric', month: 'long', day: 'numeric' };
completionDate = dateObj.toLocaleDateString('en-US', options);
}
// Build the celebration message
const formattedMessage = [
`🎉 *Milestone Complete!*`,
`*${taskName}* in *${folderName}* was finished on ${completionDate}.`,
`Congratulations to ${assigneeNames} — this one matters.`,
permalink ? `<${permalink}|View milestone in Wrike>` : ''
].filter(Boolean).join('\n');
// Return the formatted message for use in the Slack action step
output = [{ formattedMessage }];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 Zapier for this if your team is non-technical and wants the workflow running in under 30 minutes without touching any code. The guided Zap builder handles the Wrike OAuth, the Filter step is a drag-and-drop form, and the Slack message builder shows you exactly what the output looks like before it goes live. If your team already uses Make or has someone comfortable with JSON, you'd get more flexibility there — Make's scenario builder lets you format dates and build conditional messages natively without needing a separate Code step.
The math is simple. Each milestone completion uses 2 tasks in Zapier (one for the trigger, one for the Slack action) plus 1 task for the Filter step — so 3 tasks per event. At 20 milestones per month, that's 60 tasks. Zapier's free tier covers 100 tasks/month, so you're fine at low volume. At 100 milestones/month, you're at 300 tasks — you'll need the Starter plan at $19.99/month. Make handles the equivalent for free up to 1,000 operations/month. For a team doing fewer than 33 milestones a month, Zapier's free tier covers it. Above that, Make is $9/month cheaper.
Make's Wrike module supports more granular filtering — you can target tasks with specific custom field values, not just name keywords, which means your milestone identification is more reliable than a naming convention hack. n8n would let you self-host the whole thing for free and write proper JavaScript for message formatting, but setup takes 3–4 hours instead of 30 minutes. Power Automate has a Wrike connector but it's in the premium tier (adds $15/user/month), making it the most expensive option here for no meaningful gain. Pipedream gives you webhook support and real-time firing without polling delays, but Wrike doesn't offer outbound webhooks on lower-tier plans. Zapier wins on setup speed and reliability for the average project team that doesn't want to maintain infrastructure.
Three things you'll hit after launch. First, Wrike's Assignee Names field returns a raw comma-separated string that can include email addresses mixed with display names depending on how your Wrike workspace is configured — check your first real trigger output carefully and adjust the message template if it looks wrong. Second, if your team uses Wrike's 'duplicate task' feature to create new milestones from templates, the duplicate may briefly appear as a status change and fire a false celebration — audit your task history after the first week. Third, Zapier's polling means there's a window where multiple milestone completions in rapid succession might only surface one in the first poll cycle — tasks completed within the same polling window are deduped by Zapier's internal task ID tracking, so you typically won't miss events, but the order of Slack messages may not match the order tasks were completed in Wrike.
Ideas for what to build next
- →Add a Wrike comment when the Slack message posts — Extend the Zap with a second action that posts a comment back on the Wrike milestone task confirming the team was notified in Slack. This creates a paper trail inside Wrike so project managers know the announcement happened.
- →Build a monthly milestone digest — Create a separate scheduled Zap that runs at month-end, queries completed Wrike milestones from the past 30 days, and posts a summary roundup to Slack instead of individual messages. This works well alongside the real-time Zap for teams that want both immediate and retrospective celebration.
- →Route messages to project-specific Slack channels — If your team has dedicated Slack channels per client or project (e.g., #acme-project, #internal-product), add a Zapier Paths step that checks the Wrike folder name and routes the celebration message to the matching Slack channel instead of a single shared channel.
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