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

# Asana Actions integration

[Back to list of integrations](https://koreai.mintlify.site/agent-platform/integrations/enterprise-systems.md)

Use the Asana integration to let agents create tasks and call the Asana API through Action Tools. Artemis authenticates with OAuth 2.0.

| Authentication | Actions | Workflow triggers |
| - | - | - |
| OAuth 2.0 | [2](#supported-actions) | None |

## Supported actions

Actions are Asana operations that an agent runs as Action Tools during a conversation. You can also run them from an [Integration node](https://koreai.mintlify.site/agent-platform/workflows.md#integration-node) in a workflow.

| Action | Use it to |
| - | - |
| [Create Task](#create-task) | Create a task in an Asana project. |
| [Custom API Call](#custom-api-call) | Call an Asana API endpoint that the other actions don't cover. |

## Prerequisites

* An Asana account with access to the workspaces and projects that agents use.
* An OAuth app in the Asana developer console. See [OAuth](https://developers.asana.com/docs/oauth).

## Set up the integration

**1. Create an Asana OAuth app**

In the Asana developer console, create an app. Add the **Callback URL** from the Artemis profile form to the app's redirect URLs, and copy the **Client ID** and **Client Secret**.

**2. Create the auth profile**

In **Integrations**, select **Asana** > **Connect**. On **Project Auth Profiles**, select **New Profile** > **Integration Profile** > **Asana** > **Continue**.

| Field | Value |
| - | - |
| **Profile Name** | A name for the profile, for example `Asana - Production` |
| **Usage Mode** | **Preconfigured** (default), **JIT (Just-in-Time)**, or **Preflight**. With **Preconfigured**, an admin provides credentials at setup, and users don't authorize. See [Auth profiles](https://koreai.mintlify.site/agent-platform/administration/integrations-settings.md#auth-profiles). |
| **Authorization URL**, **Token URL**, **Refresh URL** | Pre-filled with the Asana endpoints. Keep the defaults. |
| **Scopes** | Pre-filled with `default`. |
| **Callback URL** | Read only. Add it to your Asana app's redirect URLs. |
| **Client ID**, **Client Secret** | From your Asana app. |

Select **Create Profile**, and complete the Asana sign-in and consent when prompted.

**3. Create the action tool**

In **Tools**, open the **Actions** tab and select **Create Tool**. Enter a **Tool Name** and **Description**, and select **Select Integration** > **Asana** > **Continue**. Select the **Action** and **Auth Profile**, set parameter defaults (leave a value empty for the agent to supply at runtime), choose an output mode, and select **Create Tool**. Then [assign the tool to an agent](https://koreai.mintlify.site/agent-platform/tools/actions.md#assign-an-action-to-an-agent).

## Action reference

> [accordion] Create Task
>
> Creates a task in an Asana project.
>
> | Parameter | Type | Description |
> | - | - | - |
> | `workspace` | enum | Workspace to create the task in. |
> | `project` | enum | Project to create the task in. |
> | `name` | string | Task name. |
> | `notes` | string | Task description. |
> | `due_on` | string | Due date. Accepts any date format. |
> | `tags` | array | Tags to add to the task. |
> | `assignee` | enum | User to assign the task to. |

> [accordion] Custom API Call
>
> Sends a request to an Asana API endpoint. Artemis adds the authorization headers from the auth profile.
>
> | Parameter | Type | Description |
> | - | - | - |
> | `url` | object | Endpoint URL. |
> | `method` | enum | HTTP method. |
> | `headers` | object | Request headers. Authorization headers are added automatically. |
> | `queryParams` | object | Query parameters. |
> | `body_type` | enum | Body type. Default: `None`. |
> | `body` | object | Request body. |
> | `response_is_binary` | boolean | Returns the response as a file. Use for PDFs, images, and other files. Default: `False`. |
> | `failsafe` | boolean | Returns a result instead of an error when the request fails. |
> | `timeout` | number | Timeout, in seconds. |
> | `followRedirects` | boolean | Follows HTTP redirects. Default: `False`. |

## Troubleshoot common issues

| Issue | Resolution |
| - | - |
| Authorization fails with a redirect error | Confirm the Asana app's redirect URLs include the exact **Callback URL** from the profile form. |
| The profile status stays **Awaiting authorization** | Complete the Asana sign-in and consent in the same browser session. |
| `invalid_client` | Copy the **Client ID** and **Client Secret** again from the Asana developer console. |
| The workspace, project, or assignee list is empty | Confirm the authorizing user is a member of the workspace and has access to the project. |
| The task isn't assigned | Confirm the assignee is a member of the selected workspace. |

**Related articles:**

* [Auth profiles](https://koreai.mintlify.site/agent-platform/administration/integrations-settings.md#auth-profiles)
* [Action Tools](https://koreai.mintlify.site/agent-platform/tools/actions.md)
* [Asana API reference](https://developers.asana.com/reference/rest-api-reference)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.