Skip to content

Reference

Asana

Set up Asana OAuth for project and task management

Connect your users to Asana for project management, task tracking, and team collaboration.

PropertyValue
Provider IDasana
CategoryProductivity
PKCESupported
Token refreshAutomatic
Redirect URIShown in Developer Portal

Go to the Asana Developer Console

Navigate to app.asana.com/0/my-apps (My apps) and sign in.

Create a new app

Click New app, enter the app name, choose API app as the app type, accept the Asana API Terms, and click Create.

Add the redirect URL

Open the OAuth tab and add the Redirect URI from the Developer Portal under Redirect URLs (Add redirect URL).

Turn on Full permissions

Under Permission scopes, turn on Full permissions. Alter requests Asana’s default scope, which Asana only grants to an app registered for Full permissions.

Get credentials

Copy the Client ID and Client Secret from App credentials on the OAuth tab.

Open the Developer Portal

Go to portal.alterauth.com and navigate to the application.

Add Asana provider

Go to OAuth Providers > Add Provider > Asana.

Enter credentials

  • Client ID: Paste your Asana Client ID
  • Client Secret: Paste your Asana Client Secret

Select scopes

Choose the scopes the application needs.

Save

Click Save. The provider is now active.

ScopeDescription
defaultAccess to all Asana resources the user can access
  • Asana uses a single default scope that grants access to all resources the authenticated user has permissions for.
  • Asana’s granular scopes (tasks:read, projects:read, …) are mutually exclusive with default (Full permissions): an app that leaves Full permissions off is answered with forbidden_scopes at consent time. Alter requests default, so the toggle must stay on; the granular scope set is not offered.
  • See the Asana OAuth documentation for more details on authentication and available endpoints.

Alter policy rules can target these attested operations and families for operation-level and parameter-aware controls.

Operation IDFamiliesMethodProvider path
deleteAttachmentdeleteDELETE/attachments/{attachment_gid}
deleteCustomFielddeleteDELETE/custom_fields/{custom_field_gid}
deleteGoaldeleteDELETE/goals/{goal_gid}
deletePortfoliodeleteDELETE/portfolios/{portfolio_gid}
deleteProjectdeleteDELETE/projects/{project_gid}
deleteProjectBriefdeleteDELETE/project_briefs/{project_brief_gid}
deleteProjectStatusdeleteDELETE/project_statuses/{project_status_gid}
deleteSectiondeleteDELETE/sections/{section_gid}
deleteStatusdeleteDELETE/status_updates/{status_gid}
deleteStorydeleteDELETE/stories/{story_gid}
deleteTagdeleteDELETE/tags/{tag_gid}
deleteTaskdeleteDELETE/tasks/{task_gid}
deleteWebhookadmin, deleteDELETE/webhooks/{webhook_gid}
removeCustomFieldSettingForPortfolioadmin, delete, writePOST/portfolios/{portfolio_gid}/removeCustomFieldSetting
removeCustomFieldSettingForProjectadmin, delete, writePOST/projects/{project_gid}/removeCustomFieldSetting
removeDependenciesForTaskdelete, writePOST/tasks/{task_gid}/removeDependencies
removeDependentsForTaskdelete, writePOST/tasks/{task_gid}/removeDependents
removeFollowerForTaskdelete, writePOST/tasks/{task_gid}/removeFollowers
removeFollowersdelete, writePOST/goals/{goal_gid}/removeFollowers
removeProjectForTaskdelete, writePOST/tasks/{task_gid}/removeProject
removeTagForTaskdelete, writePOST/tasks/{task_gid}/removeTag
createProjectForTeamadmin, writePOST/teams/{team_gid}/projects
createProjectForWorkspaceadmin, writePOST/workspaces/{workspace_gid}/projects
createTagForWorkspaceadmin, writePOST/workspaces/{workspace_gid}/tags
createTeamadmin, writePOST/teams
createWebhookadmin, writePOST/webhooks
addDependenciesForTaskwritePOST/tasks/{task_gid}/addDependencies
addDependentsForTaskwritePOST/tasks/{task_gid}/addDependents
addFollowersForTaskwritePOST/tasks/{task_gid}/addFollowers
addProjectForTaskwritePOST/tasks/{task_gid}/addProject
addTagForTaskwritePOST/tasks/{task_gid}/addTag
addTaskForSectionwritePOST/sections/{section_gid}/addTask
createEnumOptionForCustomFieldwritePOST/custom_fields/{custom_field_gid}/enum_options
createGoalMetricwritePOST/goals/{goal_gid}/setMetric
getDependenciesForTaskreadGET/tasks/{task_gid}/dependencies
getDependentsForTaskreadGET/tasks/{task_gid}/dependents
getProjectsForTaskreadGET/tasks/{task_gid}/projects
getStoriesForTaskreadGET/tasks/{task_gid}/stories
getSubtasksForTaskreadGET/tasks/{task_gid}/subtasks
getTagsForTaskreadGET/tasks/{task_gid}/tags

Report an issue with this page

Necessary

Required for sign-in, security, authorization, and remembering your choices.

Always active

Analytics

Helps us understand which product and documentation features are useful.

Performance diagnostics

Uses performance tracing and privacy-masked session replay to diagnose problems.

You can change these choices at any time from Cookie settings.