Skip to main content

Asana

Visualize Asana workspaces, teams, users, projects, and project memberships, map Asana users to employees, and monitor changes to Asana users through queries and alerts.

Installation​

This integration uses OAuth 2.0 with a refresh token. You first register an OAuth application in Asana, then authorize JupiterOne against it so JupiterOne can refresh access tokens as needed.

Creating an instance requires the following:

  • An Asana user account with permission to create OAuth applications in the Asana developer console.
  • An OAuth application registered in Asana, granted the read scopes this integration needs: users:read, workspaces:read, teams:read and projects:read. Project memberships are read through an endpoint that Asana does not gate with a dedicated scope, so the application must be granted Full permissions to ingest them.
note

Granting Full permissions satisfies every scope above, including the project-memberships endpoint. You can instead select the individual read scopes, but project memberships will not be ingested without Full permissions.

Register an Asana OAuth application​

  1. Sign in to Asana and open the developer console (My apps). See Asana's OAuth guide for registering an application, then select Create new app.
  2. Provide an App name and a Redirect URL. Non-native applications must use an https callback URL.
  3. In the sidebar, open OAuth and then Permission scopes. Toggle on Full permissions, or select the specific read scopes users:read, workspaces:read, teams:read and projects:read. See the Asana OAuth scopes documentation for details.
  4. On the OAuth tab, note the Client ID and Client Secret. Obtain a refresh token by completing the OAuth authorization-code flow described in the Asana OAuth documentation.

Configure the integration in JupiterOne​

To install the Asana integration in JupiterOne, navigate to the Integrations tab in JupiterOne and select Asana. Click New Instance to begin configuring your integration.

  • The Account Name used to identify the Asana account in JupiterOne. Ingested entities will have this value stored in tag.AccountName when the AccountName toggle is enabled.
  • Description to assist in identifying the integration instance, if desired.
  • Polling Interval that you feel is sufficient for your monitoring needs. You may leave this as DISABLED and manually execute the integration.

After clicking Create, you'll be prompted to authorize JupiterOne with Asana. Completing the authorization process will finalize the integration setup.

Next steps​

Now that your integration instance has been configured, it will begin running on the polling interval you provided, populating data within JupiterOne. Continue on to our Instance management guide to learn more about working with and editing integration instances.