Asana is a workplace content management system (CMS) designed to help a wide range of companies achieve their organizational needs. Asana is customizable and allows users to break down projects into tasks and set clear goals for teams. It organizes work so teams know what to do, why it matters, and how to get it done. Visit Asana to learn more.
How to connect
- On the My pipelines page, click Create pipelines. Enter name, description, and tag fields and click the Create Pipelines button. The pipelines wizard displays:
- From the wizard you choose the connections for the first steps of your pipeline. When you choose a type, you'll add the channels and steps for your first steps. You can always add more steps later. A Triggered pipeline is started by a specific event in real-time. A Scheduled pipeline will start according to a schedule. A Manual pipeline only starts manually. Once you've completed the wizard, you'll be prompted for connection detail, if necessary. If you are an experienced builder, click the Start from scratch button and then from the right side of the page, choose the All to list all available channels.
- Expand Asana in the list of channels on the right side of the page and click Connect to Asana.
- In the pop-up window, click Connect to Asana.
- You will be redirected to the Asana Login page and asked to log in with Google or with email and password.
How to reconnect the Asana channel
You may need to reconnect your account to a channel. Reasons may be (but not limited to):
If you need to connect a different account.
Authorization updates, such as a changed password.
Editing the access rights that Pipelines has to the channel.
- Select a pipeline that already has Asana in it.
- Open a step containing Asana .
- Under account, select Connect (or reconnect) and follow the process above, How to connect.
The steps you can use with Asana fall into four categories: Projects, Tasks, Comments, and Attachments.
Note: The Asana channel does’t have access to custom fields.
Note: You cannot use jinja expressions in trigger conditions unless explicitly specified as possible.
|Action||Create a Project||
Creates a new Project in the given workspace.
|Action||Update a a Project||
Updates a Project's attributes - name, color, notes, archived status.
|Action||Delete a Project||
Deletes a Project.
|Action||Look Up Project||Returns a single Project for the selected Project ID.|
Searches the selected workspace and team for Projects and returns a list applying optional filter conditions.
Triggers when a new Task is created in the given workspace.
|Trigger||Task Updated||Triggers when a Task is updated in the given workspace.|
|Trigger||Task Moved||Triggers when a Task is moved in a different section in the given workspace.|
|Trigger||Task Tagged||Triggers when a task is tagged.|
|Trigger||Task Untagged||Triggers when a task is untagged.|
|Action||Create a Task||Creates a new Task.|
|Action||Update a Task||Updates an existing Task.|
|Action||Delete a Task||Deletes an existing Task.|
|Action||Add or Move to a Project or Section||Adds or moves a Task to a project or a section within a Project.|
|Action||Fetch a Linked Task||Fetches a linked Task.|
|Action||Look Up a Task||Returns a single Task for the selected Task ID.|
|Query||Advanced Search||Searches for Tasks in a workspace applying filter conditions. Equivalent to Asana web app’s advanced search feature. This step is available only for Asana Premium users and returns up to 100 search results.|
|Query||List Tasks in a Section||Lists Tasks in a section.|
|Query||Search Tasks||Returns a list of Tasks within the given Project, applying optional filter conditions.|
|Trigger||Comment Posted||Triggers when a Comment is posted in the selected Project.|
|Action||Post a Comment||Posts a Comment in the selected Task.|
|Action||Update a Comment||Updates a Comment.|
|Action||Delete a Comment||Deletes a Comment.|
|Action||Reply to a Comment||Replies to a Comment.|
|Action||Look up a Comment||Looks up a Comment by ID.|
|Query||Search Comments||Searches the selected Project for Comments and returns a list.|
|Trigger||Attachment Uploaded||Triggers when an Attachment is uploaded in the selected Project.|
|Action||Add an Attachment||Attaches a file to an existing Task.|
|Action||Delete an Attachment||Deletes an Attachment.|
|Action||Look Up Attachment||Looks up an Attachment by ID.|
To protect the stability of the API and keep it available to all users, Asana enforces multiple kinds of rate limiting. Requests that hit any of the rate limits will receive a 429 Too Many Requests response, which contains the standard Retry-After header indicating how many seconds the client should wait before retrying the request.
Note: Limits are allocated per authorization token. Different tokens have independent limits.
Standard Rate Limits
The standard rate limiter imposes a quota on how many requests can be made in a given window of time. Asana’s limits are based on minute-long windows, and differ depending on whether the domain is premium or not.
|DOMAIN TYPE||MAXIMUM REQUESTS PER MINUTE|
In addition, calls to the search API are limited to 60 requests per minute. The duplication endpoints are limited to 5 concurrent jobs.
Concurrent Request Limits
Asana also limits the number of requests being handled at any given instant.
|REQUEST TYPE||MAXIMUM CONCURRENT REQUESTS|
For example, if you have 50 read requests in-flight and attempt to make another read request, the API will return a 429 Too Many Requests error. The read and write limits are independent of each other, so the number of read requests you make at one time will have no impact on the number of write requests you can make.
For more detailed information about Asana restrictions and limitations see Rate Limits.
The following are some example of using the Asana channel.
Asana tasks from Quickbase escalation app
We have an example app in Quickbase that we extract newly created records representing Pipelines channels to be developed and we want to create three corresponding tasks in an Asana project. In the following example we will show you step by step how to create this pipeline.
Drag and drop the Record Created Trigger from the Quickbase channel and attach it to the pipeline.
Account - Select the Quickbase account for this trigger
Table - The table containing the channels data
Fields for Subsequent Steps - select the table fields (Name, Assignee, Due date, etc.)
Add a Create Task Action from the Asana channel and attach it to the pipeline.
Account - select the Asana account to use for this trigger.
Workspace - select the Asana Workspace for which you want to specify the trigger
Project - select the Asana Project for which you want to specify the trigger
You could populate the next fields with data from the object from the first step.
Name - the name of the Task you want to create
Notes - the description of the Task you want to create
Due on - the due date of the task
Repeat the second step two more times for tasks about research and documentation. After triggering the pipeline the Activity log displays:
And in the Asana project we can see that all tasks have been created:
Asana file transfer to Google Drive
It would be convenient every time we upload an attachment to a particular task to transfer that file to a folder in Google Drive. In the following example we will show you step by step how to create this pipeline.
Drag and drop the Attachment Uploaded Trigger from the Asana channel and attach it to the pipeline.
Account - select the Asana account to use for this trigger.
Workspace - select the Asana Workspace for which you want to specify the trigger.
Project - select the Asana Project for which you want to specify the trigger.
Fields for Subsequent Steps - select the table fields.
Click on Add conditions and select Task->Name, select equals and specify the task name that you want to transfer the files
Drag and drop the Upload a File Action from the Google Drive channel and attach it to the pipeline.
Account - select the Google Drive account to use for this trigger.
URL - drag and drop the File transfer handle field.
Parent - select the Google Drive folder to which you want to transfer the files.
Name - drag and drop the Name field for the task.
After triggering the pipeline the Activity log displays:
Now, when we upload an attachment, it is transferred to the specified Google Drive folder.