> ## Documentation Index
> Fetch the complete documentation index at: https://explore.airia.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Asana

> Create and manage Asana tasks, subtasks, comments, project membership, and tags from inside an agent workflow.

Asana actions let an agent manage work items in Asana. An agent can create and update subtasks, move them between parents, add and remove comments, attach tasks to projects, read tags, and look up users in a workspace.

## Supported actions

| Group            | Actions                                            |
| ---------------- | -------------------------------------------------- |
| **Subtask**      | Create, Get, Get All, Update, Move, Delete, Search |
| **Task comment** | Add, Remove                                        |
| **Task project** | Add, Remove                                        |
| **Task tag**     | Get, Get All                                       |
| **User**         | Get, Get All                                       |

## Prerequisites

<AccordionGroup>
  <Accordion title="Create an Asana credential" icon="key">
    Store an Asana personal access token as an **Asana** credential in [Credential Management](/admin-hub/account_settings/credential-management), then select it on every Asana action.
  </Accordion>
</AccordionGroup>

## How to use these actions

* **Asana identifies everything by GID.** Tasks, projects, workspaces, users, and tags each have a global ID. Most inputs expect a GID rather than a name. Use the **Search** and **Get All** actions to discover GIDs, then feed them into later steps.
* **Inputs take fixed values.** Asana inputs accept a value you type in or a value carried from an earlier step's output through the field reference, but they are entered as plain text rather than mapped through the variable dropdown. Supply a GID produced upstream by referencing it in the field.
* **Dropdowns help you pick GIDs.** Where an input expects a workspace, project, or user, the builder offers a selectable list loaded from your Asana account so you do not have to paste a raw GID.
* **Dates use the calendar format.** Due dates are entered as `YYYY-MM-DD`.

## Actions

### Subtask

#### Asana Subtask Create

Creates a subtask under a parent task.

| Input               | Required | Description                                  |
| ------------------- | -------- | -------------------------------------------- |
| **Parent Task GID** | Yes      | The parent task to create the subtask under. |
| **Name**            | Yes      | The name of the subtask.                     |
| **Notes**           | No       | The notes or description of the subtask.     |
| **Due On**          | No       | The due date in `YYYY-MM-DD` format.         |
| **Assignee GID**    | No       | The user to assign the subtask to.           |

#### Asana Subtask Get

Retrieves a single task or subtask.

| Input        | Required | Description           |
| ------------ | -------- | --------------------- |
| **Task GID** | Yes      | The task to retrieve. |

#### Asana Subtask Get All

Lists the subtasks of a task.

| Input               | Required | Description                                                          |
| ------------------- | -------- | -------------------------------------------------------------------- |
| **Parent Task GID** | Yes      | The parent task to read subtasks from.                               |
| **Limit**           | No       | Maximum number of subtasks to return, from 1 to 100. Defaults to 50. |

#### Asana Subtask Update

Updates a task or subtask.

| Input            | Required | Description                              |
| ---------------- | -------- | ---------------------------------------- |
| **Task GID**     | Yes      | The task to update.                      |
| **Name**         | No       | The new name.                            |
| **Notes**        | No       | The new notes or description.            |
| **Due On**       | No       | The new due date in `YYYY-MM-DD` format. |
| **Completed**    | No       | Whether the task is marked complete.     |
| **Assignee GID** | No       | The user to assign the task to.          |

#### Asana Subtask Move

Moves a subtask to a new parent task.

| Input                   | Required | Description                                                                |
| ----------------------- | -------- | -------------------------------------------------------------------------- |
| **Task GID**            | Yes      | The task to move.                                                          |
| **New Parent Task GID** | Yes      | The parent to move the task under.                                         |
| **Insert Position**     | No       | Where to place the task relative to a sibling, either `before` or `after`. |
| **Sibling Task GID**    | No       | The sibling task to insert before or after.                                |

#### Asana Subtask Delete

Deletes a task or subtask.

| Input        | Required | Description         |
| ------------ | -------- | ------------------- |
| **Task GID** | Yes      | The task to delete. |

#### Asana Subtask Search

Searches for tasks within a workspace.

| Input             | Required | Description                                                         |
| ----------------- | -------- | ------------------------------------------------------------------- |
| **Workspace GID** | Yes      | The workspace to search in. Selectable from your account.           |
| **Text**          | No       | Text to match in task names and descriptions.                       |
| **Project GID**   | No       | Limit the search to a project. Selectable from your account.        |
| **Assignee GID**  | No       | Limit the search to an assignee. Selectable from your account.      |
| **Completed**     | No       | Whether to include completed tasks.                                 |
| **Limit**         | No       | Maximum number of results to return, from 1 to 100. Defaults to 50. |

### Task comment

#### Asana Task Comment Add

Adds a comment to a task.

| Input         | Required | Description                    |
| ------------- | -------- | ------------------------------ |
| **Task GID**  | Yes      | The task to comment on.        |
| **Text**      | Yes      | The comment text.              |
| **Is Pinned** | No       | Whether the comment is pinned. |

#### Asana Task Comment Remove

Removes a comment from a task.

| Input         | Required | Description                    |
| ------------- | -------- | ------------------------------ |
| **Story GID** | Yes      | The comment (story) to remove. |

### Task project

#### Asana Task Project Add

Adds a task to a project.

| Input           | Required | Description                                                   |
| --------------- | -------- | ------------------------------------------------------------- |
| **Task GID**    | Yes      | The task to add.                                              |
| **Project GID** | Yes      | The project to add the task to. Selectable from your account. |
| **Section GID** | No       | A section within the project to place the task in.            |

#### Asana Task Project Remove

Removes a task from a project.

| Input           | Required | Description                                                        |
| --------------- | -------- | ------------------------------------------------------------------ |
| **Task GID**    | Yes      | The task to remove.                                                |
| **Project GID** | Yes      | The project to remove the task from. Selectable from your account. |

### Task tag

#### Asana Task Tag Get

Retrieves a single tag.

| Input       | Required | Description          |
| ----------- | -------- | -------------------- |
| **Tag GID** | Yes      | The tag to retrieve. |

#### Asana Task Tag Get All

Lists the tags on a task.

| Input        | Required | Description                                                      |
| ------------ | -------- | ---------------------------------------------------------------- |
| **Task GID** | Yes      | The task to read tags from.                                      |
| **Limit**    | No       | Maximum number of tags to return, from 1 to 100. Defaults to 50. |

### User

#### Asana User Get

Retrieves a single user.

| Input        | Required | Description                                                                              |
| ------------ | -------- | ---------------------------------------------------------------------------------------- |
| **User GID** | Yes      | The user to retrieve. Use `me` for the authenticated user. Selectable from your account. |

#### Asana User Get All

Lists the users in a workspace.

| Input             | Required | Description                                                       |
| ----------------- | -------- | ----------------------------------------------------------------- |
| **Workspace GID** | Yes      | The workspace to read users from. Selectable from your account.   |
| **Limit**         | No       | Maximum number of users to return, from 1 to 100. Defaults to 50. |

## Example

An agent that files follow up work after a meeting:

<Steps>
  <Step title="Find the assignee">
    An **Asana User Get All** action lists workspace members so a model step can match the owner named in the meeting notes to a user GID.
  </Step>

  <Step title="Create the subtask">
    An **Asana Subtask Create** action sets **Parent Task GID** to the project's tracking task, **Name** to the action item, and **Assignee GID** to the matched user.
  </Step>

  <Step title="Record context">
    An **Asana Task Comment Add** action posts the relevant excerpt from the notes onto the new subtask.
  </Step>
</Steps>

## Troubleshooting

<AccordionGroup>
  <Accordion title="Not found or invalid GID" icon="circle-question">
    The GID does not exist or the connected token cannot see it. Confirm the GID with a **Search** or **Get All** action and that the token's account is a member of the workspace.
  </Accordion>

  <Accordion title="Authentication failed" icon="lock">
    The personal access token expired or was revoked. Generate a new token in Asana and update the credential.
  </Accordion>

  <Accordion title="A user cannot be assigned" icon="user-slash">
    The assignee must be a member of the workspace that owns the task. Confirm the user GID belongs to the same workspace.
  </Accordion>
</AccordionGroup>

For issues common to every vendor, see the [Actions overview](/building-and-deploying-agents/agent-basics/actions/overview#troubleshooting).
