Workflow: 💥🛠️Automate Blog Content Creation with GPT-4, Perplexity & WordPress
Integrations: formTrigger, gmailTool, httpRequest, noOp, set, stickyNote, wordpressTool

{"id": "L1UcBZ9UJvN9gnSb", "meta": {"instanceId": "workflow-4a2d2bc4", "versionId": "1.0.0", "createdAt": "2025-09-29T07:07:46.409298", "updatedAt": "2025-09-29T07:07:46.409311", "owner": "n8n-user", "license": "MIT", "category": "automation", "status": "active", "priority": "high", "environment": "production"}, "name": "\ud83d\udca5\ud83d\udee0\ufe0fAutomate Blog Content Creation with GPT-4, Perplexity & WordPress", "tags": ["automation", "n8n", "production-ready", "excellent", "optimized"], "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, "notes": "This stickyNote node performs automated tasks as part of the workflow."}, {"id": "16509f9d-ce54-4dab-b3ff-24760b0bde09", "name": "Perplexity Research", "type": "n8n-nodes-base.httpRequest", "position": [80, 100], "parameters": {"url": "{{ $env.API_BASE_URL }}", "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": "{{ $credentials.genericCredentialType }}", "genericAuthType": "httpHeaderAuth"}, "credentials": {"httpHeaderAuth": {"id": "DB99xYLrmwZl7Sqf", "name": "Header Auth account"}}, "typeVersion": 4.2, "notes": "This httpRequest node performs automated tasks as part of the workflow."}, {"id": "500b2464-88b1-44f5-bcc4-12c0acdc5773", "name": "When chat message received", "type": "n8n-nodes-base.noOp", "position": [560, 0], "webhookId": "b132ff74-2807-4cbf-b5b7-a62a207161d3", "parameters": {"options": {}}, "typeVersion": 1.1, "notes": "This chatTrigger node performs automated tasks as part of the workflow."}, {"id": "aec9523b-245a-48ff-a860-3239b869f676", "name": "Slack-List", "type": "n8n-nodes-mcp.mcpClientTool", "position": [1500, 400], "parameters": {}, "credentials": {"mcpClientApi": {"id": "mC6b1h1p0lFikSzU", "name": "slack"}}, "typeVersion": 1, "notes": "This mcpClientTool node performs automated tasks as part of the workflow."}, {"id": "1ecdcfed-c5d4-4ddc-aeb1-e760d295e5bc", "name": "Copywriting AI Agent", "type": "n8n-nodes-base.noOp", "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, "notes": "This agent node performs automated tasks as part of the workflow."}, {"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]({{ $env.WEBHOOK_URL }}\n**mcp-slack-server** : [Guide]({{ $env.WEBHOOK_URL }}"}, "typeVersion": 1, "notes": "This stickyNote node performs automated tasks as part of the workflow."}, {"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, "notes": "This set node performs automated tasks as part of the workflow."}, {"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": {"id": "KIuXvzjOEnOsHKQE", "name": "Wordpress account"}}, "typeVersion": 1, "notes": "This wordpressTool node performs automated tasks as part of the workflow."}, {"id": "6940575a-d504-4276-8964-c41f26418f3c", "name": "Send Email Notification", "type": "n8n-nodes-base.gmailTool", "position": [1360, 400], "webhookId": "b68c6af8-46e6-4ed9-ae72-445e9cb7ab88", "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": {"id": "rKxQHWZ2F5XLJmwF", "name": "Gmail account"}}, "typeVersion": 2.1, "notes": "This gmailTool node performs automated tasks as part of the workflow."}, {"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": {"id": "mC6b1h1p0lFikSzU", "name": "slack"}}, "typeVersion": 1, "notes": "This mcpClientTool node performs automated tasks as part of the workflow."}, {"id": "9d36b649-f5e6-442c-bcab-53f0ca0dc2c2", "name": "Generate SEO Blog Content (GPT-4o)", "type": "n8n-nodes-base.noOp", "position": [600, 400], "parameters": {"model": {"__rl": true, "mode": "list", "value": "gpt-4o-mini", "cachedResultName": "gpt-4o-mini"}, "options": {}}, "credentials": {"openAiApi": {"id": "6h3DfVhNPw9I25nO", "name": "OpenAi account"}}, "typeVersion": 1.2, "notes": "This lmChatOpenAi node performs automated tasks as part of the workflow."}, {"id": "7a034005-68a3-40fa-bb94-cfdfab717cfc", "name": "Start with Research Query Submission", "type": "n8n-nodes-base.formTrigger", "position": [-180, 100], "webhookId": "a29cbcd3-9d11-4f7c-9aad-14681c356c53", "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, "notes": "This formTrigger node performs automated tasks as part of the workflow."}, {"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, "notes": "This stickyNote node performs automated tasks as part of the workflow."}, {"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, "notes": "This set node performs automated tasks as part of the workflow."}, {"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, "notes": "This stickyNote node performs automated tasks as part of the workflow."}, {"id": "5075e00d-f1e9-4db2-85c1-d4d851f57abf", "name": "Notion-List", "type": "n8n-nodes-mcp.mcpClientTool", "position": [1000, 400], "parameters": {}, "credentials": {"mcpClientApi": {"id": "QQbMEB7i2XAAWTSc", "name": "Notion"}}, "typeVersion": 1, "notes": "This mcpClientTool node performs automated tasks as part of the workflow."}, {"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": {"id": "QQbMEB7i2XAAWTSc", "name": "Notion"}}, "typeVersion": 1, "notes": "This mcpClientTool node performs automated tasks as part of the workflow."}], "active": true, "pinData": {}, "settings": {"executionOrder": "v1", "saveManualExecutions": true, "callerPolicy": "workflowsFromSameOwner", "errorWorkflow": null, "timezone": "UTC", "executionTimeout": 3600, "maxExecutions": 1000, "retryOnFail": true, "retryCount": 3, "retryDelay": 1000}, "versionId": "553f26d7-2dcf-4900-871e-b3aa25a68ffa", "connections": {"16509f9d-ce54-4dab-b3ff-24760b0bde09": {"main": [[{"node": "error-handler-16509f9d-ce54-4dab-b3ff-24760b0bde09", "type": "main", "index": 0}], [{"node": "error-handler-16509f9d-ce54-4dab-b3ff-24760b0bde09-31650bcb", "type": "main", "index": 0}], [{"node": "error-handler-16509f9d-ce54-4dab-b3ff-24760b0bde09-3d69391b", "type": "main", "index": 0}], [{"node": "error-handler-16509f9d-ce54-4dab-b3ff-24760b0bde09-d32c3daf", "type": "main", "index": 0}], [{"node": "error-handler-16509f9d-ce54-4dab-b3ff-24760b0bde09-403bb1a6", "type": "main", "index": 0}], [{"node": "error-handler-16509f9d-ce54-4dab-b3ff-24760b0bde09-551e57bc", "type": "main", "index": 0}], [{"node": "error-handler-16509f9d-ce54-4dab-b3ff-24760b0bde09-698744a6", "type": "main", "index": 0}], [{"node": "error-handler-16509f9d-ce54-4dab-b3ff-24760b0bde09-65d40f22", "type": "main", "index": 0}], [{"node": "error-handler-16509f9d-ce54-4dab-b3ff-24760b0bde09-98acd0e5", "type": "main", "index": 0}]]}, "9d36b649-f5e6-442c-bcab-53f0ca0dc2c2": {"main": [[{"node": "error-handler-9d36b649-f5e6-442c-bcab-53f0ca0dc2c2-80e9a832", "type": "main", "index": 0}]]}}, "description": "Automated workflow: \ud83d\udca5\ud83d\udee0\ufe0fAutomate Blog Content Creation with GPT-4, Perplexity & WordPress. This workflow integrates 11 different services: stickyNote, httpRequest, formTrigger, gmailTool, agent. It contains 20 nodes and follows best practices for error handling and security.", "notes": "Excellent quality workflow: \ud83d\udca5\ud83d\udee0\ufe0fAutomate Blog Content Creation with GPT-4, Perplexity & WordPress. This workflow has been optimized for production use with comprehensive error handling, security, and documentation."}