atmon docs

REFERENCE/TOOLKITS/ASANA.MD

Asana

Work management. Create and track tasks, sort them into projects and sections, comment and tag, and look up who is on a team.

PropertyValue
Slugasana
Definition version0.1.0
Base URLhttps://app.asana.com/api/1.0
Auth schemesoauth2
Action tools33
By class15 read, 14 write, 4 destructive
Triggers0
Provider rate limitnot declared, so outbound calls are unpaced

Measured routing accuracy

65 golden cases replayed through the router over the whole index: measured over corpus ea4f12ad2948 (65 toolkits, 2283 tools indexed and 13 declared uncallable), 33 cases written by hand and 32 cases from the paraphrase pass. A case counts as top-1 when its gold tool ranked first and top-8 when it reached the slate at all.

MeasureCasesShare
top-110/6515.4%
top-841/6563.1%

The sweep is offline: the reranker is a deterministic identity fake that returns candidates in the order retrieval produced them, so top-1 measures retrieval order rather than a reranked slate. just eval-live measures the same cases through the live reranker.

Authentication

Connect an entity with ConnectionsService.InitiateConnection, naming this toolkit's slug. Credentials stay in the connections vault; callers hold connected-account ids only.

oauth2

PropertyValue
Authorization URLhttps://app.asana.com/-/oauth_authorize
Token URLhttps://app.asana.com/-/oauth_token
Default scopesdefault
Refresh tokensyes, the refresh daemon renews ahead of expiry

Tools

33 action tools. The catalog-wide slug is asana.<tool>, which is what search_tools returns and call_tool takes.

asana.list_workspaces

List every workspace or organization the connected account belongs to. Use first when a call below needs a workspace_gid and the user has not named one. For one workspace's own detail use get_workspace.

Class read (reads only). No scopes beyond the connection's defaults. Calls GET /workspaces.

Takes no arguments.

Result fields (the payload is trimmed to these before it reaches the model):

FieldTypeNotes
dataarray of object
data[].gidstring
data[].is_organizationboolean
data[].namestring

Also retrieved by: "what workspaces do I have in asana", "show every organization I belong to", "which asana workspaces can I use", "list the places I have access to in asana".

asana.get_workspace

Get one workspace or organization's own detail: name, whether it is an organization, and its email domains. Use when the user names a specific workspace. For the whole list use list_workspaces.

Class read (reads only). No scopes beyond the connection's defaults. Calls GET /workspaces/{{params.workspace_gid}}.

Arguments:

ArgumentTypeRequiredNotes
workspace_gidstringyesWorkspace gid, from list_workspaces.

Result fields (the payload is trimmed to these before it reaches the model):

FieldTypeNotes
dataobject
data.email_domainsarray of string
data.gidstring
data.is_organizationboolean
data.namestring

Also retrieved by: "tell me about this workspace", "is this workspace an organization", "what domains are tied to this workspace", "pull up workspace details".

asana.list_teams

List the teams in a workspace or organization. Use when the user asks what teams exist, or to find a team_gid for get_team or create_project. For one team's own detail use get_team.

Class read (reads only). No scopes beyond the connection's defaults. Calls GET /workspaces/{{params.workspace_gid}}/teams.

Arguments:

ArgumentTypeRequiredNotes
workspace_gidstringyesWorkspace gid, from list_workspaces.

Result fields (the payload is trimmed to these before it reaches the model):

FieldTypeNotes
dataarray of object
data[].gidstring
data[].namestring
next_pageobject
next_page.offsetstring
next_page.uristring

Also retrieved by: "what teams exist in this organization", "show me every team in this workspace", "find the team id for design".

asana.get_team

Get one team's own detail by id: name, description, and the organization it belongs to. Use when the user names a specific team. For the whole list use list_teams.

Class read (reads only). No scopes beyond the connection's defaults. Calls GET /teams/{{params.team_gid}}.

Arguments:

ArgumentTypeRequiredNotes
team_gidstringyesTeam gid, from list_teams.

