Skip to main content

Integration Guide: Asana x Air: New Asset -> Task Creation

This guide details how to create an N8N workflow that listens for new asset uploads from Air, and creates new tasks in Asana with a link back to the uploaded asset. This ensures that each new asset is synced with a given Asana project.

Written by Brady Brown

How it works

  1. Every 2 Min (Business Hours) — schedule trigger.

  2. Fetch New Air AssetsparentBoardId + last-15-minutes filter.

  3. Split Out Assets.

  4. Filter New Assets — dedupe against "Asana Air Asset-Task Map" by airAssetId.

  5. Create Asana Task — creates a task in the target Asana workspace, with the Air asset link in the task's Notes field.

  6. Add Task To Project — attaches the new task to the target Asana project.

  7. Apply Task Link To Air Asset — writes the Asana task's permalink_url onto the Air asset's Task Link field.

  8. Record Asset-Task Mapping.

Configuration steps

  1. Swap both Air nodes to the target workspace credential.

  2. Fetch New Air Assets → set parentBoardId.

  3. Create Asana Task → connect an Asana OAuth2 credential; set workspace to the target Asana workspace GID.

  4. Add Task To Project → set project to the target Asana project GID.

  5. Apply Task Link To Air Asset → set the Air Task Link custom field ID.

  6. Confirm the "Asana Air Asset-Task Map" data table exists.

Known gaps

The Air asset link rides in the Asana task's free-text Notes field, not a structured field - this n8n Asana node version has no URL-typed custom field support. A production build could call Asana's custom_fields API directly (via an HTTP Request node) to put the link in a proper field instead.

Using a different automation platform

Zapier's Asana integration supports writing to Asana custom fields directly — this Notes-field workaround is specific to the n8n base Asana node's feature gap, not an Asana API limitation.

Resources

Download the following json and import it into your N8N account to get started wit this workflow:

Did this answer your question?