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

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

Use case type

notification

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

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

Asana account with access to the project you want to monitor — Guest accounts with limited project access work, but the connected account must be a member of the target project
Asana project must have tasks with assignees — a project with no assigned tasks won't produce test data in step 5
Slack account with permission to install apps in your workspace — if app installation is restricted, a Slack admin must pre-approve Zapier
Permission to post in the target Slack channel — private channels require the Zapier bot to be explicitly invited with /invite @Zapier
Zapier account on any plan — the Free plan supports this Zap but caps at 100 tasks/month; Starter plan ($19.99/month) gives 750 tasks/month

Field Mapping

Map these fields between your apps.

FieldAPI 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

1

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.

  1. 1Click 'Create Zap' in the left sidebar
  2. 2Click the untitled name field at the top and type 'Asana Task Assigned → Slack Notify'
  3. 3Click the 'Trigger' box to begin configuration
What you should see: You should see the trigger setup panel open on the right side of the screen with a search field for apps.
2

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.

  1. 1Type 'Asana' in the app search field
  2. 2Click the Asana logo to select it
  3. 3Click the 'Event' dropdown
  4. 4Select 'New Task in Project'
  5. 5Click 'Continue'
What you should see: You should see 'New Task in Project' displayed under the Event field and a 'Continue' button becomes active.
Common mistake — Asana's 'New Task Assigned to You' trigger only catches tasks assigned to the authenticated Asana account — not teammates. If you want team-wide coverage, use 'New Task in Project' instead and filter by assignee in a later step.
Zapier
+
click +
search apps
Slack
SL
Slack
Set Asana as the trigger app
Slack
SL
module added
3

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.

  1. 1Click 'Sign in to Asana'
  2. 2Authorize Zapier in the Asana pop-up window
  3. 3Return to Zapier and confirm the account email is correct
  4. 4Click 'Continue'
What you should see: You should see your Asana email address displayed with a green checkmark next to it.
Common mistake — Zapier connects to Asana as the authorizing user. If that user is removed from a project later, the Zap will stop triggering for that project — no error alert is sent. Keep the connected account a stable admin or service account.
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

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.

  1. 1Click the 'Workspace' dropdown and select your team workspace
  2. 2Click the 'Project' dropdown and select the target project
  3. 3Click 'Continue'
What you should see: Both dropdowns should show your selected workspace and project name. The 'Continue' button becomes active.
Common mistake — If your project doesn't appear in the dropdown, it may be in a different Asana workspace. Asana workspaces are completely siloed — you'd need a separate Asana account connection for each workspace.
5

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.

  1. 1Click 'Test trigger'
  2. 2Wait 5–10 seconds for Zapier to fetch a sample task
  3. 3Expand the result to review all available fields
  4. 4Confirm 'Assignee Name', 'Task Name', and 'Due Date' are present
  5. 5Click 'Continue with selected record'
What you should see: You should see a green 'Test was successful' banner and a list of fields populated with real task data from your Asana project.
Common mistake — Priority in Asana is a custom field, not a native field. It will only appear in the test payload if your project has a custom field named 'Priority'. If you don't see it, you'll need to add that custom field to your Asana project before the Zap can surface it.
Zapier
▶ Turn on & test
executed
Slack
Asana
Asana
🔔 notification
received
6

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.

  1. 1Click the '+' icon below the Asana trigger step
  2. 2Select 'Filter' from the action type list
  3. 3Choose the 'Priority' custom field from the field dropdown
  4. 4Set the condition to '(Text) Contains'
  5. 5Type the priority value (e.g., 'High') in the value field
  6. 6Click 'Continue'
What you should see: You should see a Filter step added between Asana and the upcoming Slack action. The filter shows your condition logic in plain English.
Common mistake — Filter by Zapier counts as one task per Zap run even when the filter causes the Zap to stop. On high-volume projects, this adds up — 500 task events per month = 500 tasks consumed, even if only 100 pass the filter.
Slack
SL
trigger
filter
Priority
matches criteria?
yes — passes through
no — skipped
Asana
AS
notified
7

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.

  1. 1Click the '+' icon below the filter step
  2. 2Type 'Slack' in the app search field
  3. 3Click the Slack logo
  4. 4Click the 'Event' dropdown
  5. 5Select 'Send Channel Message' or 'Send Direct Message'
  6. 6Click 'Continue'
What you should see: You should see Slack selected as the action app with your chosen event displayed beneath it.
8

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

  1. 1Click 'Sign in to Slack'
  2. 2Select your workspace from the Slack authorization screen
  3. 3Click 'Allow' to grant Zapier posting permissions
  4. 4Confirm the workspace name appears in Zapier
  5. 5Click 'Continue'
What you should see: You should see your Slack workspace name displayed with a green checkmark. A 'Zapier' app will appear in your Slack workspace's Apps section.
Common mistake — Zapier posts messages as the 'Zapier' bot, not as a real user. If your Slack workspace has a policy restricting third-party app installations, an admin needs to approve the Zapier app before this step works.
9

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.

  1. 1Click the 'Channel' field and select your target Slack channel or type the assignee email for a DM
  2. 2Click the 'Message Text' field
  3. 3Type your message template and insert dynamic fields using the '+' button
  4. 4Insert: Assignee Name, Task Name, Due Date, Priority (custom field), and Task Permalink URL
  5. 5Optionally set 'Send as Bot' to true and customize the bot name to 'Asana Bot'
  6. 6Click 'Continue'
What you should see: The message text field should show a mix of static text and orange dynamic field pills. The preview text updates as you add fields.
Common mistake — Asana's task permalink field outputs a URL in the format https://app.asana.com/0/... — it's long but clickable in Slack. Don't try to shorten it in this step; it maps cleanly as-is.
Message template
📬 New entry: {{1.name}}
Email: {{1.email}}
Details: {{1.description}}
10

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.

  1. 1Click 'Test action'
  2. 2Open Slack and navigate to the target channel or DM
  3. 3Confirm the test message arrived with correct task data
  4. 4Verify the task link is clickable and opens the correct Asana task
  5. 5Return to Zapier and click 'Continue'
What you should see: A real Slack message should appear in your chosen channel within 10 seconds, showing task details from the Asana sample record.
11

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.

  1. 1Click the 'Publish Zap' button in the top right corner
  2. 2Confirm the status indicator switches to 'On' (shown in green)
  3. 3Navigate to 'Zap History' in the left sidebar
  4. 4Wait for the first real Asana event and confirm it shows as 'Success'
What you should see: The Zap shows a green 'On' status badge. Within the next Asana task assignment, you'll see a new entry in Zap History with a green checkmark and the Slack message will appear in your channel.
Common mistake — Zapier's instant triggers use Asana's webhook API. If Asana's webhook delivery fails (rare but happens), Zapier falls back to polling every 15 minutes. You won't see this in the UI — monitor Zap History for any 'delayed' runs after launch.

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

VerdictWhy Zapier for this workflow

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.

Cost

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.

Tradeoffs

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 pingsHigh-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 overdueAdd 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 reactionsReverse 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

Was this guide helpful?
Slack + Asana overviewZapier profile →