Asana

Asana is a collaborative web tool to help teams organize, track, and manage their work.

Data integration: Skyvia supports importing data to and from Asana, exporting Asana data to CSV files, replicating Asana data to relational databases, and synchronizing Asana data with other cloud apps and relational databases.

Backup: Skyvia Backup supports Asana backup.

Query: Skyvia Query supports Asana.

Establishing Connection

To establish a connection to Asana, you simply log in with Asana. Skyvia stores only the OAuth authentication token. Skyvia does not store your credentials.

Creating Connection

To create Asana connection, perform the following steps:

  1. In the Connection Editor page, specify a connection name that will be used to identify the connection.

    Connection Editor window

  2. Click Sign In with Asana.
  3. Enter your Asana credentials and click Log in.

    Asana Log In window

Connector Specifics

Object Peculiarities

Tasks

Asana API allows querying tasks filtered by an Id of the task or of a related object, like project, tag, or section. When reading Asana tasks, Skyvia queries them by their parent projects. This means that tasks, not belonging to any project, are read by Skyvia only when querying a task by its Id.

You can filter tasks by CompletedAt using >= operator (Returns tasks that are either incomplete or that have been completed since this time) or by the UpdatedDate and >= operator.

When querying data from Asana Tasks, Skyvia gets task project Ids as a JSON array of objects ([{"id":724859473695142}]). However, when loading data to Tasks, you need to specify project Ids as an array of numbers (id values) ([724859473695142] or [724859473695142,731306691185212,766026167260953]).

Skyvia does not support the Restore operation for the Tasks object in Backup. To restore tasks, you should export your Tasks backup to CSV file and then use it for restoring.

Attachments

Skyvia does not support modifying data of Asana Attachments object. You can only get data from it, and that does not include attachment body.

Projects

To avoid timeouts for the Projects objects, you can use filter by the TeamId when querying.

Custom Fields

Custom field values for specific tasks and projects are stored as arrays in the Tasks and Projects objects CustomFields fields.

For user convenience, Skyvia additionally represents the content of the CustomFields arrays in the separate read-only TaskCustomFields and ProjectCustomFields objects. Depending on the custom field type, you can find its values in the DisplayValue_TextOrEnum and DisplayValue_Number fields.

To map specific custom field values from Asana to another app, you can use the following mapping example in your integrations:

In the mapping editor of your integration, select the Source Lookup mapping.

Lookup Object = TaskCustomFields.
Result Column = DisplayValue_TextOrEnum (for the string fields) or DisplayValue_Number (for numeric fields).
Lookup Key Column = Name, Constant = Custom field name which value we need to obtain.
Lookup Key Column = TaskId, Column = Id.
Lookup Key Column = ProjectId, Column = ProjectId.

See Lookup Mapping for more information about lookups.

Querying all the records from the TaskCustomFields and ProjectCustomFields objects may take a lot of time and API calls. We strongly recommend using filters by the ProjectId field. It would significantly reduce the number of API calls and save query time.

Incremental Replication and Synchronization

Replication with Incremental Updates is supported for the following objects: Projects, Sections, Tags, Tasks, TaskStories, UserTasks, Attachments, ProjectStatuses, Portfolios, Subtasks, Webhooks.

Synchronization is supported for the Projects, Tasks, UserTasks objects.

DML Operations Support

Operation Object
INSERT, UPDATE, DELETE Projects, Portfolios, Sections, SubTasks, Tasks
INSERT, UPDATE Tags, TaskStories
INSERT, DELETE ProjectStatuses
INSERT TeamUsers, Webhooks
UPDATE Workspace

Supported Actions

Skyvia supports all the common actions for Asana.