Asana

Configuration details for the Asana integration.

Via the Asana destination, Hightouch can upsert or update tasks, or update projects.

For the task object, the destination supports:

  • Upsert — Upsert mode creates new tasks and updates existing tasks based on an external ID.

  • Update — Update mode updates existing or newly created tasks based on the Asana GID. The update mode can also update tasks created with Hightouch using the external ID.

For the projects object, the destination supports:

  • Update — Update mode updates existing projects based on the Asana GID.

Setup

Connect Asana via OAuth by granting permission to the Hightouch Asana Connect app.

Tasks

Upsert

Hightouch can upsert tasks based on an external ID in Asana. This means it will update the task in Asana if it was previously created by Hightouch, otherwise it will create a new task. The external ID is unique to Hightouch thus in this mode it will only update tasks created via Hightouch.

Name

Description

Hightouch to Asana Merge Rule

The column that can be used as the external ID in Asana. This will most likely be some form of ID.

Hightouch to Asana Field Mappings

A list of columns that will be pushed to tasks in Asana. Each time a sync occurs in Hightouch these columns will be updated. For array properties such as projects or followers, refer to notes on array properties.

Hightouch to Asana Custom Field Mappings

A list of custom fields that will be pushed to tasks in Asana. Refer the notes on custom fields in Asana.

Update

Hightouch can update tasks based on the Asana GID. Hightouch can also update tasks based on an external ID if the task was created using Hightouch.

If upserting or updating via an external ID, Hightouch can only update tasks created with such an external ID through Hightouch, due to the way Asana external IDs are limited on a per application basis.

Name

Description

Hightouch to Asana Merge Rule

The column that matches either the Asana GID or external ID in Asana.

Hightouch to Asana Field Mappings

A list of columns that will be pushed to tasks in Asana. Each time a sync occurs in Hightouch these columns will be updated. For array properties such as projects or followers, refer to notes on array properties.

Hightouch to Asana Custom Field Mappings

A list of custom fields that will be pushed to tasks in Asana. Refer the notes on custom fields in Asana.

Projects

Hightouch can update projects on the Asana GID. Unfortunately, Hightouch cannot upsert projects or update based on external ID because Asana does not yet support external metadata for objects other than projects.

Name

Description

Hightouch to Asana Merge Rule

The column that matches the Asana Project GID.

Hightouch to Asana Field Mappings

A list of columns that will be pushed projects in Asana. Each time a sync occurs in Hightouch these columns will be updated. For array properties such as followers, refer to notes on array properties.

Hightouch to Asana Custom Field Mappings

A list of custom fields that will be pushed to projects in Asana. Refer the notes on custom fields in Asana.

Array Properties

Array properties can be passed to Asana by returning the data as either a comma delimited string or an array in your SQL query. Examples of array properties are:

  • Tasks: projects, followers, tags

  • Projects: followers

In the SQL query, a column taskFollowerscontaining a string such as '1199948419683571,1185085322202311' can be mapped to the followers field of tasks in Asana.

Using the example of followers, keep in mind that every type Hightouch runs a sync, it will check the followers assigned to the task in Asana, and:

  • Add all followers that are present in taskFollowers and not present in Asana

  • Remove all followers that are present in Asana and not present in taskFollowers.

Custom Fields

Custom fields are complex in Asana because they can be associated with both tasks and projects, and be restricted to tasks in certain projects. To start, Hightouch supports custom fields that are available on a workspace level, which can be done by adding the field to the workspace's field library.

Secondly, custom fields may cause errors if the field is not enabled in the project you are inserting the task into.