Skip to content

Instantly share code, notes, and snippets.

@shraey96
Created January 25, 2026 16:19
Show Gist options
  • Select an option

  • Save shraey96/4bcb6f4e962f9108c6c874297e6d567b to your computer and use it in GitHub Desktop.

Select an option

Save shraey96/4bcb6f4e962f9108c6c874297e6d567b to your computer and use it in GitHub Desktop.
ELEVEN LABS WITH MULTI AGENTS - 🧠 Gwen – The AI Voice Marketing AgentGwen is your intelligent voice-powered marketing assistant buil
{
"id": "YEuoA3Cq84m057vt",
"meta": {
"instanceId": "2000c64071c20843606b95c63795bb0797c41036047055a6586498e855b96efc"
},
"name": "ELEVEN LABS WITH MULTI AGENTS",
"tags": [],
"nodes": [
{
"id": "130f11d3-e09a-4913-84e4-eaa0dd2964f0",
"name": "Webhook",
"type": "n8n-nodes-base.webhook",
"position": [
-1820,
440
],
"webhookId": "042cc868-28b7-42a2-ab65-bc2944fc5a54",
"parameters": {
"path": "042cc868-28b7-42a2-ab65-bc2944fc5a54",
"options": {},
"httpMethod": "POST",
"responseMode": "responseNode"
},
"typeVersion": 2
},
{
"id": "7d672479-775a-4322-ac6d-dd19002a7fab",
"name": "Sticky Note8",
"type": "n8n-nodes-base.stickyNote",
"position": [
-3020,
-520
],
"parameters": {
"color": 7,
"width": 840,
"height": 1000,
"content": "# πŸ“‹ Setup Guide \nAuthor: DAVID OLUSOLA\n---\n### βœ… First Steps\n1. **Import the following workflows** into your n8n environment:\n \n - Blog Post\n - Create Image\n - Edit Image\n - Search Images\n\n2. **Link all workflows** together appropriately.\n - Make sure that the tools the Marketing Team Agent uses are correctly linked to these workflows.\n - Rename workflows as needed to fit your naming system.\n---\n\n### πŸ”— Credentials to Connect\n- **[Telegram Credential](https://telegram.org/)** \n- **[Openai](https://platform.openai.com/docs/overview)** (for AI requests)\n- **[Tavily](https://tavily.com/) Credential** (for research inside LinkedIn Post and Blog Post workflows)\n---\n\n\n## ElevenLabs Tool Setup Instructions\nStep 1: In the tool's description put: \"A knowledge base on AI-powered marketing automation and content creation workflows\"\nStep 2: Choose the POST method and in the URL put the Webhook link from your n8n workflow:\nhttps://your-n8n-instance.app.n8n.cloud/webhook/042cc868-28b7-42a2-ab65-bc2944fc5a54\nStep 10: Scroll to Body Parameters and add these parameters:\na. Identifier: prompt\n\nValue type: LLM prompt\nDescription: The user's message and request\nUse this value in your AI Agent node\n\nb. Identifier: sessionId\n\nValue type: Dynamic variable\nVariable name: system__conversation_id\nUse this in your Chat Memory node for conversation history\n\nStep 11: Save the tool, save the agent\nStep 12: Run test in ElevenLabs interface\nStep 13: Check n8n workflow execution logs to verify successful integration\n\n### API Keys to Configure\n\n\n- **[Google Sheets Log Template](https://docs.google.com/spreadsheets/d/1fKisxQ33-VrQ3YKDu_c99EljmnNgemXzaINspmT1zt0/edit?usp=sharing)** \n β†’ Connect it to your n8n Google Sheets node to track content outputs.\n---\n\nMake sure all credentials, APIs, and templates are properly set before running the full system!\n"
},
"typeVersion": 1
},
{
"id": "d21ab3c4-cdbe-4622-910e-0b12d1409485",
"name": "ElevenLabs Setup",
"type": "n8n-nodes-base.stickyNote",
"position": [
-3020,
1040
],
"parameters": {
"color": 5,
"width": 820,
"height": 1080,
"content": "# πŸŽ™οΈ ElevenLabs Voice Integration\nAuthor: DAVID OLUSOLA\n---\n### πŸš€ Quick Setup\n**[Get ElevenLabs API Access](https://try.elevenlabs.io/x2v90m05bc85)**\n*Premium voice synthesis for your content*\n\n### πŸ”§ Configuration Steps\n1. **Sign up** using the link above\n2. **Get your API key** from dashboard\n3. **Add ElevenLabs credential** in n8n\n4. **Connect to voice generation workflows**\n\n### 🎯 Voice Integration Prompt\n```\n# Overview\nYou are an advanced marketing team AI agent with voice capabilities. Your job is to help users create and edit images, generate content, and provide voice-enhanced responses for maximum engagement.\n\n## Available Tools\n- **createImage** - Use this to create an image. Send the requested image prompt to this tool.\n- **editImage** - Use this to edit an image. The user might also say \"make\" rather than \"edit\".\n- **searchImages** - Use this to search the image database for existing content.\n- **blogPost** - Use this to create comprehensive blog posts with target audience optimization.\n- **Think** - Use this if you need help making a decision or analyzing user requests.\n\n## Voice Integration Instructions\nWhen generating any text content (blog posts, image descriptions, responses):\n- Structure content for natural speech flow with appropriate pauses\n- Use conversational, engaging tone that works well with voice synthesis\n- Add emphasis markers *like this* for important points\n- Keep sentences concise and punchy for better audio delivery\n- Include natural transitions between ideas\n- Optimize for listener engagement and retention\n\n## Behavioral Guidelines\n- If the user asks to 'edit that image' or 'make that...', this indicates they want to edit the most recent image in the database\n- For blog post requests, use the \"blogPost\" tool and respond: \"Here's that voice-optimized post you requested. Perfect for audio content!\"\n- Always return image links as clickable URLs\n- When creating content, consider both visual and audio presentation\n- Provide clear, actionable responses that work well when spoken aloud\n\n## Output Format\n- Structure responses for multi-modal delivery (text + potential voice)\n- Use natural language that flows well when converted to speech\n- Include relevant CTAs and engagement hooks\n- Maintain professional yet approachable tone throughout\n\n\n\n\n\n"
},
"typeVersion": 1
},
{
"id": "25af0cf7-9623-4d8c-82ff-d319728b4a40",
"name": "Create Image",
"type": "@n8n/n8n-nodes-langchain.toolWorkflow",
"position": [
-1180,
740
],
"parameters": {
"name": "createImage",
"workflowId": {
"__rl": true,
"mode": "list",
"value": "bXZW4Vx5NAEb4XuY",
"cachedResultName": "create image 2"
},
"description": "Call this tool to create an image. ",
"workflowInputs": {
"value": {
"chatID": "=6610781222",
"imageTitle": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('imageTitle', `The title of the image. Should be no more than 4 words.`, 'string') }}",
"imagePrompt": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('imagePrompt', `The image requested by the user`, 'string') }}"
},
"schema": [
{
"id": "imageTitle",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "imageTitle",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "imagePrompt",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "imagePrompt",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "chatID",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "chatID",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [],
"attemptToConvertTypes": false,
"convertFieldsToString": false
}
},
"typeVersion": 2.1
},
{
"id": "062fcb06-a6d4-46ca-b5a3-03f9f4cac6c3",
"name": "Simple Memory",
"type": "@n8n/n8n-nodes-langchain.memoryBufferWindow",
"position": [
-1460,
760
],
"parameters": {
"sessionKey": "={{ $json.body.sessionid }}",
"sessionIdType": "customKey"
},
"typeVersion": 1.3
},
{
"id": "1bed5d7a-f88b-445d-af03-9197f3c1007a",
"name": "Edit Image",
"type": "@n8n/n8n-nodes-langchain.toolWorkflow",
"position": [
-920,
760
],
"parameters": {
"name": "editImage",
"workflowId": {
"__rl": true,
"mode": "list",
"value": "f69z1tuuYSY2EwfZ",
"cachedResultName": "edit image"
},
"description": "Call this tool to edit an image.",
"workflowInputs": {
"value": {
"image": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('image', `The title of the image the user wants to edit`, 'string') }}",
"chatID": "=6610781222",
"request": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('request', `The edit the user wants to make to the image`, 'string') }}",
"pictureID": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('pictureID', `The ID of the image to edit`, 'string') }}"
},
"schema": [
{
"id": "image",
"type": "string",
"display": true,
"required": false,
"displayName": "image",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "request",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "request",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "chatID",
"type": "string",
"display": true,
"required": false,
"displayName": "chatID",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "pictureID",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "pictureID",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [],
"attemptToConvertTypes": false,
"convertFieldsToString": false
}
},
"typeVersion": 2.1
},
{
"id": "08bdced3-7113-433b-8996-a8f3b0830792",
"name": "Search Images",
"type": "@n8n/n8n-nodes-langchain.toolWorkflow",
"position": [
-1320,
760
],
"parameters": {
"name": "searchImages",
"workflowId": {
"__rl": true,
"mode": "list",
"value": "236mDHZhVQoIh20R",
"cachedResultName": "search image"
},
"description": "Call this tool to search the image database.",
"workflowInputs": {
"value": {
"image": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('image', `The image title`, 'string') }}",
"chatID": "=6610781222",
"intent": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('intent', `The intent of the user. This can either be \"Get\" or \"Edit\"`, 'string') }}"
},
"schema": [
{
"id": "intent",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "intent",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "image",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "image",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "chatID",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "chatID",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [],
"attemptToConvertTypes": false,
"convertFieldsToString": false
}
},
"typeVersion": 2.1
},
{
"id": "5e385186-d38d-41c4-8178-aded256ec2e9",
"name": "Blog Post",
"type": "@n8n/n8n-nodes-langchain.toolWorkflow",
"position": [
-1620,
760
],
"parameters": {
"name": "blogPost",
"workflowId": {
"__rl": true,
"mode": "list",
"value": "knQUq8KkIHAzXDkM",
"cachedResultName": "blog post1"
},
"description": "Call this tool to create a blog post using a topic and a target audience.",
"workflowInputs": {
"value": {
"chatID": "=6610781222",
"blogTopic": "={{ $fromAI('blogTopic', `The topic of the blog.`, 'string') }}",
"targetAudience": "={{ $fromAI('targetAudience', `The target audience for the blog.`, 'string') }}"
},
"schema": [
{
"id": "blogTopic",
"type": "string",
"display": true,
"required": false,
"displayName": "blogTopic",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "targetAudience",
"type": "string",
"display": true,
"required": false,
"displayName": "targetAudience",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "chatID",
"type": "string",
"display": true,
"required": false,
"displayName": "chatID",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [],
"attemptToConvertTypes": false,
"convertFieldsToString": false
}
},
"typeVersion": 2.1
},
{
"id": "9f0dcfb9-523c-4fce-b0a9-2177e8ad305d",
"name": "Marketing Team Agent",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
-1560,
440
],
"parameters": {
"text": "={{ $json.body.prompt }}",
"options": {
"systemMessage": "=# Overview\nYou are a marketing team AI agent. Your job is to help the user create and edit images based on the request, or create content.\n\n## Tools\ncreateImage - Use this to create an image. Send the requested image prompt to this tool.\neditImage - Use this to edit an image. The user might also say \"make\" rather than \"edit\".\nImage Database - Use this to search the image database. \nblogPost - Use this to create a blog post..\nThink - Use this if you need help making a decision.\n\n## Instructions\n- If the user asks to 'edit that image' or 'make that...', this indicates they want to edit the last image in the database, the most recent one.\n- If the user requests a blog post , use the \"blogPost\" tool and output: \"Here's that post you requested. Hope you enjoy it.\"\n\n## Output\n- Make sure to return the image link as a clickable link\n\n"
},
"promptType": "define"
},
"typeVersion": 1.9
},
{
"id": "762f673c-54aa-41e9-9414-e8331cb139c8",
"name": "Think",
"type": "@n8n/n8n-nodes-langchain.toolThink",
"position": [
-1080,
740
],
"parameters": {},
"typeVersion": 1
},
{
"id": "b643093a-cbcf-4ebd-b628-08421735c70f",
"name": "OpenAI Chat Model",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
-1760,
740
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "gpt-4o-mini",
"cachedResultName": "gpt-4o-mini"
},
"options": {}
},
"credentials": {},
"typeVersion": 1.2
},
{
"id": "6d5de957-96ee-48de-8bd2-25e27ef6d0ed",
"name": "Respond to Webhook",
"type": "n8n-nodes-base.respondToWebhook",
"position": [
-1120,
440
],
"parameters": {
"options": {},
"respondWith": "allIncomingItems"
},
"typeVersion": 1.4
},
{
"id": "16c4ef2c-a1aa-40cd-aa66-482e9495a097",
"name": "Convert to File",
"type": "n8n-nodes-base.convertToFile",
"position": [
1356,
960
],
"parameters": {
"options": {},
"operation": "toBinary",
"sourceProperty": "data[0].b64_json"
},
"typeVersion": 1.1
},
{
"id": "37fc4987-50d4-4b61-a6ef-0388ea35692f",
"name": "Generate Image",
"type": "n8n-nodes-base.httpRequest",
"position": [
1136,
960
],
"parameters": {
"url": "https://api.openai.com/v1/images/generations",
"method": "POST",
"options": {},
"sendBody": true,
"authentication": "genericCredentialType",
"bodyParameters": {
"parameters": [
{
"name": "model",
"value": "gpt-image-1"
},
{
"name": "prompt",
"value": "={{ $json.output.replace(/\"/g, '') }}"
},
{
"name": "size",
"value": "1024x1024"
}
]
},
"genericAuthType": "httpHeaderAuth"
},
"typeVersion": 4.2
},
{
"id": "3a5b7abd-a55e-428c-b86c-5e13a7d5071c",
"name": "Image Prompt",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
760,
960
],
"parameters": {
"text": "={{ $json.imagePrompt }}",
"options": {
"systemMessage": "=# Overview\nYou are an expert image prompt engineer. Your role is to take a simple image topic or concept and expand it into a fully detailed image prompt that can be fed into a text-to-image generation model.\n\n## Prompt Instructions\nYour detailed prompt must clearly describe the following:\n1) Main Subject: What is the primary focus of the image?\n2) Background/Setting: What is happening in the background or environment?\n3) Style: Specify the visual style (e.g., hyper-realistic, digital painting, watercolor, anime, 3D render, etc.).\n4) Mood/Lighting: Describe the emotional tone and lighting (e.g., soft warm sunset, moody storm clouds, futuristic neon lights).\n5) Additional Details: Mention any specific objects, clothing, colors, textures, or notable features that should appear.\n\n## Output Format\n- Begin with a clean, natural-sounding descriptive prompt that integrates all of the above elements seamlessly.\n- The description should sound like it’s written specifically for an AI to generate a professional, high-quality image.\n- Avoid repeating the original topic verbatim β€” instead, reframe it into a vivid scene or visual concept.\n- Use rich, vivid language and imagery.\n\n## Example\n- Input: \"A futuristic city\"\n- Output: \"A sprawling futuristic city at night, glowing with neon lights in shades of blue and purple. Towering skyscrapers with sleek, glass facades line the horizon. Flying cars zoom between the buildings under a cloudy, electric sky. The streets below are bustling with holographic advertisements and people wearing high-tech fashion. Digital painting style, highly detailed, cinematic perspective, moody atmosphere with soft neon reflections on wet pavement.\""
},
"promptType": "define"
},
"typeVersion": 1.9
},
{
"id": "a35b782f-9cea-4a22-ad54-73b61941fe4e",
"name": "Google Drive",
"type": "n8n-nodes-base.googleDrive",
"position": [
1576,
1060
],
"parameters": {
"name": "={{ $('When Executed by Another Workflow').item.json.imageTitle }}.png",
"driveId": {
"__rl": true,
"mode": "list",
"value": "My Drive"
},
"options": {},
"folderId": {
"__rl": true,
"mode": "list",
"value": "1TgQu-5hlOzO1X28TMMzLxfhunhPSUIqy",
"cachedResultUrl": "https://drive.google.com/drive/folders/1TgQu-5hlOzO1X28TMMzLxfhunhPSUIqy",
"cachedResultName": "AI Image Generation"
}
},
"typeVersion": 3
},
{
"id": "0c4d9982-0962-49a6-b493-c3599d45cf37",
"name": "Image Log",
"type": "n8n-nodes-base.googleSheets",
"position": [
1796,
1060
],
"parameters": {
"columns": {
"value": {
"ID": "={{ $json.id }}",
"Link": "={{ $json.webViewLink }}",
"Type": "Image",
"Title": "={{ $('When Executed by Another Workflow').item.json.imageTitle }}",
"Request": "={{ $('When Executed by Another Workflow').item.json.imagePrompt }}"
},
"schema": [
{
"id": "Title",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Title",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Type",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Type",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Request",
"type": "string",
"display": true,
"required": false,
"displayName": "Request",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "ID",
"type": "string",
"display": true,
"required": false,
"displayName": "ID",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Link",
"type": "string",
"display": true,
"required": false,
"displayName": "Link",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Post",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Post",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "append",
"sheetName": {
"__rl": true,
"mode": "list",
"value": "gid=0",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1JqOTd49heNBdmrf5hSwxI66X724tspAmSjzWoA6-EU0/edit#gid=0",
"cachedResultName": "Sheet1"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "1JqOTd49heNBdmrf5hSwxI66X724tspAmSjzWoA6-EU0",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1JqOTd49heNBdmrf5hSwxI66X724tspAmSjzWoA6-EU0/edit?usp=drivesdk",
"cachedResultName": "Marketing Team Log"
}
},
"typeVersion": 4.5
},
{
"id": "2b8359bf-6efd-4e03-a4b7-03b0ad372dbe",
"name": "Sticky Note4",
"type": "n8n-nodes-base.stickyNote",
"position": [
698,
680
],
"parameters": {
"color": 4,
"width": 1260,
"height": 640,
"content": "# Image Generation\n"
},
"typeVersion": 1
},
{
"id": "8dd7a0fe-03f8-452c-af92-7fb9510ac0ea",
"name": "Send Photo",
"type": "n8n-nodes-base.telegram",
"position": [
1576,
860
],
"webhookId": "8fcbda9c-8396-41f7-8f2d-39e4ae4337c7",
"parameters": {
"chatId": "={{ $('When Executed by Another Workflow').item.json.chatID }}",
"operation": "sendPhoto",
"binaryData": true,
"additionalFields": {}
},
"typeVersion": 1.2
},
{
"id": "cb36b8dc-8bd7-4e82-959b-4d6909b59ae6",
"name": "OpenAI Chat Model1",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
848,
1180
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "gpt-4o-mini"
},
"options": {}
},
"credentials": {},
"typeVersion": 1.2
},
{
"id": "cb748f5e-ae93-458d-8c10-a7a4037fc56f",
"name": "When Executed by Another Workflow",
"type": "n8n-nodes-base.executeWorkflowTrigger",
"position": [
80,
1820
],
"parameters": {
"workflowInputs": {
"values": [
{
"name": "image"
},
{
"name": "request"
},
{
"name": "chatID"
},
{
"name": "pictureID"
}
]
}
},
"typeVersion": 1.1
},
{
"id": "d1ba7187-e428-4c32-9041-0ef1e3d213d3",
"name": "Upload Image",
"type": "n8n-nodes-base.googleDrive",
"position": [
1420,
1520
],
"parameters": {
"name": "={{ $('When Executed by Another Workflow').item.json.image }} (Edited).png",
"driveId": {
"__rl": true,
"mode": "list",
"value": "My Drive"
},
"options": {},
"folderId": {
"__rl": true,
"mode": "list",
"value": "1TgQu-5hlOzO1X28TMMzLxfhunhPSUIqy",
"cachedResultUrl": "https://drive.google.com/drive/folders/1TgQu-5hlOzO1X28TMMzLxfhunhPSUIqy",
"cachedResultName": "AI Image Generation"
}
},
"typeVersion": 3
},
{
"id": "83cdd5e7-3d8d-4b64-8b98-e009e12325a9",
"name": "Sticky Note1",
"type": "n8n-nodes-base.stickyNote",
"position": [
428,
1060
],
"parameters": {
"color": 2,
"width": 1800,
"height": 620,
"content": "# Edit Image\n"
},
"typeVersion": 1
},
{
"id": "1dac3089-7593-4ae8-9ac8-d3b24f50b24d",
"name": "Download",
"type": "n8n-nodes-base.googleDrive",
"position": [
760,
1420
],
"parameters": {
"fileId": {
"__rl": true,
"mode": "id",
"value": "={{ $json.pictureID }}"
},
"options": {},
"operation": "download"
},
"typeVersion": 3
},
{
"id": "9e6ed86b-956d-4465-acd2-800b663ca868",
"name": "Edit Image1",
"type": "n8n-nodes-base.httpRequest",
"position": [
980,
1420
],
"parameters": {
"url": "https://api.openai.com/v1/images/edits",
"method": "POST",
"options": {},
"sendBody": true,
"contentType": "multipart-form-data",
"authentication": "genericCredentialType",
"bodyParameters": {
"parameters": [
{
"name": "image",
"parameterType": "formBinaryData",
"inputDataFieldName": "data"
},
{
"name": "prompt",
"value": "={{ $('When Executed by Another Workflow').item.json.request.replace(/\"/g, '') }}"
},
{
"name": "model",
"value": "gpt-image-1"
},
{
"name": "size",
"value": "1024x1024"
}
]
},
"genericAuthType": "httpHeaderAuth"
},
"typeVersion": 4.2
},
{
"id": "c49919d7-9548-4ef6-8697-180dc5471788",
"name": "Convert to File1",
"type": "n8n-nodes-base.convertToFile",
"position": [
1200,
1420
],
"parameters": {
"options": {},
"operation": "toBinary",
"sourceProperty": "data[0].b64_json"
},
"typeVersion": 1.1
},
{
"id": "abbc8451-6365-4d6f-8801-e511f3cf4d1c",
"name": "Image Log1",
"type": "n8n-nodes-base.googleSheets",
"position": [
1640,
1520
],
"parameters": {
"columns": {
"value": {
"ID": "={{ $json.id }}",
"Link": "={{ $json.webViewLink }}",
"Type": "Edit",
"Title": "={{ $('When Executed by Another Workflow').item.json.image }}",
"Request": "={{ $('When Executed by Another Workflow').item.json.request }}"
},
"schema": [
{
"id": "Title",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Title",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Type",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Type",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Request",
"type": "string",
"display": true,
"required": false,
"displayName": "Request",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "ID",
"type": "string",
"display": true,
"required": false,
"displayName": "ID",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Link",
"type": "string",
"display": true,
"required": false,
"displayName": "Link",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Post",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Post",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "append",
"sheetName": {
"__rl": true,
"mode": "list",
"value": "gid=0",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1JqOTd49heNBdmrf5hSwxI66X724tspAmSjzWoA6-EU0/edit#gid=0",
"cachedResultName": "Sheet1"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "1JqOTd49heNBdmrf5hSwxI66X724tspAmSjzWoA6-EU0",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1JqOTd49heNBdmrf5hSwxI66X724tspAmSjzWoA6-EU0/edit?usp=drivesdk",
"cachedResultName": "Marketing Team Log"
}
},
"typeVersion": 4.5
},
{
"id": "79324f1a-272d-4de4-b415-1fdadcf5f8aa",
"name": "Send Photo1",
"type": "n8n-nodes-base.telegram",
"position": [
1420,
1320
],
"webhookId": "85dc0064-e5c5-45a9-91a5-60e5b2bc4f1e",
"parameters": {
"chatId": "={{ $('When Executed by Another Workflow').item.json.chatID }}",
"operation": "sendPhoto",
"binaryData": true,
"additionalFields": {}
},
"typeVersion": 1.2
},
{
"id": "2ef66da8-4df4-4d98-ae00-9e9d78c69940",
"name": "Tavily",
"type": "@n8n/n8n-nodes-langchain.toolHttpRequest",
"position": [
908,
2000
],
"parameters": {
"url": "https://api.tavily.com/search",
"method": "POST",
"jsonBody": "{\n \"query\": \"{searchTerm}\",\n \"topic\": \"general\",\n \"search_depth\": \"advanced\",\n \"chunks_per_source\": 3,\n \"max_results\": 1,\n \"time_range\": null,\n \"days\": 7,\n \"include_answer\": true,\n \"include_raw_content\": false,\n \"include_images\": false,\n \"include_image_descriptions\": false,\n \"include_domains\": [],\n \"exclude_domains\": []\n}",
"sendBody": true,
"specifyBody": "json",
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth",
"toolDescription": "Use this tool to search the web. ",
"placeholderDefinitions": {
"values": [
{
"name": "searchTerm",
"description": "What the user is searching for. "
}
]
}
},
"typeVersion": 1.1
},
{
"id": "7c192389-5203-49c8-821d-d6b2ea18f610",
"name": "Image Prompt Agent",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
1136,
1780
],
"parameters": {
"text": "=Blog Post: \n{{ $json.output }}",
"options": {
"systemMessage": "=# Overview\nYou are an AI agent that transforms blog posts into visual prompt descriptions for generating graphic marketing materials. These visuals are designed to be paired with the post, helping communicate the message in a visually engaging, brand-aligned way.\n\n## Objective:\n- Read and analyze the given blog post.\n- Identify the main message, insight, or takeaway from the post.\n- Create a clear and compelling graphic prompt that can be used with a text-to-image generator.\n- The result should be a marketing-style graphic β€” not a literal scene or hyperrealistic photo β€” that:\n1) Visually supports or illustrates the key idea of the post\n2) Looks appropriate for use in a professional LinkedIn feed\n3) Feels polished, modern, and engaging\n\n## Output Instructions:\n- Output two fields: \n1) title (2-4 words) \n2) prompt\n- Output only the final image prompt. Do not output quotation marks.\n- Do not repeat or rephrase the blog post.\n- Do not add any explanations or extra content β€” just the image prompt.\n- Never leave things blank like \"Header area reserved for customizable callout text\"\n- Output numeric stats when available in the original post\n\n## Style Guidelines:\n- Think like a brand designer or marketing creative.\n- Visuals may include: text, charts, icons, abstract shapes, overlays, modern illustrations, motion-like effects, bold typography elements (described, not rendered), or metaphorical concepts.\n- You can mention layout suggestions (e.g., \"split screen design,\" \"header with bold title and subtle background illustration\").\n- Assume the output will be generated using AI image tools β€” your prompt should guide those tools effectively.\n\n## Example Prompt Format:\nA modern flat-style graphic showing a human brain connected to mechanical gears, representing the fusion of AI and automation. Minimalist background, soft gradients, clean sans-serif text placement space at the top.\n\n"
},
"promptType": "define",
"hasOutputParser": true
},
"typeVersion": 1.9
},
{
"id": "8d1612d2-6216-4cd7-9b05-e1e31c72dc09",
"name": "Convert to Binary",
"type": "n8n-nodes-base.convertToFile",
"position": [
1732,
1880
],
"parameters": {
"options": {},
"operation": "toBinary",
"sourceProperty": "data[0].b64_json"
},
"typeVersion": 1.1
},
{
"id": "98fa6795-d31a-49e2-9440-64dc415c7ba3",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
200,
1460
],
"parameters": {
"color": 5,
"width": 1920,
"height": 760,
"content": "# Blog Generation"
},
"typeVersion": 1
},
{
"id": "0a61fdec-b42d-4e14-98a4-6a679773d45e",
"name": "Sticky Note2",
"type": "n8n-nodes-base.stickyNote",
"position": [
698,
1900
],
"parameters": {
"color": 7,
"width": 380,
"height": 240,
"content": "## Tool & Model"
},
"typeVersion": 1
},
{
"id": "070ebd2b-08ea-4020-b321-3a7d2892e7cc",
"name": "Blog Post Agent",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
760,
1780
],
"parameters": {
"text": "=Topic of Blog: {{ $json.blogTopic }}\n\nTarget Audience: {{ $json.targetAudience }}",
"options": {
"systemMessage": "=# Overview\nYou are an AI agent specialized in creating professional, educational, and engaging blog articles based on any topic provided by the user.\n\n## Objectives:\nAlways begin by conducting a real-time search using the Tavily tool to gather the most accurate, up-to-date information on the topic. The blog article should be written to appeal to the provided target audience.\n\nBased on your research, generate a well-structured blog post that:\n- Starts with an engaging and informative introduction that sets up the importance of the topic\n- Maintains a professional, clear, and easy-to-read tone\n- Is educational, insightful, and provides depth\n- Uses headers, subheaders, and paragraphs to create good readability\n- Incorporates real data, examples, or case studies, properly attributing sources (e.g., β€œaccording to [source]”)\n- Light on emojis (use only if highly relevant and minimal)\n- Includes a natural conclusion that summarizes key takeaways\n- (Optional but encouraged) Suggests next steps for the reader, such as related articles, resources, or actionable advice\n\n## Output Instructions:\n- Your ONLY output should be the final blog article text.\n- Do not include explanations, notes, or anything beyond the blog content itself.\n\n## Example Workflow:\n1) Receive a topic (e.g., β€œThe ROI of warehouse automation”)\n2) Use Tavily to search and gather recent information, studies, or examples\n3) Draft a blog post using that research\n4) Format it with an engaging intro, structured sections, source citations, and a natural conclusion"
},
"promptType": "define"
},
"typeVersion": 1.9
},
{
"id": "3cf78814-14ba-477d-96f9-ff2e84198778",
"name": "Image & Title",
"type": "@n8n/n8n-nodes-langchain.outputParserStructured",
"position": [
1224,
2000
],
"parameters": {
"jsonSchemaExample": "{\n \"title\": \"<2-4 word creative title for the image>\",\n \"prompt\": \"<full detailed image generation prompt>\"\n}\n"
},
"typeVersion": 1.2
},
{
"id": "b7790843-68e1-4e77-a537-be9cba0c8c97",
"name": "Sticky Note3",
"type": "n8n-nodes-base.stickyNote",
"position": [
1104,
1900
],
"parameters": {
"color": 7,
"width": 320,
"height": 240,
"content": "## Structured Output"
},
"typeVersion": 1
},
{
"id": "7b853910-8415-4d14-8075-ad2d336f9ec8",
"name": "Send Blog",
"type": "n8n-nodes-base.telegram",
"position": [
2172,
1780
],
"webhookId": "94fa70af-f2fc-4c05-8fa1-d9f55637485f",
"parameters": {
"text": "={{ $('Blog Post Agent').item.json.output }}",
"chatId": "={{ $('When Executed by Another Workflow').item.json.chatID }}",
"additionalFields": {
"appendAttribution": false
}
},
"typeVersion": 1.2
},
{
"id": "0992b8b3-d481-407d-8979-e1a8719c254c",
"name": "Upload",
"type": "n8n-nodes-base.googleDrive",
"position": [
1952,
1980
],
"parameters": {
"name": "={{ $('Image Prompt Agent').item.json.output.title }}.png",
"driveId": {
"__rl": true,
"mode": "list",
"value": "My Drive"
},
"options": {},
"folderId": {
"__rl": true,
"mode": "list",
"value": "1TgQu-5hlOzO1X28TMMzLxfhunhPSUIqy",
"cachedResultUrl": "https://drive.google.com/drive/folders/1TgQu-5hlOzO1X28TMMzLxfhunhPSUIqy",
"cachedResultName": "AI Image Generation"
}
},
"typeVersion": 3
},
{
"id": "97d5c498-24a3-447a-83c9-8683c1f1903a",
"name": "Generate Image1",
"type": "n8n-nodes-base.httpRequest",
"position": [
1512,
1880
],
"parameters": {
"url": "https://api.openai.com/v1/images/generations",
"method": "POST",
"options": {},
"sendBody": true,
"authentication": "genericCredentialType",
"bodyParameters": {
"parameters": [
{
"name": "model",
"value": "gpt-image-1"
},
{
"name": "prompt",
"value": "={{ $json.output.prompt.replace(/\"/g, '') }}"
},
{
"name": "size",
"value": "1024x1024"
}
]
},
"genericAuthType": "httpHeaderAuth"
},
"typeVersion": 4.2
},
{
"id": "ebe5b6c3-bfbe-4c0b-aa4b-52e6d520937d",
"name": "Image Log2",
"type": "n8n-nodes-base.googleSheets",
"position": [
2172,
1980
],
"parameters": {
"columns": {
"value": {
"ID": "={{ $json.id }}",
"Link": "={{ $json.webViewLink }}",
"Post": "={{ $('Blog Post Agent').item.json.output }}",
"Type": "Post",
"Title": "={{ $('Image Prompt Agent').item.json.output.title }}",
"Request": "={{ $('When Executed by Another Workflow').item.json.blogTopic }} for {{ $('When Executed by Another Workflow').item.json.targetAudience }}"
},
"schema": [
{
"id": "Title",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Title",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Type",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Type",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Request",
"type": "string",
"display": true,
"required": false,
"displayName": "Request",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "ID",
"type": "string",
"display": true,
"required": false,
"displayName": "ID",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Link",
"type": "string",
"display": true,
"required": false,
"displayName": "Link",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Post",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Post",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "append",
"sheetName": {
"__rl": true,
"mode": "list",
"value": "gid=0",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1JqOTd49heNBdmrf5hSwxI66X724tspAmSjzWoA6-EU0/edit#gid=0",
"cachedResultName": "Sheet1"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "1JqOTd49heNBdmrf5hSwxI66X724tspAmSjzWoA6-EU0",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1JqOTd49heNBdmrf5hSwxI66X724tspAmSjzWoA6-EU0/edit?usp=drivesdk",
"cachedResultName": "Marketing Team Log"
}
},
"typeVersion": 4.5
},
{
"id": "d9da5605-28b9-4b0f-b74a-65cfebdb0d17",
"name": "Send Photo2",
"type": "n8n-nodes-base.telegram",
"position": [
1952,
1780
],
"webhookId": "8fcbda9c-8396-41f7-8f2d-39e4ae4337c7",
"parameters": {
"chatId": "={{ $('When Executed by Another Workflow').item.json.chatID }}",
"operation": "sendPhoto",
"binaryData": true,
"additionalFields": {}
},
"typeVersion": 1.2
},
{
"id": "ba985b89-8be6-4e79-b56d-0f5688fdb9a2",
"name": "OpenAI Chat Model2",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
788,
2000
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "gpt-4o-mini"
},
"options": {}
},
"credentials": {},
"typeVersion": 1.2
},
{
"id": "e17ef6b0-1151-4035-b157-c282d84bcc8e",
"name": "Image Database",
"type": "n8n-nodes-base.googleSheetsTool",
"position": [
880,
2560
],
"parameters": {
"options": {},
"sheetName": {
"__rl": true,
"mode": "list",
"value": "gid=0",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1JqOTd49heNBdmrf5hSwxI66X724tspAmSjzWoA6-EU0/edit#gid=0",
"cachedResultName": "Sheet1"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "1JqOTd49heNBdmrf5hSwxI66X724tspAmSjzWoA6-EU0",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1JqOTd49heNBdmrf5hSwxI66X724tspAmSjzWoA6-EU0/edit?usp=drivesdk",
"cachedResultName": "AI Images Log"
}
},
"typeVersion": 4.5
},
{
"id": "5c383fa5-3cdf-4f83-91e4-49772496daa0",
"name": "Image Search Agent",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
792,
2340
],
"parameters": {
"text": "=Image: {{ $json.image }}",
"options": {
"systemMessage": "=# Overview\nYou are an Image Retrieval Agent. When the user provides a query, your task is to search the \"Image Database\" using the keywords from the query. Locate the most relevant matching image.\n\n## Output\n- Return the name, ID, and the Link of the image\n- If no image is found, output \"Not Found\"\n"
},
"promptType": "define",
"hasOutputParser": true
},
"typeVersion": 1.9
},
{
"id": "a6614f96-f944-4e19-95c7-4b31fdafcdca",
"name": "Not Found",
"type": "n8n-nodes-base.set",
"position": [
1420,
2240
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "44c36e1d-19e8-4411-bd3d-86c5144ecb14",
"name": "response",
"type": "string",
"value": "Image wasn't found in the database"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "810cfba2-c96a-4d16-8b78-847715e67b57",
"name": "Get?",
"type": "n8n-nodes-base.if",
"position": [
1420,
2440
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "a5a9fd85-2403-423e-92a2-d3ba20db83d9",
"operator": {
"name": "filter.operator.equals",
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $('When Executed by Another Workflow').first().json.intent }}",
"rightValue": "Get"
}
]
}
},
"typeVersion": 2.2
},
{
"id": "3acb5f29-87e6-48b3-a30f-8d29eb161230",
"name": "Not Found?",
"type": "n8n-nodes-base.if",
"position": [
1200,
2340
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "85e307aa-0bb8-40f1-b62e-5b36c231b0af",
"operator": {
"name": "filter.operator.equals",
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $json.output.status }}",
"rightValue": "Not Found"
}
]
}
},
"typeVersion": 2.2
},
{
"id": "4b351945-b69f-4631-bec7-9a4abf3b0185",
"name": "Download File",
"type": "n8n-nodes-base.googleDrive",
"position": [
1640,
2340
],
"parameters": {
"fileId": {
"__rl": true,
"mode": "id",
"value": "={{ $json.output.image_id }}"
},
"options": {},
"operation": "download"
},
"typeVersion": 3
},
{
"id": "2c380825-054c-4a83-a298-7bca3048aaa9",
"name": "Name, ID, & Link",
"type": "@n8n/n8n-nodes-langchain.outputParserStructured",
"position": [
1000,
2560
],
"parameters": {
"jsonSchemaExample": "{\n \"image_name\":\"string | null\",\n \"image_id\": \"string | null\",\n \"image_link\": \"string | null\",\n \"status\": \"found | not_found\"\n}\n"
},
"typeVersion": 1.2
},
{
"id": "3b04334b-6e5b-47c2-9aae-08a481e98188",
"name": "Edit",
"type": "n8n-nodes-base.set",
"position": [
1640,
2540
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "be32fa20-d1e6-4831-a266-5991e5c4eb1e",
"name": "imageName",
"type": "string",
"value": "={{ $json.output.image_name }}"
},
{
"id": "10b5ddb9-a482-46a7-962f-8e18533d90d5",
"name": "imageID",
"type": "string",
"value": "={{ $json.output.image_id }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "c85da303-2572-4c66-88f2-5393d5fa8398",
"name": "Sticky Note7",
"type": "n8n-nodes-base.stickyNote",
"position": [
1600,
2500
],
"parameters": {
"color": 7,
"width": 180,
"height": 200,
"content": ""
},
"typeVersion": 1
},
{
"id": "1822eab5-a432-476a-b0c1-516112ab05d5",
"name": "Sticky Note11",
"type": "n8n-nodes-base.stickyNote",
"position": [
420,
2240
],
"parameters": {
"color": 3,
"width": 1580,
"height": 500,
"content": "# Search Images\n"
},
"typeVersion": 1
},
{
"id": "f7a2595e-254b-4bc7-b3df-bf7233af4a06",
"name": "Sticky Note14",
"type": "n8n-nodes-base.stickyNote",
"position": [
1380,
2200
],
"parameters": {
"color": 7,
"width": 180,
"height": 200,
"content": ""
},
"typeVersion": 1
},
{
"id": "e80112f7-0e8a-4003-9bbd-01aff4277fd5",
"name": "Send Photo3",
"type": "n8n-nodes-base.telegram",
"position": [
1860,
2340
],
"webhookId": "85dc0064-e5c5-45a9-91a5-60e5b2bc4f1e",
"parameters": {
"chatId": "={{ $('When Executed by Another Workflow').item.json.chatID }}",
"operation": "sendPhoto",
"binaryData": true,
"additionalFields": {}
},
"typeVersion": 1.2
},
{
"id": "1b1bf2ad-fc9f-4d0d-84ab-4cc8cd98c2b5",
"name": "OpenAI Chat Model3",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
760,
2560
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "gpt-4o-mini"
},
"options": {}
},
"credentials": {},
"typeVersion": 1.2
},
{
"id": "2aab7466-16e3-4164-8282-e13b97554950",
"name": "Sticky Note5",
"type": "n8n-nodes-base.stickyNote",
"position": [
-2000,
200
],
"parameters": {
"color": 3,
"width": 1740,
"height": 980,
"content": "## MAIN AGENT \n"
},
"typeVersion": 1
}
],
"active": false,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"versionId": "7c64f75e-3f59-4abf-a9d6-58526fd9f71d",
"connections": {
"Get?": {
"main": [
[
{
"node": "Download File",
"type": "main",
"index": 0
}
],
[
{
"node": "Edit",
"type": "main",
"index": 0
}
]
]
},
"Think": {
"ai_tool": [
[
{
"node": "Marketing Team Agent",
"type": "ai_tool",
"index": 0
}
]
]
},
"Tavily": {
"ai_tool": [
[
{
"node": "Blog Post Agent",
"type": "ai_tool",
"index": 0
}
]
]
},
"Upload": {
"main": [
[
{
"node": "Image Log2",
"type": "main",
"index": 0
}
]
]
},
"Webhook": {
"main": [
[
{
"node": "Marketing Team Agent",
"type": "main",
"index": 0
}
]
]
},
"Download": {
"main": [
[
{
"node": "Edit Image1",
"type": "main",
"index": 0
}
]
]
},
"Blog Post": {
"ai_tool": [
[
{
"node": "Marketing Team Agent",
"type": "ai_tool",
"index": 0
}
]
]
},
"Edit Image": {
"ai_tool": [
[
{
"node": "Marketing Team Agent",
"type": "ai_tool",
"index": 0
}
]
]
},
"Not Found?": {
"main": [
[
{
"node": "Not Found",
"type": "main",
"index": 0
}
],
[
{
"node": "Get?",
"type": "main",
"index": 0
}
]
]
},
"Edit Image1": {
"main": [
[
{
"node": "Convert to File1",
"type": "main",
"index": 0
}
]
]
},
"Send Photo2": {
"main": [
[
{
"node": "Send Blog",
"type": "main",
"index": 0
}
]
]
},
"Create Image": {
"ai_tool": [
[
{
"node": "Marketing Team Agent",
"type": "ai_tool",
"index": 0
}
]
]
},
"Google Drive": {
"main": [
[
{
"node": "Image Log",
"type": "main",
"index": 0
}
]
]
},
"Image Prompt": {
"main": [
[
{
"node": "Generate Image",
"type": "main",
"index": 0
}
]
]
},
"Upload Image": {
"main": [
[
{
"node": "Image Log1",
"type": "main",
"index": 0
}
]
]
},
"Download File": {
"main": [
[
{
"node": "Send Photo3",
"type": "main",
"index": 0
}
]
]
},
"Image & Title": {
"ai_outputParser": [
[
{
"node": "Image Prompt Agent",
"type": "ai_outputParser",
"index": 0
}
]
]
},
"Search Images": {
"ai_tool": [
[
{
"node": "Marketing Team Agent",
"type": "ai_tool",
"index": 0
}
]
]
},
"Simple Memory": {
"ai_memory": [
[
{
"node": "Marketing Team Agent",
"type": "ai_memory",
"index": 0
}
]
]
},
"Generate Image": {
"main": [
[
{
"node": "Convert to File",
"type": "main",
"index": 0
}
]
]
},
"Image Database": {
"ai_tool": [
[
{
"node": "Image Search Agent",
"type": "ai_tool",
"index": 0
}
]
]
},
"Blog Post Agent": {
"main": [
[
{
"node": "Image Prompt Agent",
"type": "main",
"index": 0
}
]
]
},
"Convert to File": {
"main": [
[
{
"node": "Google Drive",
"type": "main",
"index": 0
},
{
"node": "Send Photo",
"type": "main",
"index": 0
}
]
]
},
"Generate Image1": {
"main": [
[
{
"node": "Convert to Binary",
"type": "main",
"index": 0
}
]
]
},
"Convert to File1": {
"main": [
[
{
"node": "Send Photo1",
"type": "main",
"index": 0
},
{
"node": "Upload Image",
"type": "main",
"index": 0
}
]
]
},
"Name, ID, & Link": {
"ai_outputParser": [
[
{
"node": "Image Search Agent",
"type": "ai_outputParser",
"index": 0
}
]
]
},
"Convert to Binary": {
"main": [
[
{
"node": "Send Photo2",
"type": "main",
"index": 0
},
{
"node": "Upload",
"type": "main",
"index": 0
}
]
]
},
"OpenAI Chat Model": {
"ai_languageModel": [
[
{
"node": "Marketing Team Agent",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Image Prompt Agent": {
"main": [
[
{
"node": "Generate Image1",
"type": "main",
"index": 0
}
]
]
},
"Image Search Agent": {
"main": [
[
{
"node": "Not Found?",
"type": "main",
"index": 0
}
]
]
},
"OpenAI Chat Model1": {
"ai_languageModel": [
[
{
"node": "Image Prompt",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"OpenAI Chat Model2": {
"ai_languageModel": [
[
{
"node": "Image Prompt Agent",
"type": "ai_languageModel",
"index": 0
},
{
"node": "Blog Post Agent",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"OpenAI Chat Model3": {
"ai_languageModel": [
[
{
"node": "Image Search Agent",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Marketing Team Agent": {
"main": [
[
{
"node": "Respond to Webhook",
"type": "main",
"index": 0
}
]
]
},
"When Executed by Another Workflow": {
"main": [
[
{
"node": "Image Prompt",
"type": "main",
"index": 0
},
{
"node": "Image Search Agent",
"type": "main",
"index": 0
},
{
"node": "Blog Post Agent",
"type": "main",
"index": 0
},
{
"node": "Download",
"type": "main",
"index": 0
}
]
]
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment