This workflow follows the Agent → Google Sheets 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": "Parallelization",
"nodes": [
{
"parameters": {},
"type": "n8n-nodes-base.manualTrigger",
"typeVersion": 1,
"position": [
-40,
-880
],
"id": "1e17ba65-d067-4104-829e-b5d4274f132e",
"name": "Manual Trigger"
},
{
"parameters": {
"documentId": {
"__rl": true,
"value": "1uNFhLb6zObDuS6iwGzV6ECk9g3DEj7df0afqfJ3thIo",
"mode": "list",
"cachedResultName": "Research",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1uNFhLb6zObDuS6iwGzV6ECk9g3DEj7df0afqfJ3thIo/edit?usp=drivesdk"
},
"sheetName": {
"__rl": true,
"value": "gid=0",
"mode": "list",
"cachedResultName": "Sheet1",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1uNFhLb6zObDuS6iwGzV6ECk9g3DEj7df0afqfJ3thIo/edit#gid=0"
},
"filtersUI": {
"values": [
{
"lookupColumn": "Status",
"lookupValue": "Ready"
}
]
},
"options": {}
},
"type": "n8n-nodes-base.googleSheets",
"typeVersion": 4.6,
"position": [
100,
-880
],
"id": "50365b26-0ca0-40db-be0c-9a167c3b72a8",
"name": "Get Tools",
"credentials": {
"googleSheetsOAuth2Api": {
"name": "<your credential>"
}
}
},
{
"parameters": {
"options": {}
},
"type": "@n8n/n8n-nodes-langchain.lmChatOpenRouter",
"typeVersion": 1,
"position": [
480,
-800
],
"id": "73626e15-1748-47b7-ba2f-67866e1173af",
"name": "4.1-mini",
"credentials": {
"openRouterApi": {
"name": "<your credential>"
}
}
},
{
"parameters": {
"schemaType": "manual",
"inputSchema": "{\n \"features\": \"A concise paragraph summarizing the core features and capabilities of the tool.\",\n \"analysis\": \"A well-reasoned paragraph explaining potential business use cases, practical workflow integration ideas, and any industries or roles the tool is especially suited for.\"\n}\n"
},
"type": "@n8n/n8n-nodes-langchain.outputParserStructured",
"typeVersion": 1.3,
"position": [
720,
-800
],
"id": "ac50e31f-1e9c-46df-9063-fbc1b8e6608f",
"name": "Output"
},
{
"parameters": {
"model": "sonar",
"messages": {
"message": [
{
"content": "=Do research to find features about this tool: {{ $json.Tool }}."
}
]
},
"options": {},
"requestOptions": {}
},
"type": "n8n-nodes-base.perplexity",
"typeVersion": 1,
"position": [
300,
-880
],
"id": "afe12767-ff4c-4225-9ed2-51797f927530",
"name": "Perplexity Research",
"credentials": {
"perplexityApi": {
"name": "<your credential>"
}
}
},
{
"parameters": {
"operation": "update",
"documentId": {
"__rl": true,
"value": "1uNFhLb6zObDuS6iwGzV6ECk9g3DEj7df0afqfJ3thIo",
"mode": "list",
"cachedResultName": "Research",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1uNFhLb6zObDuS6iwGzV6ECk9g3DEj7df0afqfJ3thIo/edit?usp=drivesdk"
},
"sheetName": {
"__rl": true,
"value": "gid=0",
"mode": "list",
"cachedResultName": "Sheet1",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1uNFhLb6zObDuS6iwGzV6ECk9g3DEj7df0afqfJ3thIo/edit#gid=0"
},
"columns": {
"mappingMode": "defineBelow",
"value": {
"Tool": "={{ $('Get Tools').item.json.Tool }}",
"Features": "={{ $json.output.Features.join(\"\\n\\n\") }}",
"Status": "Processed",
"Analysis": "={{ $json.output.Analysis }}"
},
"matchingColumns": [
"Tool"
],
"schema": [
{
"id": "Tool",
"displayName": "Tool",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true,
"removed": false
},
{
"id": "Features",
"displayName": "Features",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true
},
{
"id": "Analysis",
"displayName": "Analysis",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true,
"removed": false
},
{
"id": "Status",
"displayName": "Status",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true
},
{
"id": "row_number",
"displayName": "row_number",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true,
"readOnly": true,
"removed": true
}
],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {}
},
"type": "n8n-nodes-base.googleSheets",
"typeVersion": 4.6,
"position": [
860,
-880
],
"id": "a6ed737e-f534-4dc3-86b9-7aa2e7d35480",
"name": "Update Tool",
"credentials": {
"googleSheetsOAuth2Api": {
"name": "<your credential>"
}
}
},
{
"parameters": {
"promptType": "define",
"text": "=Tool: {{ $('Get Tools').item.json.Tool }}\n\nResearch: {{ $json.choices[0].message.content }}",
"hasOutputParser": true,
"options": {
"systemMessage": "=# Overview\nYou are a business analyst AI agent. You will be given the name of a specific software tool, app, or AI product, as well as research about the features.\n\nYour job is to:\n1. Identify and summarize the core features and capabilities of the tool.\n2. Analyze potential use cases for businesses \u2014 especially small to mid-sized businesses.\n3. Suggest how this tool could be integrated into workflows, systems, or teams to save time, reduce costs, or increase revenue.\n4. If relevant, highlight any industries or roles this tool is best suited for.\n\n## Output\nOutput your results in the following fields:\n1) Features\n2) Analysis"
}
},
"type": "@n8n/n8n-nodes-langchain.agent",
"typeVersion": 2,
"position": [
520,
-900
],
"id": "ec4125c0-630e-410a-8e8d-c3f86f73d4b3",
"name": "Tool Analysis Agent"
},
{
"parameters": {
"content": "## Research done in parallel",
"height": 300,
"width": 220,
"color": 4
},
"type": "n8n-nodes-base.stickyNote",
"typeVersion": 1,
"position": [
240,
-1000
],
"id": "564b138e-161a-4cac-a410-a9a51130c7c1",
"name": "Sticky Note"
},
{
"parameters": {
"content": "## Analysis NOT done in parallel\n",
"height": 300,
"width": 320,
"color": 3
},
"type": "n8n-nodes-base.stickyNote",
"typeVersion": 1,
"position": [
480,
-1000
],
"id": "03e1d827-cf7f-4b20-b66d-d0229f680b50",
"name": "Sticky Note1"
},
{
"parameters": {
"content": "# \ud83d\udee0\ufe0f Setup Guide \n**Author:** [Nate Herk](https://www.youtube.com/@nateherk)\n\nFollow these steps to get your workflow up and running:\n\n### \u2705 Step 1: Copy the Google Sheet Template \nMake a copy of this [Google Sheet template](https://docs.google.com/spreadsheets/d/1plaD8wVEiW0havQk-_HC7RY5vFI4uTAn1AmLy1njWi8/edit?usp=sharing) and link it to the Google Sheet nodes in your workflow.\n\n### \u2705 Step 2: Create a Sub-workflow for Parallel Execution \nTurn all the nodes after the Get Tools node into a sub-workflow. Configure it as shown in the YouTube tutorial so it runs in parallel.\n\n### \u2705 Step 3: Connect Your Chat Model \nLink your [OpenRouter](https://openrouter.ai/) credential or any chat model of your choice to power the tool analysis AI agent. Then run a test and watch the parallelization magic happen. \ud83d\ude80\n",
"height": 400,
"width": 1080
},
"type": "n8n-nodes-base.stickyNote",
"typeVersion": 1,
"position": [
-60,
-1420
],
"id": "960e2a2d-0cbd-4cb4-8e03-d87dc2613da6",
"name": "Sticky Note2"
},
{
"parameters": {
"content": "## Send Analysis\n",
"height": 300,
"width": 200,
"color": 2
},
"type": "n8n-nodes-base.stickyNote",
"typeVersion": 1,
"position": [
820,
-1000
],
"id": "5003baf6-9bb2-491b-a42a-ceb8e0512c15",
"name": "Sticky Note3"
},
{
"parameters": {
"content": "## Get Tools for Research\n\n",
"height": 300,
"width": 280,
"color": 2
},
"type": "n8n-nodes-base.stickyNote",
"typeVersion": 1,
"position": [
-60,
-1000
],
"id": "19f21036-0918-48af-8c20-2dec827ca6fc",
"name": "Sticky Note4"
}
],
"connections": {
"Manual Trigger": {
"main": [
[
{
"node": "Get Tools",
"type": "main",
"index": 0
}
]
]
},
"Get Tools": {
"main": [
[
{
"node": "Perplexity Research",
"type": "main",
"index": 0
}
]
]
},
"4.1-mini": {
"ai_languageModel": [
[
{
"node": "Tool Analysis Agent",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Output": {
"ai_outputParser": [
[
{
"node": "Tool Analysis Agent",
"type": "ai_outputParser",
"index": 0
}
]
]
},
"Perplexity Research": {
"main": [
[
{
"node": "Tool Analysis Agent",
"type": "main",
"index": 0
}
]
]
},
"Tool Analysis Agent": {
"main": [
[
{
"node": "Update Tool",
"type": "main",
"index": 0
}
]
]
}
},
"active": false,
"settings": {
"executionOrder": "v1"
},
"versionId": "6f8af44a-76a8-4495-974d-d0ccd3270d69",
"meta": {
"templateCredsSetupCompleted": true
},
"id": "ttj5R0VMZmJAZ48f",
"tags": [
{
"createdAt": "2025-07-08T17:12:19.106Z",
"updatedAt": "2025-07-08T17:12:19.106Z",
"id": "J08AQ1HDHUe6h4zp",
"name": "Parallelization"
}
]
}
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.
googleSheetsOAuth2ApiopenRouterApiperplexityApi
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
How this works
This workflow enables you to accelerate complex tasks by running multiple AI-driven analyses in parallel, delivering faster insights without sequential bottlenecks. It's ideal for researchers, analysts, or teams handling data-heavy projects who need to query large language models and research tools simultaneously for comprehensive results. The key step involves splitting inputs from Google Sheets into parallel branches using lmChatOpenRouter for AI processing and Perplexity for targeted research, then merging outputs via a structured parser for a cohesive report.
Use this when processing diverse queries—like market analysis or content generation—where parallel execution saves hours compared to linear workflows. Avoid it for simple, single-threaded tasks or when real-time dependencies require sequential steps, as coordination adds minor overhead. Common variations include adapting it for custom agents in tool analysis or scaling for batch updates in Google Sheets.
About this workflow
Parallelization. Uses manualTrigger, googleSheets, lmChatOpenRouter, outputParserStructured. Event-driven 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.
This workflow transforms your Telegram bot into an intelligent creative assistant. It can chat conversationally, fetch trending image prompts from PromptHero for inspiration, or perform a deep "remix"
This Shopify AI automation is an advanced n8n-powered workflow that transforms Shopify product collections into SEO-optimized blog articles with images, while maintaining full visibility and control t
🧠 Automate end-to-end SEO blog creation and WordPress publishing using a GPT-5 multi-agent workflow with real-time research, metadata generation, and optional featured images.
This workflow contains community nodes that are only compatible with the self-hosted version of n8n.
YouTube Strategist. Uses formTrigger, splitOut, splitInBatches, agent. Event-driven trigger; 50 nodes.