# Asana — Pipedream Connect

> Work anytime, anywhere with Asana. Keep remote and distributed teams, and your entire organization, focused on their goals, projects, and tasks with Asana.

- API slug: `asana` (use in MCP headers and tool keys)
- Auth: OAuth (Pipedream-managed)
- Categories: Productivity
- Website: https://asana.com
- This page (HTML): https://pipedream.com/apps/asana
- Tools: 23 actions · 14 triggers

## Connect via MCP (recommended)

- Endpoint: `https://remote.mcp.pipedream.net/v3`
- Headers: `Authorization: Bearer <token>` · `x-pd-project-id` · `x-pd-environment` · `x-pd-external-user-id` · `x-pd-app-slug: asana`

```ts
import { Client } from "@modelcontextprotocol/sdk/client/index.js"
import { StreamableHTTPClientTransport } from "@modelcontextprotocol/sdk/client/streamableHttp.js"
import { PipedreamClient } from "@pipedream/sdk"

const pd = new PipedreamClient({
  projectId: process.env.PIPEDREAM_PROJECT_ID!,
  clientId: process.env.PIPEDREAM_CLIENT_ID!,
  clientSecret: process.env.PIPEDREAM_CLIENT_SECRET!,
  projectEnvironment: "production",
})

const accessToken = await pd.rawAccessToken

const transport = new StreamableHTTPClientTransport(
  new URL("https://remote.mcp.pipedream.net/v3"),
  {
    requestInit: {
      headers: {
        Authorization: `Bearer ${accessToken}`,
        "x-pd-project-id": process.env.PIPEDREAM_PROJECT_ID!,
        "x-pd-environment": "production",
        "x-pd-external-user-id": "{external_user_id}", // any stable ID for this user in your system
        "x-pd-app-slug": "asana",
      },
    },
  },
)

const mcp = new Client({ name: "my-agent", version: "1.0.0" })
await mcp.connect(transport)

const { tools } = await mcp.listTools()

// e.g. run Add Task To Section:
const result = await mcp.callTool({
  name: "asana-add-task-to-section",
  arguments: {
    workspace: "Workspace",
    project: "Project",
  },
})
```

