AI agents for Asana
Team tasks, due dates and the follow-through between them. AGNT connects to Asana so agents can read what happens there, reason about it, and act — with a receipt for every run.
Meeting Follow-Through is a ready-made agent that works in Asana — free, and it runs on your machine.
Asana and AGNT, in brief
| What it does | Lets an AGNT agent read from and act in Asana. |
|---|---|
| Connects with | Bearer — held in the local vault |
| AGNT node | custom-api, or the zapier-action bridge |
| Runs when | A task is created or completed |
| Typical build time | Ten minutes |
| Where data goes | Nowhere by default — AGNT runs on your machine and credentials never leave it. |
What you can automate
Reacts when…
- a task is created or completed
- a due date nears
- a project updates
Agents can…
- create tasks with owners
- update status and comments
- roll up project summaries
Teams use it for
- meeting decisions become assigned tasks
- weekly project status without the chasing
- intake forms triaged into projects
The Asana workflow, to configure
Design goal for Asana: meeting decisions become assigned tasks; weekly project status without the chasing; intake forms triaged into projects. The template below supplies configurable nodes, not the complete logic for those goals.
Use this Asana setup template to arrange the schedule, input review and API operation. Configure the account-specific fields and add your own decision and approval controls before activation.
This is a schema-checked starting point, not an end-to-end tested automation. Replace every CONFIGURE_ value, choose the operations you intend, connect credentials and map source outputs into later inputs. An edge orders steps; it does not supply a condition, an approval gate or a field mapping. Add and test those controls explicitly before any write. Cloud APIs and model providers may receive data. Keep the workflow inactive until tested with fixtures.
{
"id": "5e944781-5e2d-4372-a2a0-53fd6a5f6380",
"name": "Asana — read, decide, act",
"nodes": [
{
"id": "e655ce5c-1b99-40f7-a3e4-bb4ba8a819ae",
"text": "Run on a schedule",
"x": 512,
"y": 144,
"isEditing": false,
"type": "trigger-timer",
"icon": "clock",
"category": "trigger",
"isSelected": false,
"parameters": {
"fireOnStart": "No",
"scheduleType": "Interval",
"schedule": "Every 15 Minutes"
},
"description": "Setup template for Timer Trigger. This trigger node fires the workflow at specified intervals or at a specific time. Configure credentials, inputs and output mapping before use.",
"error": null,
"isActive": false,
"output": null,
"outputs": {}
},
{
"id": "84685ddd-8fbe-48ec-a2ee-795141f6c064",
"text": "Review source and draft",
"x": 512,
"y": 336,
"isEditing": false,
"type": "agnt-agent",
"icon": "agnt",
"category": "action",
"isSelected": false,
"parameters": {
"agentId": "CONFIGURE_AGENTID",
"message": "Decide what needs to happen in Asana. Explain your reasoning.\nSource input: CONFIGURE_SOURCE_INPUT. Produce a reviewable draft only; do not take external actions."
},
"description": "Setup template for Agent Chat. Chat with an AI agent from your agent library. Select an agent and send messages to interact with it within your workflow. Configure credentials, inputs and output mapping before use.",
"error": null,
"isActive": false,
"output": null,
"outputs": {}
},
{
"id": "ccf2d3cf-8194-483d-a5ed-08329c6d9f8a",
"text": "Call the Asana API",
"x": 512,
"y": 528,
"isEditing": false,
"type": "custom-api",
"icon": "connect",
"category": "action",
"isSelected": false,
"parameters": {
"url": "https://app.asana.com/api/1.0/tasks",
"method": "GET",
"authType": "None",
"headers": "{}",
"query": ""
},
"description": "Setup template for Custom API Request. This action node makes a custom API request to any endpoint with configurable method, headers, and authentication. Configure credentials, inputs and output mapping before use.",
"error": null,
"isActive": false,
"output": null,
"outputs": {}
}
],
"edges": [
{
"id": "d8db3f8c-0b86-482c-ac37-1be247228c20",
"start": {
"id": "e655ce5c-1b99-40f7-a3e4-bb4ba8a819ae",
"type": "output"
},
"end": {
"id": "84685ddd-8fbe-48ec-a2ee-795141f6c064",
"type": "input"
},
"startX": 800,
"startY": 168,
"endX": 512,
"endY": 360
},
{
"id": "456afba6-0a7c-478f-a4fd-eedb5b611c9e",
"start": {
"id": "84685ddd-8fbe-48ec-a2ee-795141f6c064",
"type": "output"
},
"end": {
"id": "ccf2d3cf-8194-483d-a5ed-08329c6d9f8a",
"type": "input"
},
"startX": 800,
"startY": 360,
"endX": 512,
"endY": 552
}
],
"zoomLevel": 1,
"canvasOffsetX": 0,
"canvasOffsetY": 0,
"isTinyNodeMode": false
}
Configure Custom API Request
This action node makes a custom API request to any endpoint with configurable method, headers, and authentication.
- url — The URL of the API endpoint Current example:
https://app.asana.com/api/1.0/tasks. - method — The HTTP method for the request Current example:
GET. - authType — The type of authentication Current example:
None. - query — Query parameters for the request (e.g., 'key1=value1&key2=value2') Current example:
. - headers — Optional headers for the request. e.g., {"Content-Type": "application/json"} Current example:
{}.
Install Meeting Follow-Through — it runs on Asana
Meeting Follow-Through is a working agent that uses Asana. Installing it drops the whole workflow onto your canvas — connected, editable, and yours to change.
Runs on your own machine · See what it does
The follow-through problem
Asana is good at holding tasks and cannot help with the part that actually fails: turning what was agreed into assigned work with a date. An agent reading meeting notes or an intake form can create those tasks with owners attached, which is where the slippage happens.
Status without chasing
Weekly project status is usually assembled by asking people. Rolling it up from the board — what moved, what is overdue, what is blocked — produces the same summary without the round of interruptions.
How to reach Asana from a workflow
Asana has no dedicated node in AGNT so far. That is not a blocker — it authenticates with bearer, which the custom-api node handles directly, and the exact call is below.
| What you need | Value |
|---|---|
| Endpoint | https://app.asana.com/api/1.0/tasks |
| Method | POST |
| Authentication | Bearer |
| Header | Authorization: Bearer {personalAccessToken} |
| Reference | Asana API documentation |
Worth knowing: Every request and response is nested under a `data` key, in both directions.
The part that catches people out
Every request and response is nested under a `data` key, in both directions.
Everything else about Asana behaves the way you would expect, so once that is handled the rest of the build is ordinary. The POST above is the shape every other call takes.
Connect Asana in two minutes
- Download AGNT Community Core — free, local-first, no account needed to run.
- Connect with one OAuth sign-in from AGNT’s vault — tokens are stored encrypted on your machine and never leave it.
- Drop the Asana node into a workflow or hand it to an agent — the first run produces a receipt you can read line by line.
Asana + AGNT — common questions
Can agents assign owners and due dates?
Yes, including inferring them from the conversation where the work was agreed.
Can intake forms be triaged into projects?
Yes — requests can be read, classified and filed into the right project automatically.
What can trigger a run?
A task being created or completed, a due date approaching, or a project updating.