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:
-
In the Connection Editor page, specify a connection name that will be used to identify the connection.
- Click Sign In with Asana.
-
Enter your Asana credentials and click Log in.
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.
Associating a Task to a Section
To associate a new task to a specific section, specify the IDs of the project and section in the Memberships field when mapping. For example, to associate a new task to the project with ID 269451171754166 and the section 1143617431313814, map the Membership to the value in the following format.
1
2
3
[
{"project":"269451171754166","section":"1143617431313814"}
]
To associate the existing task to a specific section, perform import into the SectionTasks object. Specify the SectionId, and TaskId when mapping. You can optionally indicate a specific position of the task by mapping the InsertBefore or InsertAfter fields to the ID of the task before or after which the moved task should be placed.
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.