# Asana integration

Create Asana tasks from feedback, using a personal access token.

Source: https://docs.annot8.app/docs/integrations/asana



**Pro and above.** Setup is a personal access token and a project id.

## Connect [#connect]

<Steps>
  <Step>
    ### Create a personal access token [#create-a-personal-access-token]

    Go to the [Asana developer console](https://app.asana.com/0/my-apps) →
    **Create new token**. Name it "Annot8" and copy the value — it's shown once.
  </Step>

  <Step>
    ### Find the project id [#find-the-project-id]

    Open the Asana project. The id is the long number in the URL:

    ```
    https://app.asana.com/0/1234567890123456/list
                            └────────────────┘
    ```
  </Step>

  <Step>
    ### Connect in Annot8 [#connect-in-annot8]

    **Integrations** in the sidebar → **Asana** → enter the token and project id →
    **Connect**, then **Test**.
  </Step>

  <Step>
    ### Choose which projects use it [#choose-which-projects-use-it]

    A new connection is on for every project. Switch Asana off under **Project →
    Integrations** for any project that shouldn't use it.
  </Step>
</Steps>

## What gets created [#what-gets-created]

Every new thread on an enabled project creates an Asana task named
`[Feedback] <comment>`, with the author, the comment, and a link to the page in
the notes.

<Callout type="warn">
  This fires on every thread. Point it at a dedicated intake project, and use
  Asana rules to triage from there into your real boards.
</Callout>

## Permissions [#permissions]

The token acts as the account that created it, so tasks show that account as the
creator and the token inherits its access. Use a service account for a team
setup rather than a token belonging to someone who may leave.

## Different Asana projects per Annot8 project [#different-asana-projects-per-annot8-project]

Asana doesn't support per-project overrides — the workspace connection posts
to one intake project. Under **Project → Integrations** you can turn Asana
off for projects that shouldn't post there, and Asana's own automation can
route tasks onward from the intake project.

## Practical advice [#practical-advice]

Asana rules pair well with this: let Annot8 drop every task into one intake
project, then use Asana's own automation to assign, tag, and move them. That
keeps the routing logic in the tool your team already lives in.

## Troubleshooting [#troubleshooting]

**401.** The token was revoked or pasted with whitespace.

**403 or 404.** The token's account can't see that project. Asana returns
`404` for projects a token has no access to, so this often means permissions
rather than a wrong id.

**Wrong id.** Grabbing the number from a *task* URL rather than a *project* URL
is the usual mistake. The project id is the segment immediately after `/0/`.
