Asana
Asana is a SaaS platform for project management. It is designed to help you track, keep projects organized, and hit deadlines.
In order to integrate Asana to Relyance AI, you will need an Access Token.
In Asana:
- Login to your Asana account.
- Navigate to the developer console (https://app.asana.com/0/developer-console).
- Create a New Access Token.
- Copy the access token to be used in Relyance AI.

In the Relyance AI application:
- Login to your Relyance account.
- Navigate to the Settings Menu in the bottom left-hand side.
- Select Integrations.
- Click on the Vendors and Data Stores filter.
- Find the Asana integration card and click it to open its connections.
- On the Authentication step, pick the method under Authentication Method.
- Choose Custom under Authentication Method.
- If this connection will be used for Data Subject Requests, click the Process DSRs checkbox.
- Click on Enable Data Inspection if you wish to also scan the underlying data. This may require further permissions.
- Paste the Personal Account Token from the Asana page into the respective field.

- Click Authenticate.
- At this point, you should see the following result on the Vendor Integrations page:
- Congratulations, you are now connected to Asana.

If the connection reports Connected but returns nothing
These are the ways this integration comes back empty without reporting an error. Generated from the integration catalog, so it tracks what the connection actually asks for.
- A feature you enabled returns nothing. Some scopes belong to a feature rather than to the connection: Data subject requests needs
users:read,workspaces:read. Turning the feature on after the connection exists does not widen the grant it already holds, so re-authenticate the connection. - A credential rotated at the vendor is not picked up here. Access Token is stored when you save the connection, so regenerating the value at the vendor breaks the next scan until it is re-pasted here. Recording the expiry on the connection means Relyance warns you before it lapses.
- Throughput is limited on purpose. Maximum Concurrent API Calls defaults to
45. Raising it past what the vendor allows produces rate-limit errors that surface as a partial scan; it does not change how much data is collected.
Authentication methods and fields
Pick one of these under Authentication Method on the connection wizard's Authentication step. This table is generated from the integration catalog, so it always matches what the form actually asks for.
| Method | Required | Optional |
|---|---|---|
| Custom | Access Token (secret) |
Maximum Concurrent API Calls |
| Access Token with Data Inspection | Access Token (secret) |
White List Project IDs, Maximum Concurrent API Calls |
Manage this integration with Terraform
Connections for this integration can be managed as code with the Relyance Terraform provider. Non-secret fields go in auth.params; secret fields go in auth.secrets_wo, which is write-only — never stored in Terraform state. Rotate secrets by bumping auth.secrets_wo_version.
Access token — Custom
resource "relyance_integration_connection" "asana_0" {
vendor = "asana"
name = "<your connection name>"
auth = {
method = "access-token-standard"
params = {
data_storage_location = "us"
}
# Secret fields are write-only: sent to Relyance, never stored in state.
secrets_wo = {
ACCOUNT_TOKEN = var.asana_account_token
}
secrets_wo_version = 1
}
scans = { "data-inspection" = { enabled = true } }
}Access token — Access Token with Data Inspection
resource "relyance_integration_connection" "asana_1" {
vendor = "asana"
name = "<your connection name>"
auth = {
method = "access-token-with-data-inspection"
params = {
data_storage_location = "us"
}
# Secret fields are write-only: sent to Relyance, never stored in state.
secrets_wo = {
ACCOUNT_TOKEN = var.asana_account_token
}
secrets_wo_version = 1
}
scans = { "data-inspection" = { enabled = true } }
}