How it works
Every 2 Min (Business Hours) — schedule trigger.
Fetch New Air Assets —
parentBoardId+ last-15-minutes filter.Split Out Assets.
Filter New Assets — dedupe against "Asana Air Asset-Task Map" by
airAssetId.Create Asana Task — creates a task in the target Asana workspace, with the Air asset link in the task's Notes field.
Add Task To Project — attaches the new task to the target Asana project.
Apply Task Link To Air Asset — writes the Asana task's
permalink_urlonto the Air asset's Task Link field.Record Asset-Task Mapping.
Configuration steps
Swap both Air nodes to the target workspace credential.
Fetch New Air Assets → set
parentBoardId.Create Asana Task → connect an Asana OAuth2 credential; set
workspaceto the target Asana workspace GID.Add Task To Project → set
projectto the target Asana project GID.Apply Task Link To Air Asset → set the Air Task Link custom field ID.
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:
