Asana
Overview
Section titled “Overview”The Asana nodes connect your workflows to Asana through its REST API 1.0. Use them to automate task management: create a task when a lead comes in, mark it complete when a process finishes, comment the result, or list a project’s tasks to process them.
There are six nodes, one per operation:
| Node | Operation | HTTP method |
|---|---|---|
Asana: Create task (asanaCreateTask) | Create a task | POST /tasks |
Asana: Get task (asanaGetTask) | Read a task by its gid | GET /tasks/{gid} |
Asana: Update task (asanaUpdateTask) | Update fields | PUT /tasks/{gid} |
Asana: Delete task (asanaDeleteTask) | Delete a task | DELETE /tasks/{gid} |
Asana: Add comment (asanaAddComment) | Add a comment | POST /tasks/{gid}/stories |
Asana: List tasks (asanaListTasks) | List a project’s tasks | GET /tasks?project={gid} |
Credential
Section titled “Credential”The nodes use an Asana credential. Create it in Credentials → Add → Asana with these fields:
| Field | Description |
|---|---|
| Personal Access Token | Create it at app.asana.com → Settings → Apps → Developer console → Personal Access Token. Never shown in logs. |
| Default workspace (gid) | Optional. The workspace gid to use when the node doesn’t specify one. |
Authentication is Bearer (Personal Access Token). You can verify the credential with the Test button, which calls GET /users/me.
Important: gid
Section titled “Important: gid”In Asana, identifiers are called gid (they are strings, not numbers). Anything referencing a task, project, workspace or assignee uses its gid. You can get a project’s gid from its URL in Asana, or by listing resources with the HTTP node.
Asana: Create task (asanaCreateTask)
Section titled “Asana: Create task (asanaCreateTask)”| Parameter | Type | Required | Description |
|---|---|---|---|
| credentials_id | credential | Yes | Asana credential |
| name | text | Yes | Task name |
| notes | text | No | Description / notes |
| project_gid | text | No | Project gid (recommended) |
| workspace_gid | text | No | Workspace gid (if no project or credential default) |
| assignee | text | No | Assignee gid or email |
| due_on | text | No | Due date YYYY-MM-DD |
You need at least a project_gid or a workspace_gid (or a default workspace in the credential). Output: the created task, including its gid.
Asana: Get task (asanaGetTask)
Section titled “Asana: Get task (asanaGetTask)”| Parameter | Type | Required | Description |
|---|---|---|---|
| credentials_id | credential | Yes | Asana credential |
| task_gid | text | Yes | Task gid |
| opt_fields | text | No | Comma-separated fields to return |
Asana: Update task (asanaUpdateTask)
Section titled “Asana: Update task (asanaUpdateTask)”| Parameter | Type | Required | Description |
|---|---|---|---|
| credentials_id | credential | Yes | Asana credential |
| task_gid | text | Yes | Task gid |
| fields | JSON | Yes | Fields to update, e.g. {"completed":true} |
Asana: Delete task (asanaDeleteTask)
Section titled “Asana: Delete task (asanaDeleteTask)”| Parameter | Type | Required | Description |
|---|---|---|---|
| credentials_id | credential | Yes | Asana credential |
| task_gid | text | Yes | gid of the task to delete |
Asana: Add comment (asanaAddComment)
Section titled “Asana: Add comment (asanaAddComment)”| Parameter | Type | Required | Description |
|---|---|---|---|
| credentials_id | credential | Yes | Asana credential |
| task_gid | text | Yes | Task gid |
| text | text | Yes | Comment text |
The comment is added as a task story (Asana’s mechanism for comments and activity).
Asana: List tasks (asanaListTasks)
Section titled “Asana: List tasks (asanaListTasks)”| Parameter | Type | Required | Description |
|---|---|---|---|
| credentials_id | credential | Yes | Asana credential |
| project_gid | text | Yes | Project gid |
| limit | number | No | Max results (defaults to 50) |
| opt_fields | text | No | Comma-separated fields to return |
Output: the array of tasks in the project.
Example
Section titled “Example”Create a task in a project from a form:
- Node: Asana: Create task
- name:
Follow-up: {{data.customer}} - notes:
{{data.message}} - project_gid:
1201234567890123 - due_on:
2026-08-15
Output:
{ "gid": "1209876543210987", "name": "Follow-up: ACME Inc.", "resource_type": "task", "completed": false}Error handling
Section titled “Error handling”Each node classifies errors so the engine knows whether a retry makes sense:
| Situation | Retryable | What to do |
|---|---|---|
| Validation (400/412) | No | Asana returns the reason (e.g. invalid gid or missing field). Fix the data. |
| Not found (404) | No | The task or project doesn’t exist. Check the gid. |
| Authentication (401/403) | No | Invalid token or no permission on the resource. Check the credential. |
| Server (500) | Yes | Temporary Asana error; retried automatically. |
| Rate limit (429) | Yes | Asana’s Retry-After is honored and retried. |
| Network / Timeout | Yes | Transient issue; retried automatically. |
See also
Section titled “See also”- Jira (Atlassian) — the equivalent for tickets/issues.
- Retry queue (DLQ) — how failed executions are retried.
- HTTP node — for Asana endpoints not covered by these nodes.