Asana
Manage tasks, projects, subtasks, comments, tags, and users in Asana
Overview
Asana is a project management platform that helps teams organize, track, and manage their work. This tool provides full CRUD operations for tasks, projects, subtasks, task comments, task tags, task projects, and users via the Asana REST API (v1.0). Supports creating, reading, updating, and deleting tasks and projects, moving tasks between sections, searching tasks, managing comments/tags/project memberships, and listing users within workspaces.
Category: Productivity
Tool Name: asana
Version: 1
Appearance: Icon: si-asana | Color: #F06A6A
Node Type
Action — processes input items and produces output
| Direction | Port(s) |
|---|
| Input | Input |
| Output | Output, Error |
Credentials
This tool requires Asana credentials.
See the Credentials Guide for setup instructions.
Resources
| Resource | Value |
|---|
| Project | project |
| Subtask | subtask |
| Task | task |
| Task Comment | taskComment |
| Task Project | taskProject |
| Task Tag | taskTag |
| User | user |
Operations
Each resource has its own Operation list, and several resources reuse the same operation values (get, getAll, add, remove). Pick the resource first, then the operation.
| Resource | Operation | Value | Description |
|---|
| Subtask | Create | create | Create a subtask |
| Subtask | Get Many | getAll | Get many subtasks |
| Task | Create | create | Create a task |
| Task | Delete | delete | Delete a task |
| Task | Get | get | Get a task |
| Task | Get Many | getAll | Get many tasks |
| Task | Move | move | Move a task |
| Task | Search | search | Search for tasks |
| Task | Update | update | Update a task |
| Task Comment | Add | add | Add a comment to a task |
| Task Comment | Remove | remove | Remove a comment from a task |
| Task Project | Add | add | Add a task to a project |
| Task Project | Remove | remove | Remove a task from a project |
| Task Tag | Add | add | Add a tag to a task |
| Task Tag | Remove | remove | Remove a tag from a task |
| User | Get | get | Get a user |
| User | Get Many | getAll | Get many users |
| Project | Create | create | Create a new project |
| Project | Delete | delete | Delete a project |
| Project | Get | get | Get a project |
| Project | Get Many | getAll | Get many projects |
| Project | Update | update | Update a project |
Parameters
Every Asana identifier is a GID — the numeric ID Asana puts in the object’s URL. All identifier fields accept expressions, so you can feed them from an upstream item.
Subtask: Create
| Parameter | Type | Required | Default | Description |
|---|
Parent Task ID (taskId) | string | Yes | — | The GID of the parent task. |
| Name | string | Yes | — | The name of the subtask to create. |
Additional Fields (otherProperties) | collection | No | {} | Optional properties to set on the new subtask. |
| — Assignee | string | No | — | User GID to assign to the subtask. Find in Asana: click user profile > copy GID from URL. |
| — Assignee Status | options | No | inbox | Set Assignee status on the subtask (requires Assignee). |
| | | | Options: inbox, today, upcoming, later |
| — Completed | boolean | No | false | Whether the subtask should be marked completed. |
| — Due On | string | No | — | Date on which the subtask is due (YYYY-MM-DD). |
| — Liked | boolean | No | false | Whether the subtask is liked by the authorized user. |
| — Notes | string | No | — | The subtask notes. |
| — Workspace | string | No | — | The workspace GID to create the subtask in. Find in Asana: Admin Console > copy workspace GID from URL. |
Subtask: Get Many
| Parameter | Type | Required | Default | Description |
|---|
Parent Task ID (taskId) | string | Yes | — | The GID of the parent task. |
| Return All | boolean | No | false | Whether to return all results or only up to a given limit. |
| Limit | number | No | 100 | Max number of results to return. (shown when Return All is false) |
| Options | collection | No | {} | Query options for the request. |
| — Fields | string | No | gid,name,resource_type | Comma-separated list of field names to return (e.g., “gid,name,completed,assignee”). Use ”*” for all fields. |
| — Pretty | boolean | No | false | Whether to provide “pretty” output. |
Task: Create
| Parameter | Type | Required | Default | Description |
|---|
| Workspace | string | Yes | — | The workspace GID to create the task in. Find in Asana: Admin Console > copy workspace GID from URL. |
| Name | string | Yes | — | The name of the task to create. |
Additional Fields (otherProperties) | collection | No | {} | Optional properties to set on the task. |
| — Assignee | string | No | — | User GID to assign to the task. |
| — Assignee Status | options | No | inbox | Set Assignee status on the task (requires Assignee). |
| | | | Options: inbox, today, upcoming, later |
| — Completed | boolean | No | false | Whether the task should be marked completed. |
| — Due On | string | No | — | Date on which the task is due (YYYY-MM-DD). |
| — Liked | boolean | No | false | Whether the task is liked by the authorized user. |
| — Notes | string | No | — | The task notes. |
| — Projects | string | No | — | Comma-separated list of project GIDs to add the task to. |
Task: Delete
| Parameter | Type | Required | Default | Description |
|---|
Task ID (id) | string | Yes | — | The GID of the task. |
Task: Get
| Parameter | Type | Required | Default | Description |
|---|
Task ID (id) | string | Yes | — | The GID of the task. |
Task: Get Many
| Parameter | Type | Required | Default | Description |
|---|
| Return All | boolean | No | false | Whether to return all results or only up to a given limit. |
| Limit | number | No | 100 | Max number of results to return. (shown when Return All is false) |
Filters (filters) | collection | No | {} | Filter criteria for tasks. At least one of project, section, or workspace+assignee is required. |
| — Assignee | string | No | — | User GID to filter by. Note: If you specify assignee, you must also specify the workspace. |
| — Fields | string | No | gid,name,resource_type | Comma-separated list of fields to return (e.g., “gid,name,completed”). Use ”*” for all fields. |
| — Pretty | boolean | No | false | Whether to provide “pretty” output. |
| — Project | string | No | — | Project GID to filter tasks on. |
| — Section | string | No | — | Section GID to filter tasks on. |
| — Workspace | string | No | — | Workspace GID to filter tasks on. Note: If you specify workspace, you must also specify the assignee. |
| — Completed Since | string | No | — | Only return tasks completed since this time (ISO 8601 format, e.g. 2026-01-01T00:00:00Z). |
| — Modified Since | string | No | — | Only return tasks modified since this time (ISO 8601 format). |
Task: Move
| Parameter | Type | Required | Default | Description |
|---|
Task ID (id) | string | Yes | — | The GID of the task to move. |
Project ID (projectId) | string | Yes | — | The project GID containing the target section. |
| Section ID | string | Yes | — | The section GID to move the task to. Find in Asana: open the project > click section > copy GID from URL. |
Task: Search
| Parameter | Type | Required | Default | Description |
|---|
| Workspace | string | Yes | — | The workspace GID to search tasks in. |
Filters (searchTaskProperties) | collection | No | {} | Search criteria. |
| — Completed | boolean | No | false | Whether the task is marked completed. |
| — Text | string | No | — | Text to search for in name or notes. |
Task: Update
| Parameter | Type | Required | Default | Description |
|---|
Task ID (id) | string | Yes | — | The GID of the task. |
Additional Fields (otherProperties) | collection | No | {} | Optional properties to set on the task. |
| — Assignee | string | No | — | User GID to assign to the task. |
| — Assignee Status | options | No | inbox | Set Assignee status on the task (requires Assignee). |
| | | | Options: inbox, today, upcoming, later |
| — Completed | boolean | No | false | Whether the task should be marked completed. |
| — Due On | string | No | — | Date on which the task is due (YYYY-MM-DD). |
| — Name | string | No | — | The new name of the task. |
| — Liked | boolean | No | false | Whether the task is liked by the authorized user. |
| — Notes | string | No | — | The task notes. |
| — Projects | string | No | — | Comma-separated list of project GIDs to add the task to. |
| Parameter | Type | Required | Default | Description |
|---|
Task ID (id) | string | Yes | — | The GID of the task to add the comment to. |
| Is Text HTML | boolean | No | false | Whether the comment body is HTML or plain text. |
| Text | string | Yes | — | The comment text (plain text or HTML depending on “Is Text HTML” setting). |
Additional Fields (additionalFields) | collection | No | {} | Optional comment properties. |
| — Pinned | boolean | No | false | Whether to pin the comment. |
| Parameter | Type | Required | Default | Description |
|---|
Comment ID (id) | string | Yes | — | The GID of the comment/story to remove. |
Task Project: Add
| Parameter | Type | Required | Default | Description |
|---|
Task ID (id) | string | Yes | — | The GID of the task to add the project to. |
| Project | string | Yes | — | The project GID where the task will be added. |
Additional Fields (additionalFields) | collection | No | {} | Optional placement for the task inside the project. |
| — Insert After | string | No | — | A task GID in the project to insert the task after, or null to insert at the beginning. |
| — Insert Before | string | No | — | A task GID in the project to insert the task before, or null to insert at the end. |
| — Section | string | No | — | A section GID to insert the task into. The task will be inserted at the bottom of the section. |
Task Project: Remove
| Parameter | Type | Required | Default | Description |
|---|
Task ID (id) | string | Yes | — | The GID of the task to remove from the project. |
| Project | string | Yes | — | The project GID to remove the task from. |
Task Tag: Add
| Parameter | Type | Required | Default | Description |
|---|
Task ID (id) | string | Yes | — | The GID of the task. |
| Tag | string | Yes | — | The tag GID. Find in Asana by navigating to a tag and copying the GID from the URL. |
Task Tag: Remove
| Parameter | Type | Required | Default | Description |
|---|
Task ID (id) | string | Yes | — | The GID of the task. |
| Tag | string | Yes | — | The tag GID. Find in Asana by navigating to a tag and copying the GID from the URL. |
User: Get
| Parameter | Type | Required | Default | Description |
|---|
| User ID | string | Yes | — | An identifier for the user. Can be an email address, user GID, or the keyword “me” for the current user. |
User: Get Many
| Parameter | Type | Required | Default | Description |
|---|
| Workspace | string | Yes | — | The workspace GID to get users from. |
Project: Create
| Parameter | Type | Required | Default | Description |
|---|
| Name | string | Yes | — | The name of the project to create. |
| Workspace | string | Yes | — | The workspace GID to create the project in. |
| Team | string | Yes | — | The team GID this project will be assigned to. Find in Asana: Team Settings > copy GID from URL. |
Additional Fields (additionalFields) | collection | No | {} | Optional project properties. |
| — Color | options | No | none | Color of the project. |
| | | | Options: dark-blue, dark-brown, dark-green, dark-orange, dark-pink, dark-purple, dark-red, dark-teal, dark-warm-gray, light-blue, light-green, light-orange, light-pink, light-purple, light-red, light-teal, light-warm-gray, light-yellow, none |
| — Due On | string | No | — | The day on which this project is due (YYYY-MM-DD). |
| — Notes | string | No | — | Basic description or notes for the project. |
| — Privacy Setting | options | No | private | The privacy setting of the project. |
| | | | Options: private, private_to_team, public_to_workspace |
Project: Delete
| Parameter | Type | Required | Default | Description |
|---|
Project ID (id) | string | Yes | — | The GID of the project. |
Project: Get
| Parameter | Type | Required | Default | Description |
|---|
Project ID (id) | string | Yes | — | The GID of the project. |
Project: Get Many
| Parameter | Type | Required | Default | Description |
|---|
| Workspace | string | Yes | — | The workspace GID to list projects from. |
| Return All | boolean | No | false | Whether to return all results or only up to a given limit. |
| Limit | number | No | 100 | Max number of results to return. (shown when Return All is false) |
Additional Fields (additionalFields) | collection | No | {} | Optional listing filters. |
| — Archived | boolean | No | false | Whether to only return archived projects. |
| — Team | string | No | — | Team GID to filter projects by. |
Project: Update
| Parameter | Type | Required | Default | Description |
|---|
| Workspace | string | Yes | — | The workspace GID. |
Project ID (id) | string | Yes | — | The GID of the project to update. |
| Update Fields | collection | No | {} | Project fields to change. Only the fields you add are sent. |
| — Color | options | No | none | Color of the project. |
| | | | Options: dark-blue, dark-brown, dark-green, dark-orange, dark-pink, dark-purple, dark-red, dark-teal, dark-warm-gray, light-blue, light-green, light-orange, light-pink, light-purple, light-red, light-teal, light-warm-gray, light-yellow, none |
| — Due On | string | No | — | The day on which this project is due (YYYY-MM-DD). |
| — Name | string | No | — | The name of the project. |
| — Notes | string | No | — | Basic description or notes for the project. |
| — Owner | string | No | — | The user GID of the new owner for this project. |
| — Privacy Setting | options | No | private | The privacy setting of the project. |
| | | | Options: private, private_to_team, public_to_workspace |
| — Team | string | No | — | The team GID to assign this project to. |
All Operations
| Parameter | Type | Required | Default | Description |
|---|
| Max Concurrency | number | No | 5 | Maximum number of items to process concurrently. Asana rate limits apply, so keep this low. |
Output Data
The Asana response is merged into the output item’s JSON at the top level — the returned object’s fields sit alongside the fields the input item already carried, so downstream nodes address them directly ({{ $json.gid }}) rather than through a wrapper property. Everything else on the item passes through, and binary data is forwarded unchanged. A response field with the same name as an existing item field overwrites it.
How many items you get back depends on the operation:
| Operations | Output |
|---|
| Get Many on subtasks, tasks, users and projects, and task Search | One output item per record returned — a page of 50 tasks becomes 50 output items from a single input item. A response with no records produces no output items for that input. |
| Create, Get and Update on tasks, subtasks and projects; Task Comment Add; User Get | One output item carrying the fields of the returned Asana object. |
| Task Delete; Task Move; Task Comment Remove; Task Project Add and Remove; Task Tag Add and Remove; Project Delete | One output item carrying success: true — these calls confirm the change instead of returning a record. |
List operations return the fields named by the Fields option (opt_fields), which defaults to gid,name,resource_type; use * to ask for the full task field set.
Usage Examples
- Create a new task in Asana workspace
- Get all tasks assigned to a user in a project
- Update task status to completed
- Add a comment to an Asana task
- Move a task to a different section
- Search for tasks in a workspace
- Create a new Asana project under a team
- Add a tag to a task
- Get all users in a workspace
Example Configuration
Create a task in a workspace, assigned and scheduled for today:
{
"type": "asana",
"parameters": {
"resource": "task",
"operation": "create",
"workspace": "1234567890123456",
"name": "{{ $json.title }}",
"otherProperties": {
"assignee": "9876543210987654",
"assignee_status": "today",
"due_on": "{{ $datetime.date }}",
"notes": "Filed automatically from {{ $json.source }}",
"projects": "1111222233334444"
}
}
}
List up to 50 tasks in a project, asking for the fields you actually need:
{
"type": "asana",
"parameters": {
"resource": "task",
"operation": "getAll",
"returnAll": false,
"limit": 50,
"filters": {
"project": "1111222233334444",
"modified_since": "2026-01-01T00:00:00Z",
"opt_fields": "gid,name,completed,due_on,assignee"
}
}
}
Add a pinned comment to the task an upstream node just returned:
{
"type": "asana",
"parameters": {
"resource": "taskComment",
"operation": "add",
"id": "{{ $json.gid }}",
"isTextHtml": false,
"text": "Build {{ $json.buildNumber }} passed — moving to review.",
"additionalFields": {
"is_pinned": true
}
}
}
Move a task into another section of its project:
{
"type": "asana",
"parameters": {
"resource": "task",
"operation": "move",
"id": "{{ $json.gid }}",
"projectId": "1111222233334444",
"section": "5544332211009988"
}
}
Create a project under a team, visible to the whole workspace:
{
"type": "asana",
"parameters": {
"resource": "project",
"operation": "create",
"name": "Q1 Marketing Campaign",
"workspace": "1234567890123456",
"team": "7788990011223344",
"additionalFields": {
"color": "dark-green",
"due_on": "2026-03-31",
"notes": "Launch plan and asset tracking",
"privacy_setting": "public_to_workspace"
}
}
}
Error Handling
| Mode | Behavior |
|---|
| stop | Halts workflow on first error |
| continue | Skips failed items, passes successful ones through |
| errorPort | Routes failed items to Error output port |
Tips
Manage Asana tasks, projects, subtasks, comments, tags, and users via the Asana REST API.