GoRunner docs
Search or askSearch⌘K

Asana

Create, find and update tasks and subtasks in Asana, comment on them, move them between projects and sections, tag them, attach files, and manage projects, sections, tags and users.

31 actions · 1 trigger · Sign in with Asana

Connect Asana

  1. In the sidebar, open Connections and press Add connection.
  2. Type asana and choose Asana.
  3. Press Sign in with Asana, then choose your account in Asana’s window and allow access.

Sign in with Asana, or paste a personal access token (Asana › My settings › Apps › Developer console › Create new token). A token acts as the person who made it, in the workspaces they belong to.

What if it says “Asana sign-in isn’t set up here”?

Signing in with Asana needs a Asana app on this installation, and it has none yet.

On Cloud: The sheet says “It’s set up once for everyone who uses this service, not by an organization.”

Self-hosted: An admin of the installation sees Set up Asana sign-in instead, and sets it up once for everyone. Everyone else sees who to ask.

  1. Create an app in Asana’s developer settings (Asana’s guide).
  2. In GoRunner, copy the Redirect address to add in Asana’s developer settings, and add it to the app.
  3. Paste the Client ID and Client secret, then press Save and sign in.

Set up a sign-in app

Can I use my own Asana app?

Yes. In the sheet, open Use your own Asana app and paste its Client ID and Client secret. Add the redirect address it shows to your app first. The connection then signs in through your app instead of the installation’s.

Connections says how to sign in again, rename or delete it. In a product that embeds GoRunner, Add connection can be missing: then your provider makes connections for you.

Start a workflow

Add a trigger and choose Asana. The trigger uses the same connection as the steps.

On Asana Event

Fires when Asana delivers events for the project, task, team or workspace below. Publishing the workflow registers an Asana webhook; unpublishing removes it. Every delivery is verified (X-Hook-Signature) and an unsigned or wrongly signed one is refused. Asana sends events in batches: the events of one delivery that match start one run, all of them under events, the first one's fields at the top. Asana's retry of a delivery starts no second run. Asana removes a webhook it could not deliver to for 24 hours; publish again to restore it.

Watch · Required

