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

# Asana

> What agents can do in Asana at each access level, and how to connect, limit, and disconnect Asana.

Connect Asana so your agents can work in your Asana account. You choose an access level for each account, and Squad refuses any agent action outside that level.

## Access levels

Each Asana account has an access level: **Read-only**, **Read + write**, and **Full access**. Squad refuses any agent action outside that level. You can also narrow or block single agents under **Per-agent access**.

| Level                          | The connect window describes this level as            | Actions agents can use |
| ------------------------------ | ----------------------------------------------------- | ---------------------- |
| **Read-only**                  | "Read tasks, projects, users, and workspaces."        | 80 of 153              |
| **Read + write** (recommended) | "Read and create/edit tasks and projects."            | 136 of 153             |
| **Full access**                | "Full account access including all write operations." | 153 of 153             |

**Read + write** is the recommended level. The connect window selects it for you, and you can choose another level.

The Asana sign-in page asks you to approve full access to your account. This is expected. Squad does not narrow the sign-in. It checks every agent action against the level you chose, and it refuses actions outside that level.

## What agents can do at each level

Each level opens with a short summary in plain tasks, then lists every action it adds, grouped by what the action works on. You do not need to name actions. Ask in plain words, and the agent searches for the matching action.

<Tip>**Find an action.** Open a level and use your browser's find (Ctrl+F, or Cmd+F on a Mac) with a word from the task or part of a slug. Or ask your agent in plain words, for example "What can you do in my Asana account?" The agent can search the Asana actions for you.</Tip>

Each action shows its name, a one-line description where the Asana action catalog has one, and its slug. The slug is the ID that agents use when they call the action.

