

How to Create Wrike Tasks from Slack Messages with Zapier
Automatically creates a Wrike task whenever a Slack message is starred or posted with a specific emoji reaction, mapping the message text, sender, and parsed due date to the new task.
Steps and UI details are based on platform versions at time of writing — check each platform for the latest interface.
Best for
Teams that already live in Slack and want to capture action items into Wrike without switching apps or filling out task forms manually.
Not ideal for
Teams that need bidirectional sync — when a Wrike task status changes, this workflow won't post back to Slack without a separate Zap.
Sync type
real-timeUse case type
importReal-World Example
A 22-person product team at a B2B SaaS company uses this to convert action items from their #sprint-planning Slack channel into Wrike tasks. Before automation, someone had to manually open Wrike after every standup and type out tasks from memory — things slipped. Now, adding a ✅ emoji reaction to any Slack message instantly creates a Wrike task assigned to the message author, with the due date parsed from the message text.
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 Title | title | |
| Parent Folder / Project | folderId | |
6 optional fields▸ show
| Description | description |
| Assignees | responsibleIds |
| Due Date | dates.due |
| Status | status |
| Priority | importance |
| Created Date | createdDate |
Step-by-Step Setup
zapier.com > Dashboard > Create Zap
Create a new Zap in Zapier
Log into your Zapier account at zapier.com. Click the orange 'Create Zap' button in the left sidebar. You'll land on the Zap editor, which shows a two-panel layout: the step list on the left and the configuration panel on the right. Give your Zap a name at the top — something like 'Slack Reaction → Wrike Task' so your team can find it later.
- 1Log in at zapier.com
- 2Click the orange 'Create Zap' button in the left sidebar
- 3Click the untitled Zap name at the top and type a descriptive name
- 4Click the '1. Trigger' block in the left panel to begin configuration
Zap Editor > Trigger > Choose App & Event
Set Slack as the trigger app
In the trigger configuration panel, click 'Choose App & Event.' Type 'Slack' in the search box and select it from the results. You'll then choose the trigger event — select 'New Reaction Added' from the dropdown. This fires the Zap the moment any team member reacts to a message with an emoji, which is the most reliable way to flag messages as action items without requiring a bot command or a new channel.
- 1Click 'Choose App & Event' in the Trigger panel
- 2Type 'Slack' in the search box and click the Slack icon
- 3Click the 'Trigger Event' dropdown
- 4Select 'New Reaction Added' from the list
- 5Click 'Continue'
Zap Editor > Trigger > Choose Account > Sign in to Slack
Connect your Slack account
Click 'Sign in to Slack' in the account panel. A popup opens asking you to authorize Zapier's access to your Slack workspace. You must sign in as an account that has access to the channels you want to monitor — a personal Slack account works, but a dedicated integration bot account is better for production. After authorizing, you'll return to Zapier and see your workspace name listed.
- 1Click 'Sign in to Slack' in the account selection panel
- 2In the popup, select the correct workspace from the top-left dropdown
- 3Click 'Allow' to grant Zapier access
- 4Close the popup and confirm your workspace name appears in Zapier
Zap Editor > Trigger > Configure > Reaction / Channel
Configure the Slack trigger settings
Now configure which reaction and which channel to watch. In the 'Reaction' field, type the emoji name without colons — for example, type 'white_check_mark' to watch for ✅ reactions. In the 'Channel' dropdown, select the channel or channels your team uses for action items. Leave 'Channel Type' set to 'Channel' unless you also want to capture DM reactions. Click 'Continue' when done.
- 1Type the emoji name in the 'Reaction' field (e.g., 'white_check_mark')
- 2Click the 'Channel' dropdown and select your target channel
- 3Leave 'Channel Type' as 'Channel'
- 4Click 'Continue'
Zap Editor > Trigger > Test Trigger
Test the Slack trigger
Click 'Test trigger.' Zapier will look for recent reactions in your chosen channel. Go to Slack right now, find any message, and add your chosen emoji reaction if you haven't already — then return to Zapier and click 'Find new records.' You'll see a JSON payload showing the message text, the user who added the reaction, the channel ID, the timestamp, and the original message sender. Review these fields carefully — you'll map them in later steps.
- 1Click 'Test trigger'
- 2Switch to Slack and add your chosen emoji to any recent message
- 3Return to Zapier and click 'Find new records'
- 4Expand the returned data to review all available fields
Zap Editor > + > Formatter by Zapier > Text > Extract Pattern
Add a Formatter step to parse due dates
Click the '+' button below the trigger to add a new step. Search for 'Formatter by Zapier' and select it. Choose 'Text' as the action, then 'Extract Pattern' as the transform type. In the 'Input' field, select the Slack message 'Text' field from your trigger data. In the 'Pattern' field, enter a regex that matches your team's date format — for example, '\d{1,2}/\d{1,2}/\d{4}' to catch dates like '3/15/2025'. This extracts a due date from the message text so you can pass it to Wrike cleanly.
- 1Click the '+' icon to add a step below the trigger
- 2Search for 'Formatter by Zapier' and select it
- 3Choose 'Text' as the action event
- 4Select 'Extract Pattern' as the transform
- 5Map the 'Input' field to Slack's 'Text' output
- 6Enter your date regex in the 'Pattern' field
📬 New entry: {{1.name}}
Email: {{1.email}}
Details: {{1.description}}Zap Editor > + > Formatter by Zapier > Text > Truncate
Add a second Formatter step to clean the task title
Add another Formatter step. Choose 'Text' and then 'Truncate.' Map the input to the Slack 'Text' field. Set the max length to 255 characters — Wrike's task title field has a 255-character limit and will error if you exceed it. This also prevents you from sending an entire long Slack thread as the task name. You'll use this truncated text as the Wrike task title in the next step.
- 1Click '+' to add another step
- 2Select 'Formatter by Zapier' again
- 3Choose 'Text' then 'Truncate'
- 4Map the Input to Slack 'Text'
- 5Set 'Max Length' to 255
- 6Click 'Continue' and run the test
📬 New entry: {{1.name}}
Email: {{1.email}}
Details: {{1.description}}This Code by Zapier step runs in the action sequence after the Slack trigger. It parses the raw message text to extract a date in multiple formats, cleans up Slack user mention syntax, and returns normalized values ready to pass directly to the Wrike Create Task step. Paste this into a 'Code by Zapier' step using JavaScript, placed between your Slack trigger and your Wrike action.
JavaScript — Code Step// Code by Zapier — JavaScript▸ Show code
// Code by Zapier — JavaScript // Normalizes Slack message text before creating a Wrike task // Input fields from Zapier: inputData.message_text, inputData.sender_email
... expand to see full code
// Code by Zapier — JavaScript
// Normalizes Slack message text before creating a Wrike task
// Input fields from Zapier: inputData.message_text, inputData.sender_email
const text = inputData.message_text || '';
const senderEmail = inputData.sender_email || '';
// Remove Slack user mention syntax: <@U04ABCD12> → @username not resolvable,
// so we strip the ID wrapper to avoid raw IDs in task titles
const cleanText = text.replace(/<@[A-Z0-9]+>/g, '@user').replace(/<[^>]+>/g, '').trim();
// Truncate to Wrike's 255-char title limit
const taskTitle = cleanText.substring(0, 255);
// Extract due date — supports MM/DD/YYYY, M/D/YYYY, YYYY-MM-DD
const datePatterns = [
{ regex: /(\d{4})-(\d{2})-(\d{2})/, format: 'iso' },
{ regex: /(\d{1,2})\/(\d{1,2})\/(\d{4})/, format: 'us' }
];
let dueDate = null;
for (const pattern of datePatterns) {
const match = text.match(pattern.regex);
if (match) {
if (pattern.format === 'iso') {
dueDate = `${match[1]}-${match[2]}-${match[3]}`;
} else {
const month = match[1].padStart(2, '0');
const day = match[2].padStart(2, '0');
dueDate = `${match[3]}-${month}-${day}`;
}
break;
}
}
output = [
{
task_title: taskTitle,
due_date: dueDate,
sender_email: senderEmail,
original_length: text.length,
was_truncated: text.length > 255
}
];Zap Editor > + > Wrike > Create Task > Choose Account
Add Wrike as the action app
Click '+' to add the final action step. Search for 'Wrike' and select it. Choose 'Create Task' as the action event. Click 'Continue.' You'll be prompted to connect your Wrike account — click 'Sign in to Wrike,' which opens an OAuth popup. Sign in with your Wrike credentials and click 'Allow.' You need to be a Wrike account member with task creation permissions in the target project or folder.
- 1Click '+' to add a new step
- 2Search for 'Wrike' and select it
- 3Choose 'Create Task' as the action event
- 4Click 'Continue'
- 5Click 'Sign in to Wrike' and complete the OAuth flow
- 6Confirm your Wrike account name appears and click 'Continue'
Zap Editor > Action > Wrike > Create Task > Configure
Map Slack fields to Wrike task fields
Now map your data. In the 'Title' field, select the truncated text output from your Formatter step. In the 'Description' field, insert the Slack message permalink so team members can jump to the original conversation. Set 'Assignees' by mapping the Slack 'User' field — Wrike will try to match by email, so this works best if your Slack and Wrike accounts share the same email addresses. Set 'Due Date' to the extracted date from your first Formatter step. Select the target Folder or Project from the 'Parent Folder' dropdown.
- 1Map 'Title' to the Formatter truncated text output
- 2Map 'Description' to Slack's 'Permalink' field
- 3Map 'Assignees' to Slack's 'User' field (email match)
- 4Map 'Due Date' to the Formatter extracted date output
- 5Click the 'Parent Folder' dropdown and select your Wrike project or folder
- 6Click 'Continue'
Zap Editor > Action > Wrike > Test Action
Test the full Zap end to end
Click 'Test action' in the Wrike step. Zapier will use your sample Slack data and attempt to create a real task in Wrike. Switch to Wrike after the test completes and navigate to the folder you selected — you should see a new task with the Slack message as the title and the permalink in the description. Check that the due date and assignee populated correctly. If anything looks wrong, go back and adjust the field mapping before turning the Zap on.
- 1Click 'Test action' in the Wrike step
- 2Wait for the success confirmation in Zapier
- 3Open Wrike and navigate to your target folder
- 4Verify the task title, description, due date, and assignee
Zap Editor > Publish > Toggle On
Turn the Zap on
Click the 'Publish' button in the top right corner of the Zap editor. Toggle the Zap to 'On.' The status indicator turns green. Zapier will now listen via Slack's Events API for new reactions matching your configured emoji in your chosen channel. Go to Slack, react to a message with your emoji, and within 2 minutes you should see a new Wrike task appear. Run this test with a real team member to confirm the assignee mapping works end to end.
- 1Click the 'Publish' button in the top right
- 2Toggle the Zap status switch to 'On'
- 3Confirm the green 'On' badge appears
- 4Test with a live Slack reaction from another team member's account
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 has no technical resources and needs something running today. The guided Zap builder walks through every step with dropdowns — no JSON, no code, no API documentation to read. Setup realistically takes 25-35 minutes including testing. The Slack 'New Reaction Added' trigger is available on Zapier's Starter plan and fires via webhook, so there's no polling delay. The one scenario where you'd skip Zapier: if you need the task description to include the full Slack thread context, not just the single message. Zapier can't fetch thread replies without extra steps that quickly become fragile.
The math here matters. Each emoji reaction consumes roughly 3 Zapier tasks — one for each Formatter step plus the Wrike action. At 150 reactions per month (a realistic number for a 20-person team), that's 450 tasks/month. Zapier's Starter plan includes 750 tasks/month at $19.99/month. You're fine at that volume. At 300+ reactions/month, you'll hit the Starter cap and need the Professional plan at $49/month. Make handles the same workflow for free up to 1,000 operations/month, so if cost is the primary driver and you have someone who can spend 2 hours learning Make's module system, Make wins on price by $49/month.
Make's scenario builder handles this workflow with a more visual multi-path setup — you can add conditional branches without extra modules, and Make's text parsing functions are built in rather than requiring a separate Formatter step. n8n does this well too and lets you self-host, which matters if your Slack messages contain sensitive project data you don't want passing through Zapier's servers. Power Automate has a Slack connector but it's limited — the reaction trigger doesn't exist natively and you'd need a workaround. Pipedream gives you full JavaScript and can fetch thread context via Slack's API, which solves the thread problem Zapier can't. Zapier is still the right call here if your team will actually maintain it: the Zap editor is the only interface on this list that a non-technical project manager can debug on their own at 9pm without calling a developer.
Three things will bite you after go-live. First, the assignee mapping. Wrike's Zapier integration takes a Wrike User ID in the assignee field, and almost nobody realizes this until they see every task created unassigned. You need a lookup step or you need to hardcode assignments. Second, Slack messages with @mentions pass through as raw user IDs like '<@U04ABCD12>' — your Wrike task titles will look like garbage unless you add a Formatter step to clean them. Third, if your team uses Wrike's custom workflow statuses instead of the default Active/Completed/Deferred set, the 'Status' field in Zapier will only show you the default options. You'll need to pass the custom status ID directly, which means digging into your Wrike workspace settings to find it.
Ideas for what to build next
- →Post a Slack confirmation when the task is created — Add a second Wrike action step that sends a Slack message back to the original channel with the Wrike task URL, so the person who added the emoji knows the task was captured and can find it immediately.
- →Sync Wrike task status changes back to Slack — Build a second Zap in the opposite direction — trigger on 'Task Status Changed' in Wrike and post a message to the originating Slack channel. This closes the loop so the team knows when action items are completed without checking Wrike manually.
- →Route tasks to different Wrike projects based on the Slack channel — Add a Zapier Paths step that checks which Slack channel triggered the Zap and routes the task to the matching Wrike project — #marketing reactions go to the Marketing project, #engineering reactions go to the Engineering project — without needing separate Zaps for each channel.
Related guides
How to Create Notion Tasks from Slack with Pipedream
~15 min setup
How to Create Notion Tasks from Slack with Power Automate
~15 min setup
How to Create Notion Tasks from Slack with n8n
~20 min setup
How to Create Notion Tasks from Slack Messages with Zapier
~8 min setup
How to Create Notion Tasks from Slack Messages with Make
~12 min setup
How to Share Notion Meeting Notes to Slack with Pipedream
~15 min setup