AutomationFlowsAI & RAG › AI Blog Post Writer with Perplexity Research

AI Blog Post Writer with Perplexity Research

Original n8n title: 🧠 AI Blog Post Journalist (perplexity for Research, Anthropic Claude for Blog)

ByAutomate With Marc @marconi on n8n.io

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

Cron / scheduled trigger★★★☆☆ complexityAI-powered12 nodesPerplexityAnthropic ChatAgentMemory Buffer WindowPerplexity ToolGoogle Docs
AI & RAG Trigger: Cron / scheduled Nodes: 12 Complexity: ★★★☆☆ AI nodes: yes Added:

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

This workflow follows the Agent → Google Docs 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": "91ODWr9EkSAETwX2",
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "name": "AI-Powered Blog Post Generator",
  "tags": [],
  "nodes": [
    {
      "id": "bc282e38-6c6a-409c-b017-34cb852ff5b7",
      "name": "Schedule Trigger",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        -120,
        0
      ],
      "parameters": {
        "rule": {
          "interval": [
            {}
          ]
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "e7e64550-2d73-4797-a0f7-58456e76642c",
      "name": "Perplexity - Blog Topic Research Node",
      "type": "n8n-nodes-base.perplexity",
      "position": [
        160,
        0
      ],
      "parameters": {
        "model": "sonar-pro",
        "options": {
          "searchRecency": "week"
        },
        "messages": {
          "message": [
            {
              "content": "Research on the latest AI news that will be interesting to blog about. Choose and return only the most interesting news for the blog intended for non-technical audience trying to learn more about AI."
            }
          ]
        },
        "requestOptions": {}
      },
      "credentials": {
        "perplexityApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "ce9a37b0-5fac-4cc6-8877-7a09d23467e1",
      "name": "Anthropic Chat Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatAnthropic",
      "position": [
        480,
        200
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "claude-sonnet-4-20250514",
          "cachedResultName": "Claude 4 Sonnet"
        },
        "options": {}
      },
      "credentials": {
        "anthropicApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.3
    },
    {
      "id": "2ac602fb-7cde-4cae-971d-c374ae429b1e",
      "name": "AI Agent",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        520,
        0
      ],
      "parameters": {
        "text": "={{ $json.choices[0].message.content }}",
        "options": {
          "systemMessage": "=You are a professional blog content writer for a tech news site that translates the latest AI breakthroughs and developments into engaging, non-technical blog posts.\n\nYour task is to write a clear, captivating, and SEO-optimized blog post based on the latest AI topic provided by the previous node (Perplexity AI Search output). The post should be easy to understand by general readers with no technical background, while still sounding informed, current, and exciting.\n\nINSTRUCTIONS:\n\nAudience: General readers, professionals, and business folks curious about AI\u2014but not developers or engineers.\n\nTone & Style:\n\nFriendly, conversational, curious\n\nNot clickbait, but exciting and easy to read\n\nAvoid jargon unless necessary, and always explain it simply\n\nUse storytelling or a real-world metaphor/example when possible\n\nFormat:\n\nTitle (must include primary keywords related to the topic)\n\n1-paragraph Hook/Intro (make the reader want to read on)\n\n3\u20135 short sections with headers\n\nFinal Takeaway / What this means for the average reader\n\nSEO Meta Description (max 155 characters)\n\nInclude 3\u20135 SEO keywords naturally in the body\n\nUse bullet points or bolding to improve skimmability\n\nRules:\n\nDo not fabricate facts.\n\nIf additional context is needed, call the Perplexity Search Tool for clarification\n\nDo not overuse buzzwords or technical terms\u2014explain them simply if used\n\nKeep paragraphs short and engaging\n\nExample Topics This Prompt Can Work For:\n\n\u201cHow Apple is using AI in its new products\u201d\n\n\u201cWhy the EU is regulating AI and what it means for us\u201d\n\n\u201cOpenAI\u2019s latest model and what it can do for small businesses\u201d\n\n# [Catchy SEO Blog Title with Keyword]\n\n*[Optional Subtitle for clarity]*\n\n**Intro:**  \n[Compelling hook paragraph that introduces the topic with relevance and clarity.]\n\n## [Subheading 1]\n[Explain one key point from the research, in a simple, friendly way.]\n\n## [Subheading 2]\n[Another key aspect, ideally with a metaphor, stat, or quote.]\n\n## [Subheading 3]\n[Implications, opportunities, or what to look out for.]\n\n**Takeaway:**  \n[A 2\u20133 sentence wrap-up telling readers what they should remember or what action they might take.]\n\n**Meta Description:**  \n[Short, SEO-focused summary of the blog post. Max 155 characters.]\n\n**SEO Keywords:**  \n[Include a few relevant SEO keywords you naturally used in the blog.]\n"
        },
        "promptType": "define"
      },
      "typeVersion": 2
    },
    {
      "id": "9f7883ed-c94d-4012-a7ab-df12d9b874ca",
      "name": "Simple Memory",
      "type": "@n8n/n8n-nodes-langchain.memoryBufferWindow",
      "position": [
        600,
        200
      ],
      "parameters": {
        "sessionKey": "={{ $('Perplexity - Blog Topic Research Node').item.json.id }}",
        "sessionIdType": "customKey"
      },
      "typeVersion": 1.3
    },
    {
      "id": "e48b32af-4126-4afa-8d5b-680b95128b07",
      "name": "Perplexity Search Tool",
      "type": "n8n-nodes-base.perplexityTool",
      "position": [
        760,
        200
      ],
      "parameters": {
        "model": "sonar-pro",
        "options": {},
        "messages": {
          "message": [
            {
              "content": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('message0_Text', ``, 'string') }}"
            }
          ]
        },
        "simplify": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Simplify_Output', ``, 'boolean') }}",
        "requestOptions": {}
      },
      "credentials": {
        "perplexityApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "28023ef7-b506-4a24-94aa-d238dd934fb7",
      "name": "Google Docs",
      "type": "n8n-nodes-base.googleDocs",
      "position": [
        1020,
        0
      ],
      "parameters": {
        "actionsUi": {
          "actionFields": [
            {
              "text": "={{ $json.output }}",
              "action": "insert"
            }
          ]
        },
        "operation": "update",
        "documentURL": ""
      },
      "credentials": {
        "googleDocsOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 2
    },
    {
      "id": "1f08afc2-e82e-4299-a9d4-e5d22c61c77b",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -200,
        -200
      ],
      "parameters": {
        "width": 260,
        "height": 600,
        "content": "Schedule Trigger"
      },
      "typeVersion": 1
    },
    {
      "id": "3047e161-9da7-4dc3-97be-a80781bddf49",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        80,
        -200
      ],
      "parameters": {
        "color": 3,
        "width": 300,
        "height": 600,
        "content": "Schedule Trigger"
      },
      "typeVersion": 1
    },
    {
      "id": "31e687c4-363f-49ee-abd2-93fc3d13ea59",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        400,
        -200
      ],
      "parameters": {
        "color": 5,
        "width": 500,
        "height": 600,
        "content": "Schedule Trigger"
      },
      "typeVersion": 1
    },
    {
      "id": "32b8771b-67cf-4521-8d79-c032e3d70f72",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        920,
        -200
      ],
      "parameters": {
        "color": 6,
        "width": 300,
        "height": 600,
        "content": "Schedule Trigger"
      },
      "typeVersion": 1
    },
    {
      "id": "ac2f86cc-099f-4985-a780-7c06b605bf91",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -860,
        -200
      ],
      "parameters": {
        "width": 620,
        "height": 1020,
        "content": "\ud83e\udde0 AI-Powered Blog Post Generator\nCategory: Content Automation / AI Writing / Marketing\n\nDescription:\nThis automated workflow helps you generate fresh, SEO-optimized blog posts daily using AI tools\u2014perfect for solo creators, marketers, and content teams looking to stay on top of the latest AI trends without manual research or writing.\n\nFor more of this build and step-by-step tutorials, check out:\nhttps://www.youtube.com/@Automatewithmarc\n\nHere\u2019s how it works:\n\nSchedule Trigger kicks off the workflow daily (or at your preferred interval).\n\nPerplexity AI Node researches the most interesting recent AI news tailored for a non-technical audience.\n\nAI Agent (Claude via Anthropic) turns that news into a full-length blog post based on a structured prompt that includes title, intro, 3+ section headers, takeaway, and meta description\u2014designed for clarity, engagement, and SEO.\n\nOptional Memory & Perplexity Tool Nodes enhance the agent's responses by allowing it to clarify facts or fetch more context.\n\nGoogle Docs Node automatically saves the final blog post to your selected document\u2014ready for review, scheduling, or publishing.\n\nKey Features:\n\nCombines Perplexity AI + Claude AI (Anthropic) for research + writing\n\nBuilt-in memory and retrieval logic for deeper contextual accuracy\n\nNon-technical, friendly writing style ideal for general audiences\n\nOutput saved directly to Google Docs\n\nFully no-code, customizable, and extendable\n\nUse Cases:\n\nAutomate weekly blog content for your newsletter or site\n\nRepurpose content into social posts or scripts\n\nKeep your brand relevant in the fast-moving AI landscape\n\nSetup Requirements:\n\nPerplexity API Key\n\nAnthropic API Key\n\nGoogle Docs (OAuth2 connected)"
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "69254d17-147f-4e2a-9508-366be9ce75f2",
  "connections": {
    "AI Agent": {
      "main": [
        [
          {
            "node": "Google Docs",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Simple Memory": {
      "ai_memory": [
        [
          {
            "node": "AI Agent",
            "type": "ai_memory",
            "index": 0
          }
        ]
      ]
    },
    "Schedule Trigger": {
      "main": [
        [
          {
            "node": "Perplexity - Blog Topic Research Node",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Anthropic Chat Model": {
      "ai_languageModel": [
        [
          {
            "node": "AI Agent",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Perplexity Search Tool": {
      "ai_tool": [
        [
          {
            "node": "AI Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Perplexity - Blog Topic Research Node": {
      "main": [
        [
          {
            "node": "AI Agent",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}

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 contains community nodes that are only compatible with the self-hosted version of n8n.

Source: https://n8n.io/workflows/5202/ — 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

Transform your meeting follow-ups from chaos to clarity!

Google Drive, Google Docs, Agent +4
AI & RAG

This template helps you manage your calendars by enriching each calendar event with data from Perplexity, OpenWeatherMap, & Open AI, and sending notifications on your Telegram.

Memory Buffer Window, OpenAI Chat, Agent +7
AI & RAG

This n8n template automatically processes your industry newsletters and creates AI-powered intelligence briefs that filter signal from noise. Perfect for busy professionals who need to stay informed w

Gmail, Agent, Slack +5
AI & RAG

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

Agent, Lm Chat Xai Grok, Memory Buffer Window +3
AI & RAG

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

Gmail, Agent, OpenAI Chat +2