

How to Send Asana Task Assignments to Slack with Zapier
When a task is assigned in Asana or its priority changes, Zapier instantly posts a direct message or channel notification in Slack with the task name, assignee, due date, and priority.
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–50 who assign tasks frequently in Asana and want assignees notified in Slack without checking Asana constantly
Not ideal for
Teams with hundreds of daily task assignments — you'll burn through Zapier task limits fast and a dedicated Asana-Slack integration handles volume better
Sync type
real-timeUse case type
notificationReal-World Example
A 12-person product team at a SaaS company uses this to ping engineers in #dev-tasks whenever a new bug is assigned or bumped to High priority. Before this, engineers checked Asana once or twice a day and tasks sat unstarted for 4–6 hours. After setup, the average first-response time dropped to under 30 minutes.
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.
Field Mapping
Map these fields between your apps.
| Field | API Name | |
|---|---|---|
| Required | ||
| Task Name | ||
| Assignee Name | ||
| Task Permalink URL | ||
6 optional fields▸ show
| Assignee Email | |
| Due Date | |
| Priority (Custom Field) | |
| Project Name | |
| Task Notes | |
| Created At |
Step-by-Step Setup
zapier.com > Dashboard > Create Zap
Create a new Zap and name it
Log into zapier.com and click the orange 'Create Zap' button in the left sidebar. Give your Zap a descriptive name at the top — something like 'Asana Task Assigned → Slack Notify'. Naming it now saves confusion when you have a dozen Zaps running. You'll land on the trigger configuration screen.
- 1Click 'Create Zap' in the left sidebar
- 2Click the untitled name field at the top and type 'Asana Task Assigned → Slack Notify'
- 3Click the 'Trigger' box to begin configuration
Zap Editor > Trigger > App & Event
Set Asana as the trigger app
Search for 'Asana' in the trigger app search field and select it. You'll then choose a trigger event — select 'New Task Assigned to You' if you're building a personal notification Zap, or 'New Task in Project' if you want to catch all assignments across a project. For team-wide notifications, use 'New Task in Project'. This is an instant trigger backed by Asana's webhooks, so it fires within seconds of the assignment.
- 1Type 'Asana' in the app search field
- 2Click the Asana logo to select it
- 3Click the 'Event' dropdown
- 4Select 'New Task in Project'
- 5Click 'Continue'
Zap Editor > Trigger > Account
Connect your Asana account
Click 'Sign in to Asana' on the account connection screen. A pop-up window opens asking you to authorize Zapier. Log in with the Asana account that has access to the relevant workspace and projects. Once authorized, you'll see a green checkmark and the account email displayed. If your organization uses SSO, the pop-up will redirect through your identity provider first.
- 1Click 'Sign in to Asana'
- 2Authorize Zapier in the Asana pop-up window
- 3Return to Zapier and confirm the account email is correct
- 4Click 'Continue'
Zap Editor > Trigger > Configure
Select the Asana workspace and project
Two dropdowns appear: Workspace and Project. Select the Asana workspace your team uses, then select the specific project you want to monitor. You cannot monitor all projects at once with a single Zap — each project needs its own trigger or you need to duplicate the Zap per project. Pick the highest-priority project first.
- 1Click the 'Workspace' dropdown and select your team workspace
- 2Click the 'Project' dropdown and select the target project
- 3Click 'Continue'
Zap Editor > Trigger > Test
Test the Asana trigger
Click 'Test trigger' to pull in a recent task from the selected project. Zapier fetches the last task created or modified. You'll see a payload of fields including task name, assignee name, assignee email, due date, priority (stored as a custom field in Asana), notes, and the task permalink URL. Confirm the data looks right before moving on — the fields shown here are what you'll map to Slack.
- 1Click 'Test trigger'
- 2Wait 5–10 seconds for Zapier to fetch a sample task
- 3Expand the result to review all available fields
- 4Confirm 'Assignee Name', 'Task Name', and 'Due Date' are present
- 5Click 'Continue with selected record'
Zap Editor > + > Filter by Zapier
Add a filter step for priority changes (optional but recommended)
If you only want to notify on priority changes — not every new task — add a Filter step between the trigger and the Slack action. Click the '+' button below the trigger, select 'Filter by Zapier', and set the condition to 'Priority contains High' or whichever value your Asana custom field uses. Without this filter, every new task in the project fires a Slack message, which gets noisy fast on active projects.
- 1Click the '+' icon below the Asana trigger step
- 2Select 'Filter' from the action type list
- 3Choose the 'Priority' custom field from the field dropdown
- 4Set the condition to '(Text) Contains'
- 5Type the priority value (e.g., 'High') in the value field
- 6Click 'Continue'
Zap Editor > Action > App & Event
Add Slack as the action app
Click the '+' button below your last step and search for 'Slack'. Select it and then choose an action event. Use 'Send Direct Message' to notify the assignee personally, or 'Send Channel Message' to post in a shared team channel like #dev-tasks. For team visibility, 'Send Channel Message' is usually the right call — individual DMs can get buried.
- 1Click the '+' icon below the filter step
- 2Type 'Slack' in the app search field
- 3Click the Slack logo
- 4Click the 'Event' dropdown
- 5Select 'Send Channel Message' or 'Send Direct Message'
- 6Click 'Continue'
Zap Editor > Action > Account
Connect your Slack workspace
Click 'Sign in to Slack' and authorize Zapier through the Slack OAuth screen. Choose the correct workspace from the dropdown — if your organization has multiple Slack workspaces, make sure you pick the one your team actually uses. The connected account needs permission to post in the target channel. A bot user is created in your Slack workspace called 'Zapier'.
- 1Click 'Sign in to Slack'
- 2Select your workspace from the Slack authorization screen
- 3Click 'Allow' to grant Zapier posting permissions
- 4Confirm the workspace name appears in Zapier
- 5Click 'Continue'
Zap Editor > Action > Configure
Configure the Slack message content
Now map your Asana task fields into the Slack message. Set the Channel field to the target channel (e.g., #dev-tasks) or map the Assignee Email field to send a DM directly to the right person. Build the message text using Asana's dynamic fields — click the '+' icon in the message field to insert variables. A clear message format covers: who was assigned, what the task is, when it's due, the priority level, and a direct link to the task.
- 1Click the 'Channel' field and select your target Slack channel or type the assignee email for a DM
- 2Click the 'Message Text' field
- 3Type your message template and insert dynamic fields using the '+' button
- 4Insert: Assignee Name, Task Name, Due Date, Priority (custom field), and Task Permalink URL
- 5Optionally set 'Send as Bot' to true and customize the bot name to 'Asana Bot'
- 6Click 'Continue'
📬 New entry: {{1.name}}
Email: {{1.email}}
Details: {{1.description}}Zap Editor > Action > Test
Test the Slack action
Click 'Test action' to send a real message to your Slack channel using the sample task data from step 5. Switch to Slack and confirm the message arrived in the correct channel with all fields populated correctly. Check that the task name, assignee name, due date, and link all appear. If a field shows blank, go back and re-map it — blank fields usually mean the sample task didn't have that field populated.
- 1Click 'Test action'
- 2Open Slack and navigate to the target channel or DM
- 3Confirm the test message arrived with correct task data
- 4Verify the task link is clickable and opens the correct Asana task
- 5Return to Zapier and click 'Continue'
Zap Editor > Publish
Publish the Zap
Click 'Publish Zap' to turn it on. The Zap status changes from Draft to On. From this point, every new task added to the monitored Asana project — or that matches your filter — triggers a Slack notification within 1–2 minutes. Check the Zap History tab in Zapier over the next hour to confirm runs are succeeding. The first real trigger may take up to 5 minutes while Asana's webhook registers.
- 1Click the 'Publish Zap' button in the top right corner
- 2Confirm the status indicator switches to 'On' (shown in green)
- 3Navigate to 'Zap History' in the left sidebar
- 4Wait for the first real Asana event and confirm it shows as 'Success'
Paste this into a 'Code by Zapier' step placed between the Asana trigger and the Slack action. It formats the due date into a readable string, maps priority levels to emoji indicators, and truncates the task notes to 150 characters so the Slack message stays clean. Add the Code step by clicking '+', selecting 'Code by Zapier', and choosing 'Run Javascript'.
JavaScript — Code Step// Input data from Asana trigger fields▸ Show code
// Input data from Asana trigger fields const taskName = inputData.taskName || 'Untitled Task'; const assigneeName = inputData.assigneeName || 'Unassigned';
... expand to see full code
// Input data from Asana trigger fields
const taskName = inputData.taskName || 'Untitled Task';
const assigneeName = inputData.assigneeName || 'Unassigned';
const rawDueDate = inputData.dueDate || '';
const priority = inputData.priority || 'None';
const notes = inputData.notes || '';
const permalink = inputData.permalink || '';
const projectName = inputData.projectName || 'Unknown Project';
// Map priority to emoji
const priorityEmoji = {
'High': '🔴',
'Medium': '🟡',
'Low': '🟢',
'None': '⚪'
};
const emoji = priorityEmoji[priority] || '⚪';
// Format due date from YYYY-MM-DD to readable format
let formattedDate = 'No due date';
if (rawDueDate) {
const parts = rawDueDate.split('-');
const dateObj = new Date(Date.UTC(parts[0], parts[1] - 1, parts[2]));
formattedDate = dateObj.toLocaleDateString('en-US', { month: 'short', day: 'numeric', year: 'numeric', timeZone: 'UTC' });
}
// Truncate notes to 150 characters
const truncatedNotes = notes.length > 150
? notes.substring(0, 147) + '...'
: notes;
// Build final Slack message
const message = [
`${emoji} *New task assigned to ${assigneeName}*`,
`*Task:* ${taskName}`,
`*Priority:* ${priority}`,
`*Due:* ${formattedDate}`,
`*Project:* ${projectName}`,
truncatedNotes ? `*Notes:* ${truncatedNotes}` : null,
`👉 ${permalink}`
].filter(Boolean).join('\n');
output = [{ message, formattedDate, emoji, truncatedNotes }];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, the project has under 300 task events per month, and you need this running today. The Zap builder guides you through every step with no code required, Asana's instant trigger fires within 60–90 seconds of a task assignment, and the whole setup takes about 15 minutes. The one scenario where you'd skip Zapier: if you need to catch priority changes on existing tasks rather than just new task creation. Zapier's Asana trigger only fires on new tasks. Make has an Asana 'Watch Tasks' module that handles updates — if priority-change detection is your primary use case, Make is the better starting point.
The cost math is simple. Each task assignment = 1 Zapier task consumed (2 if you add the Code by Zapier step). A team that creates 200 tasks per month in the monitored project burns 200–400 tasks/month. Zapier's Free plan caps at 100 tasks/month — you'll hit that ceiling in under two weeks on any active project. The Starter plan at $19.99/month gives you 750 tasks/month, which covers most small teams. Make's Free plan gives you 1,000 operations/month and handles the same workflow for $0 until you cross that threshold. For a team generating 200–400 notifications per month, Make saves you $19.99/month. For a team under 100 events/month, the Free Zapier tier works fine.
Make handles Asana update events (not just new tasks) through its 'Watch Tasks' module — that's a concrete capability Zapier doesn't match here. n8n gives you full workflow branching logic on a self-hosted instance at no per-task cost, which matters if you're monitoring 10+ projects and doing conditional routing. Power Automate has a native Asana connector through premium licensing, but it adds $15/user/month and the Asana connector is marked premium tier — overkill for a notification workflow. Pipedream lets you write Node.js directly against Asana's REST API, giving you access to any event type including task updates, but it requires comfort with code. Zapier wins here on setup speed and accessibility — if your ops manager is setting this up without dev help, Zapier is the right call.
Three things you'll hit after launch. First, Asana's 'Priority' field is a custom field — if someone renames it, changes the dropdown values, or deletes it, your filter silently breaks and you'll see Zaps running but no messages that match. Check the filter logic whenever the Asana project is customized. Second, if the Zapier-connected Asana account loses project membership — from a role change or team reorganization — the webhook dies with no notification to you. The Zap shows as 'On' but produces zero runs. Build a dead man's switch: assign yourself a test task weekly and confirm the Slack message arrives. Third, Slack DM routing by email fails when employees have mismatched emails between Asana and Slack — common after mergers or email domain changes. If DMs stop arriving for specific people, their emails are out of sync and need to be corrected in one of the two tools.
Ideas for what to build next
- →Add a daily digest instead of per-task pings — High-volume projects can produce too many individual Slack messages. Build a second Zap using a Schedule trigger that runs each morning, queries Asana via search for tasks assigned today, and posts a single digest message to the channel.
- →Notify when tasks become overdue — Add a separate Zap with a Schedule by Zapier trigger (daily) that checks Asana for tasks past their due date and posts an overdue alert in Slack, tagging the assignee directly.
- →Create Asana tasks from Slack emoji reactions — Reverse the flow — build a Zap that triggers when a specific emoji (like 📌) is added to a Slack message, then creates a new Asana task in a designated project with the message content as the task name.
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