Connect to Asana
You can connect to Asana and make it available as a resource. Once complete, you can write queries to interact with the Asana data.
Requirements
All users for Retool organizations on Free or Team plans have global Edit permissions and can add, edit, and remove resources. If your organization manages user permissions for resources, you must be a member of a group with Edit all permissions.
To create your Asana resource, you need:
- The API version number you want to use.
- A personal access token or OAuth 2.0 credentials.
Asana supports multiple authentication options, and recommends different ones depending on your use case. If you choose to use a personal access token, Retool recommends creating a token specifically for Retool. This prevents any issues that might occur with a shared token.
If Asana is behind a firewall, you must also allow access from Retool's IP addresses. Add these IP addresses to your firewall's allowlist before you create the resource.
OAuth 2.0 with Self-hosted Retool
If your organization has a Self-hosted Retool deployment and you want to authenticate using OAuth 2.0, you must register an application with Asana and provide the following credentials:
- Client ID.
- Client Secret.
- OAuth 2.0 callback URL.
See Asana's OAuth 2.0 documentation for details on how to obtain this information.
1. Create a new resource
Sign in to your Retool organization and navigate to the Resources tab. Click Create new, then select Resource.
Retool can connect to almost any API or database, and has built-in integrations for popular data sources. Select the Asana integration.
2. Configure the resource
Provide the necessary details to configure the resource so Retool can connect to Asana. Not all settings are required but refer to the Asana documentation to learn what is needed.
General
These settings configure the name and location of the resource within Retool.
Name
The name to use for the resource (e.g., Asana).
Folder
The folder in which to save the resource.
Description
A brief description of the resource (e.g., Customer data).
Credentials
These settings configure how Retool connects to Asana.
Authentication
The method of authentication to use with Asana. Select OAuth
or Personal access token
. If you select OAuth
and use Retool Cloud, make sure to click the Connect with OAuth button. If you select OAuth
and self-host Retool, you also need to provide an:
- OAuth 2.0 callback URL.
- Client ID.
- Client secret.
If you don't have these values, see the OAuth 2.0 with Self-hosted Retool section.
API version
The version of the Asana API you want to use.
Personal access token
The personal access token to use for authentication if using this authentication method.
3. Save the resource
Click Create resource to complete the setup. You can then click either Create an app to immediately start building a Retool app or Back to resources to return to the list of resources.
Wrap up
Your Asana resource is now ready to use. You write queries to make API requests by specifying the request method and endpoint, additional parameters to include, and the request body.
To verify you can successfully interact with Asana, write a test query to retrieve some data. The following example retrieves the task record of the specified task.
- Request
- Response
GET https://app.asana.com/api/1.0/tasks/12
{
"data": {
"gid": "12",
"resource_type": "task",
"name": "Bug Task",
"resource_subtype": "default_task",
"approval_status": "pending",
"assignee_status": "upcoming",
"completed": false,
"completed_at": "2012-02-22T02:06:58.147Z",
"completed_by": {
"gid": "12",
"resource_type": "task",
"name": "Greg Sanchez"
},
"created_at": "2012-02-22T02:06:58.147Z",
"dependencies": [
{
"gid": "12",
"resource_type": "task"
}
],
"dependents": [
{
"gid": "12345",
"resource_type": "task"
}
]
}
}