ht
Documentation
WelcomeConcepts

Get Started

OverviewCreate a sourceCreate a modelCreate a destinationCreate a sync
Documentation/Destinations/Asana
ht
Documentation

Asana

Table of Contents
Overview
Asana is a web and mobile application designed to help teams organize, track, and manage their work.

Overview

With 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.
NameDescription
Hightouch to Asana Merge RuleThe column that can be used as the external ID in Asana. This will most likely be some form of ID.
Hightouch to Asana Field MappingsA 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 MappingsA 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](https://developers.asana.com/docs/custom-external-data).
NameDescription
Hightouch to Asana Merge RuleThe column that matches either the Asana GID or external ID in Asana.
Hightouch to Asana Field MappingsA 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 MappingsA 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.
NameDescription
Hightouch to Asana Merge RuleThe column that matches the Asana Project GID.
Hightouch to Asana Field MappingsA 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 MappingsA 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.