The workflow JSON
Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →
{
"name": "Asana AI Agent",
"nodes": [
{
"parameters": {
"model": "gpt-4o-mini",
"options": {}
},
"id": "555cd8d7-331e-43dd-8dae-cfe225c04f89",
"name": "OpenAI Chat Model",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"typeVersion": 1,
"position": [
1260,
580
],
"credentials": {
"openAiApi": {
"name": "<your credential>"
}
}
},
{
"parameters": {
"sessionIdType": "customKey",
"sessionKey": "={{ $('When chat message received').item.json.sessionId }}"
},
"id": "1c63f69f-bc07-4a3c-b832-59c5bb575a48",
"name": "Window Buffer Memory",
"type": "@n8n/n8n-nodes-langchain.memoryBufferWindow",
"typeVersion": 1.2,
"position": [
1380,
600
]
},
{
"parameters": {
"options": {}
},
"id": "76db7743-f5ae-410d-8eff-73a465b57fa9",
"name": "Respond to Webhook",
"type": "n8n-nodes-base.respondToWebhook",
"typeVersion": 1.1,
"position": [
1860,
360
]
},
{
"parameters": {
"name": "Asana",
"description": "Call this tool to create a task in Asana. Give two parameters - the name of the task and the day it is due in the format YYYY-MM-DD",
"workflowId": "nCnW5wOp1qjTpOvp",
"responsePropertyName": "permalink_url",
"fields": {
"values": [
{}
]
},
"specifyInputSchema": true,
"jsonSchemaExample": "{\n\t\"name\": \"Study for Test\",\n \"due_date\": \"2024-07-13\"\n}"
},
"id": "f0dbf665-1a80-4ea8-ae51-7c0f421a7a56",
"name": "Call n8n Workflow Tool",
"type": "@n8n/n8n-nodes-langchain.toolWorkflow",
"typeVersion": 1.1,
"position": [
1560,
580
]
},
{
"parameters": {
"options": {}
},
"id": "d9019c17-0180-4dbe-8e85-60474aaafe93",
"name": "Date & Time",
"type": "n8n-nodes-base.dateTime",
"typeVersion": 2,
"position": [
1000,
360
]
},
{
"parameters": {
"httpMethod": "POST",
"path": "asana_chatbot",
"authentication": "headerAuth",
"responseMode": "responseNode",
"options": {}
},
"id": "0a1664a4-4ade-4f2c-9692-cbcd343aae17",
"name": "Webhook",
"type": "n8n-nodes-base.webhook",
"typeVersion": 2,
"position": [
640,
180
],
"credentials": {
"httpHeaderAuth": {
"name": "<your credential>"
}
}
},
{
"parameters": {
"promptType": "define",
"text": "={{ $('When chat message received').item.json.chatInput }}",
"options": {
"systemMessage": "=You are a helpful assistant who helps create tasks in Asana. The current date is {{ $json.currentDate }}"
}
},
"id": "3822b0eb-cd1b-419c-b12e-97f98ef0f604",
"name": "AI Agent",
"type": "@n8n/n8n-nodes-langchain.agent",
"typeVersion": 1.6,
"position": [
1260,
360
]
},
{
"parameters": {
"options": {}
},
"id": "27ede384-f66c-4ad5-9659-e5851c43e626",
"name": "When chat message received",
"type": "@n8n/n8n-nodes-langchain.chatTrigger",
"typeVersion": 1.1,
"position": [
640,
360
]
}
],
"connections": {
"OpenAI Chat Model": {
"ai_languageModel": [
[
{
"node": "AI Agent",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Window Buffer Memory": {
"ai_memory": [
[
{
"node": "AI Agent",
"type": "ai_memory",
"index": 0
}
]
]
},
"Call n8n Workflow Tool": {
"ai_tool": [
[
{
"node": "AI Agent",
"type": "ai_tool",
"index": 0
}
]
]
},
"Date & Time": {
"main": [
[
{
"node": "AI Agent",
"type": "main",
"index": 0
}
]
]
},
"Webhook": {
"main": [
[
{
"node": "Date & Time",
"type": "main",
"index": 0
}
]
]
},
"AI Agent": {
"main": [
[
{
"node": "Respond to Webhook",
"type": "main",
"index": 0
}
]
]
},
"When chat message received": {
"main": [
[
{
"node": "Date & Time",
"type": "main",
"index": 0
}
]
]
}
},
"active": true,
"settings": {
"executionOrder": "v1"
},
"versionId": "ffbc203b-f652-43b2-84fb-4f899a0d977c",
"meta": {
"templateCredsSetupCompleted": true
},
"id": "HF7kvnDcr2SUOYaE",
"tags": []
}
Credentials you'll need
Each integration node will prompt for credentials when you import. We strip credential IDs before publishing — you'll add your own.
httpHeaderAuthopenAiApi
About this workflow
Asana AI Agent. Uses lmChatOpenAi, memoryBufferWindow, respondToWebhook, toolWorkflow. Webhook trigger; 8 nodes.
Source: https://github.com/daboi2331/ai-agents-masterclass/blob/main/8-n8n-asana-agent/n8n_Workflow_Asana_AI_Agent.json — original creator credit. Request a take-down →