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

How to Celebrate Wrike Milestones in Slack with Make

Polls Wrike for completed milestones and posts a celebratory message to a Slack channel automatically when a milestone task is marked done.

Steps and UI details are based on platform versions at time of writing — check each platform for the latest interface.

Best for

Project teams that track major deliverables as Wrike milestones and want automatic Slack shoutouts without manually posting updates.

Not ideal for

Teams completing dozens of milestones per hour — polling every 15 minutes will lag noticeably; use a Wrike webhook-capable tool like n8n instead.

Sync type

scheduled

Use case type

notification

Real-World Example

💡

A 22-person product agency manages client projects in Wrike and marks each phase completion — discovery, design, development, launch — as a milestone task. Before this automation, the project manager manually posted a Slack message to #wins when they remembered, which happened maybe 60% of the time. Now every completed milestone fires a Slack message to #project-wins within 15 minutes, tagging the assignee by name.

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 API access enabled — available on Business plan and above. Your user must have permission to read tasks and projects in the folders you want to monitor.
Slack account with permission to post messages to the target channel. If the channel is private, your Slack user must be a member before authorizing Make.
Make account — free plan works for low-volume setups (under ~400 operations/month). Paid plans start at $9/month if you need 1-minute polling or higher operation counts.
Wrike milestones must be configured as the 'Milestone' task type in your workspace, not just tasks with 'milestone' in the name. Confirm this in Wrike > Project Settings.
Make Data Store access — available on all Make plans including free. You do not need a third-party database for the duplicate guard.

Field Mapping

Map these fields between your apps.

FieldAPI Name
Required
Task IDid
Task Titletitle
Assignee Nameassignees[].name
Completion DatecompletedDate
Task Statusstatus
3 optional fields▸ show
Project / Folder NameparentIds[]
Task Permalinkpermalink
Descriptiondescription

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 on the Scenarios dashboard. You'll land on an empty canvas with a single grey circle in the center. This circle is your first module slot. Make builds scenarios left to right, so the leftmost module is always the trigger. Click the circle to open the app search panel.

  1. 1Log in at make.com
  2. 2Click 'Create a new scenario' in the top right
  3. 3Click the grey circle in the canvas center to open the app picker
What you should see: A search panel appears on the right side of the screen with an app search bar at the top.
Common mistake — Make auto-saves scenarios in Draft state. If you close the tab mid-build, your progress is saved — but the scenario won't run until you turn it On.
2

Canvas > App Picker > Wrike > Watch Tasks

Add the Wrike 'Watch Tasks' trigger

In the app search panel, type 'Wrike' and select it. Make will show you all available Wrike modules. Scroll to the Triggers section at the top and select 'Watch Tasks'. This module polls Wrike on a schedule you define and returns tasks that have changed since the last run. It will serve as the heartbeat of this scenario.

  1. 1Type 'Wrike' in the app search bar
  2. 2Click 'Wrike' in the results
  3. 3Scroll to the Triggers section
  4. 4Click 'Watch Tasks'
What you should see: A Wrike module configuration panel opens on the right side of the canvas labeled 'Watch Tasks'.
Common mistake — Do not pick 'Watch Task Comments' or 'Search Tasks' by mistake — those are different modules. The trigger you need is specifically 'Watch Tasks' in the Triggers category.
Make
+
click +
search apps
Slack
SL
Slack
Add the Wrike 'Watch Tasks' …
Slack
SL
module added
3

Watch Tasks panel > Connection > Add

Connect your Wrike account

In the Watch Tasks configuration panel, click the 'Add' button next to the Connection field. Make opens an OAuth flow in a popup window that redirects you to Wrike's authorization page. Log in with your Wrike credentials and click 'Allow Access'. Once authorized, the popup closes and Make populates the Connection field with your account name.

  1. 1Click 'Add' next to the Connection field
  2. 2Log into Wrike in the OAuth popup
  3. 3Click 'Allow Access' on the Wrike permissions screen
  4. 4Confirm the popup closes and your account name appears in the Connection field