<AccordionGroup>
  <Accordion title="Read-only">
    Agents can use 80 of the 153 Asana actions at this level:

    * View members
    * View and search tasks
    * View projects
    * View users
    * View tags
    * View teams
    * View templates
    * View attachments
    * View custom fields
    * View entries
    * View events
    * View goals

    All 80 actions at this level:

    <AccordionGroup>
      <Accordion title="Attachments (2)">
        | Action               | What it does                                                              | Slug                         |
        | -------------------- | ------------------------------------------------------------------------- | ---------------------------- |
        | Get attachment       | Get a single attachment by its globally unique identifier.                | `ASANA_GET_ATTACHMENT`       |
        | Get task attachments | Get the list of attachments for a given task, project, or project\_brief. | `ASANA_GET_TASK_ATTACHMENTS` |
      </Accordion>

      <Accordion title="Custom fields (2)">
        | Action                          | What it does                                                 | Slug                                    |
        | ------------------------------- | ------------------------------------------------------------ | --------------------------------------- |
        | Get custom field                | Get a single custom field by its globally unique identifier. | `ASANA_GET_CUSTOM_FIELD`                |
        | Get custom fields for workspace | Get all custom fields in a workspace.                        | `ASANA_GET_CUSTOM_FIELDS_FOR_WORKSPACE` |
      </Accordion>

      <Accordion title="Entries (2)">
        | Action                             | What it does                                                             | Slug                                       |
        | ---------------------------------- | ------------------------------------------------------------------------ | ------------------------------------------ |
        | Get time tracking entries          | Get multiple time tracking entries across workspace, tasks, or projects. | `ASANA_GET_TIME_TRACKING_ENTRIES`          |
        | Get time tracking entries for task | Get time tracking entries for a task.                                    | `ASANA_GET_TIME_TRACKING_ENTRIES_FOR_TASK` |
      </Accordion>

      <Accordion title="Events (2)">
        | Action               | What it does                                      | Slug                         |
        | -------------------- | ------------------------------------------------- | ---------------------------- |
        | Get audit log events | Get audit log events for a workspace.             | `ASANA_GET_AUDIT_LOG_EVENTS` |
        | Get events           | Retrieve events on a resource to monitor changes. | `ASANA_GET_EVENTS`           |
      </Accordion>

      <Accordion title="Favorites (1)">
        | Action                 | What it does                                         | Slug                           |
        | ---------------------- | ---------------------------------------------------- | ------------------------------ |
        | Get favorites for user | Get a user's favorites within a specified workspace. | `ASANA_GET_FAVORITES_FOR_USER` |
      </Accordion>

      <Accordion title="Goals (3)">
        | Action                 | What it does                                           | Slug                           |
        | ---------------------- | ------------------------------------------------------ | ------------------------------ |
        | Get goal               | Retrieve the full record for a single goal by its GID. | `ASANA_GET_GOAL`               |
        | Get goal relationships | Retrieve goal relationships.                           | `ASANA_GET_GOAL_RELATIONSHIPS` |
        | Get goals              | Retrieve multiple goals.                               | `ASANA_GET_GOALS`              |
      </Accordion>

      <Accordion title="Items (1)">
        | Action              | What it does                   | Slug                        |
        | ------------------- | ------------------------------ | --------------------------- |
        | Get portfolio items | Retrieve items in a portfolio. | `ASANA_GET_PORTFOLIO_ITEMS` |
      </Accordion>

      <Accordion title="Jobs (1)">
        | Action  | What it does                                      | Slug            |
        | ------- | ------------------------------------------------- | --------------- |
        | Get job | Retrieve a job by its globally unique identifier. | `ASANA_GET_JOB` |
      </Accordion>

      <Accordion title="Members (12)">
        | Action                             | What it does                                                            | Slug                                       |
        | ---------------------------------- | ----------------------------------------------------------------------- | ------------------------------------------ |
        | Get membership                     | Retrieve a single membership by its ID.                                 | `ASANA_GET_MEMBERSHIP`                     |
        | Get memberships                    | Retrieve memberships for goals, projects, portfolios, or custom fields. | `ASANA_GET_MEMBERSHIPS`                    |
        | Get portfolio memberships          | Retrieve multiple portfolio memberships.                                | `ASANA_GET_PORTFOLIO_MEMBERSHIPS`          |
        | Get project membership             | Get a project membership by ID.                                         | `ASANA_GET_PROJECT_MEMBERSHIP`             |
        | Get project memberships            | Get memberships from a specific project.                                | `ASANA_GET_PROJECT_MEMBERSHIPS`            |
        | Get team membership                | Retrieve a complete team membership record by its GID.                  | `ASANA_GET_TEAM_MEMBERSHIP`                |
        | Get team memberships               | Retrieve compact team membership records.                               | `ASANA_GET_TEAM_MEMBERSHIPS`               |
        | Get team memberships for team      | Get memberships from a specific team.                                   | `ASANA_GET_TEAM_MEMBERSHIPS_FOR_TEAM`      |
        | Get team memberships for user      | Get team memberships for a specific user.                               | `ASANA_GET_TEAM_MEMBERSHIPS_FOR_USER`      |
        | Get workspace membership           | Retrieve a specific workspace membership by its GID.                    | `ASANA_GET_WORKSPACE_MEMBERSHIP`           |
        | Get workspace memberships          | Retrieve the workspace memberships for a specific workspace.            | `ASANA_GET_WORKSPACE_MEMBERSHIPS`          |
        | Get workspace memberships for user | Retrieve workspace memberships for a specific user.                     | `ASANA_GET_WORKSPACE_MEMBERSHIPS_FOR_USER` |
      </Accordion>

      <Accordion title="Objects (1)">
        | Action                | What it does                                                      | Slug                          |
        | --------------------- | ----------------------------------------------------------------- | ----------------------------- |
        | Get typeahead objects | Retrieve objects in a workspace via a typeahead search algorithm. | `ASANA_GET_TYPEAHEAD_OBJECTS` |
      </Accordion>

      <Accordion title="Portfolios (2)">
        | Action         | What it does                                                | Slug                   |
        | -------------- | ----------------------------------------------------------- | ---------------------- |
        | Get portfolio  | Retrieve the full record for a single portfolio by its GID. | `ASANA_GET_PORTFOLIO`  |
        | Get portfolios | Retrieve multiple portfolios.                               | `ASANA_GET_PORTFOLIOS` |
      </Accordion>

      <Accordion title="Projects (7)">
        | Action                 | What it does                                                                                                                                             | Slug                           |
        | ---------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------ |
        | 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.         | `ASANA_GET_A_PROJECT`          |
        | Get multiple projects  | Returns a list of projects filtered by workspace or team (one required), with optional archived status filter, supporting pagination for large datasets. | `ASANA_GET_MULTIPLE_PROJECTS`  |
        | Get project brief      | Retrieve a project brief by its GID.                                                                                                                     | `ASANA_GET_PROJECT_BRIEF`      |
        | Get project status     | Retrieve the full record for a single project status by its GID.                                                                                         | `ASANA_GET_PROJECT_STATUS`     |
        | Get projects for task  | Get all projects a task is in.                                                                                                                           | `ASANA_GET_PROJECTS_FOR_TASK`  |
        | Get projects for team  | Get a list of projects for a specific team in Asana.                                                                                                     | `ASANA_GET_PROJECTS_FOR_TEAM`  |
        | Get workspace projects | Retrieve the projects associated with a specific workspace.                                                                                              | `ASANA_GET_WORKSPACE_PROJECTS` |
      </Accordion>

      <Accordion title="Reactions (1)">
        | Action                  | What it does                                                     | Slug                            |
        | ----------------------- | ---------------------------------------------------------------- | ------------------------------- |
        | Get reactions on object | Get reactions with a specific emoji base character on an object. | `ASANA_GET_REACTIONS_ON_OBJECT` |
      </Accordion>

      <Accordion title="Sections (2)">
        | Action                  | What it does                                                                           | Slug                            |
        | ----------------------- | -------------------------------------------------------------------------------------- | ------------------------------- |
        | Get section             | Retrieve the full record for a single section by its GID.                              | `ASANA_GET_SECTION`             |
        | Get sections in project | Returns compact records for all sections (used to group tasks) in a specified project. | `ASANA_GET_SECTIONS_IN_PROJECT` |
      </Accordion>

      <Accordion title="Status updates (2)">
        | Action                     | What it does                               | Slug                               |
        | -------------------------- | ------------------------------------------ | ---------------------------------- |
        | Get project status updates | Get status updates for a specific project. | `ASANA_GET_PROJECT_STATUS_UPDATES` |
        | Get status updates         | Retrieve status updates from an object.    | `ASANA_GET_STATUS_UPDATES`         |
      </Accordion>

      <Accordion title="Tags (4)">
        | Action                 | What it does                                        | Slug                           |
        | ---------------------- | --------------------------------------------------- | ------------------------------ |
        | Get tag                | Get a single tag by its globally unique identifier. | `ASANA_GET_TAG`                |
        | Get tags               | Get multiple tags in a workspace.                   | `ASANA_GET_TAGS`               |
        | Get tags for task      | Get all tags associated with a specific task.       | `ASANA_GET_TAGS_FOR_TASK`      |
        | Get tags for workspace | Get all tags in a specific workspace.               | `ASANA_GET_TAGS_FOR_WORKSPACE` |
      </Accordion>

      <Accordion title="Task activity and comments (2)">
        | Action               | What it does                                             | Slug                         |
        | -------------------- | -------------------------------------------------------- | ---------------------------- |
        | Get stories for task | Get stories (comments, status updates, etc.) for a task. | `ASANA_GET_STORIES_FOR_TASK` |
        | Get story            | Retrieve a story.                                        | `ASANA_GET_STORY`            |
      </Accordion>

      <Accordion title="Task lists (2)">
        | Action               | What it does                                                                                                                                                                      | Slug                         |
        | -------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------- |
        | 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. | `ASANA_GET_A_USER_TASK_LIST` |
        | Get user task list   | Get a single user task list by its globally unique identifier.                                                                                                                    | `ASANA_GET_USER_TASK_LIST`   |
      </Accordion>

      <Accordion title="Tasks (9)">
        | Action                       | What it does                                                                                                                                     | Slug                                 |
        | ---------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------ |
        | Get a task                   | Retrieves full details for a specified task GID accessible by the user.                                                                          | `ASANA_GET_A_TASK`                   |
        | Get multiple tasks           | Retrieves a list of tasks, allowing filtering by assignee (requires workspace), project, section, completed\_since, and modified\_since.         | `ASANA_GET_MULTIPLE_TASKS`           |
        | Get task counts for project  | Get task count statistics for a project.                                                                                                         | `ASANA_GET_TASK_COUNTS_FOR_PROJECT`  |
        | Get task subtasks            | Retrieve multiple task subtasks from a workspace.                                                                                                | `ASANA_GET_TASK_SUBTASKS`            |
        | Get tasks for tag            | Retrieve tasks associated with a specific Asana tag by tag GID.                                                                                  | `ASANA_GET_TASKS_FOR_TAG`            |
        | Get tasks for user task list | Retrieve tasks from a user task list by user task list GID.                                                                                      | `ASANA_GET_TASKS_FOR_USER_TASK_LIST` |
        | Get tasks from a project     | Retrieves tasks from a specified Asana project, allowing filtering by completion status and selection of optional fields for detailed responses. | `ASANA_GET_TASKS_FROM_A_PROJECT`     |
        | Get tasks from section       | Retrieve tasks that belong to a specific Asana section (column/header) by section GID.                                                           | `ASANA_GET_TASKS_FROM_SECTION`       |
        | Search tasks in workspace    | Search tasks across a workspace with advanced filters.                                                                                           | `ASANA_SEARCH_TASKS_IN_WORKSPACE`    |
      </Accordion>

      <Accordion title="Teams (3)">
        | Action                 | What it does                                                                               | Slug                           |
        | ---------------------- | ------------------------------------------------------------------------------------------ | ------------------------------ |
        | Get team               | Retrieve details of a specific team by its GID.                                            | `ASANA_GET_TEAM`               |
        | Get teams for user     | Get teams for a specific user in an organization.                                          | `ASANA_GET_TEAMS_FOR_USER`     |
        | Get teams in workspace | Returns the compact records for all teams in the workspace visible to the authorized user. | `ASANA_GET_TEAMS_IN_WORKSPACE` |
      </Accordion>

      <Accordion title="Templates (3)">
        | Action                         | What it does                                       | Slug                                   |
        | ------------------------------ | -------------------------------------------------- | -------------------------------------- |
        | Get project templates          | Retrieve multiple project templates.               | `ASANA_GET_PROJECT_TEMPLATES`          |
        | Get project templates for team | Get a team's project templates in Asana.           | `ASANA_GET_PROJECT_TEMPLATES_FOR_TEAM` |
        | Get task templates             | Retrieve multiple task templates from a workspace. | `ASANA_GET_TASK_TEMPLATES`             |
      </Accordion>

      <Accordion title="Types (1)">
        | Action           | What it does                                    | Slug                     |
        | ---------------- | ----------------------------------------------- | ------------------------ |
        | Get custom types | Get all custom types associated with a project. | `ASANA_GET_CUSTOM_TYPES` |
      </Accordion>

      <Accordion title="Users (6)">
        | Action                  | What it does                                                                                                                                                             | Slug                            |
        | ----------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------- |
        | 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.      | `ASANA_GET_CURRENT_USER`        |
        | 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. | `ASANA_GET_MULTIPLE_USERS`      |
        | Get user                | Get a user by their ID.                                                                                                                                                  | `ASANA_GET_USER`                |
        | Get user for workspace  | Get a user in a workspace or organization by their GID.                                                                                                                  | `ASANA_GET_USER_FOR_WORKSPACE`  |
        | Get users for team      | Get users in a team.                                                                                                                                                     | `ASANA_GET_USERS_FOR_TEAM`      |
        | Get users for workspace | Get users in a workspace or organization.                                                                                                                                | `ASANA_GET_USERS_FOR_WORKSPACE` |
      </Accordion>

      <Accordion title="Webhooks (1)">
        | Action       | What it does                               | Slug                 |
        | ------------ | ------------------------------------------ | -------------------- |
        | Get webhooks | Retrieve multiple webhooks in a workspace. | `ASANA_GET_WEBHOOKS` |
      </Accordion>

      <Accordion title="Workspaces (2)">
        | Action                  | What it does                                                                                                                     | Slug                            |
        | ----------------------- | -------------------------------------------------------------------------------------------------------------------------------- | ------------------------------- |
        | Get multiple workspaces | Retrieves all workspaces accessible by the authenticated user, returning an empty list if the user has no accessible workspaces. | `ASANA_GET_MULTIPLE_WORKSPACES` |
        | Get workspace           | Retrieve details of a specific workspace by its GID.                                                                             | `ASANA_GET_WORKSPACE`           |
      </Accordion>

      <Accordion title="Other actions (6)">
        | Action              | What it does                                                    | Slug                        |
        | ------------------- | --------------------------------------------------------------- | --------------------------- |
        | Get access requests | Retrieve access requests for a target object.                   | `ASANA_GET_ACCESS_REQUESTS` |
        | Get allocation      | Get an allocation by ID.                                        | `ASANA_GET_ALLOCATION`      |
        | Get allocations     | Get multiple allocations.                                       | `ASANA_GET_ALLOCATIONS`     |
        | Get status          | Retrieve the full record for a single status update by its GID. | `ASANA_GET_STATUS`          |
        | Get time period     | Retrieve the full record for a single time period by its GID.   | `ASANA_GET_TIME_PERIOD`     |
        | Get time periods    | Retrieve compact or full representations of time periods.       | `ASANA_GET_TIME_PERIODS`    |
      </Accordion>
    </AccordionGroup>
  </Accordion>

  <Accordion title="Read + write (recommended)">
    Agents can use 136 of the 153 Asana actions at this level: everything in **Read-only**, plus:

    * Create and update projects
    * Create and update tasks
    * Create and update sections
    * Create and update settings
    * Create and update tags
    * Create attachments
    * Create and update custom fields
    * Create and delete members
    * Create and update teams
    * Update users
    * Create comments
    * Create dependencies

    The 56 actions that this level adds to **Read-only**:

    <AccordionGroup>
      <Accordion title="Attachments (2)">
        | Action                       | What it does                                                                                      | Slug                                 |
        | ---------------------------- | ------------------------------------------------------------------------------------------------- | ------------------------------------ |
        | Create attachment for object | Upload an attachment or link an external resource to a task, project, or project\_brief in Asana. | `ASANA_CREATE_ATTACHMENT_FOR_OBJECT` |
        | Create attachment for task   | Upload an attachment to a task.                                                                   | `ASANA_CREATE_ATTACHMENT_FOR_TASK`   |
      </Accordion>

      <Accordion title="Comments (1)">
        | Action              | What it does                                                                               | Slug                        |
        | ------------------- | ------------------------------------------------------------------------------------------ | --------------------------- |
        | Create task comment | Adds a new text comment (story) to an existing Asana task, appearing in its activity feed. | `ASANA_CREATE_TASK_COMMENT` |
      </Accordion>

      <Accordion title="Custom fields (2)">
        | Action              | What it does                                             | Slug                        |
        | ------------------- | -------------------------------------------------------- | --------------------------- |
        | Create custom field | Create a new custom field in a workspace.                | `ASANA_CREATE_CUSTOM_FIELD` |
        | Update custom field | Update a custom field by its globally unique identifier. | `ASANA_UPDATE_CUSTOM_FIELD` |
      </Accordion>

      <Accordion title="Dependencies (1)">
        | Action                | What it does                                   | Slug                          |
        | --------------------- | ---------------------------------------------- | ----------------------------- |
        | Add task dependencies | Add dependency relationships to an Asana task. | `ASANA_ADD_TASK_DEPENDENCIES` |
      </Accordion>

      <Accordion title="Followers (4)">
        | Action                       | What it does                              | Slug                                 |
        | ---------------------------- | ----------------------------------------- | ------------------------------------ |
        | Add followers to project     | Add followers to a project in Asana.      | `ASANA_ADD_FOLLOWERS_TO_PROJECT`     |
        | Add followers to task        | Add followers to a task in Asana.         | `ASANA_ADD_FOLLOWERS_TO_TASK`        |
        | Remove follower from task    | Remove one or more followers from a task. | `ASANA_REMOVE_FOLLOWER_FROM_TASK`    |
        | Remove followers for project | Remove followers from a project in Asana. | `ASANA_REMOVE_FOLLOWERS_FOR_PROJECT` |
      </Accordion>

      <Accordion title="Items (1)">
        | Action                | What it does                                                                                     | Slug                          |
        | --------------------- | ------------------------------------------------------------------------------------------------ | ----------------------------- |
        | Add item to portfolio | Add a project (or other supported item) to an Asana portfolio using the native addItem endpoint. | `ASANA_ADD_ITEM_TO_PORTFOLIO` |
      </Accordion>

      <Accordion title="Members (3)">
        | Action                     | What it does                                                                   | Slug                               |
        | -------------------------- | ------------------------------------------------------------------------------ | ---------------------------------- |
        | Add members to project     | Add users to a project in Asana.                                               | `ASANA_ADD_MEMBERS_TO_PROJECT`     |
        | Create membership          | Create a membership by adding a user or team to a project, goal, or portfolio. | `ASANA_CREATE_MEMBERSHIP`          |
        | Remove members for project | Remove users from a project in Asana.                                          | `ASANA_REMOVE_MEMBERS_FOR_PROJECT` |
      </Accordion>

      <Accordion title="Objects (1)">
        | Action                   | What it does                                             | Slug                             |
        | ------------------------ | -------------------------------------------------------- | -------------------------------- |
        | Create status for object | Create a status update on a project, portfolio, or goal. | `ASANA_CREATE_STATUS_FOR_OBJECT` |
      </Accordion>

      <Accordion title="Projects (8)">
        | Action                       | What it does                                            | Slug                                 |
        | ---------------------------- | ------------------------------------------------------- | ------------------------------------ |
        | Add project for task         | Add a project to a task in Asana.                       | `ASANA_ADD_PROJECT_FOR_TASK`         |
        | Create a project             | Creates a new Asana project in the specified workspace. | `ASANA_CREATE_A_PROJECT`             |
        | Create project brief         | Create a project brief for a project.                   | `ASANA_CREATE_PROJECT_BRIEF`         |
        | Create project for team      | Create a project in a team.                             | `ASANA_CREATE_PROJECT_FOR_TEAM`      |
        | Create project for workspace | Create a project in a workspace.                        | `ASANA_CREATE_PROJECT_FOR_WORKSPACE` |
        | Duplicate project            | Duplicate a project.                                    | `ASANA_DUPLICATE_PROJECT`            |
        | Update project               | Update a project.                                       | `ASANA_UPDATE_PROJECT`               |
        | Update project brief         | Update a project brief by its GID.                      | `ASANA_UPDATE_PROJECT_BRIEF`         |
      </Accordion>

      <Accordion title="Sections (3)">
        | Action                     | What it does                                                                                              | Slug                               |
        | -------------------------- | --------------------------------------------------------------------------------------------------------- | ---------------------------------- |
        | Create section in project  | Creates a new SECTION (not a task) in a project.                                                          | `ASANA_CREATE_SECTION_IN_PROJECT`  |
        | Insert section for project | Move or reorder an existing section within a project by repositioning it before or after another section. | `ASANA_INSERT_SECTION_FOR_PROJECT` |
        | Update section             | Update a section's name or position within a project.                                                     | `ASANA_UPDATE_SECTION`             |
      </Accordion>

      <Accordion title="Settings (3)">
        | Action                              | What it does                                                                                                      | Slug                                        |
        | ----------------------------------- | ----------------------------------------------------------------------------------------------------------------- | ------------------------------------------- |
        | Create enum option for custom field | Create a new enum option for a custom field in Asana.                                                             | `ASANA_CREATE_ENUM_OPTION_FOR_CUSTOM_FIELD` |
        | Insert enum option for custom field | Reorder an existing enum option within a custom field by moving it before or after another specified enum option. | `ASANA_INSERT_ENUM_OPTION_FOR_CUSTOM_FIELD` |
        | Update enum option                  | Update an enum option for a custom field.                                                                         | `ASANA_UPDATE_ENUM_OPTION`                  |
      </Accordion>

      <Accordion title="Status updates (1)">
        | Action                       | What it does                             | Slug                                 |
        | ---------------------------- | ---------------------------------------- | ------------------------------------ |
        | Create project status update | Create a new status update on a project. | `ASANA_CREATE_PROJECT_STATUS_UPDATE` |
      </Accordion>

      <Accordion title="Tags (4)">
        | Action                      | What it does                                                                                                                                  | Slug                                |
        | --------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------- |
        | Add tag to task             | Add an existing tag to a task in Asana.                                                                                                       | `ASANA_ADD_TAG_TO_TASK`             |
        | 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). | `ASANA_CREATE_A_TAG_IN_A_WORKSPACE` |
        | Create tag                  | Create a new tag in an Asana workspace.                                                                                                       | `ASANA_CREATE_TAG`                  |
        | Update tag                  | Update an existing tag by its globally unique identifier.                                                                                     | `ASANA_UPDATE_TAG`                  |
      </Accordion>

      <Accordion title="Task activity and comments (1)">
        | Action       | What it does              | Slug                 |
        | ------------ | ------------------------- | -------------------- |
        | Update story | Update a story on a task. | `ASANA_UPDATE_STORY` |
      </Accordion>

      <Accordion title="Tasks (6)">
        | Action              | What it does                                                                                                | Slug                        |
        | ------------------- | ----------------------------------------------------------------------------------------------------------- | --------------------------- |
        | Add task to section | Adds an existing task to a section, optionally positioning it before or after another task in that section. | `ASANA_ADD_TASK_TO_SECTION` |
        | Create a task       | Creates a new Asana task.                                                                                   | `ASANA_CREATE_A_TASK`       |
        | Create subtask      | Creates a new Asana subtask under an existing parent task (task\_gid).                                      | `ASANA_CREATE_SUBTASK`      |
        | Duplicate task      | Duplicate a task.                                                                                           | `ASANA_DUPLICATE_TASK`      |
        | Set parent for task | Set the parent of a task in Asana.                                                                          | `ASANA_SET_PARENT_FOR_TASK` |
        | Update a task       | Updates attributes of an existing Asana task identified by its task\_gid.                                   | `ASANA_UPDATE_A_TASK`       |
      </Accordion>

      <Accordion title="Teams (2)">
        | Action      | What it does                             | Slug                |
        | ----------- | ---------------------------------------- | ------------------- |
        | Create team | Create a new team in an Asana workspace. | `ASANA_CREATE_TEAM` |
        | Update team | Update details of an existing team.      | `ASANA_UPDATE_TEAM` |
      </Accordion>

      <Accordion title="Templates (1)">
        | Action                       | What it does                                                                                       | Slug                                 |
        | ---------------------------- | -------------------------------------------------------------------------------------------------- | ------------------------------------ |
        | Instantiate project template | Instantiate (create) a real Asana project from a project template, returning the async job record. | `ASANA_INSTANTIATE_PROJECT_TEMPLATE` |
      </Accordion>

      <Accordion title="Users (4)">
        | Action                    | What it does                                        | Slug                              |
        | ------------------------- | --------------------------------------------------- | --------------------------------- |
        | Add user to team          | Add a user to a team in Asana.                      | `ASANA_ADD_USER_TO_TEAM`          |
        | Add user to workspace     | Add a user to a workspace or organization in Asana. | `ASANA_ADD_USER_TO_WORKSPACE`     |
        | Update user               | Update a user's custom fields.                      | `ASANA_UPDATE_USER`               |
        | Update user for workspace | Update a user in a workspace or organization.       | `ASANA_UPDATE_USER_FOR_WORKSPACE` |
      </Accordion>

      <Accordion title="Webhooks (1)">
        | Action         | What it does                                             | Slug                   |
        | -------------- | -------------------------------------------------------- | ---------------------- |
        | Update webhook | Update an existing Asana webhook's filter configuration. | `ASANA_UPDATE_WEBHOOK` |
      </Accordion>

      <Accordion title="Other actions (7)">
        | Action                      | What it does                                                        | Slug                                |
        | --------------------------- | ------------------------------------------------------------------- | ----------------------------------- |
        | Add supporting relationship | Add a supporting goal relationship to a goal.                       | `ASANA_ADD_SUPPORTING_RELATIONSHIP` |
        | Approve access request      | Approve an access request in Asana.                                 | `ASANA_APPROVE_ACCESS_REQUEST`      |
        | Create access request       | Create an access request in Asana.                                  | `ASANA_CREATE_ACCESS_REQUEST`       |
        | Create allocation           | Creates a new allocation.                                           | `ASANA_CREATE_ALLOCATION`           |
        | Reject access request       | Reject an access request.                                           | `ASANA_REJECT_ACCESS_REQUEST`       |
        | Submit parallel requests    | Submit multiple Asana API requests in parallel using the Batch API. | `ASANA_SUBMIT_PARALLEL_REQUESTS`    |
        | Update allocation           | Update an existing allocation by its ID.                            | `ASANA_UPDATE_ALLOCATION`           |
      </Accordion>
    </AccordionGroup>
  </Accordion>

  <Accordion title="Full access">
    Agents can use 153 of the 153 Asana actions at this level: everything in **Read + write**, plus:

    * Delete projects
    * Delete users
    * Delete attachments
    * Delete custom fields
    * Delete sections
    * Delete status updates
    * Delete tags
    * Delete task activity and comments
    * Delete tasks

    The 17 actions that this level adds to **Read + write**:

    | Works on                       | Action                     | What it does                                              | Slug                               |
    | ------------------------------ | -------------------------- | --------------------------------------------------------- | ---------------------------------- |
    | **Attachments**                | Delete attachment          | Delete an attachment by its globally unique identifier.   | `ASANA_DELETE_ATTACHMENT`          |
    | **Custom fields**              | Delete custom field        | Delete a custom field by its globally unique identifier.  | `ASANA_DELETE_CUSTOM_FIELD`        |
    | **Items**                      | Remove item from portfolio | Remove an item (e.g., a project) from an Asana portfolio. | `ASANA_REMOVE_ITEM_FROM_PORTFOLIO` |
    | **Members**                    | Delete membership          | Delete a membership by its GID.                           | `ASANA_DELETE_MEMBERSHIP`          |
    | **Projects**                   | Delete project             | Delete a project.                                         | `ASANA_DELETE_PROJECT`             |
    |                                | Delete project brief       | Delete a project brief by its GID.                        | `ASANA_DELETE_PROJECT_BRIEF`       |
    |                                | Delete project status      | Delete a project status by its GID.                       | `ASANA_DELETE_PROJECT_STATUS`      |
    |                                | Remove project from task   | Remove a project from a task in Asana.                    | `ASANA_REMOVE_PROJECT_FROM_TASK`   |
    | **Sections**                   | Delete section             | Delete a section by its GID.                              | `ASANA_DELETE_SECTION`             |
    | **Status updates**             | Delete status update       | Delete a status update by its GID.                        | `ASANA_DELETE_STATUS_UPDATE`       |
    | **Tags**                       | Delete tag                 | Delete a specific tag by its GID.                         | `ASANA_DELETE_TAG`                 |
    |                                | Remove tag from task       | Remove an existing tag from a task in Asana.              | `ASANA_REMOVE_TAG_FROM_TASK`       |
    | **Task activity and comments** | Delete story               | Delete a story by its GID.                                | `ASANA_DELETE_STORY`               |
    | **Tasks**                      | Delete task                | Delete a task.                                            | `ASANA_DELETE_TASK`                |
    | **Users**                      | Remove user for team       | Remove a user from a team.                                | `ASANA_REMOVE_USER_FOR_TEAM`       |
    |                                | Remove user for workspace  | Remove a user from a workspace or organization.           | `ASANA_REMOVE_USER_FOR_WORKSPACE`  |
    | **Other actions**              | Delete allocation          | Delete an allocation by its ID.                           | `ASANA_DELETE_ALLOCATION`          |
  </Accordion>
