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 →
{
"name": "\ud83e\udd16Research Agent",
"nodes": [
{
"parameters": {},
"id": "14ad81bc-fb39-40b7-ae35-d28203122973",
"name": "Execute Workflow Trigger",
"type": "n8n-nodes-base.executeWorkflowTrigger",
"typeVersion": 1,
"position": [
440,
260
]
},
{
"parameters": {
"model": "gpt-4o",
"options": {}
},
"id": "a00ab383-c7d9-4b6d-af13-1bf2cdb642ac",
"name": "OpenAI Chat Model",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"typeVersion": 1,
"position": [
560,
520
],
"credentials": {
"openAiApi": {
"name": "<your credential>"
}
}
},
{
"parameters": {
"assignments": {
"assignments": [
{
"id": "7ab380a2-a8d3-421c-ab4e-748ea8fb7904",
"name": "response",
"value": "Unable to perform task. Please try again.",
"type": "string"
}
]
},
"options": {}
},
"id": "038ada41-e162-4053-bae6-1c44b4a1a42d",
"name": "Try Again",
"type": "n8n-nodes-base.set",
"typeVersion": 3.4,
"position": [
1160,
400
]
},
{
"parameters": {
"assignments": {
"assignments": [
{
"id": "39c2f302-03be-4464-a17a-d7cc481d6d44",
"name": "=response",
"value": "={{$json.output}}",
"type": "string"
}
]
},
"options": {}
},
"id": "aa7da50b-42ad-47cd-8adf-c6536544486d",
"name": "Success",
"type": "n8n-nodes-base.set",
"typeVersion": 3.4,
"position": [
1160,
140
]
},
{
"parameters": {
"options": {}
},
"id": "73156937-ec81-4e51-93cc-4243fcebc1c6",
"name": "SerpAPI",
"type": "@n8n/n8n-nodes-langchain.toolSerpApi",
"typeVersion": 1,
"position": [
900,
520
],
"credentials": {
"serpApi": {
"name": "<your credential>"
}
}
},
{
"parameters": {},
"id": "78a3a242-473d-4544-9e1b-ae80498feb83",
"name": "Wikipedia",
"type": "@n8n/n8n-nodes-langchain.toolWikipedia",
"typeVersion": 1,
"position": [
680,
520
]
},
{
"parameters": {
"resource": "all",
"limit": "={{ $fromAI(\"limit\",\"number of articles\") }}",
"additionalFields": {
"keyword": "={{ $fromAI(\"keywords\",\"keywords for the articles\") }}"
}
},
"id": "c289d7fe-da13-4a2f-ba49-19acdb6bc7ce",
"name": "Hacker News",
"type": "n8n-nodes-base.hackerNewsTool",
"typeVersion": 1,
"position": [
800,
520
]
},
{
"parameters": {
"promptType": "define",
"text": "={{ $json.query }}",
"options": {
"systemMessage": "You are a research assistant agent. You have Wikipedia, Hacker News API, and Serp API at your disposal. \n\nTo answer the user's question, first search wikipedia. If you can't find your answer there, then search articles using Hacker News API. If that doesn't work either, then use Serp API to answer the user's question.\n"
}
},
"id": "fe1d46a0-7524-4b11-889c-10c2fd2debbf",
"name": "Research Agent",
"type": "@n8n/n8n-nodes-langchain.agent",
"typeVersion": 1.6,
"position": [
660,
260
],
"onError": "continueErrorOutput"
}
],
"connections": {
"Execute Workflow Trigger": {
"main": [
[
{
"node": "Research Agent",
"type": "main",
"index": 0
}
]
]
},
"OpenAI Chat Model": {
"ai_languageModel": [
[
{
"node": "Research Agent",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"SerpAPI": {
"ai_tool": [
[
{
"node": "Research Agent",
"type": "ai_tool",
"index": 0
}
]
]
},
"Wikipedia": {
"ai_tool": [
[
{
"node": "Research Agent",
"type": "ai_tool",
"index": 0
}
]
]
},
"Hacker News": {
"ai_tool": [
[
{
"node": "Research Agent",
"type": "ai_tool",
"index": 0
}
]
]
},
"Research Agent": {
"main": [
[
{
"node": "Success",
"type": "main",
"index": 0
}
],
[
{
"node": "Try Again",
"type": "main",
"index": 0
}
]
]
}
},
"active": false,
"settings": {
"executionOrder": "v1"
},
"versionId": "a2211983-f8ab-4f45-8be2-3b5ad585a891",
"meta": {
"templateCredsSetupCompleted": true
},
"id": "Hgm5BTXAKjDnLOof",
"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.
openAiApiserpApi
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
🤖Research Agent. Uses executeWorkflowTrigger, lmChatOpenAi, toolSerpApi, toolWikipedia. Event-driven trigger; 8 nodes.
Source: https://github.com/yashsoni102-prog/Yash-Soni-Portfolio/blob/main/n8n/personal-assistant-agent/research-agent.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.
Jarvis. Uses telegramTrigger, lmChatOpenAi, openAi, telegram. Event-driven trigger; 28 nodes.
48_WAgentEnhancement. Uses whatsAppTrigger, whatsApp, openAi, httpRequest. Event-driven trigger; 56 nodes.
This workflow automates end-to-end curriculum planning using a multi-agent AI architecture in n8n. Designed for educators, instructional designers, and academic institutions, it eliminates the manual
This workflow automates SEO content creation by aggregating multi-source research and generating optimized articles. Designed for content marketers, SEO specialists, and digital agencies, it solves th
✨ Intro This workflow shows how to go beyond a “plain” AI chatbot by: