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

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

Use case type

notification

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

/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

Before You Start

Make sure you have everything ready.

Wrike account with at least Member-level access to the project folders containing milestone tasks
Wrike tasks designated as milestones must have a consistent identifier — either a naming convention (e.g., prefix '[M]') or a dedicated folder — so the Zapier Filter step can target them reliably
Slack account with permission to post messages in the target celebration channel (must be a member of that channel)
Zapier account — free tier works for testing, but Starter plan or higher is recommended for polling intervals under 15 minutes

Optional

Admin or workspace owner approval in Slack if your organization restricts third-party app connections

Field Mapping

Map these fields between your apps.

FieldAPI 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

1

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.

  1. 1Log into zapier.com
  2. 2Click 'Create Zap' in the left sidebar
  3. 3Wait for the Zap editor to open — you'll see a two-block canvas
What you should see: You should see a Zap editor with an empty Trigger block at the top and an empty Action block below it.
2

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.

  1. 1Click the Trigger block
  2. 2Type 'Wrike' in the search field
  3. 3Select Wrike (teal logo) from the dropdown
  4. 4Click the 'Event' dropdown and select 'Task Status Changed'
  5. 5Click 'Continue'
What you should see: You should see 'Wrike — Task Status Changed' displayed in the Trigger block with a 'Continue' button active.
Common mistake — Wrike also has a 'New Task' trigger — don't use it here. It fires when tasks are created, not completed. Only 'Task Status Changed' will catch the moment a milestone flips to Completed.
Zapier
+
click +
search apps
Slack
SL
Slack
Set Wrike as the trigger app
Slack
SL
module added
3

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.

  1. 1Click 'Sign in to Wrike'
  2. 2Log in via the OAuth popup using your Wrike credentials
  3. 3Click 'Accept' on the Wrike permissions screen
  4. 4Confirm your account name appears in the Zapier connection dropdown
  5. 5Click 'Continue'
What you should see: You should see your Wrike account name (e.g., '[email protected]') displayed with a green checkmark in the Account section.
Common mistake — If your Wrike instance uses SSO, the OAuth popup may redirect to your identity provider first. Make sure your SSO session is active before starting this step or the popup will fail silently.
Zapier settings
Connection
Choose a connection…Add
click Add
Slack
Log in to authorize
Authorize Zapier
popup window
Connected
green checkmark
4

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.

  1. 1Click the 'Space or Folder' dropdown and select the specific project folder containing your milestones
  2. 2Click the 'New Status' dropdown and select 'Completed'
  3. 3Leave 'Old Status' blank unless you want to restrict to tasks that were previously in a specific state
  4. 4Click 'Continue'
What you should see: You should see your selected folder name and 'Completed' displayed as the configured trigger settings before moving to the test step.
Common mistake — Wrike's API does not expose a native 'milestone' flag in Zapier's trigger data. You'll handle milestone filtering with a Zapier Filter step later. Don't skip that step, or celebration messages will fire for every completed task.
Slack
SL
trigger
filter
Condition
matches criteria?
yes — passes through
no — skipped
Wrike
WR
notified
5

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.

  1. 1Click 'Test trigger'
  2. 2Wait for Zapier to pull sample data from Wrike (takes 5–15 seconds)
  3. 3Review the returned fields — look for Task Name, Permalink, Assignee Names
  4. 4Click 'Continue with selected record' on a milestone task sample
What you should see: You should see a sample task record with fields including Task Name, Folder Name, Permalink URL, and Assignee data populated with real values from Wrike.
Zapier
▶ Turn on & test
executed
Slack
Wrike
Wrike
🔔 notification
received
6

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.

  1. 1Click the '+' icon between Trigger and Action blocks
  2. 2Search for 'Filter' and select 'Filter by Zapier'
  3. 3In the left dropdown, select 'Task Name' from the Wrike trigger data
  4. 4In the condition dropdown, select '(Text) Contains'
  5. 5In the value field, type the keyword that identifies milestones in your naming convention (e.g., 'Milestone' or 'Phase')
  6. 6Click 'Continue'
