Sharing the app

Once you’ve finished developing your app, you will need to deploy it. Your deployment architecture will vary based on the complexity and features of your app. For a simple script, creating a launchd job (or Windows task scheduler) may be sufficient, whereas more complex apps or those using features like webhooks or app components, will have more sophisticated hosting, security, and uptime requirements.


Find the right balance for your app

We often find that cloud-function-based deployments, such as AWS Lambda in conjunction with Terraform or CloudFormation, provide a great middle-ground between simplicity and scalability.

Prepare the code

Before deploying the app you have created, ensure that the code is tested and debugged so that your app will be secure, scalable, and reliable.

There are various testing tools that you may want to use. Automated test suites can be used to run tests quickly and efficiently. You should also use manual testing to make sure that all the features are working as intended.

Make sure you have a plan to store your secrets securely.


Once you have tested and debugged the code, most Asana custom apps need to be hosted. While some developers choose to use their company’s on-prem solution, many use hosting providers. If your company doesn’t already have a hosting provider that you can use, here are some common choices:

Share your app locally

Share your app with the rest of your organization. If you work for a larger company, there’s a good chance that other Asana users could benefit from your app. There may also be other internal developers that have interest in using Asana’s API. The app you built could be an excellent starting point for them. Consider creating a knowledge base article or public Asana project to track resources about your app.

If your app uses app components, make sure to publish it to your domain using the developer console. Doing so will allow other users in your organization to use your app.

For more information about sharing your app, visit the manage distribution documentation.