</AccordionGroup>

## Connect Asana

Before you start:

* You need an Asana account that you can sign in to.
* Your Squad subscription must be active. Squad does not connect apps while the subscription is not active.

<Steps>
  <Step title="Open Integrations">
    Open **Settings** > **Integrations**.
  </Step>

  <Step title="Add an integration">
    On the **Connected apps** tab, click **+ Add integration**.
  </Step>

  <Step title="Find Asana">
    Find **Asana** in the catalog and click it. You can type the name in **Search the catalog…**.
  </Step>

  <Step title="Choose an access level">
    Under **Default scope**, choose an access level. This level applies to every agent.
  </Step>

  <Step title="Click Connect Asana">
    Click **Connect Asana**. The Asana sign-in page opens in a new tab.
  </Step>

  <Step title="Sign in to Asana">
    Sign in to Asana and approve the request.
  </Step>
</Steps>

Check that it works: Asana shows under **YOUR CONNECTIONS**, with a row for the account and its access level.

## Change the access level

1. Under **YOUR CONNECTIONS**, find the Asana account.
2. Open the account menu (⋯) and click **Manage scope**.
3. Under **Default scope**, choose the new level.
4. Click **Save access**.

The change does not need a new sign-in. Agents get the new level from their next call.

## Set access for one agent

Every agent uses the account's level unless you set something else for it. You can narrow one agent to a lower level, or block it.

1. Under **YOUR CONNECTIONS**, open the account menu (⋯) on the Asana account.
2. Click **Manage scope**.
3. Under **Per-agent access**, find the agent.
4. Choose the **Default** option to follow the account's level, choose a lower level, or choose **No access**.
5. Click **Save access**.

An agent never gets more than the account's level, even if you choose a higher level for it. Changes apply from the agent's next call. An agent with **No access** does not see the account.

## Use more than one Asana account

Click **+ Account** on the Asana card to connect another account. Agents use the primary account unless they are asked to use a specific one.

* After you click **+ Account**, follow the connect steps above.
* Each account has its own access level.
* The first account you connect becomes the primary account. It shows **★ PRIMARY**.
* To change the primary account, open the account menu (⋯) and click **Make primary**.
* To tell accounts apart, open the account menu (⋯) and click **Rename**.

## Reconnect or disconnect

Reconnect when the connection has expired, or when you need to change what the account can reach on the Asana side:

1. Open the account menu (⋯) and click **Reconnect**.
2. Click **Reauthorize on Asana**.
3. Sign in to Asana and approve the request.

Reconnect signs in to the same account again. It does not add a second connection.

Open the account menu (⋯) on the Asana account and click **Disconnect**. Agents lose access to that account at once.

