This workflow follows the Agent → Execute Workflow Trigger 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 →
{
"nodes": [
{
"id": "4c52efcf-039b-4550-8a63-3d3d4dde488b",
"name": "On new manual Chat Message",
"type": "@n8n/n8n-nodes-langchain.manualChatTrigger",
"position": [
740,
300
],
"parameters": {},
"typeVersion": 1.1
},
{
"id": "adb528f1-b87b-4bb2-99e1-776fd839522e",
"name": "Execute Workflow Trigger",
"type": "n8n-nodes-base.executeWorkflowTrigger",
"position": [
680,
940
],
"parameters": {},
"typeVersion": 1
},
{
"id": "092cf737-5b53-4fc8-82f5-c775b77ea0bd",
"name": "Hacker News",
"type": "n8n-nodes-base.hackerNews",
"position": [
900,
940
],
"parameters": {
"limit": 50,
"resource": "all",
"additionalFields": {}
},
"typeVersion": 1
},
{
"id": "a0805137-630c-4065-826e-88afa000660f",
"name": "Clean up data",
"type": "n8n-nodes-base.set",
"position": [
1120,
940
],
"parameters": {
"fields": {
"values": [
{
"name": "title",
"stringValue": "={{ $json._highlightResult.title.value }}"
},
{
"name": "points",
"type": "numberValue",
"numberValue": "={{ $json.points }}"
},
{
"name": "url",
"stringValue": "={{ $json.url }}"
},
{
"name": "created_at",
"stringValue": "={{ $json.created_at }}"
},
{
"name": "author",
"stringValue": "={{ $json.author }}"
}
]
},
"include": "none",
"options": {}
},
"typeVersion": 3.2
},
{
"id": "e1b255f4-e970-42d6-9870-4e302bf2da83",
"name": "AI Agent",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
960,
300
],
"parameters": {
"options": {
"maxIterations": 10
}
},
"typeVersion": 1.1
},
{
"id": "91e3391e-909e-4d63-9649-ff62781dbba9",
"name": "OpenAI Chat Model",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
960,
520
],
"parameters": {
"options": {}
},
"credentials": {
"openAiApi": {
"name": "<your credential>"
}
},
"typeVersion": 1
},
{
"id": "cd1f0028-635e-48eb-ac38-4c6fb25ed63e",
"name": "Stringify",
"type": "n8n-nodes-base.code",
"position": [
1340,
940
],
"parameters": {
"jsCode": "return {\n 'response': JSON.stringify($input.all().map(x => x.json))\n}"
},
"typeVersion": 2
},
{
"id": "7df241eb-67d3-4724-8b32-4b53561ed55f",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
880,
820
],
"parameters": {
"color": 7,
"width": 150,
"height": 293,
"content": "### Replace me\nwith any other service, e.g. fetching your own data"
},
"typeVersion": 1
},
{
"id": "270845df-7c2d-4035-9ac0-e41d418b3026",
"name": "Sticky Note1",
"type": "n8n-nodes-base.stickyNote",
"position": [
600,
738.125
],
"parameters": {
"color": 7,
"width": 927.5,
"height": 406.875,
"content": "### Sub-workflow: Custom tool\nThis can be called by the agent above. This example fetches the top 50 posts ever on Hacker News"
},
"typeVersion": 1
},
{
"id": "1d796a86-45d1-4fc4-8245-893525505d1f",
"name": "Sticky Note2",
"type": "n8n-nodes-base.stickyNote",
"position": [
600,
200
],
"parameters": {
"color": 7,
"width": 927.5,
"height": 486.5625,
"content": "### Main workflow: AI agent using custom tool\nTry it out by clicking 'Chat' and entering 'What is the 5th most popular post ever on Hacker News?'"
},
"typeVersion": 1
},
{
"id": "38ff64b5-6f47-4d2d-9051-caab418bb0e8",
"name": "Sticky Note3",
"type": "n8n-nodes-base.stickyNote",
"position": [
440,
300
],
"parameters": {
"width": 185.9375,
"height": 218,
"content": "## Try me out\n\nClick the 'Chat' button and enter:\n\n_What is the 5th most popular post ever on Hacker News?_"
},
"typeVersion": 1
},
{
"id": "3532e461-bd74-48f7-93e1-96d608c88688",
"name": "Custom tool to call the wf below",
"type": "@n8n/n8n-nodes-langchain.toolWorkflow",
"position": [
1120,
520
],
"parameters": {
"name": "hn_tool",
"workflowId": "={{ $workflow.id }}",
"description": "Returns a list of the most popular posts ever on Hacker News, in json format"
},
"typeVersion": 1
}
],
"connections": {
"Hacker News": {
"main": [
[
{
"node": "Clean up data",
"type": "main",
"index": 0
}
]
]
},
"Clean up data": {
"main": [
[
{
"node": "Stringify",
"type": "main",
"index": 0
}
]
]
},
"OpenAI Chat Model": {
"ai_languageModel": [
[
{
"node": "AI Agent",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Execute Workflow Trigger": {
"main": [
[
{
"node": "Hacker News",
"type": "main",
"index": 0
}
]
]
},
"On new manual Chat Message": {
"main": [
[
{
"node": "AI Agent",
"type": "main",
"index": 0
}
]
]
},
"Custom tool to call the wf below": {
"ai_tool": [
[
{
"node": "AI Agent",
"type": "ai_tool",
"index": 0
}
]
]
}
}
}
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.
openAiApi
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
How this works
Enable seamless conversations with AI about any data source, from Hacker News feeds to custom databases, without coding complex queries. This workflow empowers non-technical users, such as content creators or analysts, to ask natural language questions and receive instant, context-aware responses. The key step involves an AI agent that processes your chat input, fetches relevant data via integrations like Hacker News, and generates tailored replies using OpenAI's chat model.
Use this workflow for quick insights into dynamic data sources during research or monitoring tasks, such as tracking trending tech stories. Avoid it for high-volume production environments needing robust error handling or real-time scalability. Common variations include swapping Hacker News for RSS feeds or Google Sheets to query personal datasets.
About this workflow
Ai Chat With Any Data Source (Using The N8N Workflow Tool). Uses manualChatTrigger, executeWorkflowTrigger, hackerNews, agent. Chat trigger; 12 nodes.
Source: https://github.com/Zie619/n8n-workflows — 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.
Example workflow pass page content to LLM. Uses manualChatTrigger, lmChatOpenAi, httpRequest, executeWorkflowTrigger. Chat trigger; 24 nodes.
Agent with custom HTTP Request. Uses manualChatTrigger, lmChatOpenAi, httpRequest, executeWorkflowTrigger. Chat trigger; 20 nodes.
Executeworkflow Hackernews. Uses stickyNote, chatTrigger, toolWorkflow, executeWorkflowTrigger. Chat trigger; 12 nodes.
2026. Uses chatTrigger, toolWorkflow, executeWorkflowTrigger, hackerNews. Chat trigger; 12 nodes.
This AI agent can access data provided by another n8n workflow. Since that workflow can be used to retrieve any data from any service, this template can be used give an agent access to any data.