productivityoauth2

Asana

Project management and team task tracking.

Verdict

Asana via MCP is the project management integration for orgs running on Asana. Cleaner data model than Jira, more flexible than Linear, well-suited to cross-functional team coordination where multiple departments live in the same tool. What we notice: Asana's task / project / workspace hierarchy maps cleanly to MCP queries. The model handles "what's overdue in my projects," "summarise this project's status," "create a task from this conversation" reliably. Custom fields work well in queries; the model occasionally needs prompting on which fields exist if your workspace has many. Best for: cross-functional teams (product, marketing, ops) coordinating in Asana who want AI to bridge between team conversations and tasks; quarterly OKR / goal tracking where Asana holds the structured data; status-update generation across multiple projects; identifying stalled work. Avoid for: engineering-heavy teams that have moved to Linear (Linear's MCP is more polished); workflows where Asana's own AI features (Asana Intelligence) cover the same ground tightly integrated; orgs migrating off Asana where the integration would be short-term. Practical frame: free tier covers basic API access; paid plans required for advanced fields. OAuth integration. Token cost moderate — projects with many tasks each cost $0.10-0.30 to summarise.

Common use cases

  • Create project roadmaps from meeting notes
  • Assign tasks and followers during standups
  • Link goals to supporting deliverables instantly
  • Schedule team capacity with weekly allocations
  • Tag and section tasks without opening Asana

Integration

Vendor
Asana
Category
productivity
Auth
OAUTH2
Tools
50
Composio slug
asana

Tools

  • Add Followers to Task

    Tool to add followers to a task in asana. use this tool when you need to add one or more users as followers to a specific task. this will notify them of updates to the task.

  • Add Supporting Relationship to Goal

    Tool to add a supporting goal relationship to a goal. use when you want to link a project, task, portfolio, or another goal as a supporting resource to a specific goal in asana.

  • Add task to section

    Adds an existing task to a section, optionally positioning it before or after another task in that section; if no position is specified, the task is added to the end.

  • Create Allocation

    Creates a new allocation. use when you need to schedule or assign a specific amount of a user's time per week to a task or project within a defined period.

  • Create a project

    Creates a new asana project, requiring either a `workspace` or `team` gid for association, and returns the full project details.

  • Create a section in a project

    Creates a new section in a project, optionally positioned relative to an existing section in the same project, and returns the full record of the new section.

  • Create a tag in a workspace

    Creates a new tag, with properties like name and color defined in the request body, within a specific asana workspace (using `workspace gid`); this tag helps categorize tasks, is confined to the workspace, and is not automatically applied t

  • Create Attachment for Task

    Tool to upload an attachment to a task. use when you need to attach a file to a specific task in asana.

  • Create Custom Field

    Tool to create a new custom field in a workspace. use when you need to define a new field for tracking specific information within asana tasks.

  • Create Enum Option for Custom Field

    Tool to create a new enum option for a custom field in asana. use this when you need to add a new selectable option to an existing custom field.

  • Create Project Status Update

    Tool to create a new status update on a project. use when you need to communicate the current status, progress, or any blockers related to a specific project.

  • Create subtask

    Creates a new asana subtask under an existing parent task (`task gid`); `due on` and `due at` are mutually exclusive and cannot be set simultaneously.

  • Create task comment

    Adds a new text comment (story) to an existing asana task, appearing in its activity feed.

  • Create task in asana with specific details

    Creates a new asana task; requires 'workspace', 'parent', or 'projects' for association, and 'followers', 'projects', 'tags' are set only at creation.

  • Create Team

    Tool to create a new team in an asana workspace. use when you need to establish a new team for collaboration.

  • Delete Allocation
    destructive

    Tool to delete an allocation by its id. use this when you need to remove a specific resource allocation in asana.

  • Delete a project
    destructive

    Delete a project.

  • Delete a Tag
    destructive

    Tool to delete a specific tag by its gid. use when you need to remove an existing tag from asana.

  • Delete a task
    destructive

    Delete a task.

  • Delete Attachment
    destructive

    Tool to delete an attachment by its globally unique identifier. use when you need to remove an existing attachment from asana.

  • Delete Custom Field
    destructive

    Tool to delete a custom field by its globally unique identifier. use when you need to remove an existing custom field from asana.

  • Duplicate Project

    Duplicate a project.

  • Duplicate Task

    Duplicate a task

  • Get Allocation

    Get an allocation by id. use when you need to retrieve the details of a specific allocation.

  • Get Allocations

    Tool to get multiple allocations. use when you need to retrieve a list of allocations, optionally filtered by project, user, or workspace.

  • Get a project

    Retrieves a specific asana project by its `project gid`, with an option to include additional fields for comprehensive details using `opt fields`; this action does not return tasks within the project.

  • Get a task

    Retrieves full details for a specified task gid accessible by the user; use `opt fields` to customize returned data.

  • Get Attachment

    Tool to get a single attachment by its globally unique identifier. use when you need to retrieve details about a specific file attached to a task or project.

  • Get Audit Log Events

    Tool to get audit log events for a workspace. use when you need to retrieve a log of actions performed within a specific asana workspace.

  • Get a user task list

    Retrieves a specific user's task list from asana by its `user task list gid`, optionally returning extended details like name, owner, and workspace if specified in `opt fields`.

  • Get current user

    Retrieves the authenticated user's full record, including accessible workspaces, often used as an initial call to establish user context for subsequent operations.

  • Get Custom Field

    Tool to get a single custom field by its globally unique identifier. use when you need to retrieve the complete metadata and properties of a specific custom field in asana.

  • Get Custom Fields for Workspace

    Tool to get all custom fields in a workspace. use when you need to retrieve a list of custom fields associated with a specific workspace.

  • Get Events on a Resource

    Retrieve events on a resource to monitor changes. use when you need to track activity or changes related to a specific asana resource like a task, project, or tag.

  • Get Goal

    Retrieve the full record for a single goal by its gid.

  • Get Goal Relationships

    Tool to retrieve goal relationships. use when you need to get the relationships associated with a specific goal in asana.

  • Get Goals

    Tool to retrieve multiple goals. use when you need to get a list of goals, optionally filtered by workspace, team, portfolio, project, time period, or archived status.

  • Get Memberships

    Tool to retrieve memberships for goals, projects, portfolios, or custom fields. use this to find out who has access to a specific asana resource or what resources a specific user/team has access to.

  • Get multiple projects

    Returns a list of projects, optionally filtered by workspace, team, or archived status, supporting pagination for large datasets.

  • Get multiple tasks

    Retrieves a list of tasks, allowing filtering by assignee (requires `workspace`), project, section, `completed since`, and `modified since`; `workspace` also requires `assignee`.

  • Get multiple users

    Returns a list of users in an asana workspace or organization, optionally filtered by workspace or team gid, with support for pagination and specifying optional fields.

  • Get multiple workspaces

    Retrieves all workspaces accessible by the authenticated user, returning an empty list if the user has no accessible workspaces.

  • Get Portfolio

    Retrieve the full record for a single portfolio by its gid. use this when you need to get detailed information about a specific portfolio.

  • Get Portfolio Items

    Retrieve items in a portfolio. use this to get a list of projects or other portfolios contained within a specific portfolio.

  • Get Portfolio Memberships

    Tool to retrieve multiple portfolio memberships. use this tool when you need to list memberships for a specific portfolio, a user within a portfolio, or a user across all portfolios in a workspace.

  • Get Portfolios

    Retrieve multiple portfolios. use when you need to list portfolios within a specific workspace, optionally filtered by owner.

  • Get Project Brief

    Tool to retrieve a project's brief. use when you need to get the detailed explanation (what and why) of a project.

  • Get Project Memberships

    Tool to retrieve memberships from a project. it can also be used to get memberships for a user across multiple projects or all projects in a workspace.

  • Get Projects for Team

    Tool to get a list of projects for a specific team in asana. use when you need to retrieve project details associated with a team.

  • Get Project Status

    Tool to retrieve the full record for a single project status by its gid. use when you need to get the details of a specific project status update.

Setup

Setup guide

  1. 11. In Switchy, open your workspace settings and navigate to the Integrations tab. 2. Find Asana in the MCP directory and click Connect. 3. You'll be redirected to Asana's OAuth consent screen—sign in with an account that has workspace admin permissions. 4. Grant the requested scopes: read and write access to tasks, projects, users, and workspaces (Asana requires broad permissions for follower management and allocation tools). 5. After authorizing, Switchy redirects you back and confirms the connection is live. 6. Open any Space, type '@Asana create a task called Test in [your workspace]', and send—if the MCP replies with task details, you're ready. 7. To invoke other tools, @mention Asana and describe what you need in plain language; the AI will map your request to the appropriate tool (add followers, create sections, attach files, etc.).

What teammates see: by default, memories from Asana are scoped to the Space (PROJECT visibility) - you can mark any memory PRIVATE or share it ORG-wide.

Works well with

Top models

Compatibility data appears once enough Spaces have used this MCP together with a given model.

How Switchy teams use it

Not enough Spaces yet to publish anonymised usage stats (we require ≥ 50 Spaces per week).

Starter prompts

Spin Up Sprint Project

@Asana create a project called 'Q2 Sprint 3' in the Engineering workspace, then add three sections: To Do, In Progress, and Done.
Open in a Space →

Delegate Task with Followers

@Asana create a task 'Review landing page copy' in the Marketing project, assign it to Jordan, and add Sam and Alex as followers.
Open in a Space →

Schedule Designer Capacity

@Asana create an allocation for Taylor on the 'Mobile App Refresh' project, 15 hours per week, starting today and ending in four weeks.
Open in a Space →

Attach File to Task

@Asana attach the file 'wireframes_v3.pdf' to the task 'Finalize homepage layout' in the Design project.
Open in a Space →

Example outputs

Illustrative - representative of the model's voice and quality, not literal recordings.

Prompt

@asana show me all high-priority tasks assigned to me that are due this week, grouped by project

Output

Here's what I found across your Asana workspace: In the Q1 Product Launch project, you have 3 high-priority tasks due this week: 'Finalize feature specs' (due Wed), 'Review design mocks' (due Thu), and 'Approve marketing copy' (due Fri). In the Customer Onboarding Redesign project, there's 1 task: 'Test new flow with beta users' (due Thu). All tasks are currently in progress. Would you like me to add followers to any of these or adjust due dates?

Notes

This example demonstrates read-only querying across projects with filtering. Requires OAuth scope for tasks:read. The MCP can aggregate data from multiple projects if your Asana account has access to them. Response shape depends on your actual task load—this is illustrative.

Prompt

@asana create a new task called 'Draft Q2 roadmap' in the Product Planning project, assign it to jordan@company.com, set priority to high, and make it due next Friday

Output

Task created successfully in the Product Planning project. 'Draft Q2 roadmap' is now assigned to Jordan Chen with high priority and a due date of March 28. The task has been added to the 'Upcoming' section of the project. I've also set the task to send Jordan a notification about the assignment. Task URL: asana.com/0/1234567890123456. Would you like me to add any followers or attach supporting documents?

Notes

This write operation showcases task creation with multiple parameters in one prompt. Requires tasks:write scope. The MCP will create the task immediately—there's no undo from the chat interface, so verify project and assignee details before confirming. User must have permission to assign tasks to others in that workspace.

Prompt

@asana look at all completed tasks in the Website Redesign project from the last sprint and draft a summary for our stakeholder update, highlighting what shipped and any blockers we resolved

Output

Based on 12 completed tasks from the last two weeks in Website Redesign: The team shipped the new homepage layout (3 design iterations), implemented mobile-responsive navigation, and integrated the updated CMS. Two major blockers were resolved: the API timeout issue that was delaying content loading (fixed by backend team on March 15) and the accessibility contrast problem flagged in QA (resolved with updated color palette). Three tasks remain in progress: SEO metadata updates, performance optimization, and final cross-browser testing. Overall velocity: 12 tasks completed vs. 10 planned.

Notes

This synthesis example pairs Asana's task data with AI reasoning to generate a narrative summary. The AI interprets task titles, completion dates, and comments—it doesn't access external docs unless attached to tasks. Useful for standups or status reports, but verify specific details (dates, names) against Asana directly before sharing externally.

Use-case deep-dives

Sprint planning with external contractors

When Asana MCP handles cross-org sprint setup better than Slack threads

A 6-person product team runs two-week sprints with three contract designers who don't live in the company Slack. The Asana MCP wins here because it automates the ritual: create the sprint project, scaffold sections for each workstream, bulk-create tasks from a backlog query, assign allocations per contractor, and add the PM as a follower to every design task—all in one prompt during Monday standup. The 50-tool scope covers project creation, section positioning, task assignment, follower management, and allocation scheduling without leaving the AI workspace. This breaks down if your sprints involve more than 20 tasks per contractor per week; the allocation tool gets chatty and you'll want a dedicated sprint-planning app. If your team is internal-only and already lives in Linear or Jira, skip this—Asana's strength is the follower model for async, cross-org visibility.

Customer success ticket escalation routing

Why Asana MCP works for support teams under 15 people

A 12-person customer success team triages Zendesk tickets in a shared Asana board, tagging escalations by product area and assigning them to engineering liaisons. The Asana MCP automates the handoff: when a ticket hits a severity threshold, the AI creates a task in the escalations project, applies the correct product tag, adds the relevant engineer and CS lead as followers, and attaches the Zendesk thread as a file. The tag-creation and attachment tools make this seamless for teams that don't want to maintain a Zapier flow. The ceiling is around 50 escalations per week—beyond that, Asana's task model gets noisy and you need a proper ticketing system with SLA tracking. If your CS team is larger than 15 or you're already using Jira Service Management, the Asana MCP is overkill; it shines when the team is small enough that everyone watches the same board.

Quarterly goal tracking for distributed leadership

When to use Asana MCP for OKR rollups across remote execs

A 4-person executive team at a 40-person company tracks quarterly goals in Asana, each exec owning a portfolio of projects that roll up to company OKRs. The Asana MCP handles the quarterly ritual: create the new goal, link supporting projects from each portfolio using the goal-relationship tool, scaffold sections for monthly check-ins, and set up allocations so each exec knows their weekly goal-review commitment. The 50-tool catalog covers goal creation, supporting relationships, section scaffolding, and allocation scheduling—enough to automate the entire setup in a 10-minute async Slack thread. This falls apart if your OKR structure has more than three levels of nesting; Asana's goal model is flat and the MCP can't traverse deep hierarchies. If your company is over 100 people or you need weighted key results, use a dedicated OKR platform; Asana MCP is built for small leadership teams that want lightweight goal visibility without BI tooling.

Frequently asked

What can the Asana MCP do in Switchy?

The Asana MCP lets your AI agents create projects, add tasks to sections, tag work, upload attachments, and manage followers—basically the core project management actions your team does manually. It connects to your Asana workspace via OAuth, so agents can read your project structure and write updates without you switching tabs. Think of it as giving your AI direct access to your task board.

Do I need admin permissions to connect Asana?

No. Any Asana user can authorize the MCP via OAuth2—you're granting access to your own projects and tasks, not the entire workspace. If your team restricts third-party OAuth apps at the workspace level, you'll need an admin to whitelist Switchy first. Otherwise, the connection flow is self-service and takes about 30 seconds.

Can the Asana MCP assign tasks to specific people?

Yes, through the Create Allocation tool, which schedules a user's time per week on a task or project. You can also add followers to tasks, notifying teammates of updates. The MCP doesn't directly set the single assignee field in the same way you click a name in the UI, but allocations and followers cover most delegation workflows your agents need.

How is this different from using Asana's API directly?

The MCP abstracts away OAuth token refresh, pagination, and rate limit handling—your agents just call tools like "Create a section in a project" without writing HTTP requests. If you're already maintaining an Asana API integration, the MCP won't add much. If you're not, it's faster than building one yourself and keeps auth inside Switchy's workspace model.

Who on the team should connect the Asana MCP?

Whoever owns the projects your agents will touch. If your AI is triaging support tickets into an Asana board, connect the account that has write access to that board. Each Switchy user can connect their own Asana account, so you're not sharing credentials—agents inherit the permissions of whoever authorized the connection in that workspace.

Compare with

Compare with anything else →
Data last verified 7 hours ago.Sources aggregated hourly to weekly. See docs/architecture/model-directory.md.