Asana for AI agents

Asana is a project management tool teams use to organize tasks, projects, and goals, with features for assigning work, tracking status, and coordinating across a workspace. Connect it once through Arc0, and your agent, or Claude, ChatGPT and Cursor, can use it through one MCP endpoint, limited to what each user approved.

Project managementOAuth 2.0MCP + RESTasana.com
AUDIT LOG · ASANAPOLICY: acme-support
09:41:07 · claude · u_8f2read
asana.get_job
Get Job✓ allowed · 212ms
09:41:08 · claude · u_8f2read
asana.get_tag
Get Tag✓ allowed · 164ms
09:41:09 · claude · u_8f2write
asana.create_tag
Create a tag✓ approved · approved by user
09:41:12 · claude · u_8f2destructive
asana.delete_tag
Delete a Tag✕ blocked · policy: deny
EVERY ASANA CALL, ON THE RECORD
01 · USE CASES

What agents do in Asana.

01

Create a task with the right details

Create a task in a project with an assignee, due date, and tags set.

02

Move a task into the right section

Add an existing task to a project and place it in the correct section.

03

Confirm before approving an access request

Approving a request for project access should be confirmed before it is granted.

02 · ACTIONS

153 Asana actions, graded by risk.

Every Asana action is tagged read, write or destructive, so one policy covers the whole app and new actions inherit the right default.

read

80

Look things up. Allowed by default.

  • asana.get_job
    Get Job
  • asana.get_tag
    Get Tag
  • asana.get_goal
    Get Goal
  • asana.get_tags
    Get Tags
  • asana.get_team
    Get Team
  • asana.get_user
    Get User
  • asana.get_goals
    Get Goals
  • asana.get_story
    Get Story
  • asana.get_a_task
    Get a task
  • asana.get_events
    Get Events on a Resource
  • asana.get_status
    Get Status Update
  • asana.get_section
    Get Section
  • asana.get_webhooks
    Get Webhooks
  • asana.get_a_project
    Get a project
  • asana.get_portfolio
    Get Portfolio
  • asana.get_workspace
    Get Workspace
+ 64 MORE

write

53

Create and change things. Allow, or ask the user first.

  • asana.create_tag
    Create a tag
  • asana.update_tag
    Update Tag
  • asana.create_team
    Create Team
  • asana.update_team
    Update a team
  • asana.update_user
    Update User
  • asana.update_story
    Update Story
  • asana.create_a_task
    Create task in asana with specific details
  • asana.update_a_task
    Update a task
  • asana.create_subtask
    Create subtask
  • asana.update_project
    Update a project
  • asana.update_section
    Update Section
  • asana.update_webhook
    Update a webhook
  • asana.add_tag_to_task
    Add Tag to Task
  • asana.add_user_to_team
    Add User for Team
  • asana.create_a_project
    Create a project
  • asana.create_allocation
    Create Allocation
+ 37 MORE

destructive

20

Delete, cancel or archive. Ask first, or deny outright.

  • asana.delete_tag
    Delete a Tag
  • asana.delete_task
    Delete a task
  • asana.delete_story
    Delete Story
  • asana.delete_project
    Delete a project
  • asana.delete_section
    Delete a section
  • asana.delete_allocation
    Delete Allocation
  • asana.delete_attachment
    Delete Attachment
  • asana.delete_membership
    Delete Membership
  • asana.delete_custom_field
    Delete Custom Field
  • asana.delete_project_brief
    Delete Project Brief
  • asana.delete_status_update
    Delete Status Update
  • asana.remove_tag_from_task
    Remove Tag from Task
  • asana.remove_user_for_team
    Remove User For Team
  • asana.delete_project_status
    Delete Project Status
  • asana.remove_project_from_task
    Remove Project from Task
  • asana.remove_follower_from_task
    Remove Follower From Task
+ 4 MORE
03 · HOW IT WORKS

Asana in three steps.

  1. 01Your users connect AsanaThey sign in to Asana on Arc0 Connect, under your brand, and approve the access you ask for.
  2. 02You set the rulesReads run, writes like “create a tag” can wait for the user, and “delete a Tag” can be denied outright.
  3. 03Any agent can actYour agent calls Asana through the Arc0 SDK or MCP, and so can Claude, ChatGPT and Cursor. Every call lands on the audit log.
POLICY.TS
await arc0.policies.set('asana', {
  read: 'allow',
  write: 'ask',        // create_tag
  destructive: 'deny',  // delete_tag
})

# Claude Code: the same connection, one URL
$ claude mcp add --transport http arc0 \
    https://mcp.arc0.ai/u/u_8f2
04 · AUTH AND DATA

How Asana connects.

Users sign in to Asana on Arc0 Connect and approve the scopes you request. Build with Arc0’s Asana OAuth app, or bring your own so the Asana consent screen names you. Tokens refresh automatically, and you can export them whenever you want.

The same Asana connection serves your agent over MCP and your own backend over REST and the proxy, so a user connects once. How Arc0 handles credentials →

AUTH
OAuth 2.0
CREDENTIALS
Per-tenant encrypted vault
MODEL SEES
Results only, never credentials
AUDIT LOG
Every call, on every plan
05 · WORKS WITH

Use Asana from any agent.

Claude
ChatGPT
Cursor
Codex
VS Code
OpenAI Agents SDK
Claude Agent SDK
Vercel AI SDK
Mastra
LangGraph
07 · FAQ

Asana and Arc0, answered.

Q01

Can I use Asana with Claude, ChatGPT or Cursor?

Yes. Connect Asana to Arc0 once, then add your Arc0 MCP URL to Claude, ChatGPT, Cursor, Claude Code or any other remote-MCP client. Each assistant only gets the Asana actions you allow.

Q02

How do users connect Asana?

Users sign in to Asana on Arc0 Connect and approve the scopes you request. Build with Arc0’s Asana OAuth app, or bring your own so the Asana consent screen names you. Tokens refresh automatically, and you can export them whenever you want.

Q03

Which Asana actions can my agent take?

153 in total: 80 read, 53 write and 20 destructive, such as “create a tag”. Your policies decide which of them each agent may call.

Q04

Can I stop my agent from deleting things in Asana?

Yes. Actions like “delete a Tag” are graded destructive. Set destructive actions to deny, or to ask so the user approves each one, and blocked calls still show up on the audit log.

Q05

Can my own backend call Asana too?

Yes. The same Asana connection is available over REST and through the Arc0 proxy, so your product and your agent share one connection per user.

Get started

Plug Asana into your agent.

Your users connect Asana once, under your brand. Your agent gets 153 actions behind your policies, with every call on the record.

Free to build · MCP + REST · Audit log on every plan