Do API calls to Asana with make, Zapier...

I can talk all day about how great the Asana API is. That’s a highly under-rated feature, that most people overlooks because they don’t have the skills to understand how it works and don’t know how to code. Which is perfectly understandable!

But did you know that there is actually an easy way in? Instead of writing code, you can use a tool like Zapier (or equivalent) to do calls to the API. Let me explain.

An automation in Zapier is made of 2 things: trigger(s) and action(s). Asana has created a few triggers and a few actions. You can’t really easily create your own triggers, you are stuck with Asana’s. But with actions, you can create your own. For example, let’s say that a “Duplicate task” action doesn’t exist in Zapier: no problem, you can use an action of type “Webhooks by Zapier” and call the Asana API directly.

The attached image is an example. I won’t lie: this is not straightforward, but that’s definitely the easiest way in, and we can help by guiding you!

Let me know in the comments if you are interested, let’s get that code vibe going!

5 Likes

I’m going down the exact path you suggest. I’m not a coder, though I am pretty technical in many other computer productivity realms. I have been using Make.com to drive Asana + Harvest (time tracking) Airtable (reference data storage & data syncing hub) + Dropbox to build a Project kickoff workflow that builds my Asana project, customized per client using client-specific data stored in Airtable bases) then builds an associated Harvest project for tracking time to the project and finally builds a folder structure for my working files in Dropbox, following client-specific templates. To trigger the workflow, I made an Airtable Form that collects project-specific data and fires an email to the Make.com web hook address that kicks off everything else in Make.

I use Asana, Dropbox & Harvest API calls to get the desired functionality. Also, plenty of Make.com standard modules for all the services.

This was not easy for me, but I stuck with it, and I’m so happy I saw this through to completion.

Now I’m getting ready for phase 2 of this project: Replacing Harvest with Toggl for time tracking. Toggl integrates much better with Asana, and offers Tagging of time entries allowing more meaningful data to be recorded for reporting purposes. I also need to find a way to collate Toggl time into a format that can be used to generate a QuickBooks Online invoice via Make.com automation. Perhaps another opportunity to use API calls?.

3 Likes

I have been using Zapier a lot to automate process on two or more sites, including Asana.

Unfortunately, as I have set-up Paths (an if/else decision process for Zapier), I am unable to share the Zapier template to get the code vibe going.

Here’s the outline of the thought process.

Thanks for sharing how you tie Asana together with other services. I’d love to see other people’s examples. This one has reminded me to consider using a Form to input data into my automation workflow. I’ve wondered how to supply the various date periods for billing each customer to the automation workflow. I kicked around the idea of setting default billing periods in my central Airtable record for each client. However, that removes any flexibility to bill periods that don’t match the default period. Some are weekly. Some are monthly. Sometimes I do a custom date range for one-off special projects. Even though I mostly bill the default time periods, special situations will come up and I need to allow for them.

Are there form builders that support making API calls to services? I’d love to populate the form with hours available for billing from my Toggl database.

Wish there was a way to create custom triggers in Zapier for certain Asana actions. E.g., anytime a specific custom field dropdown was changed, trigger the Zap.

I realize we can faux create that, by having an Asana Rule do something based on a dropdown change, that could then later trigger a Zap, but it’s too hacky at times. And even then, the Zap would only run once, for that specific task. :frowning: