Connecting to 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.

Asana-Specific Features and Limitations

Skyvia has the following limitations for Asana:

  • 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.

  • Synchronization is supported only for Tasks and Projects objects.

  • 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 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. This is why 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.

  • Only the following Asana objects support all the DML operations: Projects, Sections, Tasks.

    • Tags and TaskStories objects support only insert and update operations.
    • TeamUsers and Webhooks objects support only the insert operation.
    • Workspace object supports only the update operation.

    Other Asana objects are read-only.

Asana Connections

When creating a Asana connection, you simply log in with Asana. The OAuth authentication token is stored on the Skyvia server. Your Asana account login and password are not stored on the Skyvia server.

To create a Asana connection, perform the following steps:

  1. Click +NEW in the top menu.
  2. Open the Select Connector page by clicking Connection in the menu on the left.
  3. In the opened pane, click Asana.
  4. In the Connection Editor page, specify a connection name that will be used to identify the connection.

    Connection Editor window

  5. Click Sign In with Asana.
  6. Enter your Asana credentials and click Log in.

    Asana Log In window

  7. Click Create Connection.

Supported Actions and Actions Specifics

Asana connector supports the following actions: