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

  • Skyvia does not support Asana Events object.

  • Asana API allows querying tasks only 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. They are not read in all other cases.

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

  • 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 restoring Tasks from the backup directly. You may still back up tasks data and export it to CSV file.

Custom Fields

Tasks Custom Fields

Skyvia provides access to the custom fields of Asana tasks via the read-only TaskCustomFields object. Its records correspond to values of custom fields of task records. You can use its DisplayValue_TextOrEnum field to obtain a text value or DisplayValue_Number field to obtain a numeric value.

When loading data from Asana Tasks to another source, you can use Source Lookup mapping to map custom fields to the target fields. You need to select TaskCustomFields as a lookup object, DisplayValue_TextOrEnum or DisplayValue_Number, depending on what type the field has, as the result field, and three lookup keys: TaskId equal to the Id of the task and ProjectId equal to ProjectId of the task. The third lookup key column is Name, for which you use a constant, equal to the name of the custom field you want to map. See Lookup Mapping for more information about lookups.

Please note that if you query all the records from the TaskCustomFields object, it would require a lot of time and API calls. Skyvia has to query all the projects, then all the tasks from each project separately, and finally perform a request for each task to query its custom fields. Thus it is strongly recommended to filter TaskCustomFields by the ProjectId field. It would significantly reduce the number of API calls used and time required to get data.

Asana Projects Custom Fields

Skyvia provides access to the custom fields of Asana projects via the read-only ProjectCustomFields object. Its records correspond to values of custom fields of task records. You can use its DisplayValue_TextOrEnum to obtain a text value or DisplayValue_Number field to obtain a numeric value.

When loading data from Asana Projects to another source, you can use Source Lookup mapping to map custom fields to the target fields. You need to select TaskCustomFields as a lookup object, DisplayValue_TextOrEnum or DisplayValue_Number, depending on what type the field has, as the result field, and three lookup keys: ProjectId equal to the Id of the project and WorkspaceId equal to WorkspaceId of the Project. The third lookup key column is Name, for which you use a constant, equal to the name of the custom field you want to map. See Lookup Mapping for more information about lookups.

Please note that if you query all the records from the ProjectCustomFields object, it may require a lot of time and API calls if you have a lot of projects. Skyvia has to query all the projects and perform a request for each project to query its custom fields. Thus it is recommended to filter ProjectCustomFields by the WorkspaceId and ProjectId fields. It would significantly reduce the number of API calls used and time required to get data.

Incremental Replication and Synchronization

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

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

DML Operations Support

Operation Object
INSERT, UPDATE, DELETE Projects, 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.