| name | asana |
| description | Asana is a scalable work management platform that helps teams organize projects, set company-wide goals, automate workflows, and track progress in real time—all within a single, integrated workspace. Read and write Asana data through One: tasks, projects, goals, portfolios, tags, sections and more, 223 actions with real parameter documentation. Use whenever the user asks to look something up in Asana, create or update a record there, or build code against the Asana API. |
Asana through One
Asana is a scalable work management platform that helps teams organize projects, set company-wide goals, automate workflows, and track progress in real time—all within a single, integrated workspace.
One exposes Asana through four MCP tools. The table below carries real action ids from One's knowledge base, so for a common operation you can skip search and go straight to reading the action's parameters.
How to run an action
- Find the action in the table below, or call
search_one_platform_actions with platform asana if it is not listed.
- Call
get_one_action_knowledge with the action id. Do this every time, including for actions in this table. The table gives you the id, not the parameters.
- Call
execute_one_action with parameters copied from that knowledge.
Never guess a parameter name, a body field, or an enum value. The knowledge has the real schema, and a guessed field is either a 400 or a silent write of the wrong thing.
Before you start
Call list_one_integrations once and confirm Asana is connected. If it is missing, the user has not connected it: say so and point them at https://app.withone.ai rather than reaching for raw HTTP.
Each connection carries an access field. If it reports {"policy": "methods", "methods": ["GET"]} the agent is read-only here, so plan a read-only answer instead of attempting a write that will be refused.
Before a write
Creates, updates, deletes and sends land on a real Asana account and cannot be recalled. State the action and the specific target in one line before the first write in a task, and let the user stop you. Reads need no confirmation.
Actions
Tasks
| Action | Method | Path | Action id |
|---|
| Get a Task | GET | /tasks/{{taskGid}} | conn_mod_def::GJ0Bj8Jm9nY::lSCoFwHZQRqoecS5VnEKqg |
| Get a Task’s Dependencies | GET | /tasks/{{taskGid}}/dependencies | conn_mod_def::GJ0BkMvbOrs::ED60gVbcQVC0AWrNyDaJnw |
| Get a Task’s Subtasks | GET | /tasks/{{taskGid}}/subtasks | conn_mod_def::GJ0BksZRxl0::xYJYqDjwQG6Xqct-V3_5ZQ |
| Get a Workspace Task by Custom ID | GET | /workspaces/{{workspaceGid}}/tasks/custom_id/{{customId}} | conn_mod_def::GJ0BkDzQ42U::jHUkZ1gOQb23LQpec6Sywg |
| Get Multiple Tasks | GET | /tasks | conn_mod_def::GJ0BkiBD6NE::VvBsHRfETZKCr5On77ZGuw |
| Get Tasks for a Tag | GET | /tags/{{tagGid}}/tasks | conn_mod_def::GJ0BlOdq6Xk::ZimKB8opRwi3METk6lilxQ |
| List a Project’s Tasks | GET | /projects/{{projectGid}}/tasks | conn_mod_def::GJ0Bk2jM_T0::FjnidkW2RUaBsB5eoIK9Sw |
| List a Task’s Dependents | GET | /tasks/{{taskGid}}/dependents | conn_mod_def::GJ0BkYVKn_8::2ka0h_RkRnq0lgaTIbtyGg |
| List Tasks from a User Task List | GET | /user_task_lists/{{userTaskListGid}}/tasks | conn_mod_def::GJ0BlYd3qEw::ZUbuJFurShGpO8S1YpZWiQ |
| List Tasks in a Section | GET | /sections/{{sectionGid}}/tasks | conn_mod_def::GJ0BlEGAHhQ::DW8K4KmnTNqhHA_yDZGVsw |
| Search Tasks in a Workspace | GET | /workspaces/{{workspaceGid}}/tasks/search | conn_mod_def::GJ0BmJsc69Q::2k2XfYayTCahfyAcdAYtYA |
| Add a Project to a Task | POST | /tasks/{{taskGid}}/addProject |
15 more Tasks actions are available through search.
Projects
| Action | Method | Path | Action id |
|---|
| Get a Project | GET | /projects/{{projectGid}} | conn_mod_def::GJ0Bbp6LXZs::TytZnH0xR4y1CCJSrPMlTg |
| Get Multiple Projects | GET | /projects | conn_mod_def::GJ0BcJU4GoM::cE4wzSMhQV6iBw5PIkKBKQ |
| List a Team's Projects (Deprecated) | GET | /teams/{{teamGid}}/projects | conn_mod_def::GJ0Bbz1Ch6U::uJoBD2pwRD2PPtlr1fvGUg |
| List a Workspace’s Projects | GET | /workspaces/{{workspaceGid}}/projects | conn_mod_def::GJ0Bb_MiVAY::r2482efsRkiTR1AlOExsdw |
| Add Followers to a Project | POST | /projects/{{projectGid}}/addFollowers | conn_mod_def::GJ0BacWEsF8::BdPFJnuJQ0mZ0CGuV6fi_Q |
| Add Members to a Project | POST | /projects/{{projectGid}}/addMembers | conn_mod_def::GJ0BalV0-Qs::rb45cO0zRQK-thcoud_uYA |
| Create a Project | POST | /projects | conn_mod_def::GJ0Bawb3mf4::pqp2OSmlQGeWkjw2bInUnw |
| Create a Project in a Team | POST | /teams/{{teamGid}}/projects | conn_mod_def::GJ0Ba47kxjg::Q-Uf8KOgTwaPrSsZBdT1tQ |
| Create a Project in a Workspace | POST | /workspaces/{{workspaceGid}}/projects | conn_mod_def::GJ0BbH6A9iI::_15BH-fgTa2YnAuLMPUtww |
| Create a Project Template from a Project | POST | /projects/{{projectGid}}/saveAsTemplate | conn_mod_def::GJ0BbQhWQ9k::SvlkpDqOS7KrVWct-Ajtew |
| Delete a Project | DELETE | /projects/{{projectGid}} | conn_mod_def::GJ0BbYg3A_8::3wYv9ycTTEq32IE6h8tANg |
| Duplicate a Project | POST | /projects/{{projectGid}}/duplicate |
4 more Projects actions are available through search.
Goals
| Action | Method | Path | Action id |
|---|
| Get a Goal | GET | /goals/{{goalGid}} | conn_mod_def::GJ0BTTH4jVY::Cap-BL5wQlKR6M6plpnBkg |
| Get a Goal’s Parent Goals | GET | /goals/{{goalGid}}/parentGoals | conn_mod_def::GJ0BTpfRsj0::0qErheKzT1G1S7CdmvzdqA |
| List Goals | GET | /goals | conn_mod_def::GJ0BTeMI5Ec::jHt9d1T_S_SJ1WZH5pXBNg |
| Add a Custom Field to a Goal | POST | /goals/{{goalGid}}/addCustomFieldSetting | conn_mod_def::GJ0BSti122w::ELH5uSf-QTeR1PVcPHsBhA |
| Add a Supporting Relationship to a Goal | POST | /goals/{{goalGid}}/addSupportingRelationship | conn_mod_def::GJ0BRvPHxRE::oiWW2jIyTM-VfRLGdy9Dbw |
| Add Followers to a Goal (Add Collaborators) | POST | /goals/{{goalGid}}/addFollowers | conn_mod_def::GJ0BSkjdSRs::w5-jg5M1RjipPwSWRWCJ0A |
| Create a Goal | POST | /goals | conn_mod_def::GJ0BS3Fa6rs::DOZyF8ZdQNWWE_pEzAQn8A |
| Create a Goal’s Metric | POST | /goals/{{goalGid}}/setMetric | conn_mod_def::GJ0BTCU0pIE::W9UCte7iQ_23C4qqRWuCug |
| Delete a Goal | DELETE | /goals/{{goalGid}} | conn_mod_def::GJ0BTJqcuFE::lotPtg7SThG56Zee24Ullw |
| Remove a Custom Field Setting from a Goal | POST | /goals/{{goalGid}}/removeCustomFieldSetting | conn_mod_def::GJ0BT9Cb2Ig::sb7pQXK1Qb2e--rmeR6NfQ |
| Remove a Goal’s Supporting Relationship | POST | /goals/{{goalGid}}/removeSupportingRelationship | conn_mod_def::GJ0BSR9rOyE::Z2-74I0yR8yWqsutqHZ7dQ |
| Remove Followers from a Goal | POST | |
2 more Goals actions are available through search.
Portfolios
| Action | Method | Path | Action id |
|---|
| Get a Portfolio | GET | /portfolios/{{portfolioGid}} | conn_mod_def::GJ0BXByyxxg::PfBSHeYFRCqs1ipKoxErNw |
| Get Multiple Portfolios | GET | /portfolios | conn_mod_def::GJ0BXLAuCgI::A97JdrjOT9mOjeuxeqp9zQ |
| Add a Custom Field to a Portfolio | POST | /portfolios/{{portfolioGid}}/addCustomFieldSetting | conn_mod_def::GJ0BWGWk_-0::L0dmHxl1St-FVIE1aGFbpw |
| Add an Item to a Portfolio | POST | /portfolios/{{portfolioGid}}/addItem | conn_mod_def::GJ0BWOwnEfI::RZrm3Q5hR_W3pYEio-cFeQ |
| Add Members to a Portfolio | POST | /portfolios/{{portfolioGid}}/addMembers | conn_mod_def::GJ0BWa9uQbg::FNaKbMlJR4q8hbheQWBtdw |
| Create a Portfolio | POST | /portfolios | conn_mod_def::GJ0BWlW9rcE::tQMd38PhTZekHs7XS5DCyw |
| Delete a Portfolio | DELETE | /portfolios/{{portfolioGid}} | conn_mod_def::GJ0BWwFW7go::ExSgr3cdSxCXJ38HPaELhw |
| Duplicate a Portfolio | POST | /portfolios/{{portfolioGid}}/duplicate | conn_mod_def::GJ0BW4qMYtI::mRLgTOv6R8KatgvGtx_QWw |
| Remove a Custom Field Setting from a Portfolio | POST | /portfolios/{{portfolioGid}}/removeCustomFieldSetting | conn_mod_def::GJ0BXgamYJY::O-R0kwOjT-WWXkLDDI0ayA |
| Remove an Item from a Portfolio | POST | /portfolios/{{portfolioGid}}/removeItem | conn_mod_def::GJ0BXourizY::Rd8OB0cmSDyk3nBnAiYQ9w |
| Remove Members from a Portfolio | POST | /portfolios/{{portfolioGid}}/removeMembers | conn_mod_def::GJ0BXx8Bpm0::6newUqa6S36jean-GgiKLw |
| Update a Portfolio |
Tags
| Action | Method | Path | Action id |
|---|
| Get a Tag | GET | /tags/{{tagGid}} | conn_mod_def::GJ0BhhSzjOs::q53K3UqWQuWwzASk4S1qGg |
| List a Workspace’s Tags | GET | /workspaces/{{workspaceGid}}/tags | conn_mod_def::GJ0Bh-6CrLI::kpvUbohVRKeXEI_RGbDowQ |
| List Tags | GET | /tags | conn_mod_def::GJ0Bh1wZbAc::09YUt8KxR-GzXbyWJUF1ig |
| Create a Tag | POST | /tags | conn_mod_def::GJ0BhI7m4ks::tnb8Q0iDTuyCSLB7yFTIXA |
| Create a Tag in a Workspace | POST | /workspaces/{{workspaceGid}}/tags | conn_mod_def::GJ0BhRPm2Mw::pUTHPrufTcuFHjFtJNemBg |
| Delete a Tag | DELETE | /tags/{{tagGid}} | conn_mod_def::GJ0BhY75VdI::-SNH9L0hSxmCAcuwpVpQkg |
| Update a Tag | PUT | /tags/{{tagGid}} | conn_mod_def::GJ0BiHQlIKY::VyjF3v0vR9Klio5Qd0mnWg |
Sections
| Action | Method | Path | Action id |
|---|
| Get a Section | GET | /sections/{{sectionGid}} | conn_mod_def::GJ0BfU7RVNo::6Otp7SMWR6u9CX-Cb910Wg |
| List a Project’s Sections | GET | /projects/{{projectGid}}/sections | conn_mod_def::GJ0BfdNv3oE::feeoEKgURuKMZZmxue2DKg |
| Add a Task to a Section | POST | /sections/{{sectionGid}}/addTask | conn_mod_def::GJ0Be7uRrrE::WDFMGLjJT1ae4k1iHhqsZg |
| Create a Section in a Project | POST | /projects/{{projectGid}}/sections | conn_mod_def::GJ0BfEFfym8::raAyuUYGRHSpshZqnwy5vw |
| Delete a Section | DELETE | /sections/{{sectionGid}} | conn_mod_def::GJ0BfL2qYLA::n2lidaG7TXqyVAXaksNVNw |
| Update a Section | PUT | /sections/{{sectionGid}} | conn_mod_def::GJ0Bfvfu7rc::izsPynwASzahUlbdKlyzUg |
Teams
| Action | Method | Path | Action id |
|---|
| Get a Team | GET | /teams/{{teamGid}} | conn_mod_def::GJ0BoIIAt3Q::X4bMYlqzQA-3aQYARx_kBg |
| List a User’s Teams (in an Organization) | GET | /users/{{userGid}}/teams | conn_mod_def::GJ0BoUWFuqY::UI9uYq5oSsSxpurPK3-KrA |
| List a Workspace’s Teams | GET | /workspaces/{{workspaceGid}}/teams | conn_mod_def::GJ0BofA9pv0::kHA2ry4FTbSluZ9DVoCFZw |
| Create a Team (in the Current Workspace) | POST | /teams | conn_mod_def::GJ0BoAvrTZQ::9ej_owr1R4Os4R-Wse27Wg |
| Remove a User from a Team | POST | /teams/{{teamGid}}/removeUser | conn_mod_def::GJ0BopG5WJc::w_XwbZkGRya5w9g9LJ3hiA |
| Update a Team | PUT | /teams/{{teamGid}} | conn_mod_def::GJ0BowcHYvM::GQoeILhfTmeGbtpGcEEaaQ |
TimeTrackingEntries
| Action | Method | Path | Action id |
|---|
| Get a Time Tracking Entry | GET | /time_tracking_entries/{{timeTrackingEntryGid}} | conn_mod_def::GJ0BpfqWnI8::6_sef_mjSFCP2rK8TOhdeg |
| List a Task’s Time Tracking Entries | GET | /tasks/{{taskGid}}/time_tracking_entries | conn_mod_def::GJ0Bpy9bVog::FvB7WTcxTkGwy47keSvkSQ |
| List Time Tracking Entries | GET | /time_tracking_entries | conn_mod_def::GJ0BppQfMz8::AjTFbXeYS_KQcCtTnpdyzw |
| Create a Task Time Tracking Entry | POST | /tasks/{{taskGid}}/time_tracking_entries | conn_mod_def::GJ0BpPW7tVc::S11Ly1QNSemkGqyicmXXmw |
| Delete a Time Tracking Entry | DELETE | /time_tracking_entries/{{timeTrackingEntryGid}} | conn_mod_def::GJ0BpXVt0Ds::UzKbEZIiR5OyWnYcwOfO6A |
| Update a Time Tracking Entry | PUT | /time_tracking_entries/{{timeTrackingEntryGid}} | conn_mod_def::GJ0Bp7v6G18::EGaomUXHTOi4wEFU30g8Gg |
Workspaces
| Action | Method | Path | Action id |
|---|
| Get a Workspace | GET | /workspaces/{{workspaceGid}} | conn_mod_def::GJ0BtNgnouc::VeYGWfETTW-7NPFbs0ERTg |
| Get Multiple Workspaces | GET | /workspaces | conn_mod_def::GJ0BtYv5vEg::Sv3n2N6ZTdyklkCptl6J9w |
| Get Workspace Objects via Typeahead | GET | /workspaces/{{workspaceGid}}/typeahead | conn_mod_def::GJ0BqGdnFVE::vpKczgEtSein4manwlzE9g |
| Add a User to a Workspace or Organization | POST | /workspaces/{{workspaceGid}}/addUser | conn_mod_def::GJ0BtFiBNqA::sK5OeJ8XSmK4iWZVH8piRA |
| Remove a User from a Workspace or Organization | POST | /workspaces/{{workspaceGid}}/removeUser | conn_mod_def::GJ0Btro6xSk::74TSkZiiQamqtfukS_jbsw |
| Update a Workspace | PUT | /workspaces/{{workspaceGid}} | conn_mod_def::GJ0Bt17XJmQ::NGI_KgM-SDagTDOLol52zQ |
Users
| Action | Method | Path | Action id |
|---|
| Get a User | GET | /users/{{userGid}} | conn_mod_def::GJ0BqmMOIZI::iAXWLzlHSQabyQC_AsY0ig |
| Get a User in a Workspace or Organization | GET | /workspaces/{{workspaceGid}}/users/{{userGid}} | conn_mod_def::GJ0Bqv9bmow::41O63JzWQdS6lzSBoePVkw |
| List Users (Across Accessible Workspaces/Organizations) | GET | /users | conn_mod_def::GJ0BrGENMrU::yRZStg70SLu48Hs4hmWI1Q |
| List Users in a Workspace or Organization | GET | /workspaces/{{workspaceGid}}/users | conn_mod_def::GJ0Brcj0ZZ8::x5RX-m5lQnCFrWkX8VAh4g |
| Update a User | PUT | /users/{{userGid}} | conn_mod_def::GJ0BrlK3J6Q::l5sEFIZsTa-j_QdnGoc_3w |
| Update a User in a Workspace or Organization | PUT | /workspaces/{{workspaceGid}}/users/{{userGid}} | conn_mod_def::GJ0BruDsC6s::iJkWhqahQBil3HORvwXrWA |
CustomFields
| Action | Method | Path | Action id |
|---|
| Get a Custom Field | GET | /custom_fields/{{customFieldGid}} | conn_mod_def::GJ0BQNUxZvo::mrr__O0uSCe-Dj16_JTmOg |
| Get a Workspace’s Custom Fields | GET | /workspaces/{{workspaceGid}}/custom_fields | conn_mod_def::GJ0BQY_pJOY::at8cHuSOQxKQrNWTODJ8gA |
| Create a Custom Field (in a Workspace) | POST | /custom_fields | conn_mod_def::GJ0BPx7ZLHk::eFLVc0WuTKqnkAK7O0MP4g |
| Delete a Custom Field | DELETE | /custom_fields/{{customFieldGid}} | conn_mod_def::GJ0BQDneuUY::vThd-8aeQu-jPv_-EK4-aw |
| Reorder a Custom Field’s Enum Options | POST | /custom_fields/{{customFieldGid}}/enum_options/insert | conn_mod_def::GJ0BQkHR6vA::DKZ84rA_Qe64GnwmvD9nRg |
1 more CustomFields actions are available through search.
This lists 90 of 223 actions. For anything not here, call search_one_platform_actions with platform asana. The full catalog is at https://www.withone.ai/knowledge/asana.
When a call fails
The error comes from Asana, not from One. A 400 or 422 means your parameters do not match the schema, so re-read the knowledge and fix the field. A 401 or 403 means the connection needs re-authorizing, which no retry will fix. A 404 means the id is not on this account. A 429 means slow down. Never retry a write more than once: the first attempt may have landed.
Full catalog: https://www.withone.ai/knowledge/asana
Integration knowledge by One (withone.ai), licensed under One-Knowledge-1.0. Attribution must be preserved in derivative works.