AutomationFlowsAI & RAG › Bloggenerator (google Sheets)

Bloggenerator (google Sheets)

bloggenerator. Uses googleSheets, toolHttpRequest, outputParserStructured, agent. Webhook trigger; 36 nodes.

Webhook trigger★★★★★ complexityAI-powered36 nodesGoogle SheetsTool Http RequestOutput Parser StructuredAgentOpenAI ChatGoogle DriveHTTP Request
AI & RAG Trigger: Webhook Nodes: 36 Complexity: ★★★★★ AI nodes: yes Added:

This workflow follows the Agent → Google Drive 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
{
  "updatedAt": "2025-06-20T20:55:00.238Z",
  "createdAt": "2025-06-20T18:38:13.599Z",
  "id": "yXPRWofh1useEPrM",
  "name": "bloggenerator",
  "active": false,
  "isArchived": false,
  "nodes": [
    {
      "parameters": {
        "httpMethod": "POST",
        "path": "a1394a4d-d55d-42ef-bf6e-96019a50e04e",
        "responseMode": "responseNode",
        "options": {}
      },
      "type": "n8n-nodes-base.webhook",
      "typeVersion": 2,
      "position": [
        0,
        0
      ],
      "id": "394baf54-0371-45c5-8f19-1bd2b0f4415d",
      "name": "Webhook"
    },
    {
      "parameters": {
        "documentId": {
          "__rl": true,
          "value": "15o7vKIq8IWY2BBS2q2o0oRkmOaQGH27mPOGEHCkNTs8",
          "mode": "list",
          "cachedResultName": "BlogGenerator",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/15o7vKIq8IWY2BBS2q2o0oRkmOaQGH27mPOGEHCkNTs8/edit?usp=drivesdk"
        },
        "sheetName": {
          "__rl": true,
          "value": 1429282627,
          "mode": "list",
          "cachedResultName": "BlogLinkedIn",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/15o7vKIq8IWY2BBS2q2o0oRkmOaQGH27mPOGEHCkNTs8/edit#gid=1429282627"
        },
        "filtersUI": {
          "values": [
            {
              "lookupColumn": "Id",
              "lookupValue": "={{ $json.row }}"
            }
          ]
        },
        "options": {}
      },
      "type": "n8n-nodes-base.googleSheets",
      "typeVersion": 4.5,
      "position": [
        680,
        0
      ],
      "id": "62a7119c-f7a8-49a1-9c57-559399ef4d4f",
      "name": "Google Sheets"
    },
    {
      "parameters": {
        "jsCode": "// Loop over input items and add a new field called 'myNewField' to the JSON of each one\nfor (const item of $input.all()) {\n  const newnum = item.json.row - 1\n  item.json.row = newnum\n}\n\nreturn $input.all();"
      },
      "type": "n8n-nodes-base.code",
      "typeVersion": 2,
      "position": [
        480,
        0
      ],
      "id": "dd328504-e968-4919-8d2a-9ca44205609d",
      "name": "Code"
    },
    {
      "parameters": {
        "toolDescription": "Tavily SERP Results Tool",
        "method": "POST",
        "url": "https://api.tavily.com/search",
        "sendBody": true,
        "parametersBody": {
          "values": [
            {
              "name": "api_key",
              "valueProvider": "fieldValue",
              "value": "=your_tavily_api_key"
            },
            {
              "name": "query",
              "valueProvider": "fieldValue",
              "value": "={{ $('Google Sheets').item.json[\"Primary Keyword\"] }}"
            }
          ]
        }
      },
      "type": "@n8n/n8n-nodes-langchain.toolHttpRequest",
      "typeVersion": 1.1,
      "position": [
        940,
        500
      ],
      "id": "c44255c7-b320-4cc1-b7ea-67532a78341e",
      "name": "Tavily search results"
    },
    {
      "parameters": {
        "schemaType": "manual",
        "inputSchema": "{\n  \n  \"type\": \"object\",\n  \"properties\": {\n    \"search_intent\": {\n      \"type\": \"string\",\n      \"enum\": [\"informational\", \"transactional\", \"navigational\", \"commercial\"],\n      \"description\": \"The primary intent behind search queries related to the topic.\"\n    },\n    \"writing_style\": {\n      \"type\": \"string\",\n      \"description\": \"Describes the preferred writing style for the article.\"\n    },\n    \"writing_tone\": {\n      \"type\": \"string\",\n      \"description\": \"Describes the tone that should be used for writing the article.\"\n    },\n    \"hidden_insight\": {\n      \"type\": \"string\",\n      \"description\": \"A unique insight derived from research; if no new insight is found, defaults to 'No significant insights detected beyond existing content trends.'\"\n    },\n    \"target_audience\": {\n      \"type\": \"string\",\n      \"description\": \"Defines the target audience for the article.\"\n    },\n    \"goal_of_article\": {\n      \"type\": \"string\",\n      \"description\": \"The primary goal or objective of the article based on research findings.\"\n    },\n    \"semantic_analysis\": {\n      \"type\": \"object\",\n      \"properties\": {\n        \"common_subtopics\": {\n          \"type\": \"array\",\n          \"items\": {\n            \"type\": \"string\"\n          },\n          \"description\": \"A list of common subtopics related to the primary keyword.\"\n        },\n        \"related_questions\": {\n          \"type\": \"array\",\n          \"items\": {\n            \"type\": \"string\"\n          },\n          \"description\": \"A list of related questions commonly asked by users.\"\n        }\n      },\n      \"required\": [\"common_subtopics\", \"related_questions\"]\n    },\n    \"keywords\": {\n      \"type\": \"object\",\n      \"properties\": {\n        \"primary_keyword\": {\n          \"type\": \"string\",\n          \"description\": \"The main focus keyword of the article.\"\n        },\n        \"secondary_keywords\": {\n          \"type\": \"array\",\n          \"items\": {\n            \"type\": \"string\"\n          },\n          \"description\": \"A list of secondary keywords related to the primary keyword.\"\n        },\n        \"semantic_keywords\": {\n          \"type\": \"array\",\n          \"items\": {\n            \"type\": \"string\"\n          },\n          \"description\": \"A list of semantically related keywords.\"\n        },\n        \"long_tail_keywords\": {\n          \"type\": \"array\",\n          \"items\": {\n            \"type\": \"string\"\n          },\n          \"description\": \"A list of long-tail keywords that provide more specific search intent.\"\n        }\n      },\n      \"required\": [\"primary_keyword\", \"secondary_keywords\", \"semantic_keywords\", \"long_tail_keywords\"]\n    }\n  },\n  \"required\": [\n    \"search_intent\",\n    \"writing_style\",\n    \"writing_tone\",\n    \"hidden_insight\",\n    \"target_audience\",\n    \"goal_of_article\",\n    \"semantic_analysis\",\n    \"keywords\"\n  ]\n}\n"
      },
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "typeVersion": 1.2,
      "position": [
        1380,
        500
      ],
      "id": "01cb5164-4b72-4331-ad0c-4f3b2bb355d2",
      "name": "Structured Output Parser"
    },
    {
      "parameters": {
        "assignments": {
          "assignments": [
            {
              "id": "69ccad69-6f1d-4972-b345-16aab90f03a7",
              "name": "writing_style",
              "value": "={{ $json.output.writing_style }}",
              "type": "string"
            },
            {
              "id": "7698d183-43a5-47da-9408-0fbd1c14c0f5",
              "name": "search_intent",
              "value": "={{ $json.output.search_intent }}",
              "type": "string"
            },
            {
              "id": "e5bc30d7-4a13-4cd7-a3f8-7d57d59cca17",
              "name": "writing_tone",
              "value": "={{ $json.output.writing_tone }}",
              "type": "string"
            },
            {
              "id": "a32606a6-d379-4133-9d30-3585e4a5f13d",
              "name": "hidden_insight",
              "value": "={{ $json.output.hidden_insight }}",
              "type": "string"
            },
            {
              "id": "9eac697e-875a-4939-9d0e-333fa7d92251",
              "name": "target_audience",
              "value": "={{ $json.output.target_audience }}",
              "type": "string"
            },
            {
              "id": "aea6be98-aa3d-4bbd-864d-13e5a6d48fff",
              "name": "goal_of_article",
              "value": "={{ $json.output.goal_of_article }}",
              "type": "string"
            },
            {
              "id": "31208cd2-392d-4af5-8aa2-a8fbbe9dc102",
              "name": "semantic_analysis",
              "value": "={{ $json.output.semantic_analysis }}",
              "type": "object"
            },
            {
              "id": "1c771f4a-c92d-4673-be36-4c97ba279506",
              "name": "keywords",
              "value": "={{ $json.output.keywords }}",
              "type": "object"
            }
          ]
        },
        "options": {}
      },
      "type": "n8n-nodes-base.set",
      "typeVersion": 3.4,
      "position": [
        1580,
        220
      ],
      "id": "d063b7bf-e95e-46f5-a635-66d33f17b70d",
      "name": "Edit Fields1"
    },
    {
      "parameters": {
        "promptType": "define",
        "text": "=Revise the blog post title. Consider:\nPrimary Keyword:{{ $('Edit Fields8').item.json.Primary_Keyword }}\nWorking title: {{ $('Edit Fields8').item.json.Title }}\nSearch intent: {{ $('Edit Fields1').item.json.search_intent }}\nSemantic analysis: {{ $('Edit Fields1').item.json.semantic_analysis.toJsonString() }}\nSecondary keywords: {{ $('Edit Fields1').item.json.keywords.secondary_keywords }}\nWriting style: {{ $('Edit Fields1').item.json.writing_style }}\nWriting tone:{{ $('Edit Fields1').item.json.writing_tone }}\nArticle goal: {{ $('Edit Fields1').item.json.goal_of_article }}\n\n\nOutput only JSON\nIMPORTANT: Do not add extra spaces, extra characters or include any additional text.\n",
        "options": {
          "systemMessage": "=You are an expert in crafting highly engaging, SEO-optimized article titles that drive clicks and rank well in search engines. \n\nYour goal is to refine the **initial working title** into a **clear, compelling, and search-friendly title** that aligns with:\n- **Primary and Secondary Keywords** \u2192 Ensure relevance for search engines.\n- **Search Intent** \u2192 Match the intent behind the keyword (informational, transactional, navigational, or commercial).\n- **Common Subtopics & Related Questions** \u2192 Reflect what users want to learn.\n- **Writing Style & Tone** \u2192 Ensure consistency with the article's voice.\n- **Click-Worthiness** \u2192 Make the title engaging and appealing for readers.\n\n### **Your Task:**\n1. **Analyze the given input data**, including the working title, primary keyword, and supporting data.\n2. **Refine the title** to be more **SEO-friendly, engaging, and aligned with search intent**.\n3. **Incorporate relevant keywords naturally**, without keyword stuffing.\n4. **Ensure clarity and readability**\u2014avoid overly complex or vague titles.\n5. **Return only the final refined title as a plain text string.**\n\n---\n### **Title Guidelines:**\n- Keep it **between 50-60 characters** (ideal for SEO).\n- Use **power words** or numbers when appropriate (e.g., \"10 Proven Ways,\" \"Ultimate Guide\").\n- Avoid unnecessary words or fluff.\n- Ensure it **reads naturally** and **appeals to human curiosity**.\n\n---\n### **Example Inputs & Outputs:**\n\n#### **Example 1**\n**Working Title:** \"Understanding AI Automation for Businesses\"  \n**Primary Keyword:** \"AI automation for small businesses\"  \n**Search Intent:** Informational  \n**Refined Title Output:** **AI Automation for Small Businesses: How to Save Time & Boost Revenue**\n\n---\n#### **Example 2**\n**Working Title:** \"The Best Winter Gear for Cyclists\"  \n**Primary Keyword:** \"best winter gear for cyclists\"  \n**Search Intent:** Commercial  \n**Refined Title Output:** **Best Winter Cycling Gear: Stay Warm & Ride Safely in Cold Weather**\n\n---\n### **Output Format:**\nReturn the refined title in standard JSON. Do not include triple ''' or extra line breaks or spaces.\n"
        }
      },
      "type": "@n8n/n8n-nodes-langchain.agent",
      "typeVersion": 1.7,
      "position": [
        1900,
        220
      ],
      "id": "e3f2268f-f0c0-418f-a0fe-60f92f3bf0ef",
      "name": "Refine Title"
    },
    {
      "parameters": {
        "model": {
          "__rl": true,
          "value": "gpt-4o-mini",
          "mode": "list",
          "cachedResultName": "gpt-4o-mini"
        },
        "options": {}
      },
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "typeVersion": 1.2,
      "position": [
        2140,
        -380
      ],
      "id": "b599741f-c3b8-4564-b5c2-deff91775ada",
      "name": "OpenAI Chat Model1",
      "credentials": {
        "openAiApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "assignments": {
          "assignments": [
            {
              "id": "740b9b89-102d-4001-846e-714e59296bf5",
              "name": "refined_title",
              "value": "={{ $json.output.parseJson().refined_title }}",
              "type": "string"
            }
          ]
        },
        "options": {}
      },
      "type": "n8n-nodes-base.set",
      "typeVersion": 3.4,
      "position": [
        2380,
        220
      ],
      "id": "a340f272-dec1-412c-96ad-587b79f35313",
      "name": "Edit Fields2"
    },
    {
      "parameters": {
        "assignments": {
          "assignments": [
            {
              "id": "e5c19139-1563-4a65-9924-68bf62d327bd",
              "name": "main_insights",
              "value": "={{ $json.output }}",
              "type": "string"
            }
          ]
        },
        "options": {}
      },
      "type": "n8n-nodes-base.set",
      "typeVersion": 3.4,
      "position": [
        3220,
        220
      ],
      "id": "dc16cdb1-698e-4fda-be84-75288b05422a",
      "name": "Edit Fields3"
    },
    {
      "parameters": {
        "assignments": {
          "assignments": [
            {
              "id": "1476107a-802c-4cc8-8213-a1fc34aa6b8d",
              "name": "Intoduction",
              "value": "={{ $json.output }}",
              "type": "string"
            }
          ]
        },
        "options": {}
      },
      "type": "n8n-nodes-base.set",
      "typeVersion": 3.4,
      "position": [
        3800,
        220
      ],
      "id": "603f99d1-edd6-4220-b84b-0b513f1ca1e5",
      "name": "Edit Fields4"
    },
    {
      "parameters": {
        "assignments": {
          "assignments": [
            {
              "id": "18beb48a-3e03-4839-b1f1-18751092ac48",
              "name": "outline",
              "value": "={{ $json.output }}",
              "type": "string"
            }
          ]
        },
        "options": {}
      },
      "type": "n8n-nodes-base.set",
      "typeVersion": 3.4,
      "position": [
        480,
        680
      ],
      "id": "122d3665-9e35-4c4d-be8d-91e3b08f3a2e",
      "name": "Edit Fields5"
    },
    {
      "parameters": {
        "assignments": {
          "assignments": [
            {
              "id": "768603ee-7d47-4c64-950a-edb769ea8639",
              "name": "conclusion",
              "value": "={{ $json.output }}",
              "type": "string"
            },
            {
              "id": "df22f39e-b2ae-4202-b7f3-f82caa56e208",
              "name": "content",
              "value": "={{ $('Content Worker').item.json.output }}",
              "type": "string"
            }
          ]
        },
        "options": {}
      },
      "type": "n8n-nodes-base.set",
      "typeVersion": 3.4,
      "position": [
        2060,
        660
      ],
      "id": "3508bb45-6659-4e94-993c-d77a15cda788",
      "name": "Edit Fields6"
    },
    {
      "parameters": {
        "promptType": "define",
        "text": "=Generate a detailed outline for a blog post with the following details:\n\n- **Title**: {{ $('Edit Fields2').item.json.refined_title }}\n- **Key Takeaways**: {{ $('Edit Fields3').item.json.main_insights }}\n- **Introduction**: {{ $json.Intoduction }}\nPrimary Keyword: {{ $('Edit Fields8').item.json.Primary_Keyword }}\nTitle: {{ $('Edit Fields8').item.json.Title }}\nSearch intent: {{ $('Edit Fields1').item.json.search_intent }}\nSemantic analysis: {{ $('Edit Fields1').item.json.semantic_analysis.toJsonString() }}\nSecondary keywords: {{ $('Edit Fields1').item.json.keywords.secondary_keywords.toJsonString() }}\nWriting style: {{ $('Edit Fields1').item.json.writing_style }}\nWriting tone: {{ $('Edit Fields1').item.json.writing_tone }}\nArticle goal: {{ $('Edit Fields1').item.json.goal_of_article }}\n\nFormatting Instructions:\n\nOutput must be in Markdown format and structured correctly.\nDo NOT add any commentary, explanations, or extra text about what the agent did.\nDo NOT include dividers (---), line breaks (\\n), or unnecessary whitespace.\nOnly return the required Markdown content\u2014nothing more.\n",
        "options": {
          "systemMessage": "=You are an expert content strategist specializing in structuring articles for clarity, engagement, and SEO effectiveness. Your goal is to generate a **detailed, logical outline** that ensures a smooth reading experience and maximizes content relevance.\n\n### **Your Task:**\n1. **Analyze the provided inputs**, including the article title, primary keyword, key takeaways, semantic analysis, secondary keywords, and hidden insights (if applicable).\n2. **Generate an optimized outline** by:\n   - Structuring the article with a **clear hierarchy of sections**.\n   - Aligning with **SEO best practices** and **user intent**.\n   - Ensuring **logical progression** from start to finish.\n   - Incorporating **hidden insights** if they enhance the content.\n   - **Using secondary keywords and semantic elements (common subtopics & related questions) naturally in headings/subheadings** for SEO.\n3. **Ensure the outline includes:**\n   - **Main sections covering key aspects of the topic**\n   - **Logical sub-sections** that break down complex ideas\n4. **The article title, introduction, and conclusion should be used as references but NOT included in the outline.**\n5. **Format the output in Markdown**:\n   - Use `##` for main sections.\n   - Use `###` for subsections.\n   - Avoid unnecessary headings\u2014keep sections focused and purposeful.\n\n### **Formatting & Style Guidelines**\n\u2705 **Use Markdown formatting.**  \n\u2705 **Ensure a logical, structured progression from start to finish.**  \n\u2705 **Incorporate hidden insights if they enhance the outline.**  \n\u2705 **Use secondary keywords and semantic elements naturally in headings.**  \n\u2705 **Exclude the article title, introduction, and conclusion from the final outline.**  \n\u2705 **Use concise but descriptive section explanations.**  \n\n### **Example Inputs & Outputs**\n---\n#### **Input Example**\n**Article Title:** `\"AI Automation for Small Businesses: How to Save Time & Boost Revenue\"`  \n**Primary Keyword:** `\"AI automation for small businesses\"`  \n**Secondary Keywords:** `[\"AI workflow automation\", \"small business AI tools\", \"automating business operations\"]`  \n**Key Takeaways:** `[\"AI automation reduces decision fatigue.\", \"It improves operational efficiency and workflow management.\", \"Small businesses can implement AI affordably.\"]`  \n**Hidden Insight:** `\"Most discussions on AI automation focus on efficiency, but its real impact is on business adaptability\u2014helping companies pivot faster in changing markets.\"`  \n**Semantic Analysis:**  \n- **Common Subtopics:** `[\"What is AI automation?\", \"How small businesses can use AI\", \"Best AI tools for automation\"]`  \n- **Related Questions:** `[\"What are the best AI automation tools for small businesses?\", \"How does AI improve small business efficiency?\"]`  \n\n---\n#### **Output Example** markdown\n## What is AI Automation?  \n### Understanding AI-powered business automation *(Secondary Keyword Applied)*  \n- Definition of AI automation and its key components.  \n- How AI-powered automation differs from traditional workflow automation.  \n\n### Why small businesses need AI workflow automation *(Semantic & SEO Applied)*  \n- How AI helps small businesses optimize time and improve operations.  \n- Examples of industries benefiting from AI-driven efficiency.  \n\n## Key Benefits of AI in Small Business Operations  \n### Reducing decision fatigue in business owners *(Key Takeaway Applied)*  \n- How AI automation minimizes repetitive decision-making.  \n- Freeing up business owners to focus on strategy and innovation.  \n\n### Boosting efficiency with small business AI tools *(Secondary Keyword Applied)*  \n- The role of AI in automating workflows, customer interactions, and task management.  \n- How automation tools improve productivity.  \n\n### Improving business adaptability with AI *(Hidden Insight Applied)*  \n- How AI enables businesses to pivot quickly in response to market changes.  \n- Case studies on AI-driven adaptability.  \n\n## Implementing AI for Small Business Growth  \n### Choosing the best AI automation tools *(Semantic & SEO Applied)*  \n- Factors to consider when selecting AI-powered solutions.  \n- Overview of top AI tools for small businesses.  \n\n### Automating business operations without disrupting workflows *(Secondary Keyword Applied)*  \n- Best practices for integrating AI seamlessly into existing processes.  \n- How to ensure a smooth transition without disrupting operations.  \n\n\n"
        }
      },
      "type": "@n8n/n8n-nodes-langchain.agent",
      "typeVersion": 1.7,
      "position": [
        0,
        680
      ],
      "id": "de2a8e12-4483-4bb6-b36b-9bce9b735298",
      "name": "Outline Worker"
    },
    {
      "parameters": {
        "promptType": "define",
        "text": "=Create a comprehensive, SEO-optimized prompt for an AI article writer using the data below.\n\nPrimary Keyword: {{ $('Edit Fields8').item.json.Primary_Keyword }}\nTitle: {{ $('Edit Fields2').item.json.refined_title }}\nHidden insight: {{ $('Edit Fields1').item.json.hidden_insight }}\nSearch intent: {{ $('Edit Fields1').item.json.search_intent }}\nSemantic analysis: {{ $('Edit Fields1').item.json.semantic_analysis.toJsonString() }}\nSecondary keywords: {{ $('Edit Fields1').item.json.keywords.secondary_keywords.toJsonString() }}\nWriting style: {{ $('Edit Fields1').item.json.writing_style }}\nWriting tone: {{ $('Edit Fields1').item.json.writing_tone }}\nArticle goal: {{ $('Edit Fields1').item.json.goal_of_article }}\nOutline: {{ $json.outline }}",
        "options": {
          "systemMessage": "=Your Role & Task\nYou are an AI prompt engineering specialist with expertise in crafting structured, SEO-optimized, and adaptable writing prompts.\nYour job is to generate a concise yet effective prompt that will guide an AI writing agent in producing a high-quality, well-structured article body based on the provided inputs.\n\nPrompt Requirements\nYour generated prompt should:\n\u2705 Guide the AI writing agent to write only the main body sections\u2014the introduction, key takeaways, and conclusion are handled separately.\n\u2705 Follow the article\u2019s outline as a guiding framework, ensuring natural flow and logical transitions between sections.\n\u2705 Encourage informative, engaging, and well-structured writing, tailored to the topic and audience.\n\u2705 Incorporate SEO best practices naturally, ensuring primary and secondary keywords are used in relevant sections without forced placement.\n\u2705 Evaluate the relevance of hidden insights\u2014if useful, include them as a core argument or supporting detail; if not, leave them out.\n\u2705 Use semantic analysis, related questions, and common subtopics to strengthen content depth.\n\u2705 Ensure flexibility\u2014allow the AI writing agent to expand on ideas, incorporate examples, and maintain logical coherence.\n\nExample Inputs & Outputs\nExample Inputs\nTitle: \"The Best Fishing Destinations in North America\"\nPrimary Keyword: \"best fishing destinations\"\nSecondary Keywords: \"top fishing spots, fishing in North America, best places for fishing\"\nSearch Intent: \"Informational\"\nWriting Style: \"Engaging and expert-driven\"\nWriting Tone: \"Conversational yet authoritative\"\nArticle Goal: \"Provide anglers with a comprehensive guide to the best fishing destinations, key factors to consider, and seasonal variations.\"\nSemantic Analysis (Common Subtopics & Related Questions):\n{\n  \"common_subtopics\": [\n    \"Freshwater vs. saltwater fishing: Key differences\",\n    \"Best fishing seasons for different regions\",\n    \"Gear recommendations based on fishing style\"\n  ],\n  \"related_questions\": [\n    \"What are the best fishing spots in North America?\",\n    \"Where can I find great deep-sea fishing locations?\",\n    \"What\u2019s the best time of year to go fishing?\"\n  ]\n}\nHidden Insight (if applicable): \"Many top-ranked fishing destinations have conservation programs that impact seasonal availability, which most travel guides overlook.\"\nOutline:\n## Best Freshwater Fishing Spots  \nExploring the top lakes and rivers for freshwater fishing.  \n\n## Best Deep-Sea Fishing Destinations  \nHighlighting prime locations for saltwater and offshore fishing.  \n\n## Seasonal Considerations  \nHow different seasons affect fishing opportunities.  \n\n## Essential Gear & Preparation Tips  \nWhat to bring for a successful fishing trip.  \n\nExample Output (Generated Writing Prompt for the AI Writing Agent)\nWriting Prompt: The Best Fishing Destinations in North America\nObjective:\nCraft a well-structured, SEO-optimized, and engaging article body focusing on fishing destinations in North America. The article should provide actionable insights, expert recommendations, and real-world considerations to help anglers choose the best locations.\n\nTarget Audience:\nRecreational and professional anglers looking for detailed guidance on fishing locations, seasonal factors, and essential gear.\n\nGuidelines for the AI Writing Agent\n1. Follow the Outline for Logical Structure & Expansion\nUse the provided outline as a structural blueprint, ensuring smooth transitions between sections.\nExpand each section with relevant insights, expert opinions, and practical examples rather than merely summarizing.\nDO NOT include an introduction or conclusion\u2014focus strictly on main body sections.\n2. Natural Integration of Keywords (SEO-Optimized)\nPrimary Keyword: \"{{ $('Edit Fields8').item.json.Primary_Keyword }}\" should appear organically in relevant sections.\nSecondary Keywords: \"{{ $('Edit Fields1').item.json.keywords.secondary_keywords.toJsonString() }}\" should be integrated contextually to enhance SEO without overuse.\nLong-Tail & Semantic Keywords: Use these strategically in discussions, answering key questions where applicable.\nAvoid forced keyword placement\u2014prioritize readability and clarity.\n3. Adapt Writing Style & Tone Based on Topic\nFor technical/business content: Maintain a formal, authoritative, and data-driven approach.\nFor consumer, lifestyle, or travel content: Use an engaging, expert-guide tone with practical insights.\nEnsure clear, well-researched content that suits the target audience.\n4. Expand on Semantic Insights & Related Questions\nAddress common subtopics where relevant, such as:\nDefining key concepts to establish clarity.\nComparing approaches, tools, or strategies for deeper understanding.\nExploring industry-specific challenges & solutions where applicable.\nIntegrate related questions naturally\u2014e.g., \"What are the best fishing spots in North America?\" or \"How does AI automation impact business efficiency?\"\n5. Use Hidden Insights Only If Relevant\nEvaluate whether the hidden insight adds value to the article.\nIf applicable, incorporate it as a key supporting argument to enrich the content.\nIf not relevant, omit it rather than forcing inclusion.\n6. Provide Real-World Applications & Actionable Advice\nOffer examples, case studies, or industry applications to enhance reader engagement.\nProvide actionable steps where applicable (e.g., how to implement AI tools, how to choose the right fishing destination, best practices for content marketing).\n7. Formatting for Readability & Engagement\nUse subheadings, bullet points, and short paragraphs for easy scanning.\nInclude lists, tips, or expert recommendations where useful.\nEnsure logical section transitions while maintaining engagement.\n8. No Introduction or Conclusion\u2014Only Write Main Body Sections\nDO NOT include an introduction or conclusion\u2014focus strictly on the main body content as structured in the outline.\n\n"
        }
      },
      "type": "@n8n/n8n-nodes-langchain.agent",
      "typeVersion": 1.7,
      "position": [
        860,
        680
      ],
      "id": "e9108ce3-aba0-4531-bc90-4e001deddf95",
      "name": "Body content Worker"
    },
    {
      "parameters": {
        "promptType": "define",
        "text": "=Use the main body content of an article to write a conclusion. Output markdown format.\n\nMain Body\n{{ $json.output }}",
        "options": {
          "systemMessage": "=You are an expert writing assistant specializing in crafting concise, insightful, and impactful conclusions for articles across various topics. Your goal is to summarize the key takeaways, reinforce the article\u2019s value, and leave the reader with a lasting impression.\n\nGuidelines for Generating the Conclusion:\n\n\u2705 Summarize Key Takeaways Without Repetition\n\nIdentify the most essential points from the article without repeating entire sentences from the main body.\n\nHighlight core insights, trends, or findings in a concise manner.\n\n\u2705 Reinforce the Article\u2019s Value & Relevance\n\nEmphasize why the information matters in the broader context of the topic.\n\nAlign with the article\u2019s purpose\u2014whether it\u2019s to educate, inform, persuade, or provide solutions.\n\n\u2705 Deliver a Strong Final Thought\n\nEnd with a compelling, forward-looking, or actionable statement.\n\nConsider:\n\nA thought-provoking question\n\nA call to action (if relevant)\n\nA statement on future implications or ongoing developments\n\nAvoid generic phrases (e.g., \u201cThis is just the beginning\u201d or \u201cThe future looks bright\u201d).\n\nFormatting & Style:\n\nKeep it concise\u2014the conclusion should be around 100-150 words.\n\nUse clear, authoritative, and engaging language.\n\nAdapt tone and style to match the article (technical, business, educational, etc.).\n\nInput:\n\nThe main body of the article (excluding introduction & key takeaways)\n\nThe article's title (for context)\n\nOutput:A well-structured conclusion that effectively summarizes key points, reinforces relevance, and ends with a compelling thought.\n\nExample Conclusion for a Business Article\n\n(Title: \"The Rise of Agentic AI in Workflow Automation\")\n\nAs businesses seek greater efficiency and adaptability, agentic AI automation is emerging as a transformative force in workflow management. By reducing cognitive load, managing complexity, and enabling continuous improvement, these systems empower organizations to operate with unprecedented precision and scalability.\n\nHowever, successful implementation requires a strategic approach\u2014ensuring seamless integration, robust governance, and continuous refinement. Organizations that embrace this shift will gain a significant competitive edge, optimizing operations while driving innovation.\n\nFor businesses evaluating their automation strategies, the key question is no longer if agentic AI will play a role\u2014but how soon they will adopt it to stay ahead in a rapidly evolving digital landscape.\n\nExample Conclusion for a Consumer Guide\n\n(Title: \"How to Choose the Best Electric Bike for Your Needs\")\n\nChoosing the right electric bike depends on your lifestyle, terrain, and riding preferences. Whether you need a powerful e-bike for commuting or a lightweight model for weekend adventures, understanding motor types, battery life, and key features ensures a smarter purchase.\n\nBy evaluating your specific needs and budget, you can invest in an e-bike that enhances both convenience and sustainability. As technology continues to improve, e-bikes are becoming more affordable, efficient, and accessible\u2014making now an excellent time to explore your options.\n\nBefore making a final decision, test ride different models, compare specifications, and consider long-term factors like maintenance and warranty coverage. The right e-bike isn\u2019t just about performance\u2014it\u2019s about finding the perfect balance between comfort, power, and practicality for your everyday life.\n\nOutput Requirements\nFormat the output in Markdown using ## for the conclusion heading.\nDo not include triple backticks (''') or any additional spaces or text outside of the conclusion itself.\nEnsure clean and structured formatting without unnecessary dividers or extra line breaks."
        }
      },
      "type": "@n8n/n8n-nodes-langchain.agent",
      "typeVersion": 1.7,
      "position": [
        1620,
        780
      ],
      "id": "d1dd7813-be1c-4afc-a47f-d0ae7f702ba1",
      "name": "Conclusion Agent"
    },
    {
      "parameters": {
        "promptType": "define",
        "text": "=prompt:\n{{ $json.output }}\n",
        "options": {
          "systemMessage": "=You are an AI writing agent responsible for generating only the main body of an article based on a structured prompt. Your writing must be well-formatted in Markdown, insightful, logically structured, and engaging for the target audience.\n\nGuidelines\n\u2705 Follow the provided prompt exactly. Ensure adherence to the user-provided outline and structure.\n\u2705 Format the article in Markdown using:\n\nH2 (##) for main sections\nH3 (###) for subsections\nBullet points (-), numbered lists (1. 2. 3.), and bold formatting (**bold text**) where necessary.\n\u2705 Ensure smooth transitions between sections.\nEnd sections with a transition sentence that leads into the next topic.\nAvoid abrupt shifts\u2014maintain logical flow.\n\u2705 Enhance depth with real-world case studies.\nProvide measurable outcomes (e.g., \"A 20% efficiency gain led to $5M in annual savings\").\nDetail implementation challenges, solutions, and business results.\n\u2705 Balance readability with a mix of paragraphs & lists.\nUse bullet points sparingly\u2014convert them into mini-paragraphs where needed.\nLists should highlight key takeaways, not dominate sections.\n\u2705 Ensure keyword optimization.\nNaturally integrate primary and secondary keywords within the article.\nAvoid overuse\u2014prioritize readability over keyword stuffing.\n\u2705 Fact-driven & logically structured.\nAvoid redundant explanations\u2014each section should introduce new insights.\nEnsure distinctions between related topics (e.g., \u201cManaging Complexity\u201d should not repeat \u201cAdaptive Learning\u201d).\n\u2705 No introduction or conclusion.\nFocus only on the main body sections based on the structured prompt.\n"
        }
      },
      "type": "@n8n/n8n-nodes-langchain.agent",
      "typeVersion": 1.7,
      "position": [
        1260,
        780
      ],
      "id": "a1731143-4636-4eea-83a8-a0a449e22ede",
      "name": "Content Worker"
    },
    {
      "parameters": {
        "promptType": "define",
        "text": "=Assemble the article from the following components into a single cohesive output formatted in Markdown:\n\n- **Key Takeaways**:{{ $('insights Agent').item.json.output }}\n- **Introduction**: {{ $('Edit Fields4').item.json.Intoduction }}\n- **Main Content**: {{ $json.content }}\n- **Conclusion**: {{ $json.conclusion }}\n\n### Output Format:\n- Use `##` for main section headings like Key Takeaways, Introduction, and Conclusion.\n- Use `##` for primary headings (H2s) in the main content.\n- Use `###` for subheadings (H3s) under those primary headings.\n- Format lists as bulleted lists using `-`.\n- Write paragraphs in plain text, separated by line breaks.\n\nExample Output:\n\n## Key Takeaways\n- AI automation reduces costs and improves efficiency for SMBs.\n- Examples show how AI streamlines workflows and enhances customer service.\n- Step-by-step advice helps SMBs adopt AI effectively.\n\n## Introduction\nAI automation is a transformative tool for small businesses, offering improved efficiency, cost reduction, and scalability.\n\n## How Intelligent Process Automation Works\nIntelligent process automation (IPA) isn\u2019t just about speed\u2014it\u2019s about working smarter.\n\n### Reducing Manual Work and Process Errors with Automation\nAutomating manual tasks like payroll processing slashes error rates by up to 90%.\n\n### Boosting Process Efficiency Across Business Functions\nFrom HR to sales, IPA ensures consistency and efficiency.\n\n## Conclusion\nAI automation is a pathway to transforming how small businesses operate and grow. By streamlining workflows, enhancing customer experiences, and enabling smarter decision-making, AI empowers businesses to achieve more with less effort.\n\n\n",
        "options": {
          "systemMessage": "=You are an expert content assembler. Your task is to take separate elements of an article\u2014key takeaways, introduction, main content (including subheadings), and conclusion\u2014and assemble them into a single cohesive output. The final output should be formatted in Markdown for a CMS blog post field.\n\nGuidelines:\n\n1. Use `##` for section headings (Key Takeaways, Introduction, and Conclusion).\n2. Use `##` for primary headings (H2s) from the main content.\n3. Use `###` for subheadings (H3s) under those primary headings.\n4. Write paragraphs as plain text, separated by line breaks.\n5. Ensure the output is clean and properly formatted in Markdown without unnecessary placeholders like \"Main Content.\"\n6. Do not include triple backticks (''') or any additional spaces or text outside of the conclusion itself.\nEnsure clean and structured formatting without unnecessary dividers or extra line breaks.\n\n\n\n"
        }
      },
      "type": "@n8n/n8n-nodes-langchain.agent",
      "typeVersion": 1.7,
      "position": [
        2340,
        780
      ],
      "id": "5e862f85-6bdb-4b7d-bb74-11c07005de26",
      "name": "Article Writer"
    },
    {
      "parameters": {
        "promptType": "define",
        "text": "=Perform the final edit on:\n {{ $json.output }}",
        "options": {
          "systemMessage": "=You are an expert SEO-optimized content final editor.\n\nYour task is to enhance and expand the provided article to near-perfect quality (9.5+/10) while maintaining clarity, logical flow, and readability. The final article should be well-structured, engaging, and adaptable to any topic, including (but not limited to) business, healthcare, technology, education, finance, environmental science, legal, consumer guides, and marketing.\n\n\u2705 General Refinement Guidelines\n1\ufe0f\u20e3 Expand, Don\u2019t Cut\nPreserve all valuable content while adding depth where necessary.\nDo not shorten or remove sections unless redundant or unclear.\nIf something feels incomplete, expand rather than delete it.\n2\ufe0f\u20e3 Strengthen Section Transitions for Seamless Flow\nEnsure smooth transitions between sections by adding brief lead-ins before introducing a new concept.\nEach section should naturally build on the previous one\u2014avoiding abrupt shifts.\nImplementation:\nIf a new section introduces a major topic, insert a transition sentence summarizing why the previous section matters.\nExample:\nBefore (Abrupt Shift):\n\"While automation improves efficiency, its true power emerges when integrated with existing systems.\"\nAfter (Smoother Transition):\n\"Efficiency gains are only part of the equation\u2014true business impact comes from seamlessly integrating automation with existing workflows to ensure sustainable improvements.\"\n\u2705 Ensures smoother flow between ideas.\n\n3\ufe0f\u20e3 Diversify Real-World Applications Across More Industries\nDo NOT over-focus on one industry or domain (e.g., AI, tech, or automation).\nWhere applicable, ensure varied examples in fields like:\nHealthcare (diagnostic automation, patient management)\nFinance (risk assessment, fraud detection, portfolio management)\nEducation (personalized learning, curriculum adaptation)\nLegal (contract automation, compliance monitoring)\nMarketing (data-driven campaigns, customer behavior analysis)\nRetail & E-commerce (inventory optimization, demand forecasting)\nConsumer Behavior (product recommendations, pricing strategies)\nEnvironmental Science (climate impact modeling, resource allocation)\nImplementation:\nIf the article lacks industry diversity, add 1\u20132 additional sector applications.\nExample:\nBefore (Too Narrow):\n\"Predictive analytics is transforming logistics and finance.\"\nAfter (Expanded with More Fields):\n\"Predictive analytics is transforming industries beyond logistics and finance. In healthcare, it enhances diagnostic accuracy; in education, it customizes learning paths; in marketing, it optimizes ad spend by predicting customer behavior.\"\n\u2705 Expands article relevance to a broader audience.\n\n4\ufe0f\u20e3 Strengthen the Conclusion with a Future-Focused Perspective\nAvoid generic wrap-ups\u2014end with a compelling strategic takeaway or challenge.\nEnsure future trends, competitive implications, and thought-provoking insights are included.\nImplementation:\nInstead of simply summarizing, pose a challenge or future opportunity.\nExample:\nBefore (Weak Ending):\n\"The question remains: How will businesses use this technology to redefine operations? The time to act is now.\"\nAfter (More Forward-Thinking):\n\"Looking ahead, businesses that embrace adaptable strategies and data-driven decision-making will lead in an increasingly competitive landscape. Whether through emerging technologies, customer-first innovation, or operational agility, the next era of success will belong to those who can not just adapt\u2014but anticipate change. The real question isn\u2019t if you\u2019ll adopt these advancements\u2014but how effectively you\u2019ll use them to gain a competitive edge.\"\n\u2705 Leaves the reader with a clear action step or thought-provoking challenge.\n\n\n5\ufe0f\u20e3 Expand Instead of Reduce Content\nDO NOT cut content unless it is redundant or weakens clarity.\nIf a section feels too brief or lacks depth, expand it by:\nProviding real-world examples\nAdding practical applications\nElaborating on key insights\nStrengthening data-backed statements\nExample Fix:\nBefore (Overly brief):\n\"Sustainable practices benefit businesses.\"\nAfter (More informative & engaging):\n\"Sustainable practices provide both environmental and financial advantages. Businesses that invest in renewable energy, reduce waste, and optimize resource consumption see long-term cost savings and increased brand loyalty.\"\n\n6. Do not add any commentary on what improvements you made. Just output the refined article.\n7. Do not add dividing lines between sections (\"---\") or any extra spacing or line breaks.\n\nMake every article a 9.5+/10 by refining structure, depth, and industry relevance while keeping it universally applicable across topics."
        }
      },
      "type": "@n8n/n8n-nodes-langchain.agent",
      "typeVersion": 1.7,
      "position": [
        2680,
        780
      ],
      "id": "6c3787c2-997c-4007-b196-54b1e916d7f3",
      "name": "Article Refiner"
    },
    {
      "parameters": {
        "assignments": {
          "assignments": [
            {
              "id": "0134c4ce-4c94-4d57-b3e6-dddc7dc20102",
              "name": "refined_article",
              "value": "={{ $json.output }}",
              "type": "string"
            },
            {
              "id": "d20816ab-15ed-455e-8ded-4f1a4a175abc",
              "name": "",
              "value": "",
              "type": "string"
            }
          ]
        },
        "options": {}
      },
      "type": "n8n-nodes-base.set",
      "typeVersion": 3.4,
      "position": [
        3060,
        660
      ],
      "id": "3bb45856-3dbe-42ad-9e4e-d8feff73962a",
      "name": "Edit Fields7"
    },
    {
      "parameters": {
        "resource": "folder",
        "name": "={{ $('Edit Fields2').item.json.refined_title }}",
        "driveId": {
          "__rl": true,
          "value": "My Drive",
          "mode": "list",
          "cachedResultName": "My Drive",
          "cachedResultUrl": "https://drive.google.com/drive/my-drive"
        },
        "folderId": {
          "__rl": true,
          "value": "1hXx8Dxb56zIPQiQaJG7P1ju1SHn5TCWS",
          "mode": "list",
          "cachedResultName": "BlogGenerator",
          "cachedResultUrl": "https://drive.google.com/drive/folders/1hXx8Dxb56zIPQiQaJG7P1ju1SHn5TCWS"
        },
        "options": {}
      },
      "type": "n8n-nodes-base.googleDrive",
      "typeVersion": 3,
      "position": [
        3240,
        660
      ],
      "id": "c879d65e-3484-4f33-93de-4fe949512f3e",
      "name": "Google Drive"
    },
    {
      "parameters": {
        "promptType": "define",
        "text": "=Generate an AI image prompt that visually represents the following article. Ensure the description is detailed, engaging, and optimized for an eye-catching featured image.\n\n{{ $('Edit Fields7').item.json.refined_article }}\n\n\n[Your detailed AI image prompt here] --ar 16:9\n",
        "options": {
          "systemMessage": "=You are an AI-powered Image Prompt Generator. Your task is to generate a detailed, visually engaging image prompt for an AI image-generation model. The image should serve as the featured image for the article, representing its key themes and attracting user attention.\n\nGuidelines:\n\u2705 Visual Representation of the Article:\n\nThe image should capture the essence of the topic in a compelling, high-quality way.\nAvoid overly generic imagery\u2014ensure the image aligns with the article's subject matter and industry (e.g., AI automation, business processes, workflow management, etc.).\n\u2705 Descriptive Detail for Image Generation:\n\nUse rich visual descriptions that include:\nScene setting (e.g., futuristic cityscape, high-tech office, dynamic team collaboration).\nElements & objects (e.g., digital interfaces, robots, data visualizations, business professionals).\nMood & lighting (e.g., cinematic lighting, energetic atmosphere, professional and modern tone).\nPerspective (e.g., wide-angle, close-up, action shot, aerial view).\n\u2705 Consistency & Formatting:\n\nOutput must be in Markdown format with no heading\nEnd the image prompt with --ar 16:9 to specify the 16:9 aspect ratio for better compatibility.\nExamples:\nBefore (Weak Example):\n\"An image of AI and business automation.\" \u274c Too vague, lacks engagement.\n\nAfter (Optimized Example):## Image Prompt  \nA futuristic digital workspace with AI-powered automation interfaces, holographic data charts, and robotic assistants collaborating with business professionals. The environment is sleek and modern, illuminated by ambient blue neon lighting, symbolizing innovation and efficiency. --ar 16:9  \n"
        }
      },
      "type": "@n8n/n8n-nodes-langchain.agent",
      "typeVersion": 1.7,
      "position": [
        3700,
        840
      ],
      "id": "9ad76597-9393-4001-ae37-319db74517bf",
      "name": "Image prompt Agent"
    },
    {
      "parameters": {
        "method": "POST",
        "url": "=https://router.huggingface.co/hf-inference/models/black-forest-labs/FLUX.1-dev",
        "sendHeaders": true,
        "headerParameters": {
          "parameters": [
            {
              "name": "Authorization",
              "value": "Bearer your_hface_api_key"
            }
          ]
        },
        "sendBody": true,
        "specifyBody": "json",
        "jsonBody": "={\n  \"inputs\": \"{{ $json.output }}\",\n  \"parameters\": {\n    \"num_inference_steps\": 5,\n    \"height\":1024,\n    \"width\":1920\n  }\n} ",
        "options": {
          "response": {
            "response": {
              "responseFormat": "file"
            }
          }
        }
      },
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.2,
      "position": [
        140,
        1380
      ],
      "id": "05c96419-4246-4ea1-840a-2f2d744453b0",
      "name": "HTTP Request"
    },
    {
      "parameters": {
        "promptType": "define",
        "text": "=Write a compelling, SEO-optimized meta description for the following article. Keep it concise (150-160 characters), engaging, and keyword-rich. The description should entice readers while improving search visibility.\n\nArticle:\n{{ $('Edit Fields7').item.json.refined_article }}\n\nOutput Format:\nProvide the output in Markdown format.",
        "options": {
          "systemMessage": "=You are an SEO-optimized Meta Description Generator. Your role is to craft concise, engaging, and keyword-rich meta descriptions for articles to maximize visibility in search engine results.\n\nGuidelines:\n\u2705 Length: Keep descriptions between 150\u2013160 characters for full visibility.\n\u2705 Keyword Optimization: Naturally incorporate primary and secondary high-impact keywords relevant to the article.\n\u2705 Engagement & Clarity:\n\nWrite in an active voice with a compelling hook.\nClearly summarize the core value of the article\u2014why should someone read it?\nAvoid vague statements\u2014be specific about what the article covers.\n\u2705 Call to Action (Preferred): Encourage clicks with a soft CTA (e.g., \u201cDiscover how\u2026\u201d, \u201cLearn the best strategies\u2026\u201d).\n\u2705 Formatting:\nUse Markdown format with an ## Meta Description heading.\nNo extra spacing or unnecessary formatting\u2014make it clean and ready to use.\nExample Improvements:\n\n\u274c Before (Weak):\n\"This article discusses agentic AI and how it can be used in businesses.\" (Too vague, lacks engagement.)\n\n\u2705 After (Optimized):\n\n##Meta Description\nUnlock the power of agentic AI automation! Learn how businesses enhance efficiency, decision-making, and scalability with self-evolving AI-driven workflows."
        }
      },
      "type": "@n8n/n8n-nodes-langchain.agent",
      "typeVersion": 1.7,
      "position": [
        1040,
        1360
      ],
      "id": "a407470c-6588-409b-a31e-f8434db2591d",
      "name": "Meta Description Generator"
    },
    {
      "parameters": {
        "assignments": {
          "assignments": [
            {
              "id": "a12dd0c5-ff5d-4ac8-817c-c84f809ad32c",
              "name": "image_url",
              "value": "=https://drive.google.com/uc?export=view&id={{ $('Upload Image to Drive').item.json.id }}",
              "type": "string"
            },
            {
              "id": "6e8c613f-dd8b-40a0-88c9-f09765f4aaf5",
              "name": "article_title",
              "value": "={{ $('Edit Fields2').item.json.refined_title }}",
              "type": "string"
            },
            {
              "id": "a2687215-ae7b-4ba3-b261-5b1de137c350",
              "name": "final_article",
              "value": "={{ $('Edit Fields7').item.json.refined_article }}",
              "type": "string"
            },
            {
              "id": "ea1074a6-3538-45b2-8323-424fe746124c",
              "name": "final_metadesc",
              "value": "={{ $json.output }}",
              "type": "string"
            }
          ]
        },
        "options": {}
      },
      "type": "n8n-nodes-base.set",
      "typeVersion": 3.4,
      "position": [
        1580,
        1200
      ],
      "id": "c30cd6cc-ed89-4eed-8fd6-05fb0342a958",
      "name": "Edit Fields9"
    },
    {
      "parameters": {
        "method": "POST",
        "url": "=https://nameisjack-krishna-mdtodocx.hf.space/convert/",
        "sendHeaders": true,
        "headerParameters": {
          "parameters": [
            {
              "name": "accept",
              "value": "application/json"
            },
            {
              "name": "X-API-Key",
              "value": "your_opt2ai_api_key"
            }
          ]
        },
        "sendBody": true,
        "bodyParameters": {
          "parameters": [
            {
              "name": "md_text",
              "value": "=# {{ $json.article_title }} \\n\\n\\n![]({{ $json.image_url }})\n{{ $json.final_article }} \\n\\n{{ $json.final_metadesc }}"
            }
          ]
        },
        "options": {
          "response": {
            "response": {
              "responseFormat": "file",
              "outputPropertyName": "=data"
            }
          }
        }
      },
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.2,
      "position": [
        1840,
        1200
      ],
      "id": "f6591c01-8d42-46f0-9c9d-5369999126a1",
      "name": "HTTP Request1"
    },
    {
      "parameters": {
        "name": "={{ $json.article_title }}",
        "driveId": {
          "__rl": true,
          "mode": "list",
          "value": "My Drive"
        },
        "folderId": {
          "__rl": true,
          "value": "={{ $('Google Drive').item.json.id }}",
          "mode": "id"
        },
        "options": {}
      },
      "type": "n8n-nodes-base.googleDrive",
      "typeVersion": 3,
      "position": [
        2060,
        1400
      ],
      "id": "44c10581-9b2c-4f05-89db-39a20bfae53a",
      "name": "Upload docx to Drive"
    },
    {
      "parameters": {
        "name": "={{ $('Edit Fields2').item.json.refined_title }}",
        "driveId": {
          "__rl": true,
          "mode": "list",
          "value": "My Drive"
        },
        "folderId": {
          "__rl": true,
          "value": "={{ $('Google Drive').item.json.id }}",
          "mode": "id"
        },
        "options": {}
      },
      "type": "n8n-nodes-base.googleDrive",
      "typeVersion": 3,
      "position": [
        380,
        1200
      ],
      "id": "97ba7664-3bf7-4f20-a7d8-a6e8dfa207fe",
      "name": "Upload Image to Drive"
    },
    {
      "parameters": {
        "operation": "share",
        "fileId": {
          "__rl": true,
          "value": "={{ $json.id }}",
          "mode": "id"
        },
        "permissionsUi": {
          "permissionsValues": {
            "role": "reader",
            "type": "anyone",
            "allowFileDiscovery": true
          }
        },
        "options": {}
      },
      "type": "n8n-nodes-base.googleDrive",
      "typeVersion": 3,
      "position": [
        600,
        1200
      ],
      "id": "77cb3906-c33f-40c0-bc72-e51c3ff2274e",
      "name": "Share Img Link"
    },
    {
      "parameters": {
        "operation": "share",
        "fileId": {
          "__rl": true,
          "value": "={{ $json.id }}",
          "mode": "id"
        },
        "permissionsUi": {
          "permissionsValues": {
            "role": "reader",
            "type": "anyone",
            "allowFileDiscovery": true
          }
        },
        "options": {}
      },
      "type": "n8n-nodes-base.googleDrive",
      "typeVersion": 3,
      "position": [
        2320,
        1400
      ],
      "id": "f572f09a-d3b7-4407-878d-3df92311b6e3",
      "name": "Share docx link"
    },
    {
      "parameters": {
        "operation": "update",
        "documentId": {
          "__rl": true,
          "value": "15o7vKIq8IWY2BBS2q2o0oRkmOaQGH27mPOGEHCkNTs8",
          "mode": "list",
          "cachedResultName": "BlogGenerator",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/15o7vKIq8IWY2BBS2q2o0oRkmOaQGH27mPOGEHCkNTs8/edit?usp=drivesdk"
        },
        "sheetName": {
          "__rl": true,
          "value": 1429282627,
          "mode": "list",
          "cachedResultName": "BlogLinkedIn",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/15o7vKIq8IWY2BBS2q2o0oRkmOaQGH27mPOGEHCkNTs8/edit#gid=1429282627"
        },
        "columns": {
          "mappingMode": "defineBelow",
          "value": {
            "GoogleDocsUrl": "=https://drive.google.com/file/d/{{ $('Upload docx to Drive').item.json.id }}/view",
            "Id": "={{ $('Google Sheets').item.json.Id }}"
          },
          "matchingColumns": [
            "Id"
          ],
          "schema": [
            {
              "id": "Id",
              "displayName": "Id",
              "required": false,
              "defaultMatch": false,
              "display": true,
              "type": "string",
              "canBeUsedToMatch": true,
              "removed": false
            },
            {
              "id": "Title",
              "displayName": "Title",
              "required": false,
              "defaultMatch": false,
              "display": true,
              "type": "string",
              "canBeUsedToMatch": true
            },
            {
              "id": "Description",
              "displayName": "Description",
              "required": false,
              "defaultMatch": false,
              "display": true,
              "type": "string",
              "canBeUsedToMatch": true
            },
            {
              "id": "Keyword",
              "displayName": "Keyword",
              "required": false,
              "defaultMatch": false,
              "display": true,
              "type": "string",
              "canBeUsedToMatch": true
            },
            {
              "id": "Primary Keyword",
              "displayName": "Primary Keyword",
              "required": false,
              "defaultMatch": false,
              "display": true,
              "type": "string",
              "canBeUsedToMatch": true
            },
            {
              "id": "Category",
              "displayName": "Category",
              "required": false,
              "defaultMatch": false,
              "display": true,
              "type": "string",
              "canBeUsedToMatch": true
            },
            {
              "id": "Status",
              "displayName": "Status",
              "required": false,
              "defaultMatch": false,
              "display": true,
              "type": "string",
              "canBeUsedToMatch": true
            },
            {
              "id": "GoogleDocsUrl",
              "displayName": "GoogleDocsUrl",
              "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.5,
      "position": [
        2560,
        1200
      ],
      "id": "c480bcc6-9e1a-464d-a53f-fba288299a16",
      "name": "Google Sheets3"
    },
    {
      "parameters": {
        "promptType": "define",
        "text": "=Use the given:\nTitle: {{ $json.Title }}\nDescription: {{ $json.Description }}\nAnd the Tavily SERP Results tool to perform research for the primary keyword, {{ $json.Keyword }}. \n\nFormat your response as a JSON object:\nIMPORTANT: Do not include extra text, introduction messages, line breaks \\n, or any additional characters.\nJSON Output\n{\n  \"search_intent\": \"<string: informational | transactional | navigational | commercial>\",\n  \"writing_style\": \"<string: concise and professional | engaging and storytelling | data-driven and technical | etc.>\",\n  \"writing_tone\": \"<string: friendly and conversational | formal and authoritative | persuasive and compelling | etc.>\",\n  \"hidden_insight\": \"<string: unique insight if found, otherwise 'No significant insights detected beyond existing content trends.'>\",\n  \"target_audience\": \"<string: who this article is for, e.g., small business owners, tech enthusiasts, marketers, etc.>\",\n  \"goal_of_article\": \"<strin

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

bloggenerator. Uses googleSheets, toolHttpRequest, outputParserStructured, agent. Webhook trigger; 36 nodes.

Source: https://github.com/AndersonNascimentoDosSantos/n8n-workflow-backup/blob/main/bloggenerator-yXPRWofh1useEPrM.json — 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

🧠 Gwen – The AI Voice Marketing Agent Gwen is your intelligent voice-powered marketing assistant built in n8n. She combines the power of OpenAI, ElevenLabs, and automation workflows to handle content

Tool Workflow, Memory Buffer Window, Agent +10
AI & RAG

Tired of grinding out YouTube content? This n8n workflow turns AI into your personal video factory—creating engaging, faceless shorts on autopilot. Perfect for creators, marketers, or side-hustlers lo

HTTP Request, Google Drive, Google Sheets +6
AI & RAG

Faceless YouTube Generator. Uses httpRequest, limit, googleDrive, googleSheets. Webhook trigger; 49 nodes.

HTTP Request, Google Drive, Google Sheets +7
AI & RAG

BlogGenerator. Uses googleSheets, lmChatOpenAi, toolHttpRequest, outputParserStructured. Webhook trigger; 47 nodes.

Google Sheets, OpenAI Chat, Tool Http Request +4
AI & RAG

[](https://www.youtube.com/watch?v=NAn5BSr15Ks) &gt; This workflow connects a Slack chatbot with AI agents and Google Sheets to automate candidate resume evaluation. It extracts resume details, identi

HTTP Request, Output Parser Structured, OpenAI Chat +6