This workflow follows the Agent → HTTP Request recipe pattern — see all workflows that pair these two integrations.
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": "My workflow",
"nodes": [
{
"parameters": {
"multipleMethods": true,
"path": "cdio2",
"responseMode": "responseNode",
"options": {}
},
"type": "n8n-nodes-base.webhook",
"typeVersion": 2,
"position": [
-800,
0
],
"id": "46668780-44cc-49de-b0b0-643a1377dd9d",
"name": "Webhook"
},
{
"parameters": {
"assignments": {
"assignments": [
{
"id": "d58c9aa0-8132-47f3-bc4a-c10456df8f5c",
"name": "id kh\u00e1ch",
"value": "={{ $json.body.entry[0].messaging[0].sender.id }}",
"type": "string"
},
{
"id": "dc31c679-2ffc-4ca6-a3f5-2f9eb58012bb",
"name": "id page",
"value": "={{ $json.body.entry[0].messaging[0].recipient.id }}",
"type": "string"
},
{
"id": "aa190287-c7bd-43cc-93c6-58c70c3eed53",
"name": "nd tin nh\u1eafn",
"value": "={{ $json.body.entry[0].messaging[0].message.text }}",
"type": "string"
}
]
},
"options": {}
},
"type": "n8n-nodes-base.set",
"typeVersion": 3.4,
"position": [
-464,
96
],
"id": "fa3d1e51-a08b-425a-a1e8-d45c91d3b223",
"name": "Edit Fields"
},
{
"parameters": {
"respondWith": "text",
"responseBody": "={{ $json.query['hub.challenge'] }}",
"options": {}
},
"type": "n8n-nodes-base.respondToWebhook",
"typeVersion": 1.3,
"position": [
-464,
-80
],
"id": "95baa4c5-e644-4fd0-807e-992025237ef7",
"name": "Respond to Webhook"
},
{
"parameters": {
"jsCode": "const fullText = $input.first().json.output; \nconst recipientId = $('Edit Fields').first().json['id kh\u00e1ch']; \nconst chunks = []; \nfor (let i = 0; i < fullText.length; i += 1890) { \n chunks.push({ json: { recipient: { id: recipientId }, \n messaging_type: \"RESPONSE\", \n message: { text: fullText.slice(i, i + 1890) } \n } \n }); \n} \nreturn chunks;"
},
"type": "n8n-nodes-base.code",
"typeVersion": 2,
"position": [
96,
96
],
"id": "d43a24ad-1c04-4bc3-bc94-b44a930c7ee1",
"name": "Code",
"executeOnce": false
},
{
"parameters": {
"promptType": "define",
"text": "={{ $json['nd tin nh\u1eafn'] }}",
"options": {
"systemMessage": "=B\u1ea1n l\u00e0 tr\u1ee3 l\u00fd t\u01b0 v\u1ea5n tuy\u1ec3n sinh c\u1ee7a \u0110\u1ea1i h\u1ecdc Duy T\u00e2n. \nD\u1eef li\u1ec7u c\u1ee7a b\u1ea1n \u0111\u01b0\u1ee3c l\u01b0u trong m\u1ed9t file JSON l\u1edbn, trong \u0111\u00f3 m\u1ed7i key l\u00e0 m\u1ed9t b\u1ed9 d\u1eef li\u1ec7u ri\u00eang. \nV\u00ed d\u1ee5: \n- \"thong_tin_dai_hoc_duy_tan\" ch\u1ee9a th\u00f4ng tin l\u1ecbch s\u1eed, th\u00e0nh l\u1eadp tr\u01b0\u1eddng, c\u00e1c m\u1ed1c quan tr\u1ecdng. \n- \"truong_khoa_truc_thuoc\" ch\u1ee9a th\u00f4ng tin v\u1ec1 hi\u1ec7u tr\u01b0\u1edfng, tr\u01b0\u1edfng khoa, ch\u1ee7 t\u1ecbch H\u0110QT qua c\u00e1c th\u1eddi k\u1ef3. \n\nNhi\u1ec7m v\u1ee5 c\u1ee7a b\u1ea1n: \n- Khi ng\u01b0\u1eddi d\u00f9ng h\u1ecfi v\u1ec1 c\u00e1c th\u00f4ng tin li\u00ean quan \u0111\u1ebfn tr\u01b0\u1eddng (l\u1ecbch s\u1eed th\u00e0nh l\u1eadp, hi\u1ec7u tr\u01b0\u1edfng, ch\u1ee7 t\u1ecbch, c\u00e1n b\u1ed9, ch\u1ec9 ti\u00eau tuy\u1ec3n sinh, c\u01a1 c\u1ea5u t\u1ed5 ch\u1ee9c), h\u00e3y ph\u00e2n lo\u1ea1i c\u00e2u h\u1ecfi n\u00e0y v\u00e0o nh\u00f3m **\"thong_tin_truong\"**. \n- V\u1edbi nh\u00f3m n\u00e0y, b\u1ea1n ch\u1ec9 \u0111\u01b0\u1ee3c ph\u00e9p d\u00f9ng d\u1eef li\u1ec7u t\u1eeb **[\"thong_tin_dai_hoc_duy_tan\", \"truong_khoa_truc_thuoc\"]** \u0111\u1ec3 tr\u1ea3 l\u1eddi. \n- N\u1ebfu d\u1eef li\u1ec7u kh\u00f4ng c\u00f3 trong c\u00e1c key n\u00e0y, h\u00e3y tr\u1ea3 l\u1eddi: \"I cannot verify this.\" \n- Tr\u1ea3 l\u1eddi ng\u1eafn g\u1ecdn, s\u00fac t\u00edch, c\u00f3 th\u1ec3 d\u00f9ng bullet cho d\u1ec5 \u0111\u1ecdc. \n"
}
},
"type": "@n8n/n8n-nodes-langchain.agent",
"typeVersion": 2.1,
"position": [
-240,
96
],
"id": "c71e56bb-4834-45e5-ad68-8b37d5de6981",
"name": "AI Agent"
},
{
"parameters": {
"sessionIdType": "customKey",
"sessionKey": "={{ $json['id kh\u00e1ch'] }}",
"contextWindowLength": 10000
},
"type": "@n8n/n8n-nodes-langchain.memoryBufferWindow",
"typeVersion": 1.3,
"position": [
-160,
320
],
"id": "d522be27-20dd-4233-b192-dc5f286fa2f6",
"name": "Simple Memory"
},
{
"parameters": {
"resource": "file",
"operation": "get",
"owner": {
"__rl": true,
"value": "nguyendangthinhit",
"mode": "name"
},
"repository": {
"__rl": true,
"value": "=SIC__BD_03",
"mode": "name"
},
"filePath": "SIC_BD_03/data/clean_data_2.json",
"asBinaryProperty": false,
"additionalParameters": {
"reference": ""
}
},
"type": "n8n-nodes-base.githubTool",
"typeVersion": 1.1,
"position": [
336,
528
],
"id": "27a27b29-9ead-48df-8e32-695d443faa08",
"name": "Get a file in GitHub",
"disabled": true
},
{
"parameters": {
"resource": "file",
"operation": "get",
"owner": {
"__rl": true,
"value": "nguyendangthinhit",
"mode": "name"
},
"repository": {
"__rl": true,
"value": "CDIO_2",
"mode": "name"
},
"filePath": "data.json",
"asBinaryProperty": false,
"additionalParameters": {}
},
"type": "n8n-nodes-base.githubTool",
"typeVersion": 1.1,
"position": [
112,
288
],
"id": "f514ccfb-5fea-458d-8c4f-4462aa387ba1",
"name": "Get a file in GitHub1",
"credentials": {
"githubApi": {
"name": "<your credential>"
}
}
},
{
"parameters": {
"options": {}
},
"type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
"typeVersion": 1,
"position": [
-464,
272
],
"id": "2d20374c-507d-4271-8ad4-b7bc54a6f55e",
"name": "Google Gemini Chat Model",
"credentials": {
"googlePalmApi": {
"name": "<your credential>"
}
}
},
{
"parameters": {
"method": "POST",
"url": "=https://graph.facebook.com/v23.0/{{ $('Webhook').item.json.body.entry[0].messaging[0].recipient.id }}/messages?access_token=EAAKiLjdsBY0BPWWU1p2EWnCoc78MVK78AUxywcZBt7E475Cxgxk3iLyxbXvZC5WJnK4jzYvT2LuLIdPBFxyfXOHZCdJZCYuLPlHMpI1sw3xkZBBctRDSGxZB7jQ1kUpwpgtVDgoxNVOwf5aPPI9fEX9wUedKYuJEFUvAhgN6HWQ5dQBkcgZCdr2deWKyAzXVlZBgRWKBhwZDZD",
"sendBody": true,
"specifyBody": "json",
"jsonBody": "={{ { \"recipient\": { \"id\": $(\"Edit Fields\").item.json[\"id kh\u00e1ch\"] }, \"messaging_type\": \"RESPONSE\", \"message\": { \"text\": $json.message.text } } }}",
"options": {}
},
"type": "n8n-nodes-base.httpRequest",
"typeVersion": 4.2,
"position": [
320,
96
],
"id": "61ffa8c3-6d46-40c7-a818-e36193af326b",
"name": "HTTP Request"
}
],
"connections": {
"Webhook": {
"main": [
[
{
"node": "Respond to Webhook",
"type": "main",
"index": 0
}
],
[
{
"node": "Edit Fields",
"type": "main",
"index": 0
}
]
]
},
"Edit Fields": {
"main": [
[
{
"node": "AI Agent",
"type": "main",
"index": 0
}
]
]
},
"Code": {
"main": [
[
{
"node": "HTTP Request",
"type": "main",
"index": 0
}
]
]
},
"AI Agent": {
"main": [
[
{
"node": "Code",
"type": "main",
"index": 0
}
]
]
},
"Simple Memory": {
"ai_memory": [
[
{
"node": "AI Agent",
"type": "ai_memory",
"index": 0
}
]
]
},
"Get a file in GitHub1": {
"ai_tool": [
[
{
"node": "AI Agent",
"type": "ai_tool",
"index": 0
}
]
]
},
"Google Gemini Chat Model": {
"ai_languageModel": [
[
{
"node": "AI Agent",
"type": "ai_languageModel",
"index": 0
}
]
]
}
},
"active": true,
"settings": {
"executionOrder": "v1"
},
"versionId": "0a829d95-48c5-42b4-92ae-44af68572c86",
"id": "VfhgiqgIXX0yZNZ6",
"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.
githubApigooglePalmApi
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
N8N 9 9. Uses agent, memoryBufferWindow, githubTool, lmChatGoogleGemini. Webhook trigger; 10 nodes.
Source: https://github.com/nguyendangthinhit/CDIO_2/blob/c0f9695e8942fc2ad548d0350b96917a650e482b/n8n/n8n_9_9.json — original creator credit. Request a take-down →
Related workflows
Workflows that share integrations, category, or trigger type with this one. All free to copy and import.
N8N. Uses lmChatGoogleGemini, httpRequest, agent, memoryBufferWindow. Webhook trigger; 10 nodes.
This workflow acts as an AI-powered research assistant that takes a topic from the user, performs multi-step intelligent research, and stores the final report in Notion. It uses advanced search, conte
This n8n template demonstrates how to build O'Carla, an advanced all-in-one Discord AI assistant. It intelligently handles natural conversations, professional image generation, and visual file analysi
veo limpo new. Uses moveBinaryData, httpRequest, chatTrigger, baserow. Webhook trigger; 36 nodes.
Template. Uses whatsApp, httpRequest, memoryBufferWindow, toolWikipedia. Webhook trigger; 35 nodes.