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

# Asana

> Give agents access to Asana projects, tasks, and workspaces.

The `@guildai-services/cwaddingham~asana` package gives your agents access to Asana projects, tasks, and workspaces — a community integration published to the Guild [Agent Hub](/platform/publish-to-agent-hub). With it, agents can create and update tasks, query project status, and act on work items automatically, keeping Asana in sync without manual handoffs.

## Authentication

* **Type:** API key
* **Token management:** Connect with an Asana personal access token. The token is sent as a bearer token (`authorization: Bearer {token}`) and does not expire until you revoke it.

### Setup

<Steps>
  <Step title="Open Credentials">Go to **Credentials** in Guild.</Step>
  <Step title="Connect Asana">Click **Asana** and enter your Asana [personal access token](https://app.asana.com/0/my-apps).</Step>
</Steps>

## Usage

```typescript theme={null}
import { AsanaTools } from "@guildai-services/cwaddingham~asana"
import { llmAgent } from "@guildai/agents-sdk"

export default llmAgent({
  description: "An agent that manages Asana tasks",
  tools: { ...AsanaTools },
})
```

### Selecting specific tools

The integration exposes the full Asana REST API — around 240 operations — as tools, each named with the `asana_` prefix and the operation in snake\_case (for example, the `getWorkspaceEvents` endpoint becomes `asana_get_workspace_events`). That's a large surface, so use `pick()` to include only the operations your agent needs:

```typescript theme={null}
import { AsanaTools } from "@guildai-services/cwaddingham~asana"
import { llmAgent, pick } from "@guildai/agents-sdk"

export default llmAgent({
  description: "An agent that triages Asana tasks",
  tools: {
    ...pick(AsanaTools, [
      "asana_get_tasks",
      "asana_get_task",
      "asana_update_task",
      "asana_create_story_for_task",
    ]),
  },
})
```

See [Tool sets](/sdk/tools) for more on selecting specific tools.
