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": "LLM-Council | FINAL | End-to-End",
"nodes": [
{
"parameters": {
"httpMethod": "POST",
"path": "LLM-Council | FINAL | End-to-End",
"responseMode": "responseNode",
"options": {}
},
"type": "n8n-nodes-base.webhook",
"typeVersion": 2.1,
"position": [
64,
144
],
"id": "0aba9ce9-2640-4b4d-ae7f-ba5e40d61466",
"name": "Webhook"
},
{
"parameters": {
"assignments": {
"assignments": [
{
"id": "4ae0ff50-a344-4ab4-8111-56aaa127031c",
"name": "query",
"value": "={{ $json.body.query }}",
"type": "string"
},
{
"id": "24b63c4e-169d-4ddb-95ea-2962c7ec3f92",
"name": "user_id",
"value": "={{ $json.body.user_id || 'anonymous' }}",
"type": "string"
},
{
"id": "62645144-588b-4305-95e6-e5411435f2ab",
"name": "=request_id",
"value": "={{ $execution.id }}",
"type": "string"
},
{
"id": "14111496-a6e5-4ad6-8b28-32624a4d5ebf",
"name": "timestamp",
"value": "={{ $now }}",
"type": "string"
}
]
},
"options": {}
},
"type": "n8n-nodes-base.set",
"typeVersion": 3.4,
"position": [
208,
144
],
"id": "cd6ed876-1783-4d27-8e78-2eca53f93446",
"name": "Normalize Input"
},
{
"parameters": {
"assignments": {
"assignments": [
{
"id": "6f35be4c-f863-4325-9ef5-c168c0a38dce",
"name": "request_id",
"value": "={{$json.request_id}}",
"type": "string"
},
{
"id": "dd85bb8e-0e64-4d55-8d7c-9663d3c816ff",
"name": "query",
"value": "={{$json.query}}",
"type": "string"
},
{
"id": "7e9070cb-6fef-4aff-8a44-c5b5b917f0bc",
"name": "base_prompt",
"value": "You are an expert AI assistant. Answer the question clearly and accurately.",
"type": "string"
}
]
},
"options": {}
},
"type": "n8n-nodes-base.set",
"typeVersion": 3.4,
"position": [
352,
144
],
"id": "db941f11-d380-43d7-a0c4-38af677679ba",
"name": "Prepare Prompt"
},
{
"parameters": {
"modelId": {
"__rl": true,
"value": "models/gemini-2.5-flash",
"mode": "list",
"cachedResultName": "models/gemini-2.5-flash"
},
"messages": {
"values": [
{
"content": "={{$json.system_prompt}}\n\nQuestion:\n{{$json.query}}\n"
}
]
},
"builtInTools": {},
"options": {}
},
"type": "@n8n/n8n-nodes-langchain.googleGemini",
"typeVersion": 1.1,
"position": [
512,
16
],
"id": "abd856bb-034d-4641-9602-e4c65cdd7bec",
"name": "LLM_B_GEMINI",
"credentials": {
"googlePalmApi": {
"name": "<your credential>"
}
}
},
{
"parameters": {
"assignments": {
"assignments": [
{
"id": "2876bf59-675e-4ad9-a65e-6d8b23e5a789",
"name": "request_id",
"value": "={{ $node[\"Normalize Input\"].json.request_id }}\n",
"type": "string"
},
{
"id": "0cf7d369-b514-43d0-b90d-1e4b1a0f3bd4",
"name": "model_id",
"value": "\"gemini\"",
"type": "string"
},
{
"id": "dd60469e-7ec2-453c-a6ff-3ab12b6d1d40",
"name": "content",
"value": "={{ $json.content.parts[0].text }}\n",
"type": "string"
},
{
"id": "15cfdf1b-3150-412c-8940-53dbaddeb559",
"name": "stage",
"value": "\"generation\"",
"type": "string"
}
]
},
"options": {}
},
"type": "n8n-nodes-base.set",
"typeVersion": 3.4,
"position": [
784,
16
],
"id": "3f03829e-7809-4bf7-8d1c-ca7d551f4936",
"name": "Normalize Gemini"
},
{
"parameters": {
"assignments": {
"assignments": [
{
"id": "2876bf59-675e-4ad9-a65e-6d8b23e5a789",
"name": "request_id",
"value": "={{ $node[\"Normalize Input\"].json.request_id }}\n",
"type": "string"
},
{
"id": "0cf7d369-b514-43d0-b90d-1e4b1a0f3bd4",
"name": "model_id",
"value": "\"ollama_llama3_1\"",
"type": "string"
},
{
"id": "dd60469e-7ec2-453c-a6ff-3ab12b6d1d40",
"name": "content",
"value": "={{ $json.content }}\n",
"type": "string"
},
{
"id": "15cfdf1b-3150-412c-8940-53dbaddeb559",
"name": "stage",
"value": "\"generation\"",
"type": "string"
}
]
},
"options": {}
},
"type": "n8n-nodes-base.set",
"typeVersion": 3.4,
"position": [
784,
304
],
"id": "2a35fc30-6383-459b-934c-92a8674ee07e",
"name": "Normalize Ollama"
},
{
"parameters": {
"modelId": {
"__rl": true,
"value": "llama3.1:latest",
"mode": "list",
"cachedResultName": "llama3.1:latest"
},
"messages": {
"values": [
{
"content": "={{$json.system_prompt}}\n",
"role": "assistant"
},
{
"content": "={{$json.query}}\n"
}
]
},
"options": {}
},
"type": "@n8n/n8n-nodes-langchain.ollama",
"typeVersion": 1,
"position": [
528,
304
],
"id": "754cd9ef-97cd-4fcd-a072-d245d99abf75",
"name": "LLM_C_OLLAMA",
"credentials": {
"ollamaApi": {
"name": "<your credential>"
}
}
},
{
"parameters": {},
"type": "n8n-nodes-base.merge",
"typeVersion": 3.2,
"position": [
944,
144
],
"id": "ff73c632-b85e-467c-a2d9-c357feca40d5",
"name": "Merge"
},
{
"parameters": {
"jsCode": "const items = $input.all();\nconst labels = ['A', 'B', 'C', 'D', 'E'];\n\nconst anonymized = {};\nconst answer_map = {};\n\nitems.forEach((item, i) => {\n const label = labels[i];\n const answer = item.json.content?.replace(/\\*\\*/g, '') ?? '';\n\n anonymized[label] = answer;\n answer_map[label] = answer;\n});\n\nreturn [\n {\n json: {\n anonymized_responses: anonymized,\n answer_map\n }\n }\n];\n"
},
"type": "n8n-nodes-base.code",
"typeVersion": 2,
"position": [
1104,
144
],
"id": "1d0d132a-89f2-4168-a251-460652f35594",
"name": "Anonymize Responses"
},
{
"parameters": {
"modelId": {
"__rl": true,
"value": "llama3.1:latest",
"mode": "list",
"cachedResultName": "llama3.1:latest"
},
"messages": {
"values": [
{
"content": "You are a strict academic reviewer.\n",
"role": "assistant"
},
{
"content": "={{$json.review_prompt}}\n\nAnonymous Answers (JSON):\n{{ JSON.stringify($json.responses, null, 2) }}\n"
}
]
},
"options": {}
},
"type": "@n8n/n8n-nodes-langchain.ollama",
"typeVersion": 1,
"position": [
1472,
-144
],
"id": "bd11d491-78d8-40e4-a4d2-e2a089a49a99",
"name": "Reviewer_Ollama",
"credentials": {
"ollamaApi": {
"name": "<your credential>"
}
}
},
{
"parameters": {
"modelId": {
"__rl": true,
"value": "models/gemini-2.5-flash",
"mode": "list",
"cachedResultName": "models/gemini-2.5-flash"
},
"messages": {
"values": [
{
"content": "={{$json.review_prompt}}\n\nAnonymous Answers (JSON):\n{{ JSON.stringify($json.responses, null, 2) }}"
}
]
},
"builtInTools": {},
"options": {}
},
"type": "@n8n/n8n-nodes-langchain.googleGemini",
"typeVersion": 1.1,
"position": [
1472,
-336
],
"id": "3966e215-46aa-451a-b846-504aba99ef4a",
"name": "Reviewer_Gemini",
"credentials": {
"googlePalmApi": {
"name": "<your credential>"
}
}
},
{
"parameters": {
"assignments": {
"assignments": [
{
"id": "eba766ca-dedc-4795-8816-9c32232a848a",
"name": "request_id",
"value": "={{$node[\"Prepare Review Prompt\"].json.request_id}}",
"type": "string"
},
{
"id": "8a5391ac-bfd8-47b9-a52e-213410895933",
"name": "reviewer",
"value": "\"gemini\"",
"type": "string"
},
{
"id": "151844a7-ffa5-4647-b4a1-e5893cdc2a21",
"name": "review",
"value": "={{ $json.content.parts[0].text }}",
"type": "string"
},
{
"id": "4e677d9e-d214-4031-ab33-54af5051f4a7",
"name": "stage",
"value": "\"peer_review\"",
"type": "string"
}
]
},
"options": {}
},
"type": "n8n-nodes-base.set",
"typeVersion": 3.4,
"position": [
1744,
-336
],
"id": "7d9de0ec-8e09-4f18-8759-52707b02c69a",
"name": "Normalize Gemini Review"
},
{
"parameters": {
"assignments": {
"assignments": [
{
"id": "eba766ca-dedc-4795-8816-9c32232a848a",
"name": "request_id",
"value": "={{$node[\"Prepare Review Prompt\"].json.request_id}}",
"type": "string"
},
{
"id": "8a5391ac-bfd8-47b9-a52e-213410895933",
"name": "reviewer",
"value": "\"ollama\"",
"type": "string"
},
{
"id": "151844a7-ffa5-4647-b4a1-e5893cdc2a21",
"name": "review",
"value": "={{ $json.content }}\n",
"type": "string"
},
{
"id": "4e677d9e-d214-4031-ab33-54af5051f4a7",
"name": "stage",
"value": "\"peer_review\"",
"type": "string"
}
]
},
"options": {}
},
"type": "n8n-nodes-base.set",
"typeVersion": 3.4,
"position": [
1744,
-144
],
"id": "b5918a45-ef91-4fb9-b0bb-3e5eb3c9a16c",
"name": "Normalize Ollama Review"
},
{
"parameters": {
"jsCode": "const items = $input.all();\n\n// Find answer_map from any upstream item that has it\nlet answer_map = {};\nfor (const i of items) {\n if (i.json.answer_map && Object.keys(i.json.answer_map).length > 0) {\n answer_map = i.json.answer_map;\n break;\n }\n}\n\nreturn [\n {\n json: {\n status: \"peer_review_complete\",\n request_id: items[0].json.request_id,\n reviews: items.map(i => i.json),\n answer_map // \ud83d\udc48 REATTACHED HERE\n }\n }\n];\n"
},
"type": "n8n-nodes-base.code",
"typeVersion": 2,
"position": [
1504,
128
],
"id": "895573d5-3cb9-408b-ac2a-217332098e43",
"name": "Collapse Final Response"
},
{
"parameters": {
"assignments": {
"assignments": [
{
"id": "9300fd9e-4bce-4420-827a-ed5d088ef430",
"name": "request_id",
"value": "={{ $node[\"Normalize Input\"].json.request_id }}",
"type": "string"
},
{
"id": "17c443d2-6847-4edd-9347-60c046855171",
"name": "responses",
"value": "={{$json.anonymized_responses}}",
"type": "object"
},
{
"id": "f1f48d05-1235-4fb5-9a4f-ddca16b5a611",
"name": "review_prompt",
"value": "You are acting as an anonymous peer reviewer. You will be given multiple anonymous answers (A, B, C...) to the same question. Your task: 1. Rank the answers from best to worst based on: - Accuracy - Depth of reasoning - Clarity 2. Give a short critique for each answer. 3. Do NOT guess the author. Respond strictly in JSON with this format: { \"ranking\": [\"A\", \"B\"], \"scores\": { \"A\": 8.5, \"B\": 7.2 }, \"critiques\": { \"A\": \"...\", \"B\": \"...\" } }",
"type": "string"
},
{
"id": "e0776f49-38ea-4a89-a459-39211fe4cb53",
"name": "answer_map",
"value": "={{ $json.answer_map }}",
"type": "object"
}
]
},
"options": {}
},
"type": "n8n-nodes-base.set",
"typeVersion": 3.4,
"position": [
1312,
-256
],
"id": "bc29ece9-4c32-4872-8aae-f4e09e9196a4",
"name": "Prepare Review Prompt"
},
{
"parameters": {},
"type": "n8n-nodes-base.merge",
"typeVersion": 3.2,
"position": [
1984,
-128
],
"id": "f702adbf-20ca-4634-86c0-b209f5e42707",
"name": "Merge1"
},
{
"parameters": {
"jsCode": "const item = $input.first();\nconst reviews = item.json.reviews || [];\nconst answer_map = item.json.answer_map || {};\n\n/**\n * Safely extract JSON from LLM text\n */\nfunction extractJSON(text) {\n if (!text || typeof text !== 'string') return null;\n\n const cleaned = text\n .replace(/```json/g, '')\n .replace(/```/g, '')\n .trim();\n\n try {\n return JSON.parse(cleaned);\n } catch (e) {\n return null;\n }\n}\n\n/**\n * Parse each reviewer output\n */\nconst parsed = reviews.map(r => {\n const parsedReview = extractJSON(r.review) || {};\n\n return {\n json: {\n request_id: item.json.request_id,\n reviewer: r.reviewer.replace(/\"/g, ''),\n ranking: Array.isArray(parsedReview.ranking)\n ? parsedReview.ranking\n : [],\n scores: typeof parsedReview.scores === 'object'\n ? parsedReview.scores\n : {},\n critiques: typeof parsedReview.critiques === 'object'\n ? parsedReview.critiques\n : {},\n answer_map // \ud83d\udc48 CRITICAL: pass forward unchanged\n }\n };\n});\n\nreturn parsed;\n"
},
"type": "n8n-nodes-base.code",
"typeVersion": 2,
"position": [
1696,
128
],
"id": "5efa0176-b7ae-433e-b4af-31e4c71797ed",
"name": "Parse Gemini / Ollama JSON text"
},
{
"parameters": {
"jsCode": "const items = $input.all();\nconst answer_map = items[0].json.answer_map || {};\n\nconst voteCounts = {};\nconst scoreSums = {};\nconst scoreCounts = {};\n\n// Collect votes and scores\nitems.forEach(item => {\n const { ranking = [], scores = {} } = item.json;\n\n ranking.forEach(label => {\n voteCounts[label] = (voteCounts[label] || 0) + 1;\n });\n\n Object.entries(scores).forEach(([label, score]) => {\n if (typeof score === 'number') {\n scoreSums[label] = (scoreSums[label] || 0) + score;\n scoreCounts[label] = (scoreCounts[label] || 0) + 1;\n }\n });\n});\n\n// Compute averages\nconst averages = {};\nObject.keys(scoreSums).forEach(label => {\n averages[label] = scoreSums[label] / scoreCounts[label];\n});\n\n// Winner = highest average score (tie-safe)\nconst winner = Object.entries(averages)\n .sort((a, b) => b[1] - a[1])[0]?.[0] ?? null;\n\n// Confidence = proportion of reviewers voting for winner\nconst confidence = winner\n ? Number(((voteCounts[winner] || 0) / items.length).toFixed(2))\n : 0;\n\nreturn [\n {\n json: {\n winner,\n final_answer: answer_map[winner] || \"\",\n confidence,\n averages,\n votes: voteCounts\n }\n }\n];\n"
},
"type": "n8n-nodes-base.code",
"typeVersion": 2,
"position": [
1872,
128
],
"id": "4bf2d2d1-9bee-48ce-8b68-069aa5b5dd8d",
"name": "Consensus Calculator"
},
{
"parameters": {
"conditions": {
"options": {
"caseSensitive": true,
"leftValue": "",
"typeValidation": "strict",
"version": 3
},
"conditions": [
{
"id": "71989e23-e50e-445f-a17e-bc9d0fb6d186",
"leftValue": "={{ $json.confidence }}",
"rightValue": 0.6,
"operator": {
"type": "number",
"operation": "gte"
}
}
],
"combinator": "and"
},
"options": {}
},
"type": "n8n-nodes-base.if",
"typeVersion": 2.3,
"position": [
1392,
432
],
"id": "60b72067-0349-4fcb-8ddd-7aa0fedd0cb1",
"name": "If"
},
{
"parameters": {
"assignments": {
"assignments": [
{
"id": "b13e0a25-ac19-48c8-8a31-075804ecff5b",
"name": "decision",
"value": "accepted",
"type": "string"
},
{
"id": "ff12702a-82a4-46e3-8af4-12ba46a55bef",
"name": "status",
"value": "success",
"type": "string"
},
{
"id": "e19b0677-9c78-4f8b-9002-5e9d19f0b323",
"name": "answer",
"value": "={{ $json.final_answer }}",
"type": "string"
},
{
"id": "70ed9b05-8fc0-4e0d-af09-18957d6fb106",
"name": "confidence",
"value": "={{ Number($json.confidence ?? 0) }}\n",
"type": "number"
},
{
"id": "bffb3b56-506e-4fba-9a57-ba566765aaba",
"name": "sources",
"value": "={{ $json.sources || [] }}\n",
"type": "string"
},
{
"id": "2c74cb64-bfac-4f65-85f4-926378a28364",
"name": "fallback",
"value": false,
"type": "boolean"
},
{
"id": "4e021166-9ca7-4155-ab70-1b7cf27bdcd8",
"name": "timestamp",
"value": "={{ $now }}",
"type": "string"
}
]
},
"options": {}
},
"type": "n8n-nodes-base.set",
"typeVersion": 3.4,
"position": [
1616,
352
],
"id": "da0ee208-a6df-4eff-b44a-67994fea9bdb",
"name": "Set \u2013 Accepted Response"
},
{
"parameters": {
"assignments": {
"assignments": [
{
"id": "d37503e1-c23b-4ed4-8bf9-604530376679",
"name": "decision",
"value": "fallback",
"type": "string"
},
{
"id": "afe4b37d-89ed-4bb9-82e0-692d6e52b52d",
"name": "status",
"value": "low_confidence",
"type": "string"
},
{
"id": "0cd6fed4-e8ab-4d12-bed0-56ed44b8b7cd",
"name": "answer",
"value": "I am not confident enough to answer this accurately. Please rephrase or provide more context.",
"type": "string"
},
{
"id": "753678e4-1a38-4222-bad6-41ab9bb537a0",
"name": "confidence",
"value": "={{ Number($json.confidence ?? 0) }}\n",
"type": "number"
},
{
"id": "330632ca-01a6-4985-9dea-6df830235707",
"name": "sources",
"value": "[]",
"type": "array"
},
{
"id": "c7d5bef2-1dc0-467e-bcb1-a31fb3849db5",
"name": "fallback",
"value": true,
"type": "boolean"
},
{
"id": "5174490c-2809-4540-aec6-57e1b1765e4f",
"name": "timestamp",
"value": "={{ $now }}",
"type": "string"
}
]
},
"options": {}
},
"type": "n8n-nodes-base.set",
"typeVersion": 3.4,
"position": [
1616,
528
],
"id": "043a0750-f545-481a-8d3f-c2cc6e23901f",
"name": "Set \u2013 Fallback Response"
},
{
"parameters": {
"respondWith": "json",
"responseBody": "={{ JSON.stringify($json) }}\n",
"options": {}
},
"type": "n8n-nodes-base.respondToWebhook",
"typeVersion": 1.5,
"position": [
1856,
432
],
"id": "e954eb44-fe1d-4882-a03c-47d8805bcf92",
"name": "Respond to Webhook"
},
{
"parameters": {
"jsCode": "return [\n {\n json: $input.first().json\n }\n];\n"
},
"type": "n8n-nodes-base.code",
"typeVersion": 2,
"position": [
2032,
128
],
"id": "c29693af-aa6f-4f1a-97d0-9218f2edb2a7",
"name": "Force Single Item"
},
{
"parameters": {
"mode": "combine",
"combineBy": "combineByPosition",
"options": {}
},
"type": "n8n-nodes-base.merge",
"typeVersion": 3.2,
"position": [
1360,
128
],
"id": "a6803d34-0045-45f8-ab63-8b9698143f45",
"name": "Merge2"
}
],
"connections": {
"Webhook": {
"main": [
[
{
"node": "Normalize Input",
"type": "main",
"index": 0
}
]
]
},
"Normalize Input": {
"main": [
[
{
"node": "Prepare Prompt",
"type": "main",
"index": 0
}
]
]
},
"Prepare Prompt": {
"main": [
[
{
"node": "LLM_B_GEMINI",
"type": "main",
"index": 0
},
{
"node": "LLM_C_OLLAMA",
"type": "main",
"index": 0
}
]
]
},
"LLM_B_GEMINI": {
"main": [
[
{
"node": "Normalize Gemini",
"type": "main",
"index": 0
}
]
]
},
"Normalize Gemini": {
"main": [
[
{
"node": "Merge",
"type": "main",
"index": 0
}
]
]
},
"Normalize Ollama": {
"main": [
[
{
"node": "Merge",
"type": "main",
"index": 1
}
]
]
},
"LLM_C_OLLAMA": {
"main": [
[
{
"node": "Normalize Ollama",
"type": "main",
"index": 0
}
]
]
},
"Anonymize Responses": {
"main": [
[
{
"node": "Prepare Review Prompt",
"type": "main",
"index": 0
},
{
"node": "Merge2",
"type": "main",
"index": 1
}
]
]
},
"Reviewer_Ollama": {
"main": [
[
{
"node": "Normalize Ollama Review",
"type": "main",
"index": 0
}
]
]
},
"Reviewer_Gemini": {
"main": [
[
{
"node": "Normalize Gemini Review",
"type": "main",
"index": 0
}
]
]
},
"Normalize Gemini Review": {
"main": [
[
{
"node": "Merge1",
"type": "main",
"index": 0
}
]
]
},
"Normalize Ollama Review": {
"main": [
[
{
"node": "Merge1",
"type": "main",
"index": 1
}
]
]
},
"Prepare Review Prompt": {
"main": [
[
{
"node": "Reviewer_Ollama",
"type": "main",
"index": 0
},
{
"node": "Reviewer_Gemini",
"type": "main",
"index": 0
}
]
]
},
"Merge1": {
"main": [
[
{
"node": "Merge2",
"type": "main",
"index": 0
}
]
]
},
"Merge": {
"main": [
[
{
"node": "Anonymize Responses",
"type": "main",
"index": 0
}
]
]
},
"Parse Gemini / Ollama JSON text": {
"main": [
[
{
"node": "Consensus Calculator",
"type": "main",
"index": 0
}
]
]
},
"Consensus Calculator": {
"main": [
[
{
"node": "Force Single Item",
"type": "main",
"index": 0
}
]
]
},
"If": {
"main": [
[
{
"node": "Set \u2013 Accepted Response",
"type": "main",
"index": 0
}
],
[
{
"node": "Set \u2013 Fallback Response",
"type": "main",
"index": 0
}
]
]
},
"Set \u2013 Accepted Response": {
"main": [
[
{
"node": "Respond to Webhook",
"type": "main",
"index": 0
}
]
]
},
"Set \u2013 Fallback Response": {
"main": [
[
{
"node": "Respond to Webhook",
"type": "main",
"index": 0
}
]
]
},
"Force Single Item": {
"main": [
[
{
"node": "If",
"type": "main",
"index": 0
}
]
]
},
"Collapse Final Response": {
"main": [
[
{
"node": "Parse Gemini / Ollama JSON text",
"type": "main",
"index": 0
}
]
]
},
"Merge2": {
"main": [
[
{
"node": "Collapse Final Response",
"type": "main",
"index": 0
}
]
]
}
},
"active": false,
"settings": {
"executionOrder": "v1",
"availableInMCP": false
},
"versionId": "665ab297-32e4-435c-aefb-59ec5e78abcc",
"meta": {
"templateCredsSetupCompleted": true
},
"id": "onqNJ6NwzqGs4kfw",
"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.
googlePalmApiollamaApi
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
LLM-Council | FINAL | End-to-End. Uses googleGemini, ollama. Webhook trigger; 24 nodes.
Source: https://github.com/AnshGajera/multi-llm-council/blob/6bfeb9490505b93e24b93247f70a0e2aab3272e9/workflows/n8n-workflow.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.
Postagem Redes — Portal: Ações. Uses openAi, googleGemini, ollama, httpRequest. Webhook trigger; 58 nodes.
BaseLinker Product Automation - Full Sanitized Workflow. Uses googleGemini, editImage, httpRequest, discord. Webhook trigger; 89 nodes.
This workflow captures new leads via webhook, enriches and scores them with Apollo and Google Gemini, logs everything in Google Sheets, and automates outreach, reply handling, follow-ups, meeting prep
This workflow automates the process of generating stylized product photos for e-commerce by combining real product shots with creative templates. It enables the creation of a complete set of images fo
How it works Runs on schedule (Monday-Friday at 9 AM) to automate lead generation Searches for companies on Google Maps by location and category Extracts owner information from company websites and im