Build custom integrations
Asana was designed to be simple and flexible, but powerful enough for any team and its workflows. For teams wanting to track even more, and track different kinds of work, you can look into building custom integrations using the Asana API. In fact, that’s how a lot of our current integrations came to be!
Why build a custom integration?
Whether you’re a graphic designer or a product engineer, you can benefit from a custom integration (even if you’re not the one building it). Custom integrations are a way to further tailor your Asana experience to incorporate even more workflows and data, automate processes, and build different functionality.
Custom integrations allow you to:
- Integrate with indispensable tools—For example, if your sales team works out of a separate CRM, you can seamlessly communicate between Asana and the CRM without disrupting data or migrating it.
- Transition teammates more easily into Asana—Integrations make it clear how information and work translate into Asana, while relying on the familiarity of a tool they’re using.
- Work with other teams not yet in Asana—If your entire organization isn’t on board yet, that doesn’t mean their work and data is lost to you. You can connect to their tools and databases. It might even help them see the value of Asana for their own team!
- Build different functionality—We’ve built Asana as it is for clear reasons, but you have the freedom to add features to it that fit your needs. You don’t have to be limited by Asana not having X feature—you can build it!
- Drive the value of Asana further—If you need more buy-in with decision makers or executives, custom integrations can demonstrate the value of Asana once it’s “out of the box,” to make it a tool refined for your entire organization. You can use the API for custom reporting, too.
Building a custom integration
Custom Asana integrations are based on three different operations:
- Getting data into Asana from other apps—this is useful if the data represents something you will continue to work on (e.g., webforms, leads, alerts).
- Getting data out of Asana into other apps—you can use this for things like generating reports.
- Bi-directional data flows between Asana and another app—you can integrate a workflow with another app, and set triggers between them. For example, you can trigger a new task creation based on work in another app, then mark the task complete in Asana when done.
Getting started with integrations
While there isn’t a uniform way to create your integration, there are a few set-up steps and considerations to help you get started:
- Authenticate your access to the API in one of two ways:
- Register an OAuth application. You can do this in the Apps tab of My Profile Settings in Asana. This allows other Asana users to permit your app to access their data in Asana on their behalf.
- Create a personal access token. This is for more personal use, like if you wanted to back up all your own data. Any actions you take will be performed by your user.
- Consult our API reference to read the documentation and play around with the explorer to see what the possibilities are.
- Choose your programming language and check out our client libraries for pre-built code that you can start working with.
Once you’re up and running, you can begin “talking” to Asana’s API and playing around.
While your own uses might vary, here are a few examples to demonstrate how others have created their own custom integrations, and what they were able to achieve.
- Turn user actions from one app into Asana tasks.
- Turn Asana tasks into actions in another app.
- Create Asana tasks without leaving an app.
- Display Asana tasks in another app.
From here, you can really start to leverage the power of Asana and build these simple actions into entire workflows.