> For the complete documentation index, see [llms.txt](https://docs.eesel.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.eesel.ai/integrations/project-management/asana.md).

# Asana

Connect Asana so your agent answers where a task stands, who owns it and when it is due, and creates or updates tasks from the conversation.

Invite your AI teammate into Asana and it answers the status questions for your team. It reads your projects and tasks, so it can say where a task stands, who owns it and when it is due, with a link to the task. It can also create and update tasks.

Nothing changes in Asana without you. Read actions run on their own, write actions ask you first unless you change that.

<figure><img src="https://3732419023-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2xXO0947TYoPIhGoBgSE%2Fuploads%2Fgit-blob-5418d3baecf90d03154e4da5bbbf5efeb9f40c8b%2Fasana-hero.png?alt=media" alt="An Asana knowledge source card listing synced tasks, feeding an agent that answers a question in Slack and links the task it read"><figcaption><p>Synced Asana tasks feeding an answer in Slack.</p></figcaption></figure>

## Quick start

{% stepper %}
{% step %}

### Ask your agent to connect Asana

Open the chat in your dashboard and ask it to connect Asana. It gives you the three steps: open the Integrations page, find Asana, and authorize your Asana workspace. It then waits for you to say it is done.

<figure><img src="https://3732419023-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2xXO0947TYoPIhGoBgSE%2Fuploads%2Fgit-blob-9b099b29e9591946782c626b2e3dd8eef81828bb%2Fasana-connect-chat.png?alt=media" alt="The dashboard chat where the user asks to connect Asana and the agent lists the steps to open the Integrations page, find Asana and authorize the workspace"><figcaption><p>The dashboard chat listing the three connection steps.</p></figcaption></figure>
{% endstep %}

{% step %}

### Open Asana in Integrations

**Integrations** in the left sidebar lists every app your agent can use. Search for Asana and open its card.

<figure><img src="https://3732419023-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2xXO0947TYoPIhGoBgSE%2Fuploads%2Fgit-blob-9dd536b09d3a59ead5656a113da4c401d47c384c%2Fasana-integrations-page.png?alt=media" alt="The eesel Integrations page with a search for Asana, showing the Asana card under Popular integrations and two other apps under All apps"><figcaption><p>The Integrations page with Asana found.</p></figcaption></figure>

The Asana page opens with a **Connect** button in the top right. Click it.

<figure><img src="https://3732419023-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2xXO0947TYoPIhGoBgSE%2Fuploads%2Fgit-blob-9091fa82f62ac6bf6922b7f0d7285ceb2950eab6%2Fasana-integration-page-before.png?alt=media" alt="The Asana integration page in the eesel dashboard before connecting, with a Connect button and a preview of an agent answering from Asana tasks"><figcaption><p>The Asana integration page before you connect.</p></figcaption></figure>
{% endstep %}

{% step %}

### Sign in and approve the workspace

A notice opens first. The connection is brokered by Pipedream, our integration provider, so Pipedream is named here and on Asana's own screen. Click **Continue**.

<figure><img src="https://3732419023-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2xXO0947TYoPIhGoBgSE%2Fuploads%2Fgit-blob-c05b33811de50decf7d1750f2355bb9539b1373c%2Fasana-pipedream.png?alt=media" alt="A dashboard modal saying eesel AI uses Pipedream to connect your account, with a Continue button"><figcaption><p>The notice naming Pipedream as the integration provider.</p></figcaption></figure>

Asana's sign-in and approval screen comes next. Sign in, then approve access for the workspace you want read. Follow every prompt to the end. Your agent can never reach more than that Asana account can reach.

A person approves this in the browser.
{% endstep %}

{% step %}

### Confirm the connection

The dashboard confirms your Asana account is connected. Click **Continue** to close the notice. Then tell your agent in the chat that you are done, and it attaches the connection to that agent.

<figure><img src="https://3732419023-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2xXO0947TYoPIhGoBgSE%2Fuploads%2Fgit-blob-5f738e6dc2c1efd610a6a6c571c94f4b90b2fecc%2Fasana-connected.png?alt=media" alt="A dashboard modal confirming the Asana account connected successfully, with a Continue button and the Pipedream name below it"><figcaption><p>The confirmation notice after you approve in Asana.</p></figcaption></figure>

**Check it worked.** The left sidebar now lists Asana under Integrations. From a terminal, `eesel status` shows the integration as connected with its source counts.
{% endstep %}

{% step %}

### Check what it can read and do

**Integrations > Asana** shows the connection as **Connected**. The **Sources** section holds one row, **Tasks**, with its document count and a toggle. The **Actions** section groups what your agent may do in Asana. **Read** holds sixteen actions, set to run on their own. **Write** holds eight, set to ask you first.

<figure><img src="https://3732419023-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2xXO0947TYoPIhGoBgSE%2Fuploads%2Fgit-blob-62a8d14d544407ce5e7c5d4ca0f07fd8508e6fd2%2Fasana-integration-page.png?alt=media" alt="The connected Asana integration page in the eesel dashboard, showing the Tasks source row with a document count and toggle, and the Read and Write action groups set to Auto and Needs approval"><figcaption><p>The Asana integration page, with the Tasks source and the two action groups.</p></figcaption></figure>
{% endstep %}

{% step %}

### Ask it something

Open the chat and ask about a task by name, or about a project. Your agent looks it up in Asana and answers with the project, the assignee, the due date and the status. It also offers follow-ups, such as adding a comment or marking the task complete.

<figure><img src="https://3732419023-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2xXO0947TYoPIhGoBgSE%2Fuploads%2Fgit-blob-032d3209cb99298f7d983cfc34d464a1bc0ccd40%2Fasana-test-chat.png?alt=media" alt="The dashboard chat answering a question about a task&#x27;s status, with a bold status line and the project, assignee, due date and status listed, plus suggested follow-ups"><figcaption><p>A task question answered in the dashboard chat.</p></figcaption></figure>
{% endstep %}

{% step %}

### Tell it how to answer

To get every Asana answer laid out the same way, ask for the shape you want in the chat and tell it to save that as an instruction. It saves the rule and confirms it.

<figure><img src="https://3732419023-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2xXO0947TYoPIhGoBgSE%2Fuploads%2Fgit-blob-c0937a13753829b6308d0d99fa43ad7063e2ffd1%2Fasana-instruction-chat.png?alt=media" alt="The dashboard chat where the user gives a standing rule for Asana answers and the agent confirms it saved the rule to instructions"><figcaption><p>A standing rule for Asana answers, saved from the chat.</p></figcaption></figure>

The rule lands on your **Instructions** page, where you can read and edit it. Instructions hold for every answer from then on, wherever your agent is working.

<figure><img src="https://3732419023-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2xXO0947TYoPIhGoBgSE%2Fuploads%2Fgit-blob-42ea02a40886e2c6bb7be41c96a7a989bf91a885%2Fasana-instruction-saved.png?alt=media" alt="The Instructions page in the eesel dashboard showing the saved rules for answering questions, including the rule for Asana task answers"><figcaption><p>The Instructions page with the saved rules.</p></figcaption></figure>
{% endstep %}

{% step %}

### Use it where your team works

Connect [Slack](/integrations/communication/slack.md) and anyone can mention your agent with an Asana question. It looks the task up and answers in the thread, with a link back to the task.

Connecting alone does not start your agent. It needs an automation first. In Slack that is the mention automation, so ask in the dashboard chat to turn it on.

<figure><img src="https://3732419023-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2xXO0947TYoPIhGoBgSE%2Fuploads%2Fgit-blob-2d4b3240f22cca83474b4d98afcd36e559ace5e7%2Fasana-slack-thread.png?alt=media" alt="A Slack thread where a teammate mentions the eesel app with a question about an Asana task, and the app answers with the task status, project, assignee and due date, ending with a link to view the task in Asana"><figcaption><p>An Asana task question answered in a Slack thread.</p></figcaption></figure>

**Check it worked.** Your **Automations** page lists the automation, switched on. From a terminal, `eesel automations` lists the automation as on.
{% endstep %}
{% endstepper %}

{% hint style="info" %}
**From Claude Code, Cursor or a terminal.** The same setup works as commands: `eesel login`, then `eesel integrations connect asana`, which prints the details that connection method needs. `eesel integrations download start` runs the first sync of your tasks. `eesel status` then shows the integration as connected with its source counts, and `eesel automations` lists your automations. Approving in Asana and turning an automation on have no command. Use the dashboard chat and the browser for those. The approval is a human step: print the link for a person, wait for the connection status to change, and do not retry the link. Full command reference: [The eesel CLI](/apis-and-developer-resources/cli.md). Step-by-step: [Set up from Claude Code or the terminal](/getting-started/set-up-from-a-coding-agent.md).
{% endhint %}

## Sources, triggers and actions

### Sources

This is what your agent reads from Asana.

| Source    | Description                                                                                                            | Requires                |
| --------- | ---------------------------------------------------------------------------------------------------------------------- | ----------------------- |
| **Tasks** | Your Asana projects and their tasks, including task notes, so your agent can answer questions about the work in flight | Connected Asana account |

A source is a sync, not a live feed, so it is a snapshot from the last time it ran. Your agent's actions read Asana live, so it can check the current state of one task mid-conversation.

Every other integration on your agent is also a source. So an Asana answer can draw on Confluence, Notion and your helpdesk at once. See [Integrations](/integrations/overview.md).

### Triggers

Asana has none, so there is no trigger table here. Nothing happening in Asana starts an agent run. A new task, or a task moving to Done, will not make your agent do anything.

Your agent uses its Asana actions while it is already handling something else: a ticket in your helpdesk, a message in Slack, or a chat in your dashboard. The triggers come from those integrations, set up as an [automation](/automations-and-schedules/automations-and-schedules.md) on your agent's **Automations** page.

### Actions

These are what your agent can do in Asana. The actions come from Asana through Pipedream and are resolved when your agent runs, so the list in your dashboard is the live one. These are the ones you will use most.

|             | Action                            | What it does                                                                                             |
| ----------- | --------------------------------- | -------------------------------------------------------------------------------------------------------- |
| **Create**  | Create task                       | Creates a new task                                                                                       |
|             | Create task from template         | Creates a task from an existing task template                                                            |
|             | Create subtask                    | Creates a subtask and adds it to a parent task                                                           |
|             | Create project                    | Creates a project in a workspace or team                                                                 |
|             | Create task comment               | Adds a comment to a task                                                                                 |
| **Manage**  | Update task                       | Updates an existing task                                                                                 |
|             | Add task to section               | Adds a task to a section. This moves it, so the task leaves the other sections it was in on that project |
|             | Delete task                       | Deletes a task. Leave it off unless you mean it, and put it behind approval if you turn it on            |
| **Look up** | Find task by ID / Search tasks    | Returns one task's full record, or finds tasks by name within a project                                  |
|             | Search projects / List workspaces | Finds a project, and lists the workspaces the connected account can reach                                |

Alongside these are lookup helpers that resolve IDs and the valid values for a field, so your agent finds the right workspace or project rather than guessing. Tell it to search before it creates. Otherwise you get a second copy of a task that already exists.

The dashboard groups the read actions and the write actions. Read runs on its own, and write asks you first. You can change that per group or per action. See [Actions and Approvals](/instructions-and-memory/actions-and-approvals.md).

## Troubleshooting

<details>

<summary>Cannot find Asana on the Integrations page?</summary>

Open **Integrations** in the left sidebar and type Asana in the search box. If it is still missing, message us in the in-app chat or email <hi@eesel.app>.

</details>

<details>

<summary>Connection keeps failing or asking to reconnect?</summary>

Run the approval again from the start and complete every prompt. Check the Asana account you are signing in with still has access to the workspace.

</details>

<details>

<summary>Agent is not running an Asana action?</summary>

Check the action is turned on for this agent. Check your instructions tell it when to use that action, because it will not reach for Asana without a reason. Then check the connection is still authorized.

</details>

<details>

<summary>Agent cannot find a task, or answers look out of date?</summary>

Search matches on name, so try the task ID instead. Confirm the connected Asana account can see that project. Synced knowledge is a snapshot, so ask your agent to re-sync its Asana source. You can also have it look the task up directly, which reads Asana live.

</details>

## FAQ

<details>

<summary>Does connecting Asana start changing my tasks automatically?</summary>

No. Connecting only gives your agent access. Read actions run on their own, and write actions ask you first. You decide for each action whether it runs on its own, asks you first, or stays off.

</details>

<details>

<summary>Can my agent be trained on my Asana content?</summary>

Yes. Your Asana projects and tasks sync in as a knowledge source, including task notes. Put context in the task notes, not only in comments, because notes are what sync in.

</details>

<details>

<summary>Are there automatic Asana triggers?</summary>

No. Asana has no triggers. Your agent does not watch Asana and act on its own. It runs an Asana action while it is already handling a conversation that came in somewhere else, such as a helpdesk ticket or a Slack message.

</details>

<details>

<summary>How do I stop my agent from deleting or overwriting tasks?</summary>

Leave Delete task and Update task turned off, and your agent cannot remove or change anything. If you want them on, set them to ask you first. Delete task is the one action here you cannot undo from eesel.

</details>

<details>

<summary>Do I need eesel to turn Asana on for me?</summary>

No. Asana is on the Integrations page, so you can connect it yourself. If it is not showing there, message us in the in-app chat or email <hi@eesel.app>.

</details>

<details>

<summary>How is this billed?</summary>

Pay-as-you-go. A ticket or conversation your agent handles is one task, and there is no separate charge for connecting Asana. Chats you run yourself from the eesel dashboard are free. See [Pricing](/pricing/overview.md).

</details>

## Related pages

* [Internal operations](/use-cases/internal-operations.md) for the job your agent does for your team
* [Slack](/integrations/communication/slack.md) for answering Asana questions where your team already talks
* [Actions and Approvals](/instructions-and-memory/actions-and-approvals.md) for setting each action to run on its own, ask you first, or stay off
* [Integrations overview](/integrations/overview.md) for how sources, triggers and actions fit together
* [Set up from Claude Code or the terminal](/getting-started/set-up-from-a-coding-agent.md)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.eesel.ai/integrations/project-management/asana.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
