Search documentation...

K
ChangelogBook a demoSign up

Asana

Keep your team's projects and tasks up-to-date with fresh customer data

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 to use as the external ID in Asana. This should be a unique identifier and 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.

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 can't upsert projects or update based on external ID because Asana doesn't 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.

Subtasks

A subtask is an Asana task object that is associated with a parent task object.

To create a subtask, select the column from your source that references parent tasks, then map it to the parent field in the Mappings section.

In your source, you can identify the parent task either by the external ID or the Asana GID. The external ID or the Asana GID should be a string. Not passing any value in for the parent field will remove an existing parent-subtask association - the task will simply be considered a normal task instead of a subtask.

Custom fields

Custom fields are complex in Asana because they can be associated with both tasks and projects, and they can be restricted to only 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 in Asana.

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

Delete behavior

For the task object, you can choose what Hightouch's behavior is when rows leave your query results. The default is doing nothing.

In Upsert mode, you have the following options:

BehaviorDescription
Do nothingKeep the task in Asana
Mark As CompleteKeep the task but mark as complete
Delete Destination RecordDelete the task from Asana completely

In Update mode, you have the following options:

BehaviorDescription
Do nothingKeep the task in Asana
Mark As CompleteKeep the task but mark as complete

Ready to get started?

Jump right in or a book a demo. Your first destination is always free.

Book a demoSign upBook a demo

Need help?

Our team is relentlessly focused on your success. Don't hesitate to reach out!

Feature requests?

We'd love to hear your suggestions for integrations and other features.

Last updated: Jan 24, 2022

On this page

OverviewSetupTasksUpsertUpdateProjectsArray propertiesSubtasksCustom fieldsDelete behavior

Was this page helpful?