Asana logo

Asana

Overview

Asana uses a Personal Access Token (PAT) for API authentication. Tokens are free to create on any Asana plan, and a single PAT inherits all of the user's workspace permissions — there are no per-token scopes to configure. Your plan tier controls the per-minute rate limit (150 req/min on Free, 1,500 req/min on paid plans) and which endpoints return data: portfolios, goals, status updates, project/task templates, and audit logs all require Starter, Advanced, or Enterprise.

Setup guide

Create the token

  1. Sign in at app.asana.com.
  2. Open My Apps (or your profile picture → SettingsApps tab → Manage Developer Apps).
  3. Click Create new token.
  4. Name it ingest (or similar) and copy the value immediately. Asana only shows the token once.

Add it to Ingest

In the Ingest UI under Connectors → Asana, paste the token. Ingest stores it in AWS Secrets Manager under the key token.

Mind the limits

The Ingest runtime dispatches Asana requests at 1.25 req/sec by default — comfortably under the 2.5 req/sec free-plan ceiling — and uses AIMD backoff on 429s. Errors with status 400, 401, 402 (paid feature on a free workspace), 403, or 404 are treated as fatal — the request stops without retry. 429 and 500 retry with exponential backoff.

Pick endpoints

Start with workspaces, users, projects, and tasks — they cover the bulk of what most Asana customers need. The full cascade is:

  • workspaces — root container; every other resource resolves through it
  • users, teams, team_memberships, workspace_memberships — people and group structure
  • projects, sections, tasks, subtasks — the work hierarchy
  • tags, stories, attachments — task metadata and activity
  • custom_fields, custom_field_settings — user-defined columns and per-project defaults
  • webhooks — change-event subscriptions
  • project_templates, task_templates, status_updates — Starter+ paid features
  • portfolios, portfolio_items, goals, goal_relationships, time_periods — Advanced+ reporting
  • audit_log_events — Enterprise compliance log

Supported streams

15 endpoints are available out of the box. Each endpoint syncs into its own Iceberg table in Snowflake.

EndpointDescriptionReference
attachments
attachments
project_templates
project_templates
projects
projects
sections
sections
status_updates
status_updates
stories
stories
subtasks
subtasks
tags
tags
tasks
tasks
team_memberships
team_memberships
teams
teams
users
users
webhooks
webhooks
workspace_memberships
workspace_memberships
workspaces
workspaces

Authentication

Auth type
Bearer Token
Sent as header
Authorization

Performance & limits

Rate limit
150 req/min on Free; 1,500 req/min on paid plans. Per-token, cursor-paginated at up to 100 items per page.
Automatic backoff
Ingest throttles requests to the published rate limit and retries with exponential backoff on transient errors. You don't need to handle 429s, retries, or pagination yourself.

Resources