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

# Asana Toolkit

> Interact with Asana projects, tasks, and users from within a workflow.

The **Asana Toolkit** allows your workflows to interact with Asana — retrieving projects, tasks, users, and workspaces, as well as creating and updating tasks.

## Authentication

All Asana tools require an Asana account connection. Each tool includes an **Asana Account** selector with two options:

| Option                   | Description                                                  |
| ------------------------ | ------------------------------------------------------------ |
| **Use my Asana account** | Uses your personal connected Asana account.                  |
| **Use team account**     | Uses a shared team Asana account configured for the project. |

If no account is connected, click **Connect Asana Account** to authenticate.

## Tools

### Get Asana Projects

Retrieves all projects accessible to the connected Asana account.

| Field             | Required | Description                                 |
| ----------------- | -------- | ------------------------------------------- |
| **Asana Account** | Yes      | Select your personal or team Asana account. |

### Get Asana Users

Retrieves all users in the connected Asana workspace.

| Field             | Required | Description                                 |
| ----------------- | -------- | ------------------------------------------- |
| **Asana Account** | Yes      | Select your personal or team Asana account. |

### Get Asana Workspaces

Retrieves all workspaces accessible to the connected Asana account.

| Field             | Required | Description                                 |
| ----------------- | -------- | ------------------------------------------- |
| **Asana Account** | Yes      | Select your personal or team Asana account. |

### Get Asana Custom Fields

Retrieves the custom field definitions configured for a specific Asana project.

| Field             | Required | Description                                                                                |
| ----------------- | -------- | ------------------------------------------------------------------------------------------ |
| **Asana Account** | Yes      | Select your personal or team Asana account.                                                |
| **Project Id**    | Yes      | The ID of the project to get custom field definitions from. Type `@` to select a variable. |

### Get Asana Tasks

Retrieves tasks from a specific Asana project with optional filters for assignee, workspace, and pagination.

| Field             | Required | Description                                                                                            |
| ----------------- | -------- | ------------------------------------------------------------------------------------------------------ |
| **Asana Account** | Yes      | Select your personal or team Asana account.                                                            |
| **Project Id**    | Yes      | The ID of the project to get tasks from. Type `@` to select a variable.                                |
| **Limit**         | No       | Maximum number of tasks to return per API request. Default is `50`.                                    |
| **Assignee**      | No       | Filter tasks by assignee user ID or email. Default is `null`.                                          |
| **Workspace**     | No       | Filter tasks by workspace ID. Uses default workspace if not provided. Default is `null`.               |
| **Offset**        | No       | Starting offset token for pagination. Usually not needed as this fetches all pages. Default is `null`. |

### Get Asana User Tasks

Retrieves all tasks assigned to a specific user in Asana.

| Field             | Required | Description                                                                                            |
| ----------------- | -------- | ------------------------------------------------------------------------------------------------------ |
| **Asana Account** | Yes      | Select your personal or team Asana account.                                                            |
| **Assignee**      | Yes      | The user ID or email address to get tasks for. Type `@` to select a variable.                          |
| **Workspace**     | No       | Workspace ID to search in. Uses default workspace if not provided. Default is `null`.                  |
| **Limit**         | No       | Maximum number of tasks to return per API request. Default is `50`.                                    |
| **Offset**        | No       | Starting offset token for pagination. Usually not needed as this fetches all pages. Default is `null`. |

### Create Asana Task

Creates a new task in a specified Asana project.

| Field             | Required | Description                                                                                                                                                        |
| ----------------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **Asana Account** | Yes      | Select your personal or team Asana account.                                                                                                                        |
| **Project Id**    | Yes      | The ID of the project to create the task in. Type `@` to select a variable.                                                                                        |
| **Name**          | Yes      | The name/title of the task. Type `@` to select a variable.                                                                                                         |
| **Notes**         | No       | Description or notes for the task. Default is `null`.                                                                                                              |
| **Assignee**      | No       | Email or ID of the person to assign the task to. Default is `null`.                                                                                                |
| **Due Date**      | No       | Due date in ISO format (`YYYY-MM-DD`) or any parseable date format. Default is `null`.                                                                             |
| **Tags**          | No       | Array of tag names or tag GIDs to assign to the task. Default is `null`.                                                                                           |
| **Custom Fields** | No       | Custom fields as a dictionary. Format: `{"field_gid": "value"}` or `{"field_name": "value"}`. For enum fields, use the enum option GID or name. Default is `null`. |

### Update Asana Task

Updates an existing Asana task by its ID.

| Field             | Required | Description                                                                                                                |
| ----------------- | -------- | -------------------------------------------------------------------------------------------------------------------------- |
| **Asana Account** | Yes      | Select your personal or team Asana account.                                                                                |
| **Task Id**       | Yes      | The ID of the task to update. Type `@` to select a variable.                                                               |
| **Name**          | No       | New name/title for the task. Default is `null`.                                                                            |
| **Notes**         | No       | New description or notes for the task. Default is `null`.                                                                  |
| **Completed**     | No       | Mark the task as completed (`true`) or incomplete (`false`). Default is `null`.                                            |
| **Custom Fields** | No       | Custom fields to update as a dictionary. Format: `{"field_gid": "value"}` or `{"field_name": "value"}`. Default is `null`. |