<Warning>**Disconnect** acts at once, with no confirmation step. If it was the primary account, another connected Asana account becomes primary.</Warning>

## Costs

Asana actions do not use Squad credits. Connected apps never use credits. For what does use credits, see [What Squad costs](/docs/costs).

## Troubleshooting

An agent reports that an action is not allowed on this account.

* Cause: the action is outside the account's access level, or outside the level you set for that agent.
* Fix: choose a higher level in **Manage scope**, or change the agent's row under **Per-agent access**.

An agent says it has no access to Asana, or it does not see the account.

* Cause: the agent is set to **No access** under **Per-agent access**, or the account is not connected.
* Fix: open **Manage scope** and change the agent's row. If the account is missing, connect it again.

Connecting or saving fails with "Your subscription isn't active."

* Cause: your Squad subscription is not active.
* Fix: resubscribe. See [Manage your subscription](/docs/billing).

An agent says the Asana connection has expired.

* Cause: the sign-in for that account is no longer valid.
* Fix: use **Reconnect** on the account.

## Common questions

<AccordionGroup>
  <Accordion title="Can I limit what agents can do in Asana?">
    Each Asana account has an access level: **Read-only**, **Read + write**, and **Full access**. Squad refuses any agent action outside that level. You can also narrow or block single agents under **Per-agent access**.
  </Accordion>

  <Accordion title="Can I connect more than one Asana account?">
    Click **+ Account** on the Asana card to connect another account. Agents use the primary account unless they are asked to use a specific one.
  </Accordion>

  <Accordion title="How do I disconnect Asana?">
    Open the account menu (⋯) on the Asana account and click **Disconnect**. Agents lose access to that account at once.
  </Accordion>
</AccordionGroup>

## Related pages

<CardGroup cols={2}>
  <Card title="Connect apps" icon="plug" href="/docs/integrations" />

  <Card title="Add an MCP server or an API key" icon="server" href="/docs/custom-integrations">
    Use this when an action you need is not in this app.
  </Card>
</CardGroup>
