AutomationFlowsContent & Video › Automate Blog Creation with GPT-4 & WordPress

Automate Blog Creation with GPT-4 & WordPress

Original n8n title: 💥🛠️automate Blog Content Creation with Gpt-4, Perplexity & Wordpress

💥🛠️Automate Blog Content Creation with GPT-4, Perplexity & WordPress. Uses stickyNote, httpRequest, chatTrigger, n8n-nodes-mcp. Chat trigger; 17 nodes.

Chat trigger trigger★★★★☆ complexityAI-powered17 nodesHTTP RequestChat TriggerN8N Nodes McpAgentWordpress ToolGmail ToolOpenAI ChatForm Trigger
Content & Video Trigger: Chat trigger Nodes: 17 Complexity: ★★★★☆ AI nodes: yes Added:

This workflow follows the Agent → Chat Trigger 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": "L1UcBZ9UJvN9gnSb",
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "name": "\ud83d\udca5\ud83d\udee0\ufe0fAutomate Blog Content Creation with GPT-4, Perplexity & WordPress",
  "tags": [],
  "nodes": [
    {
      "id": "b86a4b08-6fb6-4ebc-8ddb-f1cd0e4b1492",
      "name": "Sticky Note5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        0,
        0
      ],
      "parameters": {
        "color": 4,
        "width": 460,
        "height": 300,
        "content": "## Perplexity Section\n\ud83c\udf10 Calls Perplexity API to get fresh research based on a form input.\n\n\n"
      },
      "typeVersion": 1
    },
    {
      "id": "16509f9d-ce54-4dab-b3ff-24760b0bde09",
      "name": "Perplexity Research",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        80,
        100
      ],
      "parameters": {
        "url": "https://api.perplexity.ai/chat/completions",
        "method": "POST",
        "options": {},
        "jsonBody": "={\n  \"model\": \"sonar-pro\",\n  \"messages\": [\n    {\n      \"role\": \"system\",\n      \"content\": \"Act as a professional news researcher who is capable of finding detailed summaries about a news topic from highly reputable sources.\"\n    },\n    {\n      \"role\": \"user\",\n      \"content\": \" Research the following topic and return everything you can find about: '{{ $json['Topic or Question'] }}'.\"\n    }\n  ]\n}\n",
        "sendBody": true,
        "specifyBody": "json",
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth"
      },
      "credentials": {
        "httpHeaderAuth": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "500b2464-88b1-44f5-bcc4-12c0acdc5773",
      "name": "When chat message received",
      "type": "@n8n/n8n-nodes-langchain.chatTrigger",
      "position": [
        560,
        0
      ],
      "parameters": {
        "options": {}
      },
      "typeVersion": 1.1
    },
    {
      "id": "aec9523b-245a-48ff-a860-3239b869f676",
      "name": "Slack-List",
      "type": "n8n-nodes-mcp.mcpClientTool",
      "position": [
        1500,
        400
      ],
      "parameters": {},
      "credentials": {
        "mcpClientApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "1ecdcfed-c5d4-4ddc-aeb1-e760d295e5bc",
      "name": "Copywriting AI Agent",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        1020,
        100
      ],
      "parameters": {
        "text": "=You are an expert in SEO content writing.\n\nYour mission is to create, publish, and notify about a search engine optimized article for a blog focused on artificial intelligence. Follow the steps below: {{ $('Format Research Output').item.json.research }}\n\n1. **Write an SEO-optimized article with a maximum of 20 lines** based on the provided information:\n   - Structure the article with a catchy **H1 title**, one or two **H2 subtitles**, and a professional yet accessible tone.\n   - Extract and include relevant keywords from the data.\n   - Optimize for readability: short sentences, clear paragraphs, and a CTA if relevant.\n   - Do not exceed 20 lines of content.\n\n2. **Publish the article on WordPress**, including:\n   - The **title** as the article's headline\n   - The **SEO content** as the body\n\n3. **Send an email** to my address : {{ $json.emailAddress }} containing:\n   - The article's title\n   - The **URL** of the published article on WordPress\n\n4. **Retrieve the list of available Slack tools first** using \u201cSlack Tools\u201d.\n   - Then, send a notification on Slack that the article has been published, including:\n     - The article title\n     - The article link\n     - Slack channel ID: {{ $json.slackChannelId }}\n\n5. **Retrieve the list of available Notion tools first** using \u201cNotion Tools\u201d.\n   Then, **add a new entry to my Notion database** (ID: {{ $json.notionDatabaseId }}) with the following fields:\n   - The 'Name' column is of type 'title'  \u2192 {{ $('Start with Research Query Submission').item.json['Topic or Question'] }}\n   The 'Subject' column is of type 'rich_text' \u2192 [the article's headline]\n   - The 'Content'column is of type 'rich_text' \u2192 [The SEO content]\n   - The 'URL' column is of type 'URL': \u2192 [The article link]\n   - The 'Status' column is of type 'select' \u2192 Select: `publish`\n\nImportant: Ensure that each step is successfully completed **before proceeding to the next**.\n",
        "options": {},
        "promptType": "define"
      },
      "typeVersion": 1.7
    },
    {
      "id": "aaab95dd-7fd2-411e-ba05-fa84568c0d56",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        480,
        -180
      ],
      "parameters": {
        "width": 1300,
        "height": 820,
        "content": "## My Copywriting AI Agent\n\u270d\ufe0f Transforms live research into SEO-optimized blog articles using GPT-4, then automatically publishes to WordPress, sends notifications via Gmail & Slack, and logs everything to Notion. This is your full-stack content assistant \u2014 from prompt to post, hands-free.\n**mcp-notion-server** : [Guide](https://github.com/suekou/mcp-notion-server)\n**mcp-slack-server** : [Guide](https://github.com/modelcontextprotocol/servers/tree/main/src/slack)"
      },
      "typeVersion": 1
    },
    {
      "id": "d3cbf58c-7c14-4695-8331-1750daf21d0d",
      "name": "Format Research Output",
      "type": "n8n-nodes-base.set",
      "position": [
        280,
        100
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "23b8e8c4-9191-415a-9661-1b60d413528a",
              "name": "research",
              "type": "string",
              "value": "={{ $json.choices[0].message.content.replaceAll(\"[1]\", \" - source: \" +$json.citations[0]).replaceAll(\"[2]\",\" - source:\" +$json.citations[1]).replaceAll(\"[3]\",\" - source: \" +$json.citations[2]).replaceAll(\"[4]\",\" - source: \"+$json.citations[3]).replaceAll(\"[5]\",\" - source: \"+$json.citations[4]).replaceAll(\"[6]\",\" - source: \"+$json.citations[5]).replaceAll(\"[7]\",\" - source: \"+$json.citations[6]).replaceAll(\"[8]\",\" - source: \"+$json.citations[7]).replaceAll(\"[9]\",\" - source: \"+$json.citations[8]).replaceAll(\"[10]\",\" - source: \"+$json.citations[9]) }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "cd073bb3-3b6a-4910-9de4-bef66fc00a1f",
      "name": "Publish Article to WordPress",
      "type": "n8n-nodes-base.wordpressTool",
      "position": [
        840,
        400
      ],
      "parameters": {
        "title": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Title', ``, 'string') }}",
        "additionalFields": {
          "status": "publish",
          "content": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Content', ``, 'string') }}"
        }
      },
      "credentials": {
        "wordpressApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "6940575a-d504-4276-8964-c41f26418f3c",
      "name": "Send Email Notification",
      "type": "n8n-nodes-base.gmailTool",
      "position": [
        1360,
        400
      ],
      "parameters": {
        "sendTo": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('To', ``, 'string') }}",
        "message": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Message', ``, 'string') }}",
        "options": {},
        "subject": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Subject', ``, 'string') }}"
      },
      "credentials": {
        "gmailOAuth2": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "da3c994c-60d5-41ef-9cf9-52daa77dc980",
      "name": "Notify Slack Channel",
      "type": "n8n-nodes-mcp.mcpClientTool",
      "position": [
        1640,
        400
      ],
      "parameters": {
        "toolName": "={{ $fromAI(\"tool\", \"the tool selected\")  }}",
        "operation": "executeTool",
        "toolParameters": "={{ $fromAI('Tool_Parameters', ``, 'json') }}"
      },
      "credentials": {
        "mcpClientApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "9d36b649-f5e6-442c-bcab-53f0ca0dc2c2",
      "name": "Generate SEO Blog Content (GPT-4o)",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        600,
        400
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4o-mini",
          "cachedResultName": "gpt-4o-mini"
        },
        "options": {}
      },
      "credentials": {
        "openAiApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "7a034005-68a3-40fa-bb94-cfdfab717cfc",
      "name": "Start with Research Query Submission",
      "type": "n8n-nodes-base.formTrigger",
      "position": [
        -180,
        100
      ],
      "parameters": {
        "options": {},
        "formTitle": "AutoBlog Creator",
        "formFields": {
          "values": [
            {
              "fieldType": "textarea",
              "fieldLabel": "Topic or Question",
              "placeholder": "=How is GPT-4 transforming content creation in 2025?",
              "requiredField": true
            }
          ]
        },
        "formDescription": "From research to article \u2014 no writing required"
      },
      "typeVersion": 2.2
    },
    {
      "id": "8cbad4aa-1802-4275-bbc4-c4d17673cd23",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        0,
        -180
      ],
      "parameters": {
        "color": 3,
        "width": 460,
        "height": 140,
        "content": "## Intro Sticky \n\ud83d\udd01 **This workflow automates the full cycle of SEO blog content creation** \u2014 from live topic research using Perplexity to blog publishing on WordPress, Slack/Gmail notifications, and Notion logging."
      },
      "typeVersion": 1
    },
    {
      "id": "93e258e4-baa2-4af2-ba12-0f1727150e19",
      "name": "Edit Workflow Variables",
      "type": "n8n-nodes-base.set",
      "position": [
        120,
        460
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "c06b2d24-1fd7-40f0-aee5-b5d6553e289e",
              "name": "emailAddress",
              "type": "string",
              "value": ""
            },
            {
              "id": "451aad67-5190-4eab-a982-56092734bb07",
              "name": "slackChannelId",
              "type": "string",
              "value": ""
            },
            {
              "id": "8a294900-f367-47a2-b260-344b133dc2ff",
              "name": "notionDatabaseId",
              "type": "string",
              "value": ""
            }
          ]
        }
      },
      "typeVersion": 3.4,
      "alwaysOutputData": true
    },
    {
      "id": "88cb2c49-be54-4df9-81ff-d709bde839e1",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        0,
        340
      ],
      "parameters": {
        "color": 6,
        "width": 460,
        "height": 300,
        "content": "## Workflow Configuration Panel\n\ud83d\udee0\ufe0f **Set your variables here** (email, Slack, Notion, OpenAI model)"
      },
      "typeVersion": 1
    },
    {
      "id": "5075e00d-f1e9-4db2-85c1-d4d851f57abf",
      "name": "Notion-List",
      "type": "n8n-nodes-mcp.mcpClientTool",
      "position": [
        1000,
        400
      ],
      "parameters": {},
      "credentials": {
        "mcpClientApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "edf2d95b-b04d-40f9-9b8d-b53dd5912bab",
      "name": "Insert Article in Notion",
      "type": "n8n-nodes-mcp.mcpClientTool",
      "position": [
        1180,
        400
      ],
      "parameters": {
        "toolName": "={{ $fromAI(\"tool\", \"the tool selected\")  }}",
        "operation": "executeTool",
        "toolParameters": "={{ $fromAI('tool_parameters', ``, 'json') }}"
      },
      "credentials": {
        "mcpClientApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    }
  ],
  "active": true,
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "553f26d7-2dcf-4900-871e-b3aa25a68ffa",
  "connections": {
    "Slack-List": {
      "ai_tool": [
        [
          {
            "node": "Copywriting AI Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Notion-List": {
      "ai_tool": [
        [
          {
            "node": "Copywriting AI Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Perplexity Research": {
      "main": [
        [
          {
            "node": "Format Research Output",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Notify Slack Channel": {
      "ai_tool": [
        [
          {
            "node": "Copywriting AI Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Format Research Output": {
      "main": [
        [
          {
            "node": "Edit Workflow Variables",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Edit Workflow Variables": {
      "main": [
        [
          {
            "node": "Copywriting AI Agent",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Send Email Notification": {
      "ai_tool": [
        [
          {
            "node": "Copywriting AI Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Insert Article in Notion": {
      "ai_tool": [
        [
          {
            "node": "Copywriting AI Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "When chat message received": {
      "main": [
        [
          {
            "node": "Copywriting AI Agent",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Publish Article to WordPress": {
      "ai_tool": [
        [
          {
            "node": "Copywriting AI Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Generate SEO Blog Content (GPT-4o)": {
      "ai_languageModel": [
        [
          {
            "node": "Copywriting AI Agent",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Start with Research Query Submission": {
      "main": [
        [
          {
            "node": "Perplexity Research",
            "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

How this works

Streamline your blog content creation by generating high-quality, research-backed articles effortlessly, saving hours of manual writing and ensuring consistent output for busy content creators, marketers, or solopreneurs. This workflow leverages GPT-4 for crafting compelling copy and Perplexity for in-depth research, culminating in seamless publishing to WordPress. The key step involves an AI agent that synthesises researched insights into polished drafts, ready for direct upload without further editing.

Use this workflow when you need to produce SEO-optimised blog posts on demand, such as for weekly newsletters or topic-driven series, especially if you're integrating chat-based prompts for quick ideation. Avoid it for highly customised or niche content requiring human nuance, like opinion pieces or legal topics, where AI might introduce inaccuracies. Common variations include swapping Perplexity for Google Search in the research node or adding a Gmail tool to notify your team upon publication.

About this workflow

💥🛠️Automate Blog Content Creation with GPT-4, Perplexity & WordPress. Uses stickyNote, httpRequest, chatTrigger, n8n-nodes-mcp. Chat trigger; 17 nodes.

Source: https://github.com/Zie619/n8n-workflows — original creator credit. Request a take-down →

More Content & Video workflows → · Browse all categories →

Related workflows

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

Content & Video

🔍🛠️Generate SEO-Optimized WordPress Content with Perplexity Research. Uses stickyNote, wordpress, lmChatOpenAi, outputParserStructured. Event-driven trigger; 25 nodes.

WordPress, OpenAI Chat, Output Parser Structured +5
Content & Video

Automate_Blog_Content_Creation_with_Notion_MCP__DeepSeek_AI__and_WordPress. Uses notionTrigger, agent, gmailTool, wordpressTool. Event-driven trigger; 11 nodes.

Notion Trigger, Agent, Gmail Tool +3
Content & Video

DeepSeek v3.1. Uses notionTrigger, agent, gmailTool, wordpressTool. Event-driven trigger; 10 nodes.

Notion Trigger, Agent, Gmail Tool +3
Content & Video

This workflow is ideal for content creators, bloggers, marketers, and professionals seeking to automate the creation and publication of SEO-optimized articles. It's particularly beneficial for those u

Notion Trigger, Agent, Gmail Tool +3
Content & Video

DeepSeek v3.1. Uses notionTrigger, agent, gmailTool, wordpressTool. Event-driven trigger; 10 nodes.

Notion Trigger, Agent, Gmail Tool +3