What you should see: Your Wrike account name appears in the Connection dropdown and the field shows a green connected indicator.
Common mistake — Wrike OAuth tokens expire if your Wrike session is revoked or your password changes. If the scenario fails weeks later with a 401 error, re-authorize this connection from Make > Connections.
Make settings
Connection
Choose a connection…Add
click Add
Slack
Log in to authorize
Authorize Make
popup window
Connected
green checkmark
4

Watch Tasks panel > Folder/Project, Type, Status fields

Configure the Watch Tasks filter for milestones

With the connection set, configure the module fields to target only milestone tasks. Set 'Folder/Project' to the specific Wrike project or folder you want to monitor — leave it blank to watch all projects, but be aware that blanket monitoring increases noise. Set 'Type' to 'Milestone'. Set 'Status' to 'Completed'. This combination means Make only processes tasks that are both milestones and newly completed since the last poll.

  1. 1Click the 'Folder/Project' field and select a specific project, or leave blank for all projects
  2. 2Set 'Type' to 'Milestone'
  3. 3Set 'Status' to 'Completed'
  4. 4Set 'Limit' to 10 (handles up to 10 completions per poll cycle)
What you should see: The module panel shows Folder/Project, Type = Milestone, Status = Completed, and Limit = 10 filled in.
Common mistake — Wrike's 'Milestone' task type is only available on Business and Enterprise plans. If you don't see 'Milestone' in the Type dropdown, your workspace is on a lower plan — you'll need to filter by a custom field or title keyword instead.
Slack
SL
trigger
filter
Condition
matches criteria?
yes — passes through
no — skipped
Wrike
WR
notified
5

Canvas > Watch Tasks module > Clock icon > Scheduling

Set the polling schedule

Click the clock icon on the Watch Tasks trigger module (bottom left of the module circle on the canvas). A scheduling panel opens. Set the interval to 'Every 15 minutes'. This is the minimum interval on Make's free plan. On paid plans you can go as low as 1 minute, but for milestone celebrations 15 minutes is fine — teams won't notice a 15-minute lag on a project win.

  1. 1Click the clock icon on the Watch Tasks module
  2. 2Select 'Every 15 minutes' from the interval dropdown
  3. 3Click 'OK' to save the schedule
What you should see: The module shows a clock icon with '15m' displayed, indicating the polling interval is set.
Common mistake — The default polling interval is often 15 minutes. If you need faster delivery, check whether your plan supports shorter intervals before assuming it's a bug.
6

Canvas > + > Data Store > Search Records

Add a duplicate guard with a data store

Because polling can sometimes catch the same task twice across runs, add a Make Data Store to track processed task IDs. Click the '+' after the Watch Tasks module and add 'Data Store > Search Records'. Create a new data store called 'wrike_celebrated_milestones' with a single text field named 'task_id'. Search for the current task's ID in this store. If the record already exists, that milestone was already celebrated.

  1. 1Click '+' after the Watch Tasks module
  2. 2Search for 'Data Store' and select it
  3. 3Choose 'Search Records'
  4. 4Click 'Create a new Data Store' and name it 'wrike_celebrated_milestones'
  5. 5Add a field named 'task_id' of type Text
  6. 6In the Filter field, set task_id = {{1.id}} (the Wrike task ID from step 2)
What you should see: A Data Store module appears on the canvas connected to Watch Tasks, configured to search for the current task ID.
Common mistake — Make Data Stores have a row limit based on your plan — free plan allows 1MB of storage total. For teams completing hundreds of milestones over years, purge old records monthly or the store will hit its limit and block new writes.
7

Canvas > + > Router

Add a router to branch on duplicate check

Click '+' after the Data Store Search module and add a Router. The Router splits the scenario into two paths. Path 1 handles new milestones (no existing record found — Data Store result count = 0). Path 2 handles already-processed milestones and simply stops. Click the wrench icon on each path to set its filter condition. Path 1 filter: {{6.total}} equals 0. Path 2 needs no filter — it's the fallback.

  1. 1Click '+' after the Data Store Search module
  2. 2Select 'Router' from the Flow Control section
  3. 3Click the wrench icon on Path 1
  4. 4Set filter: Data Store > Total Number of Records = 0
  5. 5Label Path 1 'New Milestone' and Path 2 'Already Celebrated'
What you should see: The canvas shows two branches extending from the Router — one labeled 'New Milestone', one labeled 'Already Celebrated'.
Common mistake — The Router filter uses the 'Total number of records' output from the Data Store Search module, not the raw task ID. Using the wrong variable here means every milestone gets treated as new and will post duplicate Slack messages.
8

Path 1 > + > Slack > Create a Message

Build the Slack message on Path 1

On Path 1 (New Milestone), click '+' and add the Slack module 'Create a Message'. Connect your Slack account via OAuth. Set 'Channel' to your celebration channel — for example #project-wins. In the 'Text' field, build the message using Wrike data mapped from the Watch Tasks module: task title, assignee name, project name, and completion date. Use emoji and Make's formatDate() function to format the date cleanly.

  1. 1Click '+' on Path 1 after the Router
  2. 2Search 'Slack' and select 'Create a Message'
  3. 3Connect your Slack workspace via OAuth
  4. 4Set Channel to your target channel (e.g. #project-wins)
  5. 5Paste the message template into the Text field using mapped Wrike variables
What you should see: The Slack module shows your channel name and a message body with Wrike variables mapped in — the panel previews the variable tokens like {{1.title}}.
Common mistake — Slack's 'Create a Message' module posts as your connected user by default. If you want it to appear as a bot with a custom name and avatar, you must use a Slack Bot Token instead of a user OAuth token — these are configured differently in Make's Slack connection settings.
Message template
📬 New entry: {{1.name}}
Email: {{1.email}}
Details: {{1.description}}
9

Path 1 > + > Data Store > Add/Replace a Record

Write the task ID to the data store

Still on Path 1, click '+' after the Slack message module and add 'Data Store > Add/Replace a Record'. Select the same 'wrike_celebrated_milestones' data store. Set the Key field to {{1.id}} (the Wrike task ID). This marks the milestone as celebrated so future poll runs skip it. This module must come after the Slack message — if Slack fails for any reason, you don't want to mark the task as processed yet.

  1. 1Click '+' after the Slack message module on Path 1
  2. 2Select 'Data Store > Add/Replace a Record'
  3. 3Choose 'wrike_celebrated_milestones' as the data store
  4. 4Set Key to {{1.id}}
  5. 5Set task_id field value to {{1.id}}
What you should see: A second Data Store module appears at the end of Path 1, configured to write the task ID after the Slack message posts.
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.
10

Canvas > Run once button (bottom left)

Run a test with a real Wrike milestone

Before activating, run the scenario manually against a real completed Wrike milestone. Click 'Run once' in the bottom left of the canvas. Make will poll Wrike immediately and show you the data it finds in blue data bubbles on each module. Click the Data Store Search bubble to confirm it returned 0 records for this task (confirming it's new). Click the Slack bubble to see what message it would post. If the Slack module shows a green checkmark, the message was actually posted to the channel.

  1. 1Mark a test Wrike task as a Milestone and set its status to Completed
  2. 2Click 'Run once' in the Make canvas
  3. 3Click each module's data bubble to inspect the output
  4. 4Check your Slack channel for the celebration message
  5. 5Verify the task ID was written to the data store
What you should see: Each module shows a green checkmark and a number indicating records processed. Your Slack channel shows the celebration message with the correct task name, assignee, and date.
Common mistake — If you run the test twice on the same milestone, the second run should be blocked by the data store duplicate guard. If it posts twice, your Router filter condition is wrong — re-check that you're comparing the Data Store 'total' output, not a text field.
Make
▶ Run once
executed
Slack
Wrike
Wrike
🔔 notification
received
11

Canvas > On/Off toggle (bottom left) > Scenarios dashboard

Activate the scenario

Once the test passes, click the toggle in the bottom left of the canvas to switch the scenario from Off to On. Make will now poll Wrike every 15 minutes on its own. You'll see the scenario appear in your Scenarios dashboard with a green Active badge and a 'Next run' timestamp. Check back after the first automated run to confirm the execution log shows no errors.

  1. 1Click the On/Off toggle to set the scenario to On
  2. 2Confirm the scenario shows 'Active' in the Scenarios dashboard
  3. 3Click 'History' on the scenario to monitor the first automated run
What you should see: The scenario shows a green Active badge on the Scenarios dashboard and the History tab shows successful runs with operation counts.

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 is comfortable with a visual builder and you want conditional logic without writing code. Make's Router module handles the duplicate-guard branching cleanly in a way that would require a separate Zapier path or a Filter step that's easy to misconfigure. The Data Store deduplication built natively into Make is the other reason to pick it here — no external database needed. The one scenario where you'd pick something else: if you need sub-minute latency on milestone celebrations, switch to n8n with a Wrike webhook — Make's minimum polling on free plans is 15 minutes, and even on paid plans the minimum is 1 minute.

Cost

Here's the real cost math. Each scenario run consumes one operation per module per task bundle. This scenario has 5 modules on the happy path (Watch Tasks, Data Store Search, Router, Slack, Data Store Write). If your team completes 30 milestones a month, that's 150 operations per month. Add the polling runs that return zero results — at 15-minute intervals, that's 96 runs per day, 2,880 per month, each consuming 1 operation for the Watch Tasks module even when nothing is found. Total: roughly 3,030 operations/month. Make's free plan gives you 1,000 operations/month. You'll hit the ceiling fast. The Core plan at $9/month gives you 10,000 operations/month and covers this comfortably. Zapier charges per task, not per operation, and would cost $19.99/month for 750 tasks — more expensive for the same volume.

Tradeoffs

Zapier handles this use case without a data store because its deduplication is built into the trigger layer — it tracks processed records automatically. That's genuinely easier to set up. n8n's Wrike integration supports webhooks out of the box, so celebrations fire in under 5 seconds rather than up to 15 minutes — a real advantage if your team is spread across time zones and cares about real-time acknowledgment. Power Automate has a Wrike connector but it's in preview as of late 2024, unreliable, and not recommended for production use. Pipedream's Wrike trigger also uses polling but the Node.js step gives you full control over message formatting without Make formula syntax, which some developers prefer. Make is still the right call for non-technical project managers who need to own and edit this scenario themselves — the visual canvas beats all competitors for legibility.

Three things you'll hit after setup. First, Wrike's completedDate field returns in UTC. If your team is in New York and a milestone is completed at 9pm UTC, the Slack message will say 'completed on November 14' when the local date was November 13. Add a timezone offset in your formatDate() call or your team will notice the discrepancy. Second, Wrike's assignees field is an array — if a milestone has two assignees, Make will process two separate bundles from a single task, which means two Slack messages unless you handle the array explicitly. Use the first element (assignees[1].name) or join the array. Third, Make's Data Store has no TTL (time-to-live) setting. Records don't auto-expire. After a year of active use, prune old task IDs manually or your storage fills up and new writes silently fail.

Ideas for what to build next

  • Add a weekly milestone digestBuild a second scenario that runs every Friday at 4pm, queries Wrike for all milestones completed that week, and posts a single summary message to Slack instead of one-by-one. This reduces Slack noise for high-volume weeks.
  • Log celebrations to a Google SheetAdd a Google Sheets 'Add a Row' module at the end of Path 1 to log every celebrated milestone with its title, assignee, date, and project. Gives you a running record of team achievements you can reference in retrospectives.
  • Trigger a Wrike comment when the Slack message postsAfter the Slack module, add a Wrike 'Add a Comment' module that posts a comment directly on the milestone task saying 'Celebrated in #project-wins on [date]'. Closes the loop so anyone viewing the task in Wrike knows the team was notified.

Related guides

Was this guide helpful?
Slack + Wrike overviewMake profile →