Result fields (the payload is trimmed to these before it reaches the model):

FieldTypeNotes
dataobject
data.descriptionstring
data.gidstring
data.namestring
data.organizationobject
data.organization.gidstring
data.organization.namestring

Also retrieved by: "tell me about the design team", "who does this team belong to", "pull up team details".

asana.list_projects

List projects in a workspace, optionally narrowed to one team or to only the ones still active. Use when the user asks what projects exist. For one project's own detail use get_project.

Class read (reads only). No scopes beyond the connection's defaults. Calls GET /projects.

Arguments:

ArgumentTypeRequiredNotes
archivedbooleannoRestrict to archived (true) or active (false) projects. Omit for both.
limitintegernoPage size, default 50.
offsetstringnoOpaque cursor from a previous response's next_page.offset.
team_gidstringnoRestrict to projects owned by this team.
workspace_gidstringyesWorkspace gid, from list_workspaces.

Result fields (the payload is trimmed to these before it reaches the model):

FieldTypeNotes
dataarray of object
data[].archivedboolean
data[].colorstring
data[].due_onstring
data[].gidstring
data[].namestring
next_pageobject
next_page.offsetstring
next_page.uristring

Also retrieved by: "what projects are we running right now", "show me every active project", "find the project id for a workstream", "what boards exist for this team".

asana.get_project

Get one project's own detail by id: name, notes, owner, team, due date, color, and current status. Use when the user names a specific project. For the whole list use list_projects.

Class read (reads only). No scopes beyond the connection's defaults. Calls GET /projects/{{params.project_gid}}.

Arguments:

ArgumentTypeRequiredNotes
project_gidstringyesProject gid, from list_projects.

Result fields (the payload is trimmed to these before it reaches the model):

FieldTypeNotes
dataobject
data.archivedboolean
data.colorstring
data.current_statusobject
data.current_status.textstring
data.due_onstring
data.gidstring
data.namestring
data.notesstring
data.ownerobject
data.owner.gidstring
data.owner.namestring
data.teamobject
data.team.gidstring
data.team.namestring
data.workspaceobject
data.workspace.gidstring
data.workspace.namestring

Also retrieved by: "tell me about the Q3 launch project", "who owns this project", "what's the status update on this project", "pull up project details".

asana.create_project

Create a new project in a workspace or under a team. Use when the user wants to start, set up, or spin up a new project. Requires a workspace and a name; team, notes, due date, and color are optional.

Class write (writes, no confirmation needed). No scopes beyond the connection's defaults. Calls POST /projects.

Arguments:

ArgumentTypeRequiredNotes
colorstringnoDisplay color, e.g. "light-green", "dark-blue".
due_onstring (date)noDue date, YYYY-MM-DD.
namestringyesProject display name.
notesstringnoPlain-text project description.
publicbooleannoVisible to the whole team rather than invite-only. Default true.
team_gidstringnoTeam gid to own the project. Required inside an organization.
workspace_gidstringyesWorkspace gid the project belongs to.

Result fields (the payload is trimmed to these before it reaches the model):

FieldTypeNotes
dataobject
data.gidstring
data.namestring

Also retrieved by: "spin up a new project for the design team", "start a fresh project in asana", "set up a board to track this initiative", "kick off a new workstream".

asana.update_project

Edit an existing project's name, notes, due date, color, or archived state. Use when the user wants to rename, edit, or archive a project's own details, not the tasks inside it.

Class write (writes, no confirmation needed). No scopes beyond the connection's defaults. Calls PUT /projects/{{params.project_gid}}.

Arguments:

ArgumentTypeRequiredNotes
archivedbooleannoArchive (true) or restore (false) the project.
colorstringnoNew display color.
due_onstring (date)noNew due date, YYYY-MM-DD.
namestringnoNew project display name.
notesstringnoNew plain-text project description.
project_gidstringyesProject gid to edit.

Result fields (the payload is trimmed to these before it reaches the model):

