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

How to Post Wrike Standup Summaries to Slack with Zapier

A scheduled Zapier workflow pulls active task data from Wrike each morning and posts a formatted project status summary to a designated Slack channel.

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

Best for

Teams of 5-20 people who track project work in Wrike and want a daily digest in Slack without anyone manually pulling status updates.

Not ideal for

Teams with 10+ active projects across multiple workspaces — Wrike's API returns one folder at a time, so you'd need separate Zaps per project or switch to Make's iterator module.

Sync type

scheduled

Use case type

reporting

Real-World Example

💡

A 12-person product team at a B2B SaaS company uses this to post a morning digest to #product-standup at 8:45 AM every weekday. Before automation, a project manager spent 15 minutes each morning manually checking Wrike, copying task names and due dates, and pasting a formatted update into Slack. They missed overdue tasks regularly because they only checked the top-level view. The Zap pulls every task due within 48 hours from their Sprint folder and posts them as a structured Slack message with assignee names and status labels.

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 one active project folder containing tasks with due dates and assignees
Wrike API access enabled — available on Professional plan and above; Free plan does not support third-party integrations
Slack workspace where you have permission to add bot apps, or admin approval already in place
Zapier account on Starter plan or above — the Schedule trigger and Code by Zapier step are both multi-step features not available on the free plan
Your Wrike folder ID for the project you want to report on — find this in the folder's browser URL after 'folders/'

Field Mapping

Map these fields between your apps.

FieldAPI Name
Required
Task Title
Task Status
Due Date
Assignee Name
Slack Channel ID
Message Text
4 optional fields▸ show
Task Permalink
Project / Folder Name
Priority
Bot Name

Step-by-Step Setup

1

Zapier Dashboard > Create Zap > Trigger > Schedule by Zapier

Create a new Zap and set the Schedule trigger

Log into Zapier and click the orange 'Create Zap' button in the top left. On the trigger step, search for 'Schedule by Zapier' and select it from the app list. This built-in trigger fires at a time you define — no external service needed. You'll use this to kick off the Wrike data pull every weekday morning before your standup.

  1. 1Click 'Create Zap' in the top left of the Zapier dashboard
  2. 2In the trigger search box, type 'Schedule' and select 'Schedule by Zapier'
  3. 3Choose 'Every Day' or 'Every Week' as the event type
  4. 4Set the time to 8:45 AM in your team's local timezone
  5. 5Under 'Day of the Week', deselect Saturday and Sunday if you want weekdays only
What you should see: You should see a Schedule trigger configured with your chosen time and a 'Continue' button active at the bottom of the trigger panel.
Common mistake — Zapier runs scheduled Zaps in UTC by default. If your team is in US/Eastern, 8:45 AM ET means setting the Zap time to 13:45 UTC. Get this wrong and your standup posts at 3 PM.
Zapier
+
click +
search apps
Slack
SL
Slack
Create a new Zap and set the…
Slack
SL
module added
2

Zap Editor > Action > App & Event > Wrike > Find Tasks

Connect your Wrike account

Add a new action step and search for 'Wrike' in the app picker. Select Wrike and choose the 'Find Tasks' action — this lets you query tasks by folder, status, or date range rather than just fetching a single record. Click 'Sign in to Wrike' and complete the OAuth flow in the popup window. You'll need to grant Zapier read access to your Wrike workspace.

  1. 1Click the '+' button below the Schedule trigger to add an action
  2. 2Search for 'Wrike' and select it from the app list
  3. 3Choose 'Find Tasks' as the action event
  4. 4Click 'Sign in to Wrike' and complete OAuth in the popup
  5. 5Once connected, click 'Continue' to proceed to configuration
What you should see: You should see a green checkmark next to your Wrike account email and the action configuration fields should appear below.
Common mistake — If your Wrike account uses SSO via Google or Okta, the OAuth popup may fail silently. Use Wrike's native email/password login during the Zapier connection step, then switch back to SSO for daily use.
Zapier settings
Connection
Choose a connection…Add
click Add
Slack
Log in to authorize
Authorize Zapier
popup window
Connected
green checkmark
3

Zap Editor > Wrike Action > Configure > Folder ID / Status / Due Date

Configure the Wrike task search parameters

In the Wrike 'Find Tasks' action, you'll configure which tasks Zapier fetches. Set the Folder ID to the sprint or project folder you want to report on. Set Status to 'Active' or leave it blank to include all statuses. Use the 'Due Date' field to filter for tasks due within the next 48 hours by using a dynamic date. Zapier's date formatting here is critical — Wrike expects ISO 8601 format like '2024-01-15T00:00:00Z'.

  1. 1Click the 'Folder ID' field and paste in your Wrike folder's ID (found in the folder's URL in Wrike)
  2. 2Set 'Status' to 'Active' to exclude completed tasks
  3. 3In 'Due Date (before)', click the field and use Zapier's built-in date formatter to set 'today + 2 days'
  4. 4Leave 'Assignee' blank unless you want to filter by a specific person
  5. 5Click 'Continue' to test this step
What you should see: After clicking 'Test step', you should see a list of matching Wrike tasks returned in the right-hand panel, each showing task title, status, due date, and assignee.
Common mistake — Wrike's 'Find Tasks' action in Zapier returns a maximum of 100 tasks per run. If your folder has more than 100 active tasks, only the first 100 are returned with no pagination. This is a hard Zapier API limit — if you're over 100 tasks, switch to Make's Wrike module which supports iteration.
4

Zap Editor > + Add Action > Code by Zapier > Run JavaScript

Add a Code by Zapier step to format the task list

The Wrike 'Find Tasks' action returns raw data — task names, assignees, and due dates as separate fields for each task. You need to combine these into a single readable Slack message. Add a 'Code by Zapier' action and select 'Run JavaScript'. Paste in the formatting script from the Pro Tip section below. This step transforms the raw array of tasks into a bulleted text block ready for Slack.

  1. 1Click '+' to add a new action after the Wrike step
  2. 2Search for 'Code by Zapier' and select 'Run JavaScript'
  3. 3In the 'Input Data' section, map 'tasks' to the Wrike task output from the previous step
  4. 4Paste the formatting script into the 'Code' field
  5. 5Click 'Test step' to verify the output looks like a formatted Slack message
What you should see: The test output should show a 'message' variable containing a multi-line string with each task on its own line, formatted like '• Task Name — Assignee — Due: Jan 15'.
Common mistake — Code by Zapier executes in a sandboxed Node.js environment with no npm packages available. Do not try to import moment.js or lodash — use native JS Date methods only.
Message template
📬 New entry: {{1.name}}
Email: {{1.email}}
Details: {{1.description}}

Paste this into the Code by Zapier 'Run JavaScript' step. Map the Wrike task array output to an input variable named 'tasks' in the Input Data section before running. The script handles both single-task objects and multi-task arrays, sorts by due date ascending, adds a priority emoji indicator, and outputs a single 'message' string ready to drop directly into the Slack message field.

