How to create Oauth2 credentials for Asana
How to create Oauth2 credentials for Asana
Setting up Asana
In this section, we’ll go through the process of setting up Asana and creating an OAuth application.
NOTE: If you already have an Asana OAuth app and access to the Client ID and Client Secret, you can skip this section.
Step 1: Create an Asana Developer App
Head over to the Asana Developer Apps page and create a new app.
Log in with your Asana account.
Click + New App in the developer console.

Fill in the details:
App Name → e.g.,
Composio IntegrationApp Website → optional
Redirect URL → this must be set to Composio’s callback:

Save the app.
Once created, Asana will provide you with a Client ID and Client Secret. Copy them somewhere safe, as you’ll need them shortly.

Step 2: Configure OAuth Settings
Redirect URI → must exactly match the Composio callback above.
Scopes → Asana requires
defaultscopes for basic access, but you can also request granular scopes (liketasks:read,projects:read,workspaces:read) depending on the integration needs.

That’s all you need to set up on the Asana side.
Scopes supported by Composio:
Below are all the scopes that Composio supports for Asana. You should add these scopes based on your integration requirements:
These scopes define the permissions your app can request during the OAuth authorisation process. It’s essential to select only the scopes necessary for your application's functionality — adhering to the principle of least privilege.
Note: The actual scopes you should request depend on your specific integration requirements.
For example, if your app needs to read and write task data, you would include tasks:read and tasks:write in your OAuth configuration.
You can customise these scopes according to your integration needs.
Creating the Auth Config in Composio
Now that you have your OAuth credentials, let’s configure them inside Composio.
Open the Composio Dashboard.
Click Create Auth Config.

From the toolkit list, select Asana.
Ensure the authentication type is set to OAuth2.

Check Use your own developer authentication.
Click Create Asana Auth Config.

Step 3: Fill in Auth Config
Next, go to Manage Auth Config and paste in the credentials you got from Asana:
Client ID → from Asana app settings
Client Secret → from Asana app settings
Redirect URI →
Scopes → leave defaults or customize based on needs (
default,tasks:read, etc.)

Save the configuration.
Authorise and Connect
In Composio, click Connect Account on the Asana auth config.
This will redirect you to the Asana OAuth consent screen.
Log in and approve access to your Asana workspace.
On success, Composio stores the access + refresh tokens securely.

Base URL for API Calls
Finally, set the Base URL for Asana API calls to:
That’s it! Your Asana + Composio OAuth integration is now ready.
You can now copy the Auth Config ID (starting with ac_...) from Composio and use it within your application code or Secret Manager.
Setting up Asana
In this section, we’ll go through the process of setting up Asana and creating an OAuth application.
NOTE: If you already have an Asana OAuth app and access to the Client ID and Client Secret, you can skip this section.
Step 1: Create an Asana Developer App
Head over to the Asana Developer Apps page and create a new app.
Log in with your Asana account.
Click + New App in the developer console.

Fill in the details:
App Name → e.g.,
Composio IntegrationApp Website → optional
Redirect URL → this must be set to Composio’s callback:

Save the app.
Once created, Asana will provide you with a Client ID and Client Secret. Copy them somewhere safe, as you’ll need them shortly.

Step 2: Configure OAuth Settings
Redirect URI → must exactly match the Composio callback above.
Scopes → Asana requires
defaultscopes for basic access, but you can also request granular scopes (liketasks:read,projects:read,workspaces:read) depending on the integration needs.

That’s all you need to set up on the Asana side.
Scopes supported by Composio:
Below are all the scopes that Composio supports for Asana. You should add these scopes based on your integration requirements:
These scopes define the permissions your app can request during the OAuth authorisation process. It’s essential to select only the scopes necessary for your application's functionality — adhering to the principle of least privilege.
Note: The actual scopes you should request depend on your specific integration requirements.
For example, if your app needs to read and write task data, you would include tasks:read and tasks:write in your OAuth configuration.
You can customise these scopes according to your integration needs.
Creating the Auth Config in Composio
Now that you have your OAuth credentials, let’s configure them inside Composio.
Open the Composio Dashboard.
Click Create Auth Config.

From the toolkit list, select Asana.
Ensure the authentication type is set to OAuth2.

Check Use your own developer authentication.
Click Create Asana Auth Config.

Step 3: Fill in Auth Config
Next, go to Manage Auth Config and paste in the credentials you got from Asana:
Client ID → from Asana app settings
Client Secret → from Asana app settings
Redirect URI →
Scopes → leave defaults or customize based on needs (
default,tasks:read, etc.)

Save the configuration.
Authorise and Connect
In Composio, click Connect Account on the Asana auth config.
This will redirect you to the Asana OAuth consent screen.
Log in and approve access to your Asana workspace.
On success, Composio stores the access + refresh tokens securely.

Base URL for API Calls
Finally, set the Base URL for Asana API calls to:
That’s it! Your Asana + Composio OAuth integration is now ready.
You can now copy the Auth Config ID (starting with ac_...) from Composio and use it within your application code or Secret Manager.

