Skip to main content

A couple of members of the Zapier Community team (myself and @Danvers) recently partnered with Asana to run a joint webinar about how to make use of the two apps together. The following goes into more detail than the brief overview we gave during the webinar.

Here are some ways you can take your Asana to the next level by using Zapier :)

1) Add tasks to projects/sections dynamically

We’ve had members ask us in the past if there’s a way to add tasks to specific projects/sections based on something that comes through the trigger step. I remember one example where the trigger was Typeform, and depending which option was selected in one of the form fields, they wanted to create the tasks dynamically in the appropriate area.

There are a few ways to accomplish this:

Option 1: Using 2+ Zaps

click to enlarge

When using multiple Zaps with Filters, you decide which conditions you want to set, and each Zap has a different outcome. In the example above, one of the could be for when nick@zapier.com is an attendee, to add a task to Project A. The other could be for when danvers@zapier.com is an attendee, and then gets added to Project B.

These Zaps are completely separate from each other, so if you need to make changes before the Asana step (Actions A and B above) you would have to add them to each Zap. And if you wanted to add tasks to Project C when jesse@zapier.com is an attendee, that would become Zap #3.

Option 2: Using 1 Zap with Paths

 

This is similar to the 2-Zap option, except each of the Zaps instead become Paths. Each Path has rules that you set, much like the Filter conditions. So you would do essentially the same thing as with the first option except everything is contained within a single Zap. You can add Paths as you need to, and anything that you need to add before that Asana step (within the Path) can be added just a single time.

For example, let’s say you wanted to use a Formatter step to extract data from the calendar event description. In the 2-Zap setup, that step would be added to each individual Zap. With the Paths, you add it once and it runs before the Paths step.

Option 3: Using 1 Zap with a Lookup Table

This option is a little trickier, but luckily we have a few articles that go into detail about how to use lookup tables.

With Formatter by Zapier

Using Google Sheets

If you need help applying the information in those articles, to Asana specifically, please let us know and we can help out :) 


2) Create tasks quickly and easily

Asana has a great Chrome extension that allows you to quickly add tasks, and in some cases it might be the preferred choice. With the Zapier Chrome extension you can perform multiple actions, across different apps. You can add a task in multiple projects/sections at the same time, then send notifications to people, or create a row in a tracking spreadsheet, etc.

We also capture the URL of the page you’re on, as well as who’s logged in. You could use that to assign tasks to that person, for example.

Using the Chrome Extension

For general information about how to use the Zapier Chrome extension, you can check out our help docs, and search Community for articles.

In the Zap

Here is the setup in the Zap. I’ve added two input fields, with each one corresponding to a different project in Asana.

click to enlarge

 

In the Chrome Extension

The Chrome extension displays the form, with those same two fields. I would write in the field that relates to the project in which I’d like to create that task.

 

Paths

Using Paths is the most straightforward way to decide which project to add tasks into.

One Path for “Webinar June 22”

Only continue if “Webinar June 22” exists, meaning is there something entered in that field.


Another Path for Podcast Aug 9

Only continue if “Podcast Aug 9” exists, meaning is there something entered in that field.


Each Path Adds Tasks to the Respective Asana Project 

You can see here how the Asana actions differ between the 2 paths.

 


 

3) Make a weekly email digest of tasks completed

Asana

This part is straightforward. You choose the Workspace and/or Project for which you want to track completed tasks.

Digest

Add a title for your digest, then decide what one entry looks like. The formatting will depend on what your delivery method is. In my case, I’m sending it via Slack so I used formatting that would work there. Choose how frequently you want to release the digest, then which day of the week and the time. I’m going for every Friday at 4pm.

Delivery Method (Slack in This Example)

I’m choosing to send myself a direct message in Slack, and the Message Text will be populated with the Current Digest field from the previous step.

What It Looks Like in Slack

I completed 3 tasks, they all got added to the digest and when it released, I received it in Slack.

 


4) Receive "task due soon" reminders  

There are a few ways to tackle this one, and each has its pros and cons.

Option 1: Use a Delay Step

This method uses 2 tasks each time it runs.

The Zap Setup

Trigger: Asana — Task Created
Action: Delay by Zapier — Delay Until (the due date minus X number of days - more info about modifying dates)
Action: App of Choice — Send Reminder

Pros and Cons

PROS

  • It’s in a single Zap
  • It’s easy to understand the setup

CONS

  • If the task due date changes, this will be inaccurate
  • Delay has a limit of 30 days, to ensure that it works

Option 2: Use Google Calendar

