Skip to main content

Asana

Asana is a work management platform that helps teams organize, track, and manage their projects and tasks, connecting strategic goals with day-to-day work while leveraging AI to improve productivity and collaboration.

Asana icon

Power end-to-end data operations for your Asana API with Nexla. Our bi-directional Asana connector is purpose-built for Asana, making it simple to ingest data, sync it across systems, and deliver it anywhere — all with no coding required. Nexla turns API-sourced data into ready-to-use, reusable data products and makes it easy to send data to Asana or any other destination. With comprehensive monitoring, lineage tracking, and access controls, Nexla keeps your Asana workflows fast, secure, and fully governed.

Features

Type: API

SourceDestination

  • Seamless API Integration: Connect to any endpoint as source or destination without coding, with automatic data product creation
  • Visual Composition & Chaining: Build complex integrations using visual templates, chain API calls, and compose workflows with data validation and filtering
  • API Proxy: Expose curated slices of your data securely with a secure and customizable API proxy that validates and transforms data on the fly
  • Request optimization with intelligent batching, retry, and caching to minimize API calls and costs

Prerequisites

Before creating an Asana credential in Nexla, you need to set up an OAuth 2.0 integration in the Asana Developer Portal and obtain the required credentials. This integration enables programmatic access to the Asana API without requiring user interaction for each request.

OAuth 2.0 Setup

OAuth 2.0 authentication provides secure, token-based access to the Asana API with automatic token refresh. The OAuth flow allows Nexla to access your Asana account on your behalf. For detailed information about setting up OAuth 2.0 authentication, see the Asana API documentation.

  1. Access Asana Developer Portal: Sign in to your Asana account and navigate to the Asana Developer Portal.

  2. Create an OAuth App: Create a new OAuth app in the developer console. This will generate a Client ID and Client Secret that you'll use for authentication.

  3. Configure OAuth Settings: Configure your OAuth app settings, including redirect URIs and scopes. The redirect URI should match the callback URL provided by Nexla during the OAuth flow.

  4. Obtain Client Credentials: Copy your Client ID and Client Secret from the OAuth app settings. These credentials are used to authenticate with the Asana OAuth 2.0 service.

Authenticate

Create a credential in Nexla

  1. After selecting the data source/destination type, click the Add Credential tile to open the Add New Credential overlay.

New Credential Overlay – Asana

AsanaCred.png
  1. Enter a name for the credential in the Credential Name field and a short, meaningful description in the Credential Description field.

  2. Complete the OAuth authorization flow by following the prompts to authorize Nexla to access your Asana account. The OAuth flow will automatically handle token exchange and refresh. During the authorization process, you will be redirected to Asana to grant permissions to Nexla.

    The OAuth 2.0 flow provides secure, token-based access to the Asana API with automatic token refresh. The authorization process requires you to sign in to your Asana account and grant permissions to Nexla. For detailed information about Asana API authentication, see the Asana API documentation.

  3. Click the Save button at the bottom of the overlay. The newly added credential will now appear in a tile on the Authenticate screen during data source/destination creation.

Use as a data source

To create a new data flow, navigate to the Integrate section, and click the New Data Flow button. Select the Asana connector tile, then select the credential that will be used to connect to the Asana instance, and click Next; or, create a new Asana credential for use in this flow.

Endpoint templates

Nexla provides pre-built templates that can be used to rapidly configure data sources to ingest data from common Asana endpoints. Select the endpoint from which this source will fetch data from the Endpoint pulldown menu. Available endpoint templates are listed in the expandable boxes below.

Fetch Tasks for Project

This endpoint retrieves the compact task records for all tasks within the given project, ordered by their priority within the project. Use this endpoint when you need to access task data for a specific Asana project.

  • Select the Asana project from which you want to retrieve tasks from the Project ID dropdown menu. The dropdown will display all available projects in your Asana account, showing project names with their corresponding global IDs (gid). The Project ID field uses the project's global ID (gid) as the value.
  • The endpoint uses Asana's next page URL pagination mechanism to handle large datasets efficiently, automatically fetching additional pages as needed. By default, the endpoint retrieves up to 100 tasks per page using the limit=100 query parameter.
  • The endpoint will return all tasks within the selected project, ordered by their priority within the project. Tasks are returned as compact task records, including task names, global IDs (gid), completion status, due dates, and other task metadata.
  • The response data is extracted from the data array in the API response, with each task record processed individually.

This endpoint supports pagination through the Asana API's next_page.uri mechanism. When a response includes a next_page.uri field in the response, Nexla automatically uses that URL to fetch the next page of results, continuing until all tasks have been retrieved. The endpoint uses GET requests to https://app.asana.com/api/1.0/tasks with the project query parameter set to the selected Project ID and limit set to 100. The Asana API returns compact task records by default, which include essential task information. To retrieve additional fields, you can use the opt_fields query parameter in manual configuration. Tasks are ordered by their priority within the project. For detailed information about retrieving tasks for a project, including available query parameters, response formats, and rate limits, see the Asana API documentation.

Get all Projects

This endpoint retrieves the compact project records for all projects accessible to your Asana account. Use this endpoint when you need to access project information for analysis, reporting, or to identify projects for use with other endpoints.

  • This endpoint automatically retrieves all projects accessible to your account. No additional configuration is required beyond selecting this endpoint template.
  • The endpoint uses a single GET request to https://app.asana.com/api/1.0/projects and does not require pagination parameters.
  • The endpoint will return all projects in your account as compact project records, including project names, global IDs (gid), workspace information, and other project metadata. Projects are returned in the data array of the API response.

This endpoint returns compact project records. Use the "Fetch Tasks for Project" endpoint to retrieve detailed task information for specific projects. For detailed information about retrieving projects, see the Asana API documentation.

Once the selected endpoint template has been configured, click the Test button to the right of the endpoint selection menu to retrieve a sample of the data that will be fetched. Sample data will be displayed in the Endpoint Test Result panel on the right, allowing you to verify that the source is configured correctly before saving.

Manual configuration

Asana data sources can also be manually configured to ingest data from any valid Asana API endpoint, including endpoints not covered by the pre-built templates, chained API calls, or custom request parameters. Select the Advanced tab at the top of the configuration screen, and follow the instructions in Connect to Any API to configure the API method, endpoint URL, date/time and lookup macros, path to data, metadata, and request headers.

Once all of the relevant settings have been configured, click the Create button in the upper right corner of the screen to save and create the new Asana data source. Nexla will now begin ingesting data from the configured endpoint and will organize any data that it finds into one or more Nexsets.