Skip to main content

Asana integration

Create, update, and observe Asana tasks, projects, and comments across your client Asana accounts.

What it does

The Asana integration lets your agency manage tasks, projects, and comments on behalf of your clients without leaving TaskJuice. Connect a client's Asana workspace once and you can create tasks, attach them to projects, update statuses, post comments, spin up new projects, and run a workflow whenever a new task appears in a watched project or whenever an event hits Asana's Events API for a chosen resource.

Connect an Asana account

  1. Open your workspace in TaskJuice and navigate to Connections.
  2. Choose Asana and click Connect.
  3. Sign in with the Asana account whose workspace you want to manage on behalf of your client.
  4. Grant the requested scope (default, which covers all the surface area this integration uses).
  5. TaskJuice returns you to the workspace with the connection ready to use in any workflow.

To revoke access at any time, visit Asana connected apps and remove the TaskJuice entry.

Triggers

  • asana/new-task polls a chosen project's task list and fires once per cycle whose items array carries every new task observed since the previous watermark. Drop a Loop node downstream to process each task individually.
  • asana/task-changed polls Asana's Events API for a chosen resource (project, task, or other) and fires once per cycle whose items array carries every event delivered since the previous sync token, including added, changed, removed, and comment events.

Actions

  • asana/create-task creates a new task in a workspace, optionally attaching it to one or more projects, assigning a user, and setting a due date.
  • asana/get-task fetches a single task by gid, including its notes, assignee, projects, and timestamps.
  • asana/update-task updates a task's name, notes, completion status, assignee, or due date.
  • asana/delete-task deletes a task by gid.
  • asana/add-task-to-project attaches an existing task to a project, optionally inserting at a specific section or relative position.
  • asana/create-project creates a new project in a workspace (and team, when the workspace is organized as an organization).
  • asana/create-comment posts a comment story to a task.
  • asana/list-workspaces lists the workspaces the connected user belongs to, with cursor-based pagination via the next_page.offset field.

Known limitations

  • Asana exposes per-resource webhook subscriptions, but the subscription handshake requires the receiver to echo an X-Hook-Secret header back on an empty POST before any events are delivered. That handshake step is not yet part of the declarative inbound-auth envelope, so the Asana integration uses polling triggers instead. The asana/new-task and asana/task-changed polling triggers achieve the same outcome with a short interval (the default 300 second interval keeps each connection well under Asana's rate-limit budget).
  • Asana enforces a per-token rate limit of 1,500 requests per minute (and lower burst limits for free workspaces). When a 429 is returned, TaskJuice surfaces it as a retryable rate-limit error and respects Asana's recommended backoff.
  • The default OAuth scope covers everything the public REST API allows. Asana does not currently expose a more granular scope set for third-party apps.
  • The task-changed trigger relies on Asana's Events API, which returns a synthetic event log for resources that the connected user can see. Events older than the sync token's TTL (currently 24 hours) are discarded by Asana; in those cases TaskJuice resets the sync token and skips the missed events, surfacing a warning in the workflow run log.
Was this helpful?
Asana integration | TaskJuice Docs