JavaScript — Code Stepconst rawTasks = inputData.tasks;
▸ Show code
const rawTasks = inputData.tasks;
const taskList = Array.isArray(rawTasks) ? rawTasks : [rawTasks];
const priorityEmoji = (p) => {

... expand to see full code

const rawTasks = inputData.tasks;
const taskList = Array.isArray(rawTasks) ? rawTasks : [rawTasks];

const priorityEmoji = (p) => {
  if (!p) return '⚪';
  const lower = p.toLowerCase();
  if (lower === 'high') return '🔴';
  if (lower === 'normal') return '🟡';
  return '⚪';
};

const formatDate = (isoString) => {
  if (!isoString) return 'No due date';
  const d = new Date(isoString);
  return d.toLocaleDateString('en-US', { month: 'short', day: 'numeric' });
};

const sorted = taskList
  .filter(t => t && t.title)
  .sort((a, b) => {
    const da = a.dueDate ? new Date(a.dueDate) : new Date('9999-12-31');
    const db = b.dueDate ? new Date(b.dueDate) : new Date('9999-12-31');
    return da - db;
  });

if (sorted.length === 0) {
  output = [{ message: '' }];
} else {
  const lines = sorted.map(t => {
    const emoji = priorityEmoji(t.priority);
    const due = formatDate(t.dueDate);
    const assignee = t.responsibleIds || 'Unassigned';
    const link = t.permalink || '';
    return `${emoji} ${t.title} — ${assignee} — Due: ${due}${link ? ' → ' + link : ''}`;
  });
  const message = lines.join('\n');
  output = [{ message }];
}
5

Zap Editor > + Add Action > Filter by Zapier > Only continue if...

Add a Filter step to skip weekends or empty results

Add a 'Filter by Zapier' action after the Code step. Set the condition to check whether the formatted message from the Code step contains any task entries. If Wrike returns zero tasks (e.g., nothing is due today), you don't want an empty Slack message posting. Set the filter to 'Only continue if message is not exactly empty string'. This prevents noisy blank posts on days with no active tasks.

  1. 1Click '+' to add a new action after the Code step
  2. 2Search for 'Filter by Zapier' and select it
  3. 3In the condition field, select the 'message' output from the Code step
  4. 4Set the condition to '(Text) Does not exactly match' and leave the value field blank
  5. 5Click 'Continue' — no test needed for filter steps
What you should see: The filter step should show 'Your Zap will only continue to run the next action if all of the conditions are met.' You won't see a test result here — that's normal.
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
6

Zap Editor > + Add Action > Slack > Send Channel Message > Sign In

Connect your Slack account

Add a new action, search for Slack, and select 'Send Channel Message' as the event. Click 'Sign in to Slack' and complete the OAuth flow. Zapier will request permission to post messages to your workspace. You'll need to be a Slack workspace admin or have the admin pre-authorize the Zapier app — standard member accounts cannot authorize bot posting without admin approval in some workspace configurations.

  1. 1Click '+' to add a new action after the Filter step
  2. 2Search for 'Slack' and select 'Send Channel Message'
  3. 3Click 'Sign in to Slack' and authorize Zapier in the OAuth popup
  4. 4Select your workspace from the dropdown if you belong to multiple
  5. 5Click 'Continue' once the green checkmark appears next to your Slack account
What you should see: You should see your Slack workspace name listed with a green connected badge. The channel and message fields should now be editable below.
Common mistake — Zapier posts as the 'Zapier' bot by default. If your Slack workspace has restricted app installs or requires admin approval for new bots, the OAuth step will succeed but messages will silently fail to post. Check with your Slack admin before building the rest of the Zap.
7

Zap Editor > Slack Action > Configure > Channel / Message Text / Bot Name

Configure the Slack message content and channel

In the Slack action configuration, select the target channel from the dropdown — type the channel name to search if you have many. Set the 'Message Text' field by clicking into it and selecting the 'message' output from the Code by Zapier step. Add a static header line like '*📋 Morning Standup — Wrike Tasks Due Soon*' before the dynamic content so the message has context. Set 'Send as Bot' to Yes and give the bot a name like 'Standup Bot'.

  1. 1Click the 'Channel' dropdown and select your standup channel (e.g., #product-standup)
  2. 2Click into the 'Message Text' field and type your header line: '*📋 Morning Standup — Wrike Tasks Due Soon*'
  3. 3Press Enter, then click the '+' insert button to add the 'message' output from the Code step
  4. 4Set 'Send as Bot' to 'Yes'
  5. 5Set 'Bot Name' to 'Standup Bot' and optionally set a Bot Icon emoji like ':clipboard:'
What you should see: The Message Text field should show your static header followed by the dynamic message variable in a blue pill tag. The channel field should show your selected channel name.
Common mistake — Slack's channel dropdown in Zapier only shows channels the connected bot account has already joined. If your target channel isn't appearing, manually type the channel name with the # prefix or have a Slack admin add the Zapier bot to that channel first.
Message template
📬 New entry: {{1.name}}
Email: {{1.email}}
Details: {{1.description}}
8

Zap Editor > Slack Action > Test Step > Check Slack Channel

Test the full Zap end to end

Click 'Test step' on the Slack action. Zapier will attempt to post a real message to your selected Slack channel using the sample data from the Wrike step. Go to Slack and confirm the message actually appeared in the channel — do not rely solely on Zapier's 'Success' confirmation, which only tells you the API accepted the request, not that the message is visible. Check the formatting looks correct and the task list is readable.

  1. 1Click 'Test step' on the Slack action panel
  2. 2Wait 10-15 seconds, then open Slack
  3. 3Navigate to your target channel and look for the test message
  4. 4Verify the task names, assignees, and due dates render correctly
  5. 5If the message looks garbled, go back to the Code step and adjust the formatting script
What you should see: You should see a formatted message in your Slack channel from 'Standup Bot' showing a header and a bulleted list of Wrike tasks with names, assignees, and due dates.
Zapier
▶ Turn on & test
executed
Slack
Wrike
Wrike
🔔 notification
received
9

Zap Editor > Publish > Zap Detail Page > Run Zap / Task History

Turn on the Zap and verify the first scheduled run

Click 'Publish' in the top right of the Zap editor to activate the Zap. Zapier will now wait until the scheduled time to run. To confirm it works before waiting overnight, go to the Zap's detail page and click 'Run Zap' to trigger it manually. Check Zapier's task history after 2-3 minutes to confirm all steps passed. If the Code step shows a warning icon, the JavaScript threw an error — click the step to see the error message.

  1. 1Click the 'Publish' button in the top right corner of the Zap editor
  2. 2On the Zap detail page, click 'Run Zap' to trigger a manual test run
  3. 3Wait 2-3 minutes, then click 'Task History' in the left sidebar
  4. 4Click on the most recent task entry and check each step for a green checkmark
  5. 5If any step shows a yellow warning or red error, click it to read the error details
What you should see: Task History should show all steps with green checkmarks. The Slack step should show status '200 OK' in the response data. Your Slack channel should have received a second test message.
Common mistake — Zapier's 'Run Zap' button triggers the Zap immediately but uses the last test data from each step, not a fresh Wrike API call. If your Wrike tasks changed since you set up the Zap, the manual run may show stale data. The scheduled run at 8:45 AM will always pull fresh data.

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 needs the standup live within 30 days and nobody on the team writes code regularly. The Schedule trigger plus Code by Zapier covers the hard parts — time-based firing and text formatting — without leaving the Zapier UI. Setup takes under an hour. The one scenario where you'd skip Zapier: if you're posting summaries for more than 5 separate projects to different channels. That's 5+ Zaps, which gets messy fast. Make handles that with a single scenario using an iterator and a router.

Cost

The cost math is simple. Each weekday run consumes 4 Zapier tasks (Code step, Filter step, Slack step, plus the Schedule trigger itself). At 22 working days per month, that's 88 tasks. Zapier's Starter plan costs $19.99/month and includes 750 tasks — so this workflow alone uses about 12% of your monthly budget. If you're already running other Zaps, audit your task count before adding this. Make's equivalent scenario runs for free up to 1,000 operations per month, which would cover this workflow with room to spare.

Tradeoffs

Make does one thing better here: its Wrike module supports pagination, so if your folder has more than 100 tasks it fetches all of them automatically. Zapier hard-caps at 100 tasks per Find Tasks call with no workaround. n8n gives you full control over the message format with its Function node and no task limits, but requires self-hosting or n8n Cloud at $20/month. Power Automate has a native Wrike connector in the premium tier, but the scheduled recurrence trigger has a minimum 1-minute interval and the Wrike connector costs extra on top of your Microsoft 365 license. Pipedream is the best pure-code option — it can hit Wrike's REST API directly, handle pagination, and post to Slack in a single Node.js step — but it has no visual builder, so it's only worth it if your team is already comfortable with JavaScript. Zapier wins here because the no-code path is genuinely complete for teams under 100 tasks per folder, and the Code step handles the one non-trivial part (text formatting) without leaving the platform.

Three things you will hit after a week in production. First, Wrike's 'Find Tasks' API call in Zapier does not support filtering by custom fields — if your workflow uses Wrike custom statuses or custom date fields, the standard action won't see them. You'll need to use Zapier's webhook action to hit Wrike's REST API directly and handle the response in Code by Zapier. Second, Slack's block kit formatting (the rich layout with dividers and buttons) is not available through Zapier's Send Channel Message action — it only supports basic mrkdwn text. If you want a formatted card-style message, you need to use Zapier's POST webhook action to hit Slack's chat.postMessage endpoint with a blocks payload. Third, if your Wrike workspace is on EU data residency, the API base URL is different (app-eu.wrike.com instead of app.wrike.com) and Zapier's standard Wrike app may not route to the correct endpoint — test with a manual API call before assuming the integration will work.

Ideas for what to build next

  • Add a Weekly Summary DigestCreate a second Zap on the same pattern but scheduled for Friday at 4 PM that pulls all tasks completed that week from Wrike and posts a 'What we shipped' summary to a #wins Slack channel. Use the Wrike 'Find Tasks' status filter set to 'Completed' with a date range of the past 7 days.
  • Route Overdue Tasks to a Separate Alert ChannelAdd a parallel Zap that runs 30 minutes after the standup post, checks Wrike for tasks where due date is before today and status is still Active, and posts them to a #overdue-alerts channel with @mentions to the assignees. This separates urgent escalations from the general standup noise.
  • Write Slack Standup Replies Back to WrikeUse a second Zap triggered by new messages in your standup Slack channel to parse replies and create Wrike comments on the relevant task. This creates a two-way audit trail — your Wrike tasks accumulate standup notes over time without anyone switching tools.

Related guides

Was this guide helpful?
Slack + Wrike overviewZapier profile →