FieldTypeNotes
dataobject
data.archivedboolean
data.gidstring
data.namestring

Also retrieved by: "rename this project", "change the due date on this project", "archive this project", "edit the project description".

asana.delete_project

Permanently delete a project and its membership, but not the tasks inside it (they stay, just no longer grouped under it). Use when the user explicitly asks to delete or remove a whole project. Irreversible.

Class destructive (held by the mutation gate until the call's own arguments carry "confirm": true). No scopes beyond the connection's defaults. Calls DELETE /projects/{{params.project_gid}}.

Arguments:

ArgumentTypeRequiredNotes
project_gidstringyesProject gid to delete.

Result fields (the payload is trimmed to these before it reaches the model):

FieldTypeNotes
dataobject

Also retrieved by: "remove this whole project", "get rid of this project for good", "wipe out a project entirely", "delete a board and its membership".

asana.list_project_sections

List the sections (columns on a board, or headers on a list) inside a project. Use to find a section_gid for move_task_to_section, or when the user asks how a project is organized.

Class read (reads only). No scopes beyond the connection's defaults. Calls GET /projects/{{params.project_gid}}/sections.

Arguments:

ArgumentTypeRequiredNotes
project_gidstringyesProject gid, from list_projects.

Result fields (the payload is trimmed to these before it reaches the model):

FieldTypeNotes
dataarray of object
data[].created_atstring
data[].gidstring
data[].namestring
next_pageobject
next_page.offsetstring
next_page.uristring

Also retrieved by: "what columns does this board have", "show me the sections on this project", "how is this project organized".

asana.create_section

Add a new section (a board column, or a list header) to a project. Use when the user wants to add, create, or set up a new grouping inside a project.

Class write (writes, no confirmation needed). No scopes beyond the connection's defaults. Calls POST /projects/{{params.project_gid}}/sections.

Arguments:

ArgumentTypeRequiredNotes
namestringyesSection display name.
project_gidstringyesProject gid the section belongs to.

Result fields (the payload is trimmed to these before it reaches the model):

FieldTypeNotes
dataobject
data.gidstring
data.namestring

Also retrieved by: "add a new column to this board", "set up a section for backlog items", "create a new group on this project".

asana.move_task_to_section

Move a task into a section within its project, placing it before or after another task. Use when the user wants to shift, place, or drop a task into a different column or group.

Class write (writes, no confirmation needed). No scopes beyond the connection's defaults. Calls POST /sections/{{params.section_gid}}/addTask.

Arguments:

ArgumentTypeRequiredNotes
insert_afterstringnoPlace after this task gid within the section. Optional.
insert_beforestringnoPlace before this task gid within the section. Optional.
section_gidstringyesDestination section gid, from list_project_sections.
task_gidstringyesTask gid to move.

Result fields (the payload is trimmed to these before it reaches the model):

FieldTypeNotes
dataobject

Also retrieved by: "move this item into the in-progress column", "shift this to the done section", "drop this into a different group on the board".

asana.list_tasks

List tasks in one project, or assigned to one person in a workspace. Use for what's on this project, or what's assigned to someone. For a free-text or multi-filter query across a whole workspace use search_tasks instead. For one known task use get_task.

Class read (reads only). No scopes beyond the connection's defaults. Calls GET /tasks.

Arguments:

ArgumentTypeRequiredNotes
assigneestringnoUser gid, or "me" for the connected account. Requires workspace_gid. Combine with or use instead of project_gid.
completed_sincestringnoOnly tasks incomplete, or completed after this timestamp (ISO 8601), or "now" for incomplete-only.
limitintegernoPage size, default 50.
offsetstringnoOpaque cursor from a previous response's next_page.offset.
project_gidstringnoList tasks belonging to this project.
workspace_gidstringnoWorkspace to scope assignee to. Required together with assignee.

Result fields (the payload is trimmed to these before it reaches the model):

FieldTypeNotes
dataarray of object
data[].assigneeobject
data[].assignee.gidstring
data[].assignee.namestring
data[].completedboolean
data[].due_onstring
data[].gidstring
data[].namestring
next_pageobject
next_page.offsetstring
next_page.uristring

Also retrieved by: "what's assigned to me right now", "show every to-do in this project", "what does the design team have open", "list what's on this board".

asana.get_task

Get one task's full detail by id: name, notes, completion state, due date, assignee, the projects and tags it carries, and its parent if it is a subtask. Use when the user names a specific task. For many tasks at once use list_tasks or search_tasks.

Class read (reads only). No scopes beyond the connection's defaults. Calls GET /tasks/{{params.task_gid}}.

Arguments:

ArgumentTypeRequiredNotes
task_gidstringyesTask gid.

Result fields (the payload is trimmed to these before it reaches the model):

FieldTypeNotes
dataobject
data.assigneeobject
data.assignee.gidstring
data.assignee.namestring
data.completedboolean
data.created_atstring
data.due_atstring
data.due_onstring
data.gidstring
data.modified_atstring
data.namestring
data.notesstring
data.parentobject
data.parent.gidstring
data.parent.namestring
data.projectsarray of object
data.projects[].gidstring
data.projects[].namestring
data.tagsarray of object
data.tags[].gidstring
data.tags[].namestring

Also retrieved by: "pull up the details on this to-do", "what does this item say", "show me one specific task", "what's the status of this card".

asana.create_task

Create a new task in a workspace, optionally placed in one or more projects. Use when the user wants to add, file, or log something to do. Requires a workspace and a name; assignee, notes, due date, and tags are optional. For a task nested under another use create_subtask.

Class write (writes, no confirmation needed). No scopes beyond the connection's defaults. Calls POST /tasks.

Arguments:

ArgumentTypeRequiredNotes
assigneestringnoUser gid, or "me" for the connected account.
due_atstringnoDue date and time, ISO 8601. Use instead of due_on for a time-of-day due date.
due_onstring (date)noDue date, YYYY-MM-DD.
namestringyesTask title.
notesstringnoPlain-text task description.
projectsarray of stringnoProject gids to add the task to.
tagsarray of stringnoTag gids to apply.
workspace_gidstringyesWorkspace gid the task belongs to.

Result fields (the payload is trimmed to these before it reaches the model):

FieldTypeNotes
dataobject
data.gidstring
data.namestring

Also retrieved by: "add a new to-do for the login flow bug", "file a new item under this project", "log something for someone to do", "open a new card on the board".

asana.update_task

Edit an existing task's name, notes, assignee, due date, or mark it complete or incomplete. Use when the user wants to change, retitle, reassign, reschedule, check off, or reopen a task.

Class write (writes, no confirmation needed). No scopes beyond the connection's defaults. Calls PUT /tasks/{{params.task_gid}}.

Arguments:

ArgumentTypeRequiredNotes
assigneestringnoNew assignee's user gid, or "me".
completedbooleannoMark the task done (true) or reopen it (false).
due_onstring (date)noNew due date, YYYY-MM-DD.
namestringnoNew task title.
notesstringnoNew plain-text task description.
task_gidstringyesTask gid to edit.

Result fields (the payload is trimmed to these before it reaches the model):

FieldTypeNotes
dataobject
data.completedboolean
data.gidstring
data.namestring

Also retrieved by: "reschedule this to-do", "reassign this item to someone else", "mark this card done", "reopen a to-do that was closed".

asana.delete_task

Permanently delete a task. Use when the user wants to delete or remove a task entirely, not just mark it done. Its subtasks are deleted with it. Irreversible.

Class destructive (held by the mutation gate until the call's own arguments carry "confirm": true). No scopes beyond the connection's defaults. Calls DELETE /tasks/{{params.task_gid}}.

Arguments:

ArgumentTypeRequiredNotes
task_gidstringyesTask gid to delete.

Result fields (the payload is trimmed to these before it reaches the model):

FieldTypeNotes
dataobject

Also retrieved by: "remove this to-do entirely", "get rid of this item for good", "wipe this card off the board".

asana.search_tasks

Full-text and multi-filter search for tasks across a whole workspace: by free text, completion state, assignee, or project. Use for any query spanning more than one known location, like "find the task about the billing bug". For tasks in one known project use list_tasks; for one known task use get_task.

Class read (reads only). No scopes beyond the connection's defaults. Calls GET /workspaces/{{params.workspace_gid}}/tasks/search.

Arguments:

ArgumentTypeRequiredNotes
assignee_anystringnoComma-separated user gids; matches a task assigned to any of them.
completedbooleannoRestrict to completed (true) or incomplete (false) tasks.
projects_anystringnoComma-separated project gids; matches a task in any of them.
sort_bystring, one of due_date, created_at, completed_at, likes, modified_atnoSort field, default modified_at.
textstringnoFree-text match against task name and notes.
workspace_gidstringyesWorkspace gid to search within.

Result fields (the payload is trimmed to these before it reaches the model):

FieldTypeNotes
dataarray of object
data[].assigneeobject
data[].assignee.gidstring
data[].assignee.namestring
data[].completedboolean
data[].due_onstring
data[].gidstring
data[].namestring

Also retrieved by: "find the item about the billing bug", "dig up anything mentioning the outage", "look through the whole workspace for open work".

asana.add_task_to_project

Put an existing task into a project, optionally straight into a section. Use when the user wants to add or file a task under a project it is not already in. Does not remove it from any project it already belongs to; use remove_task_from_project for that.

Class write (writes, no confirmation needed). No scopes beyond the connection's defaults. Calls POST /tasks/{{params.task_gid}}/addProject.

Arguments:

ArgumentTypeRequiredNotes
project_gidstringyesProject gid to add it to.
section_gidstringnoSection gid within the project to place it in. Optional.
task_gidstringyesTask gid to add.

Result fields (the payload is trimmed to these before it reaches the model):

FieldTypeNotes
dataobject

Also retrieved by: "file this to-do under a different project", "put this card on another board", "add this item to the Q3 project".

asana.remove_task_from_project

Take a task out of a project without deleting the task itself. Use when the user wants to pull a task off a project's list or board.

Class write (writes, no confirmation needed). No scopes beyond the connection's defaults. Calls POST /tasks/{{params.task_gid}}/removeProject.

Arguments:

ArgumentTypeRequiredNotes
project_gidstringyesProject gid to remove it from.
task_gidstringyesTask gid to remove.

Result fields (the payload is trimmed to these before it reaches the model):

FieldTypeNotes
dataobject

Also retrieved by: "take this to-do off the board", "pull this item out of the project", "unlink this card from this workstream".

asana.list_subtasks

List the subtasks nested under a task. Use when the user asks what subtasks, steps, or checklist items a task has.

Class read (reads only). No scopes beyond the connection's defaults. Calls GET /tasks/{{params.task_gid}}/subtasks.

Arguments:

ArgumentTypeRequiredNotes
task_gidstringyesParent task gid.

Result fields (the payload is trimmed to these before it reaches the model):

FieldTypeNotes
dataarray of object
data[].assigneeobject
data[].assignee.gidstring
data[].assignee.namestring
data[].completedboolean
data[].gidstring
data[].namestring
next_pageobject
next_page.offsetstring
next_page.uristring

Also retrieved by: "what steps does this to-do have", "show the checklist under this item", "list what's nested under this card".

asana.create_subtask

Create a new subtask nested under an existing task. Use when the user wants to break a task into steps or add a checklist item under it. For a top-level task use create_task.

Class write (writes, no confirmation needed). No scopes beyond the connection's defaults. Calls POST /tasks/{{params.task_gid}}/subtasks.

Arguments:

ArgumentTypeRequiredNotes
assigneestringnoUser gid, or "me" for the connected account.
due_onstring (date)noDue date, YYYY-MM-DD.
namestringyesSubtask title.
notesstringnoPlain-text subtask description.
task_gidstringyesParent task gid.

Result fields (the payload is trimmed to these before it reaches the model):

FieldTypeNotes
dataobject
data.gidstring
data.namestring

Also retrieved by: "break this to-do into steps", "add a checklist item under this card", "nest a new step under this to-do".

asana.list_tags

List the tags defined in a workspace, e.g. "urgent" or "blocked". Use when the user asks what labels or tags exist, or to find a tag_gid for add_tag_to_task.

Class read (reads only). No scopes beyond the connection's defaults. Calls GET /tags.

Arguments:

ArgumentTypeRequiredNotes
workspace_gidstringyesWorkspace gid, from list_workspaces.

Result fields (the payload is trimmed to these before it reaches the model):

FieldTypeNotes
dataarray of object
data[].colorstring
data[].gidstring
data[].namestring
next_pageobject
next_page.offsetstring
next_page.uristring

Also retrieved by: "what labels exist in this workspace", "show me every tag we have set up", "find the tag id for urgent".

asana.create_tag

Create a new tag in a workspace. Use when the user wants a new label that does not exist yet, before applying it with add_tag_to_task.

Class write (writes, no confirmation needed). No scopes beyond the connection's defaults. Calls POST /tags.

Arguments:

ArgumentTypeRequiredNotes
colorstringnoDisplay color, e.g. "light-green", "dark-red".
namestringyesTag display name.
workspace_gidstringyesWorkspace gid the tag belongs to.

Result fields (the payload is trimmed to these before it reaches the model):

FieldTypeNotes
dataobject
data.gidstring
data.namestring

Also retrieved by: "make a new label called blocked", "set up a fresh tag in this workspace", "add a new marker we can apply to items".

asana.delete_tag

Permanently delete a tag from the workspace, removing it from every task that carried it. Use when the user wants to delete or remove a tag itself, not just untag one task. Irreversible.

Class destructive (held by the mutation gate until the call's own arguments carry "confirm": true). No scopes beyond the connection's defaults. Calls DELETE /tags/{{params.tag_gid}}.

Arguments:

ArgumentTypeRequiredNotes
tag_gidstringyesTag gid to delete, from list_tags.

Result fields (the payload is trimmed to these before it reaches the model):

FieldTypeNotes
dataobject

Also retrieved by: "remove this label from the workspace entirely", "get rid of a tag for good", "wipe out a marker we no longer use".

asana.add_tag_to_task

Apply an existing tag to a task. Use when the user wants to label, flag, or mark a task with a tag that already exists. To make a new tag first use create_tag.

Class write (writes, no confirmation needed). No scopes beyond the connection's defaults. Calls POST /tasks/{{params.task_gid}}/addTag.

Arguments:

ArgumentTypeRequiredNotes
tag_gidstringyesTag gid to apply, from list_tags.
task_gidstringyesTask gid to tag.

Result fields (the payload is trimmed to these before it reaches the model):

FieldTypeNotes
dataobject

Also retrieved by: "flag one asana task as urgent", "label this work item with the blocked marker", "put an existing tag onto a task in asana".

asana.remove_tag_from_task

Remove a tag from one task without deleting the tag itself. Use when the user wants to untag, unflag, or unlabel a single task.

Class write (writes, no confirmation needed). No scopes beyond the connection's defaults. Calls POST /tasks/{{params.task_gid}}/removeTag.

Arguments:

ArgumentTypeRequiredNotes
tag_gidstringyesTag gid to remove, from list_tags.
task_gidstringyesTask gid to untag.

Result fields (the payload is trimmed to these before it reaches the model):

FieldTypeNotes
dataobject

Also retrieved by: "unflag one asana task", "take the urgent label off this work item", "clear a tag from a task in asana".

asana.list_comments

List the comments and activity log on a task, oldest first. Use when the user wants to read the discussion or history on a task.

Class read (reads only). No scopes beyond the connection's defaults. Calls GET /tasks/{{params.task_gid}}/stories.

Arguments:

ArgumentTypeRequiredNotes
task_gidstringyesTask gid.

Result fields (the payload is trimmed to these before it reaches the model):

FieldTypeNotes
dataarray of object
data[].created_atstring
data[].created_byobject
data[].created_by.gidstring
data[].created_by.namestring
data[].gidstring
data[].textstring
data[].typestring
next_pageobject
next_page.offsetstring
next_page.uristring

Also retrieved by: "what have people said on this to-do", "read the notes on this item", "show the conversation history on this card".

asana.add_comment

Post a new comment on a task. Use when the user wants to comment, note, or leave an update on a task. To change a comment already posted use update_comment.

Class write (writes, no confirmation needed). No scopes beyond the connection's defaults. Calls POST /tasks/{{params.task_gid}}/stories.

Arguments:

ArgumentTypeRequiredNotes
task_gidstringyesTask gid to comment on.
textstringyesComment body, plain text.

Result fields (the payload is trimmed to these before it reaches the model):

FieldTypeNotes
dataobject
data.created_atstring
data.gidstring
data.textstring

Also retrieved by: "leave a note on this to-do", "post an update for the team on this item", "tell them the fix shipped on this card".

asana.update_comment

Edit the text of a comment already posted on a task. Use when the user wants to fix or correct something they wrote on a task. Only comments, not the task's other activity entries, can be edited.

Class write (writes, no confirmation needed). No scopes beyond the connection's defaults. Calls PUT /stories/{{params.story_gid}}.

Arguments:

ArgumentTypeRequiredNotes
story_gidstringyesComment (story) gid, from list_comments.
textstringyesReplacement comment body, plain text.

Result fields (the payload is trimmed to these before it reaches the model):

FieldTypeNotes
dataobject
data.gidstring
data.textstring

Also retrieved by: "fix a typo in my last note", "correct what I wrote on this to-do", "edit my earlier remark".

asana.delete_comment

Permanently delete a comment from a task. Use when the user wants to delete or remove a comment, not the whole task. Irreversible.

Class destructive (held by the mutation gate until the call's own arguments carry "confirm": true). No scopes beyond the connection's defaults. Calls DELETE /stories/{{params.story_gid}}.

Arguments:

ArgumentTypeRequiredNotes
story_gidstringyesComment (story) gid to delete, from list_comments.

Result fields (the payload is trimmed to these before it reaches the model):

FieldTypeNotes
dataobject

Also retrieved by: "remove that note", "take down what I posted by mistake", "delete a remark on this to-do".

asana.list_users

List every person in a workspace, with name and email. Use when the user asks who is in the workspace, or to find a user gid for assigning a task.

Class read (reads only). No scopes beyond the connection's defaults. Calls GET /workspaces/{{params.workspace_gid}}/users.

Arguments:

ArgumentTypeRequiredNotes
workspace_gidstringyesWorkspace gid, from list_workspaces.

Result fields (the payload is trimmed to these before it reaches the model):

FieldTypeNotes
dataarray of object
data[].emailstring
data[].gidstring
data[].namestring
next_pageobject
next_page.offsetstring
next_page.uristring

Also retrieved by: "who is in this workspace", "show me every teammate here", "find someone's user id to assign work to".

asana.get_current_user

Get the profile of the connected account itself: name, email, and the workspaces it belongs to. Use to answer "who am I" or to get the caller's own gid to assign a task to itself.

Class read (reads only). No scopes beyond the connection's defaults. Calls GET /users/me.

Takes no arguments.

Result fields (the payload is trimmed to these before it reaches the model):

FieldTypeNotes
dataobject
data.emailstring
data.gidstring
data.namestring
data.workspacesarray of object
data.workspaces[].gidstring
data.workspaces[].namestring

Also retrieved by: "who am I logged in as", "what's my own profile", "show my account info in asana".