Docs: [MCP guide](https://pipedream.com/docs/connect/mcp/developers.md)

## API proxy

For a Asana endpoint with no pre-built tool, the proxy forwards your request with the connected user's credentials attached.

```bash
# The path segment is the target URL, URL-safe base64 encoded:
# https://app.asana.com/api/1.0/users/me

curl "https://api.pipedream.com/v1/connect/{project_id}/proxy/aHR0cHM6Ly9hcHAuYXNhbmEuY29tL2FwaS8xLjAvdXNlcnMvbWU?external_user_id={external_user_id}&account_id=apn_xxxxxxx" \
  -H "Authorization: Bearer {access_token}" \
  -H "x-pd-environment: production"
```

Docs: [API proxy guide](https://pipedream.com/docs/connect/api-proxy.md)

## SDK

```ts
import { PipedreamClient } from "@pipedream/sdk"

const pd = new PipedreamClient({
  projectId: process.env.PIPEDREAM_PROJECT_ID!,
  clientId: process.env.PIPEDREAM_CLIENT_ID!,
  clientSecret: process.env.PIPEDREAM_CLIENT_SECRET!,
  projectEnvironment: "production",
})

const result = await pd.actions.run({
  id: "asana-add-task-to-section",
  externalUserId: "{external_user_id}", // any stable ID for this user in your system
  configuredProps: {
    asana: { authProvisionId: "apn_xxxxxxx" },
    workspace: "Workspace",
    project: "Project",
  },
})
```

Docs: [Managed auth guide](https://pipedream.com/docs/connect/managed-auth/quickstart.md) · [Tools guide](https://pipedream.com/docs/connect/components.md)

## Actions (23)

### `asana-add-task-to-section` — Add Task To Section (Write)

Add a task to a specific, existing section. This will remove the task from other sections of the project. See the documentation

Full schema: https://pipedream.com/apps/asana/actions/add-task-to-section.md

### `asana-create-project` — Create Project (Write)

Create a new project in a workspace or team. See the documentation

Full schema: https://pipedream.com/apps/asana/actions/create-project.md

### `asana-create-subtask` — Create Subtask (Write)

Creates a new subtask and adds it to the parent task. See the documentation

Full schema: https://pipedream.com/apps/asana/actions/create-subtask.md

### `asana-create-task` — Create Task (Write)

Creates a new task. See the documentation

Full schema: https://pipedream.com/apps/asana/actions/create-task.md

### `asana-create-task-comment` — Create Task Comment (Write)

Adds a comment to a task. See the documentation

Full schema: https://pipedream.com/apps/asana/actions/create-task-comment.md

### `asana-create-task-from-template` — Create Task from Template (Write)

Creates a new task from a task template. See the documentation

Full schema: https://pipedream.com/apps/asana/actions/create-task-from-template.md

### `asana-delete-task` — Delete Task (Write)

Deletes a specific and existing task. See the documentation

Full schema: https://pipedream.com/apps/asana/actions/delete-task.md

### `asana-find-task-by-id` — Find Task by ID (Read-only)

Searches for a task by id. Returns the complete task record for a single task. See the documentation

Full schema: https://pipedream.com/apps/asana/actions/find-task-by-id.md

### `asana-search-user-projects` — Get list of user projects (Read-only)

Return list of projects given the user and workspace gid. See the documentation

Full schema: https://pipedream.com/apps/asana/actions/search-user-projects.md

### `asana-get-portfolio` — Get Portfolio (Read-only)

Returns the complete portfolio record for a single portfolio. Use this after List Portfolios to retrieve full portfolio details including custom fields, members, and owner; the optFields prop requests specific properties (e.g. custom_field_settings, members, start_on, due_on). See the documentation

Full schema: https://pipedream.com/apps/asana/actions/get-portfolio.md

### `asana-get-tasks-from-task-list` — Get Tasks From Task List (Read-only)

Returns tasks from the user's personal My Tasks inbox — NOT a project task list. Use this when the user asks for 'my tasks', 'my task list', or 'My Tasks'. Only a workspace GID is needed; no project GID required. See the documentation

Full schema: https://pipedream.com/apps/asana/actions/get-tasks-from-task-list.md

### `asana-list-organizations-options` — List Organizations Options (Read-only)

Retrieves available options for the Organizations field.

Full schema: https://pipedream.com/apps/asana/actions/list-organizations-options.md

### `asana-list-portfolio-items` — List Portfolio Items (Read-only)

Returns a list of the items (projects) in the given portfolio. Use this after List Portfolios to answer count, timing, and spend questions; the default Opt Fields include created_at, start_on, due_on, and custom_fields. Archived filtering happens client-side because Asana has no server-side filter…

Full schema: https://pipedream.com/apps/asana/actions/list-portfolio-items.md

### `asana-list-portfolios` — List Portfolios (Read-only)

Returns a list of portfolios in the given workspace owned by the given user. Use this to discover portfolio GIDs before calling Get Portfolio or List Portfolio Items. Owner defaults to the authenticated user; regular API users can only list portfolios they own. See the documentation

Full schema: https://pipedream.com/apps/asana/actions/list-portfolios.md

### `asana-list-task-stories` — List Task Stories (Read-only)

List stories (including comments) for a task. See the documentation

Full schema: https://pipedream.com/apps/asana/actions/list-task-stories.md

### `asana-list-teams` — List Teams (Read-only)

Retrieves all teams in a specified Asana workspace. Use this action to discover available teams for creating projects, adding team members, or organizing work by department. Requires a workspace GID, which you can obtain from the List Workspaces action. The authenticated user must have access to…

Full schema: https://pipedream.com/apps/asana/actions/list-teams.md

### `asana-list-users` — List Users (Read-only)

Retrieves all users in a specified Asana workspace. Use this action to populate assignee choices for tasks, verify workspace membership, or audit user access. Requires a workspace GID, which you can obtain from the List Workspaces action. The authenticated user must have access to the workspace…

Full schema: https://pipedream.com/apps/asana/actions/list-users.md

### `asana-list-workspaces` — List Workspaces (Read-only)

List workspaces available to the authenticated Asana account. Use this when you need a workspace GID before running List Teams or other workspace-scoped actions. optFields can include optional workspace properties such as email_domains and is_organization; leave offset empty for the first page and…

Full schema: https://pipedream.com/apps/asana/actions/list-workspaces.md

### `asana-search-projects` — Search Projects (Read-only)

Finds an existing project. See the documentation

Full schema: https://pipedream.com/apps/asana/actions/search-projects.md

### `asana-search-sections` — Search Sections (Read-only)

Searches for a section by name within a particular project. See the documentation

Full schema: https://pipedream.com/apps/asana/actions/search-sections.md

### `asana-search-tasks` — Search Tasks (Read-only)

Searches for a Task by name within a Project. See the documentation

Full schema: https://pipedream.com/apps/asana/actions/search-tasks.md

### `asana-search-tasks-premium` — Search Tasks Premium (Read-only)

Searches for a task by name, assignee, section, project, completed since, and modified since. Requires a Premium Asana account. See the documentation

Full schema: https://pipedream.com/apps/asana/actions/search-tasks-premium.md

### `asana-update-task` — Update Task (Write)

Updates a specific and existing task. See the documentation

Full schema: https://pipedream.com/apps/asana/actions/update-task.md

## Triggers (14)

### `asana-new-project` — New Project Added To Workspace (Instant) (Instant)

Emit new event for each new project added to a workspace.

Full schema: https://pipedream.com/apps/asana/triggers/new-project.md

### `asana-new-story` — New Story Added To Project (Instant) (Instant)

Emit new event for each story added to a project.

Full schema: https://pipedream.com/apps/asana/triggers/new-story.md

### `asana-new-subtask` — New Subtask (Instant) (Instant)

Emit new event for each subtask added to a project.

Full schema: https://pipedream.com/apps/asana/triggers/new-subtask.md

### `asana-new-completed-task` — New Completed Task (Instant) (Instant)

Emit new event for each task completed in a project.

Full schema: https://pipedream.com/apps/asana/triggers/new-completed-task.md

### `asana-new-tag` — New Tag (Polling)

Emit new event for each tag created in a workspace.

Full schema: https://pipedream.com/apps/asana/triggers/new-tag.md

### `asana-tag-added-to-task` — New Tag Added To Task (Instant) (Instant)

Emit new event for each new tag added to a task.

Full schema: https://pipedream.com/apps/asana/triggers/tag-added-to-task.md

### `asana-tags-added-to-any-task` — New Tags added to any task (Instant) (Instant)

Emit new event each time a tag is added to any task, optionally filtering by a given set of tags.

Full schema: https://pipedream.com/apps/asana/triggers/tags-added-to-any-task.md

### `asana-new-task` — New Task (Instant) (Instant)

Emit new event for each task added to a project. See docs here

Full schema: https://pipedream.com/apps/asana/triggers/new-task.md

### `asana-task-assigned-in-project` — New Task Assigned in Project (Instant) (Instant)

Emit new event each time a task is assigned, reassigned or unassigned.

Full schema: https://pipedream.com/apps/asana/triggers/task-assigned-in-project.md

### `asana-task-field-updated-in-project` — New Task Field Updated In Project (Instant) (Instant)

Emit new event whenever given task fields are updated.

Full schema: https://pipedream.com/apps/asana/triggers/task-field-updated-in-project.md

### `asana-task-updated-in-project` — New Task Updated In Project (Instant) (Instant)

Emit new event for each update to a task.

Full schema: https://pipedream.com/apps/asana/triggers/task-updated-in-project.md

### `asana-new-team` — New Team (Polling)

Emit new event for each team added to an organization.

Full schema: https://pipedream.com/apps/asana/triggers/new-team.md

### `asana-new-user` — New User (Instant) (Instant)

Emit new event for each user added to a workspace.

Full schema: https://pipedream.com/apps/asana/triggers/new-user.md

### `asana-new-workspace` — New Workspace Added (Polling)

Emit new event each time you add a new workspace/organization.

Full schema: https://pipedream.com/apps/asana/triggers/new-workspace.md

---

- All apps: https://pipedream.com/apps — index: https://pipedream.com/llms.txt
- Pipedream docs for agents: https://pipedream.com/docs/llms.txt