This method uses 2 tasks each time it runs.

Zap #1 Setup

Trigger: Asana — Task Created
Action: Google Calendar — Create Event

Zap #2 Setup

Trigger: Google Calendar — Event Start (choose how long before the event to trigger)
Action: App of Choice — Send Reminder

Pros and Cons

PROS

  • You can create events farther in the future than Delay by Zapier
  • You can manually change an event if the due date changes

CONS

  • It uses 2 different Zaps, so it’s not as self-contained
  • It requires adding another app (calendar) into the mix

Option 3: Use Asana’s Rules and Custom Fields + Webhooks by Zapier /advanced]

This method uses 3 tasks each time it runs. 

NOTE: The Asana integration does not support custom fields in the Update Task action, so in order to do it we have to use Webhooks by Zapier to access the Asana API.

The Asana Setup

Custom Fields: Create a drop-down custom field that looks something like this:

 

Rules: Create a rule like this for each of the custom fields you add:

 

I’m using “tomorrow” for when the task due date is one day away. That makes it easier when setting up the Zap, since the field tells me when the task is due and I can use the field itself in my reminder (see below).

Asana Rule Setup

Trigger: Today → Field: Today
Trigger: 1 day before → Field: Tomorrow
Trigger: 3 days before → Field: 3 Days from Now

The Zap Setup

Trigger: Asana — Updated Task in Project
Filter: Only continue if...the field contains one of the statuses
Action: App of Choice — Send Reminder
Action: Asana — Update Task (change status back to “none”)

Trigger: Asana

This one is pretty straightforward:

Filter: Only continue if…

Choose the custom field you created and add one condition for each status you created in Asana.

Action: Slack

I’m using Slack for demo purposes but use whatever you’d like :) 

NOTE: You can see why I advised to use words like “tomorrow”, “today”, etc. That way you can map the field directly into your reminder instead of worrying about Paths, filters, lookup tables, etc.

Action: Asana — Update Task

Here we have to change the Due Reminder field because if we didn’t then the next time the task was updated, the Zap would see that the field contains (the leftover) Tomorrow, Today or 3 Days from Now.

As I mentioned at the top of this section, we’ll have to use the Asana API and Webhooks by Zapier. Luckily, we have a fantastic breakdown of how to do that:

It’s quite advanced but if you’re up for the challenge, my colleague, Jared, has explained it very well 🙂 Also, I cover the Asana API a bit down below in the next section.

Pros and Cons

PROS

  • It’s in a single Zap
  • If the due date changes in Asana, this will reflect that

CONS

  • It requires the use of Rules and custom fields in Asana, AND Webhooks by Zapier so it’s quite a bit more complex
  • The Update Task step re-triggers the Zap (but no tasks will be used), which means it can make the task history more cluttered

5) Retrieve info using Asana's API 

I’ll refer you again to the excellent article by my colleague, about how to access the Asana API and get your personal access token:

This will come into play in the first action.

1. Trigger: Zapier Chrome Extension

How you set this up can vary, based on what you’re trying to do with the Asana API. It could literally be a button you push in order to retrieve data, or you could add some fields that you then add into your Zap’s actions.

2. Action: Webhooks by Zapier (and Asana API)

In this example I’m going to check a specific project to return the list of tasks that have NOT been completed AND are in my Webinar June 22 project.

You can copy what I’ve done below, to see if you’re able to retrieve incomplete tasks from your project. Make sure that everything is entered correctly.

URL: https://app.asana.com/api/1.0/tasks
Query String Params: completed_since and project.
Headers:
Authorization: Bearer followed by your access token.
Content-Type: application/json

There’s a LOT more you could do with the Asana API, which you can see here in their API docs.

3. Action: Zapier Chrome Extension

In this step we map the output of our Webhooks step into the message. You can use whatever you’d like as the title.

Here you can see that the tasks in the Done section did not show up in my search results, because they are marked as complete.

Wrapping Up

Ok, that was quite a journey! Hopefully this has helped you come up with some ideas of how you can do more with Asana by adding Zapier into the mix. We’d love to hear what you come up with!

Option 3: Use Asana’s Rules and Custom Fields + Webhooks by Zapier radvanced]

Love this one! Such a creative use of both Rules & Zapier - thanks for the inspo!


Thanks @alex :) That one took some figuring out, for sure. I thought one thing would work, then I’d encounter an obstacle. Happened a couple of times. It’s definitely not straightforward, but once you build it out, you do realize that it’s not soooo complex that only a developer can do it.


Reply