What to watch. A team or workspace delivers only project, goal, portfolio and membership events (Asana's rule).

Options: A project (its tasks, subtasks, comments, sections), A task (it, its subtasks and comments), A team (its projects, goals, portfolios and members), A workspace (its projects, goals, portfolios and members).

Default: A project (its tasks, subtasks, comments, sections).

Workspace · Optional

The workspace to watch, or the one to choose the project or team from.

Project · Required

The project to watch.

Shows when Watch is A project (its tasks, subtasks, comments, sections).

Task · Required

The task's id, or its link in Asana.

Shows when Watch is A task (it, its subtasks and comments).

Team · Required

The team to watch.

Shows when Watch is A team (its projects, goals, portfolios and members).

On Changes To · Optional

Which records' events start the workflow. Empty: every event of a project or task. A team or workspace takes Projects, Goals, Portfolios, Team members and Workspace members only, and needs at least one.

Options: Tasks and subtasks, Comments and activity, Sections, Attachments, Projects, Tags, Team members, Workspace members, Project members, Goals, Portfolios.

Events · Optional

Which kinds of event start the workflow. Empty: all of them. Added and removed are a record put into or taken out of another (a task into a project or section).

Options: Added, Changed, Removed, Deleted, Restored.

Changed Fields · Optional

Only changes to these fields count as Changed, comma-separated (Asana's field names). Empty: a change to any field.

Shows when Watch is A project (its tasks, subtasks, comments, sections) or A task (it, its subtasks and comments).

A later step can use its data, such as {{trigger.action}}, {{trigger.change}}, {{trigger.count}} and 5 more. See Use data from earlier steps.

Do things in Asana

Add an Asana step, choose a Resource, then an Operation. Choose a row to see its fields.

Later steps read a step’s output by its name: see Use data from earlier steps.

Limits

  • A reply from Asana can be up to 16 MB (a file download can have its own limit). A larger one fails the step; it is never cut short.
  • When Asana says to slow down (429), the step waits as long as it asks, if the step’s time allows. Otherwise it fails and says when to try again.

Not in your list? See When an app isn’t here.

For developers

In the API, which calls apps pieces, Asana is pieceId: "asana" with actionId: "asana", set by resource and an operation_… field, such as operation_attachment. Its trigger is asanatrigger / asana_event. Get an app returns every field.

It can change something outside the run (writes_external). See How versions and side effects work.

Asana › Task

Create

Workspace · Optional

The workspace: where a new task goes (unless it goes into Projects), the workspace to search, or the one an Assignee filter looks in.

Name · Required

The task's name.

Projects · Optional

Projects to put the task in: ids or links, separated by commas. With projects, the Workspace may be left empty.

Notes · Optional

The task's description, as plain text.

Assignee · Optional

Who does it: "me", an email address, or a user id.

Due On · Optional

The due date (YYYY-MM-DD). Set this or Due At, not both.

Due At · Optional

The due date and time (ISO 8601 with a zone, such as 2026-11-07T17:00:00Z).

Start On · Optional

The start date (YYYY-MM-DD). Asana needs a due date with it, later than the start.

Custom Fields · Optional

Custom field values by custom field id, such as {"1201234567890555": "High", "1201234567890556": 3}. An enum takes the option's id.

More Fields · Optional

Any other task property Asana takes, such as {"html_notes": "<body>…</body>", "resource_subtype": "milestone", "liked": true}.

Tags · Optional

Tag ids to put on the task, separated by commas.

Followers · Optional

Who follows the task: "me", email addresses or user ids, separated by commas.

Get

Task · Required

The task's id, or its link in Asana.

Fields · Optional

The properties to return, comma-separated (Asana's opt_fields), such as name,assignee.name,due_on,custom_fields. Empty returns the whole record.

Get Many

Workspace · Optional

The workspace: where a new task goes (unless it goes into Projects), the workspace to search, or the one an Assignee filter looks in.

Project · Optional

Tasks in this project.

Section · Optional

Tasks in this section of the project.

Assignee · Optional

Tasks assigned to "me", an email address or a user id, in the Workspace. Set a Project, a Section, or an Assignee with a Workspace.

Completed Since · Optional

Keep incomplete tasks and those completed since this time (ISO 8601). "now" keeps incomplete tasks only.

Modified Since · Optional

Only tasks changed since this time (ISO 8601).

Return All · Optional

Read every task, page by page (at most 2000; past that the step fails rather than stop early).

Off by default.

Limit · Optional

How many tasks to return (1–2000).

Default: 50.

Shows when Return All is off.

Fields · Optional

The properties to return, comma-separated (Asana's opt_fields), such as name,assignee.name,due_on,custom_fields. Empty returns: name, resource_subtype, completed, completed_at, assignee.name, due_on, due_at, start_on, notes, permalink_url, created_at, modified_at, parent.name, projects.name, tags.name.

Update

Task · Required

The task's id, or its link in Asana.

Name · Optional

A new name. Empty keeps the name.

Completed · Optional

Mark the task complete or incomplete.

Options: Leave as is, Mark complete, Mark incomplete.

Default: Leave as is.

Notes · Optional

The task's description, as plain text.

Assignee · Optional

Who does it: "me", an email address, or a user id.

Due On · Optional

The due date (YYYY-MM-DD). Set this or Due At, not both.

Due At · Optional

The due date and time (ISO 8601 with a zone, such as 2026-11-07T17:00:00Z).

Start On · Optional

The start date (YYYY-MM-DD). Asana needs a due date with it, later than the start.

Custom Fields · Optional

Custom field values by custom field id, such as {"1201234567890555": "High", "1201234567890556": 3}. An enum takes the option's id.

More Fields · Optional

Any other task property Asana takes, such as {"html_notes": "<body>…</body>", "resource_subtype": "milestone", "liked": true}.

Delete

Task · Required

The task's id, or its link in Asana.

Move to Section

Task · Required

The task's id, or its link in Asana.

Project · Optional

The project whose sections to choose from (it is not sent: the section belongs to it).

Section · Required

The section to move the task to. It goes to the top of the section and leaves the project's other sections.

Search

Workspace · Optional

The workspace: where a new task goes (unless it goes into Projects), the workspace to search, or the one an Assignee filter looks in.

Search Text · Optional

Words in the task's name or description. Search needs a premium Asana workspace.

Completed · Optional

Completed tasks, incomplete ones, or both.

Options: Either, Yes, No.

Default: Either.

Assignee · Optional

Assigned to any of these: "me" or user ids, separated by commas.

In Projects · Optional

In any of these projects: ids or links, separated by commas.

In Sections · Optional

In any of these sections: ids, separated by commas.

Tagged · Optional

With any of these tags: ids, separated by commas.

Subtasks · Optional

Subtasks only, top-level tasks only, or both.

Options: Either, Yes, No.

Default: Either.

Due After · Optional

Due after this date (YYYY-MM-DD).

Due Before · Optional

Due before this date (YYYY-MM-DD).

More Filters · Optional

Any other filter of Asana's task search, by its name, such as {"modified_at.after": "2026-11-01T00:00:00Z", "custom_fields.1201234567890555.value": "High"}.

Sort By · Optional

The order of the results.

Options: Last modified, Created, Due date, Completed, Likes, Best match.

Default: Last modified.

Oldest First · Optional

Ascending order. Off puts the newest (or highest) first.

Off by default.

Limit · Optional

How many tasks to return (1–100). Asana's search returns at most 100 per search, with no next page: narrow the filters to find more.

Default: 50.

Fields · Optional

The properties to return, comma-separated (Asana's opt_fields), such as name,assignee.name,due_on,custom_fields. Empty returns: name, resource_subtype, completed, completed_at, assignee.name, due_on, due_at, start_on, notes, permalink_url, created_at, modified_at, parent.name, projects.name, tags.name.

Asana › Subtask

Create

Parent Task · Required

The task's id, or its link in Asana.

Name · Required

The subtask's name.

Notes · Optional

The task's description, as plain text.

Assignee · Optional

Who does it: "me", an email address, or a user id.

Due On · Optional

The due date (YYYY-MM-DD). Set this or Due At, not both.

Due At · Optional

The due date and time (ISO 8601 with a zone, such as 2026-11-07T17:00:00Z).

Start On · Optional

The start date (YYYY-MM-DD). Asana needs a due date with it, later than the start.

Custom Fields · Optional

Custom field values by custom field id, such as {"1201234567890555": "High", "1201234567890556": 3}. An enum takes the option's id.

More Fields · Optional

Any other task property Asana takes, such as {"html_notes": "<body>…</body>", "resource_subtype": "milestone", "liked": true}.

Get Many

Parent Task · Required

The task's id, or its link in Asana.

Return All · Optional

Read every subtask, page by page (at most 2000; past that the step fails rather than stop early).

Off by default.

Limit · Optional

How many subtasks to return (1–2000).

Default: 50.

Shows when Return All is off.

Fields · Optional

The properties to return, comma-separated (Asana's opt_fields), such as name,assignee.name,due_on,custom_fields. Empty returns: name, resource_subtype, completed, completed_at, assignee.name, due_on, due_at, start_on, notes, permalink_url, created_at, modified_at, parent.name, projects.name, tags.name.

Asana › Task Comment

Add

Task · Required

The task's id, or its link in Asana.

HTML · Optional

Write the comment in Asana's rich text HTML (<b>, <i>, <a href>, <ul>, @-mentions as <a data-asana-gid>) instead of plain text.

Off by default.

Text · Required

The comment. As HTML, it is wrapped in <body> when it does not start with it.

Pin · Optional

Pin the comment to the top of the task.

Off by default.

Get Many

Task · Required

The task's id, or its link in Asana.

Include Activity · Optional

Also return Asana's activity entries (assigned, moved, due date changed). Off returns comments only.

Off by default.

Newest First · Optional

Newest first. Off lists them oldest first, as the task shows them.

Off by default.

Return All · Optional

Read every comment, page by page (at most 2000; past that the step fails rather than stop early).

Off by default.

Limit · Optional

How many comments to return (1–2000).

Default: 50.

Shows when Return All is off.

Remove

Comment · Required

The comment's id (the gid of its story). Only its author can delete it.

Asana › Task Tag

Add and Remove

Task · Required

The task's id, or its link in Asana.

Workspace · Optional

The workspace whose tags to choose from (it is not sent).

Tag · Required

The tag.

Asana › Task Project

Add

Task · Required

The task's id, or its link in Asana.

Workspace · Optional

The workspace whose projects to choose from (it is not sent).

Project · Required

The project.

Section · Optional

Put the task in this section of the project (at its end, unless a position is set).

Insert After · Optional

Place the task right after this task of the project (its id). Set this or Insert Before, not both.

Insert Before · Optional

Place the task right before this task of the project (its id).

Remove

Task · Required

The task's id, or its link in Asana.

Workspace · Optional

The workspace whose projects to choose from (it is not sent).

Project · Required

The project.

Asana › Project

Create

Workspace · Required

The workspace the project is in.

Team · Optional

The team the project belongs to. Asana requires one in an organization (a company workspace); a personal workspace has no teams.

Name · Required

The project's name.

Notes · Optional

The project's description, as plain text.

Color · Optional

The project's color. Empty leaves it as it is.

Options: Dark pink to No color (19 options).

Due On · Optional

The due date (YYYY-MM-DD).

Start On · Optional

The start date (YYYY-MM-DD). Asana needs a due date with it.

Privacy · Optional

Who can find the project. Empty leaves Asana's default (or the current setting).

Options: Everyone in the workspace, Only members.

Default View · Optional

The view the project opens in.

Options: List, Board, Calendar, Timeline.

Owner · Optional

The project's owner: "me", an email address or a user id.

More Fields · Optional

Any other project property Asana takes, such as {"html_notes": "<body>…</body>", "custom_fields": {"1201234567890555": "High"}}.

Get

Workspace · Optional

The workspace whose projects to choose from (it is not sent).

Project · Required

The project.

Fields · Optional

The properties to return, comma-separated (Asana's opt_fields), such as name,assignee.name,due_on,custom_fields. Empty returns the whole record.

Get Many

Workspace · Required

The workspace the project is in.

Archived · Optional

Which projects to list.

Options: Active projects, Archived projects, Both.

Default: Active projects.

Return All · Optional

Read every project, page by page (at most 2000; past that the step fails rather than stop early).

Off by default.

Limit · Optional

How many projects to return (1–2000).

Default: 50.

Shows when Return All is off.

Fields · Optional

The properties to return, comma-separated (Asana's opt_fields), such as name,assignee.name,due_on,custom_fields. Empty returns: name, archived, color, notes, owner.name, team.name, workspace.name, due_on, start_on, privacy_setting, permalink_url, created_at, modified_at.

Update

Workspace · Optional

The workspace whose projects to choose from (it is not sent).

Project · Required

The project.

Name · Optional

A new name. Empty keeps the name.

Notes · Optional

The project's description, as plain text.

Color · Optional

The project's color. Empty leaves it as it is.

Options: Dark pink to No color (19 options).

Due On · Optional

The due date (YYYY-MM-DD).

Start On · Optional

The start date (YYYY-MM-DD). Asana needs a due date with it.

Privacy · Optional

Who can find the project. Empty leaves Asana's default (or the current setting).

Options: Everyone in the workspace, Only members.

Default View · Optional

The view the project opens in.

Options: List, Board, Calendar, Timeline.

Owner · Optional

The project's owner: "me", an email address or a user id.

Archived · Optional

Archive the project, or bring it back.

Options: Leave as is, Archive, Restore from archive.

Default: Leave as is.

More Fields · Optional

Any other project property Asana takes, such as {"html_notes": "<body>…</body>", "custom_fields": {"1201234567890555": "High"}}.

Delete

Workspace · Optional

The workspace whose projects to choose from (it is not sent).

Project · Required

The project.

Asana › Section

Create

Workspace · Optional

The workspace whose projects to choose from (it is not sent).

Project · Required

The project.

Name · Required

The new section's name. It is added at the end of the project.

Get Many

Workspace · Optional

The workspace whose projects to choose from (it is not sent).

Project · Required

The project.

Return All · Optional

Read every section, page by page (at most 2000; past that the step fails rather than stop early).

Off by default.

Limit · Optional

How many sections to return (1–2000).

Default: 100.

Shows when Return All is off.

Asana › Tag

Create

Workspace · Required

The workspace.

Name · Required

The tag's name.

Color · Optional

The tag's color.

Options: Dark pink to No color (19 options).

Get Many

Workspace · Required

The workspace.

Return All · Optional

Read every tag, page by page (at most 2000; past that the step fails rather than stop early).

Off by default.

Limit · Optional

How many tags to return (1–2000).

Default: 50.

Shows when Return All is off.

Asana › Attachment

Upload

Task · Required

The task's id, or its link in Asana.

Attach · Optional

Upload a file (up to 100 MB, Asana's limit), or attach a link to something elsewhere.

Options: A file, A link.

Default: A file.

File · Required

Upload a file, or switch to an expression to use one from an earlier step (such as {{steps.download.result}}). Up to 100 MB.

Shows when Attach is A file.

URL · Required

The address to attach (https://…).

Shows when Attach is A link.

Name · Optional

The attachment's name in Asana. Empty uses the file's name (for a link, its address).

Get and Delete

Attachment · Required

The attachment's id.

Get Many

Task · Required

The task's id, or its link in Asana.

Return All · Optional

Read every attachment, page by page (at most 2000; past that the step fails rather than stop early).

Off by default.

Limit · Optional

How many attachments to return (1–2000).

Default: 50.

Shows when Return All is off.

Asana › User

Get

User · Required

"me" (the connected user), an email address, or a user id.

Get Many

Workspace · Required

The workspace whose people to list.

Return All · Optional

Read every user, page by page (at most 2000; past that the step fails rather than stop early).

Off by default.

Limit · Optional

How many users to return (1–2000).

Default: 50.

Shows when Return All is off.