What you should see: You should see a green 'Your Zap would not have been filtered out' message if the sample task name matches your filter condition.
Common mistake — If your team doesn't use a consistent naming convention for milestones, this filter approach breaks down. Establish a naming rule first (e.g., prefix all milestone tasks with '[M]') before building this Zap, or the filter will be unreliable.
7

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.

  1. 1Click the Action block
  2. 2Type 'Slack' in the search field and select it
  3. 3Click the 'Event' dropdown and choose 'Send Channel Message'
  4. 4Click 'Continue'
What you should see: You should see 'Slack — Send Channel Message' set in the Action block with a prompt to connect your Slack account.
8

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.

  1. 1Click 'Sign in to Slack'
  2. 2Select the correct Slack workspace from the dropdown
  3. 3Click 'Allow' on the Slack permissions screen
  4. 4Confirm your workspace name appears in Zapier's connection dropdown
  5. 5Click 'Continue'
What you should see: You should see your Slack workspace name listed with a green checkmark next to it in the Account section.
Common mistake — Zapier posts as its own bot user by default. The message will show 'Zapier' as the sender. If your team wants messages to appear as a specific person or a named bot (e.g., 'CelebrationBot'), you'll need to use a custom Slack app instead — that's a separate setup outside this Zap.
9

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

  1. 1Click the 'Channel' dropdown and select your celebration Slack channel
  2. 2Click into the 'Message Text' field
  3. 3Type '🎉 Milestone Complete! *' then click '+' and insert 'Task Name' from Wrike
  4. 4Continue building: '* in *' + insert 'Folder Name' + '* is done. Great work, ' + insert 'Assignee Names' + '! ' + insert 'Permalink'
  5. 5Set 'Bot Name' to 'Milestone Bot'
  6. 6Set 'Bot Icon' to '🏆' or ':trophy:'
  7. 7Click 'Continue'
What you should see: You should see a preview of the Slack message text with the dynamic field names shown in colored tags (e.g., '[Task Name]', '[Folder Name]') before the live test.
Common mistake — Wrike's Assignee Names field in Zapier returns a comma-separated string of display names, not Slack @mentions. The message will name the person but won't ping them. If you need actual @mentions, you'd have to match Wrike display names to Slack user IDs manually — that's a significant added step requiring a lookup table.
Message template
📬 New entry: {{1.name}}
Email: {{1.email}}
Details: {{1.description}}
10

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.

  1. 1Click 'Test action'
  2. 2Open Slack and navigate to your celebration channel
  3. 3Confirm the test message appears with correct task name, folder, assignee, and link
  4. 4If the message looks wrong, click 'Back' and adjust the message text configuration
What you should see: You should see a formatted Slack message in your celebration channel with the 🎉 emoji, the milestone task name in bold, the project folder name, the assignee's display name, and a working Wrike permalink.
11

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.

  1. 1Click the pencil icon next to 'Untitled Zap' at the top
  2. 2Type a clear name: 'Wrike Milestone → Slack Celebration'
  3. 3Click 'Publish' in the top-right corner
  4. 4Click 'Publish & Turn On' if prompted for confirmation
What you should see: You should see the Zap status switch to 'On' with a green indicator, and the Zap will appear in your Zapier dashboard under 'My Zaps'.
Common mistake — Free and Starter plan Zapier accounts poll every 15 minutes. If your team completes a milestone and expects an immediate Slack notification, they'll wait up to 15 minutes. Professional plan cuts this to 1–2 minutes. Set expectations with your team about the delay before going live.

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

VerdictWhy Zapier for this workflow

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.

Cost

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.

Tradeoffs

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 postsExtend 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 digestCreate 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 channelsIf 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

Was this guide helpful?
Slack + Wrike overviewZapier profile →