AutomationFlowsAI & RAG › Multi-agent AI Content Creator for SEO Blogs & Newsletters

Multi-agent AI Content Creator for SEO Blogs & Newsletters

Original n8n title: Multi-agent AI Content Creator for SEO Blogs & Newsletters with Openrouter, Dall-e, Gemini

ByHemanth Arety @hemantharety on n8n.io

This workflow is designed for content creators, digital marketers, bloggers, and businesses who need to produce high-quality, SEO-optimized blog posts and newsletters at scale. Perfect for marketing teams, content agencies, solopreneurs, and anyone looking to automate their…

Event trigger★★★★☆ complexityAI-powered19 nodesForm TriggerAgentOpenRouter ChatGoogle Gemini ChatHTTP RequestAirtableGoogle Sheets
AI & RAG Trigger: Event Nodes: 19 Complexity: ★★★★☆ AI nodes: yes Added:

This workflow corresponds to n8n.io template #10293 — we link there as the canonical source.

This workflow follows the Agent → Airtable 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 →

Download .json
{
  "id": "JUDjMwaap2NZwOF8",
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "name": "Generate SEO blogs and newsletters with multi-agent AI",
  "tags": [],
  "nodes": [
    {
      "id": "d00a8edd-7f3d-4d3f-a9a2-f4bd830cacf3",
      "name": "Sticky Note - Main",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -496,
        0
      ],
      "parameters": {
        "color": 4,
        "width": 600,
        "height": 956,
        "content": "## \ud83d\udcdd SEO Blog & Newsletter Generator\n### Multi-Agent AI Content Creation System\n\n**What it does:**\n- Generates complete, SEO-optimized blog posts and newsletters automatically\n- Uses 4 specialized AI agents working in sequence (Research \u2192 Outline \u2192 Write \u2192 Edit)\n- Creates research-backed content with proper structure and citations\n- Generates featured images automatically using DALL-E\n- Stores final output in Airtable for easy management\n\n**How it works:**\n1. **Research Agent** - Gathers facts, statistics, sources, and title ideas\n2. **Outline Agent** - Creates structured content outline with H2/H3 headings\n3. **Writer Agent** - Writes engaging Medium-style content in markdown\n4. **Editor & SEO Agent** - Polishes grammar, optimizes for search engines\n5. **Publisher Agent** - Formats and saves to Airtable\n6. **Image Generator** - Creates featured image with DALL-E\n\n**Requirements:**\n- OpenRouter API key (for Grok AI model)\n- Google Gemini API key\n- OpenAI API key (for DALL-E image generation)\n- Airtable account\n- Google Sheets (for newsletter distribution)\n- Telegram bot (optional, for notifications)\n\n**Setup instructions:**\n1. Add your API credentials to each AI model node\n2. Configure Airtable base ID in \"Save to Airtable\" node\n3. Set Google Sheets ID for newsletter output (optional)\n4. Test with form submission\n\n**Customization options:**\n- Swap AI models (use OpenAI, Claude, or other LLMs)\n- Modify agent prompts for different writing styles\n- Add fact-checking or plagiarism detection agents\n- Connect to WordPress, Medium, or other publishing platforms\n- Customize output format and structure\n\n\ud83d\udca1 **Pro Tip:** The workflow automatically routes to blog or newsletter format based on your form input!"
      },
      "typeVersion": 1
    },
    {
      "id": "0bb32d6c-aa1a-4522-b6de-f094f0e42a4b",
      "name": "Sticky Note - Step 1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        128,
        -32
      ],
      "parameters": {
        "color": 7,
        "width": 300,
        "height": 332,
        "content": "## \ud83d\udcf1 Step 1: Form Input\n\n**Trigger:** User submits form\n\n**Inputs:**\n- Content type (Blog or Newsletter)\n- Topic to write about\n\n**Action:** Triggers the entire multi-agent workflow pipeline\n\n**Note:** You can replace the form trigger with other triggers like Schedule, Webhook, Slack, etc."
      },
      "typeVersion": 1
    },
    {
      "id": "c362f59b-2415-4c32-98f1-070814f39af6",
      "name": "Sticky Note - Step 2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        736,
        -80
      ],
      "parameters": {
        "color": 7,
        "width": 444,
        "height": 380,
        "content": "## \ud83d\udd2c Step 2: AI Agent Pipeline\n\n**Sequential Processing:** Research \u2192 Outline \u2192 Write \u2192 Edit\n\nEach specialized agent receives output from the previous agent:\n- **Research Agent**: Finds facts, sources, keywords, title ideas (JSON output)\n- **Outline Agent**: Creates structured outline with H2/H3 headings and word counts\n- **Writer Agent**: Expands outline into full Medium-style draft with citations\n- **Editor & SEO Agent**: Polishes grammar, improves readability, optimizes for search\n\n**AI Model:** Uses OpenRouter (Grok) for fast, cost-effective processing"
      },
      "typeVersion": 1
    },
    {
      "id": "b4b627e8-8bd1-4cf4-a303-7c0e137cd0db",
      "name": "Sticky Note - Step 3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1568,
        -80
      ],
      "parameters": {
        "color": 7,
        "width": 284,
        "height": 364,
        "content": "## \ud83d\udd00 Step 3: Content Router\n\n**Switch:** Routes based on content type\n\n**Blog Path:**\n- Formats for Airtable\n- Generates DALL-E image\n- Saves complete blog\n\n**Newsletter Path:**\n- Formats for email\n- Exports to Google Sheets\n- Sends Telegram notification"
      },
      "typeVersion": 1
    },
    {
      "id": "e67f7d9b-9acf-4e8a-b6ee-8fafcb3b64af",
      "name": "Sticky Note - Step 4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2432,
        -96
      ],
      "parameters": {
        "color": 7,
        "width": 356,
        "height": 364,
        "content": "## \ud83d\udcbe Step 4: Save & Publish\n\n**Blog Output:**\n- Featured image (DALL-E generated)\n- Blog content in markdown\n- Metadata (title, keywords, tags)\n- Saved to Airtable\n\n**Newsletter Output:**\n- Formatted sections\n- Exported to Google Sheets\n- Telegram notification sent\n\n**Next Steps:** Publish to Medium, WordPress, or email service"
      },
      "typeVersion": 1
    },
    {
      "id": "3e047d11-d768-468f-8197-f7dc528e453a",
      "name": "On Form Submission",
      "type": "n8n-nodes-base.formTrigger",
      "position": [
        144,
        624
      ],
      "parameters": {
        "options": {},
        "formTitle": "SEO Blog & Newsletter Generator",
        "formFields": {
          "values": [
            {
              "fieldType": "dropdown",
              "fieldLabel": "Content Type",
              "fieldOptions": {
                "values": [
                  {
                    "option": "Blog"
                  },
                  {
                    "option": "Newsletter"
                  }
                ]
              },
              "requiredField": true
            },
            {
              "fieldType": "textarea",
              "fieldLabel": "Topic",
              "requiredField": true
            }
          ]
        },
        "formDescription": "Generate high-quality, SEO-optimized blog posts and newsletters using AI"
      },
      "typeVersion": 2.3
    },
    {
      "id": "3d0bd189-eb28-4daa-a3e0-7f0a3e418d56",
      "name": "Research Agent",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        384,
        624
      ],
      "parameters": {
        "text": "=Content Type: {{ $json['Content Type'] }}\nTopic: {{ $json.Topic }}\n\nYou are the Research Agent, an expert in collecting and summarizing accurate, reliable, and up-to-date information for blog and newsletter writing.\n\nYour tasks:\n1. Take the topic from the user input\n2. Search for the most relevant articles, studies, and competitor content\n3. Extract key facts, statistics, definitions, and perspectives\n4. Identify 5\u201310 useful subtopics or angles worth covering\n5. Provide 3\u20135 strong title ideas and keyword phrases (natural, not stuffed)\n6. Cite sources with URLs and rate their reliability from 0\u20131.0\n\nOutput format (JSON):\n{\n  \"title_ideas\": [\"Title 1\", \"Title 2\", \"Title 3\"],\n  \"keywords\": [\"keyword1\", \"keyword2\", \"keyword3\"],\n  \"facts\": [\n    {\"fact\": \"Specific fact with numbers\", \"source\": \"https://source.com\", \"reliability\": 0.9},\n    {\"fact\": \"Another fact\", \"source\": \"https://source2.com\", \"reliability\": 0.85}\n  ],\n  \"subtopics\": [\"Subtopic 1\", \"Subtopic 2\", \"Subtopic 3\"]\n}",
        "options": {},
        "promptType": "define"
      },
      "typeVersion": 2.2
    },
    {
      "id": "798e4f3d-e6c1-44aa-9564-a7ccc7daa019",
      "name": "Outline Agent",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        688,
        624
      ],
      "parameters": {
        "text": "={{ $json.output }}\n\nYou are the Outline Agent, responsible for designing a clear and engaging structure for a blog article or newsletter.\n\nYour tasks:\n1. Read the Research Agent's output (facts, subtopics, title ideas)\n2. Create a content outline with H1 (title), H2/H3 headings, and bullet points\n3. Allocate approximate word counts per section (aim for 1500-2500 words total)\n4. Suggest where visuals, stories, or examples should be added\n5. Ensure logical flow: hook \u2192 context \u2192 main points \u2192 conclusion \u2192 call-to-action\n\nOutput format (JSON):\n{\n  \"chosen_title\": \"The best title from research\",\n  \"outline\": [\n    {\"heading\": \"Introduction\", \"level\": \"H2\", \"word_count\": 200, \"notes\": \"Include hook + brief context\"},\n    {\"heading\": \"Main Section 1\", \"level\": \"H2\", \"word_count\": 400, \"notes\": \"Cover subtopic 1\"},\n    {\"heading\": \"Subsection 1.1\", \"level\": \"H3\", \"word_count\": 200, \"notes\": \"Details\"},\n    {\"heading\": \"Conclusion\", \"level\": \"H2\", \"word_count\": 150, \"notes\": \"Summarize + CTA\"}\n  ],\n  \"total_word_count\": 1800\n}",
        "options": {},
        "promptType": "define"
      },
      "typeVersion": 2.2
    },
    {
      "id": "5054628e-bc89-482e-8ecc-38e184458a6d",
      "name": "Writer Agent",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        1008,
        624
      ],
      "parameters": {
        "text": "={{ $json.output }}\n\nYou are the Writer Agent, a professional Medium-style blog writer and newsletter creator.\n\nYour tasks:\n1. Expand the Outline Agent's structure into a full draft\n2. Use facts and sources from the Research Agent. Insert [citation] markers where needed\n3. Write in a natural, engaging style suitable for Medium:\n   - Use short paragraphs (2\u20134 sentences)\n   - Include examples, analogies, or short stories\n   - Maintain clarity and flow\n   - Avoid jargon unless explained\n   - Use active voice\n4. Add a TL;DR at the top (2\u20133 sentences)\n5. End with a clear conclusion and call-to-action\n6. Target reading level: Grade 8\u201310\n\nOutput: Complete markdown-formatted draft, ready for publication.",
        "options": {},
        "promptType": "define"
      },
      "typeVersion": 2.2
    },
    {
      "id": "d0b7c2a1-78d9-4df5-97fa-72e55d9d8d88",
      "name": "Editor & SEO Agent",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        1344,
        624
      ],
      "parameters": {
        "text": "={{ $json.output }}\n\nYou are the Editor & SEO Agent, responsible for polishing and optimizing the Writer Agent's draft.\n\nYour tasks:\n1. Improve grammar, clarity, and readability (target Grade 8\u201310 reading level)\n2. Adjust tone to match the target audience (casual, professional, or inspirational)\n3. Ensure smooth flow between sections, fix awkward sentences\n4. Optimize for discoverability on Medium and search engines:\n   - Natural keyword integration (no stuffing)\n   - Compelling meta description (<160 characters)\n   - Suggest 5\u20137 relevant tags for Medium\n   - Optimize headings for featured snippets\n5. Verify all citations are present and properly formatted\n6. Check for plagiarism risk and flag any concerns\n7. Ensure the draft follows Medium's formatting best practices:\n   - H2/H3 headings\n   - Bullet points and numbered lists\n   - Bold/italic for emphasis\n   - Code blocks if needed\n\nOutput: Final polished markdown content + metadata (meta description, tags).",
        "options": {},
        "promptType": "define"
      },
      "typeVersion": 2.2
    },
    {
      "id": "efe775a8-2797-4227-8e67-dcd94f1bb415",
      "name": "OpenRouter Chat Model (Grok)",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenRouter",
      "position": [
        864,
        368
      ],
      "parameters": {
        "model": "agentica-org/deepcoder-14b-preview:free",
        "options": {
          "maxTokens": 4000,
          "temperature": 0.7
        }
      },
      "credentials": {
        "openRouterApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "b11202d9-ed5b-4ce9-bc22-0542a64c8242",
      "name": "Route by Content Type",
      "type": "n8n-nodes-base.switch",
      "position": [
        1664,
        624
      ],
      "parameters": {
        "rules": {
          "values": [
            {
              "conditions": {
                "options": {
                  "leftValue": "",
                  "caseSensitive": true,
                  "typeValidation": "strict"
                },
                "combinator": "and",
                "conditions": [
                  {
                    "operator": {
                      "type": "string",
                      "operation": "equals"
                    },
                    "leftValue": "",
                    "rightValue": ""
                  }
                ]
              }
            }
          ]
        },
        "options": {}
      },
      "typeVersion": 3
    },
    {
      "id": "64aa7d8a-66dd-4fb5-9cd1-4bb22e3c2ce8",
      "name": "Blog Publisher Agent",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        1968,
        544
      ],
      "parameters": {
        "text": "={{ $json.output }}\n\nYou are the Blog Publisher Agent. Format the edited content for Airtable storage.\n\nYour tasks:\n1. Extract the final blog title (without markdown formatting)\n2. Extract the full blog content in clean markdown format\n3. Extract keywords and meta description\n4. Generate a concise image prompt for DALL-E (describe the visual that would best represent this blog)\n\nOutput format (JSON):\n{\n  \"title_column\": \"Blog Title Here\",\n  \"blog_column\": \"Full markdown content here...\",\n  \"keywords\": \"keyword1, keyword2, keyword3\",\n  \"meta_description\": \"Short description under 160 chars\",\n  \"image_prompt\": \"A professional, high-quality image showing [describe scene]\"\n}",
        "options": {},
        "promptType": "define"
      },
      "typeVersion": 2.2
    },
    {
      "id": "c419336e-020c-4235-bc52-6c8ce921fb9b",
      "name": "Newsletter Publisher Agent",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        1968,
        784
      ],
      "parameters": {
        "text": "={{ $json.output }}\n\nYou are the Newsletter Publisher Agent. Format the edited content for email newsletter distribution.\n\nYour tasks:\n1. Extract the newsletter title\n2. Format content sections for email (simpler formatting than web)\n3. Add email-friendly formatting:\n   - Clear section breaks\n   - Shorter paragraphs\n   - Prominent CTAs\n4. Create plain text version\n\nOutput format (JSON):\n{\n  \"title_column\": \"Newsletter Title\",\n  \"content_html\": \"HTML formatted content\",\n  \"content_plain\": \"Plain text version\",\n  \"preview_text\": \"Email preview text (50 chars)\"\n}",
        "options": {},
        "promptType": "define"
      },
      "typeVersion": 2.2
    },
    {
      "id": "b5497764-3914-46e9-8268-688f1f131d8f",
      "name": "Google Gemini Chat Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
      "position": [
        1968,
        352
      ],
      "parameters": {
        "options": {}
      },
      "credentials": {
        "googlePalmApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "0a9575d9-2403-4201-a707-91f30c4bff30",
      "name": "Generate Featured Image (DALL-E)",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        2288,
        544
      ],
      "parameters": {
        "url": "https://api.openai.com/v1/images/generations",
        "method": "POST",
        "options": {},
        "jsonBody": "={\n  \"model\": \"dall-e-3\",\n  \"prompt\": \"{{ $json.output.image_prompt }}\",\n  \"n\": 1,\n  \"size\": \"1792x1024\",\n  \"quality\": \"standard\",\n  \"response_format\": \"b64_json\"\n}",
        "sendBody": true,
        "specifyBody": "json",
        "authentication": "predefinedCredentialType",
        "nodeCredentialType": "openAiApi"
      },
      "credentials": {
        "openAiApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "313e6ab2-048d-4427-89c7-760cb6e44441",
      "name": "Convert Image to File",
      "type": "n8n-nodes-base.convertToFile",
      "position": [
        2592,
        544
      ],
      "parameters": {
        "options": {
          "fileName": "=blog-featured-{{ $now.toFormat('yyyy-MM-dd-HHmmss') }}.png",
          "mimeType": "image/png"
        },
        "operation": "toBinary",
        "sourceProperty": "data[0].b64_json"
      },
      "typeVersion": 1.1
    },
    {
      "id": "703820e0-8875-472d-84a8-da269bafd998",
      "name": "Save Blog to Airtable",
      "type": "n8n-nodes-base.airtable",
      "position": [
        2880,
        544
      ],
      "parameters": {
        "base": {
          "__rl": true,
          "mode": "list",
          "value": "YOUR_AIRTABLE_BASE_ID",
          "cachedResultName": "Blog Content Database"
        },
        "table": {
          "__rl": true,
          "mode": "list",
          "value": "YOUR_AIRTABLE_TABLE_ID",
          "cachedResultName": "Blogs"
        },
        "columns": {
          "value": {
            "Title": "={{ $('Blog Publisher Agent').item.json.output.title_column }}",
            "Status": "Draft",
            "Content": "={{ $('Blog Publisher Agent').item.json.output.blog_column }}",
            "Keywords": "={{ $('Blog Publisher Agent').item.json.output.keywords }}",
            "Created Date": "={{ $now.toISO() }}",
            "Meta Description": "={{ $('Blog Publisher Agent').item.json.output.meta_description }}"
          },
          "mappingMode": "defineBelow"
        },
        "options": {},
        "operation": "create"
      },
      "credentials": {
        "airtableTokenApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 2
    },
    {
      "id": "a69cb586-0a4e-43ee-85ae-907358b8dd2d",
      "name": "Save Newsletter to Google Sheets",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        2880,
        784
      ],
      "parameters": {
        "columns": {
          "value": {
            "Title": "={{ $('Newsletter Publisher Agent').item.json.output.title_column }}",
            "Status": "Ready to Send",
            "Content HTML": "={{ $('Newsletter Publisher Agent').item.json.output.content_html }}",
            "Created Date": "={{ $now.toFormat('yyyy-MM-dd HH:mm:ss') }}",
            "Preview Text": "={{ $('Newsletter Publisher Agent').item.json.output.preview_text }}",
            "Content Plain": "={{ $('Newsletter Publisher Agent').item.json.output.content_plain }}"
          },
          "mappingMode": "defineBelow"
        },
        "options": {},
        "operation": "appendOrUpdate",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "Sheet1",
          "cachedResultName": "Sheet1"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "YOUR_GOOGLE_SHEET_ID",
          "cachedResultName": "Newsletter Archive"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.5
    }
  ],
  "active": false,
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "3257de73-97b2-49c3-9bf1-cea67218835f",
  "connections": {
    "Writer Agent": {
      "main": [
        [
          {
            "node": "Editor & SEO Agent",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Outline Agent": {
      "main": [
        [
          {
            "node": "Writer Agent",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Research Agent": {
      "main": [
        [
          {
            "node": "Outline Agent",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Editor & SEO Agent": {
      "main": [
        [
          {
            "node": "Route by Content Type",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "On Form Submission": {
      "main": [
        [
          {
            "node": "Research Agent",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Blog Publisher Agent": {
      "main": [
        [
          {
            "node": "Generate Featured Image (DALL-E)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Convert Image to File": {
      "main": [
        [
          {
            "node": "Save Blog to Airtable",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Route by Content Type": {
      "main": [
        [
          {
            "node": "Blog Publisher Agent",
            "type": "main",
            "index": 0
          },
          {
            "node": "Newsletter Publisher Agent",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Google Gemini Chat Model": {
      "ai_languageModel": [
        [
          {
            "node": "Blog Publisher Agent",
            "type": "ai_languageModel",
            "index": 0
          },
          {
            "node": "Newsletter Publisher Agent",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Newsletter Publisher Agent": {
      "main": [
        [
          {
            "node": "Save Newsletter to Google Sheets",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "OpenRouter Chat Model (Grok)": {
      "ai_languageModel": [
        [
          {
            "node": "Research Agent",
            "type": "ai_languageModel",
            "index": 0
          },
          {
            "node": "Outline Agent",
            "type": "ai_languageModel",
            "index": 0
          },
          {
            "node": "Writer Agent",
            "type": "ai_languageModel",
            "index": 0
          },
          {
            "node": "Editor & SEO Agent",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Generate Featured Image (DALL-E)": {
      "main": [
        [
          {
            "node": "Convert Image to File",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Save Newsletter to Google Sheets": {
      "main": [
        []
      ]
    }
  }
}

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.

Pro

For the full experience including quality scoring and batch install features for each workflow upgrade to Pro

About this workflow

This workflow is designed for content creators, digital marketers, bloggers, and businesses who need to produce high-quality, SEO-optimized blog posts and newsletters at scale. Perfect for marketing teams, content agencies, solopreneurs, and anyone looking to automate their…

Source: https://n8n.io/workflows/10293/ — original creator credit. Request a take-down →

More AI & RAG workflows → · Browse all categories →

Related workflows

Workflows that share integrations, category, or trigger type with this one. All free to copy and import.

AI & RAG

The AI-Powered Shopify SEO Content Automation is an enterprise-grade workflow that transforms product content creation for e-commerce stores. This sophisticated multi-agent system integrates GPT-4o, C

Perplexity Tool, Memory Buffer Window, Agent +15
AI & RAG

leads. Uses supabase, gmail, formTrigger, httpRequest. Webhook trigger; 62 nodes.

Supabase, Gmail, Form Trigger +13
AI & RAG

This workflow is designed for marketers, content creators, agencies, and solo founders who want to publish long‑form posts with visuals on autopilot using n8n and AI agents. ​

Tool Http Request, Agent, HTTP Request +27
AI & RAG

🧠 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.

Output Parser Structured, HTTP Request, OpenAI +10
AI & RAG

This workflow contains community nodes that are only compatible with the self-hosted version of n8n.

Output Parser Structured, Telegram, N8N Nodes Tesseractjs +14