AutomationFlowsContent & Video › Add Ai-generated Headings & Conclusions to Wordpress Posts with Gpt-4.1

Add Ai-generated Headings & Conclusions to Wordpress Posts with Gpt-4.1

ByAli Khosravani @alikhosro on n8n.io

This workflow enriches your WordPress articles by automatically adding an AI-generated heading and a short concluding paragraph. It ensures each post ends with valuable, engaging content to improve user satisfaction, branding, and SEO.

Event trigger★★★★☆ complexityAI-powered8 nodesHTTP RequestOpenAI
Content & Video Trigger: Event Nodes: 8 Complexity: ★★★★☆ AI nodes: yes Added:

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

This workflow follows the HTTP Request → OpenAI 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
{
  "nodes": [
    {
      "id": "37f90234-8233-495a-b9e5-394de7c76852",
      "name": "When clicking \u2018Execute workflow\u2019",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        64,
        96
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "3b725892-b48f-42b1-b76f-13222f146ade",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        16,
        -48
      ],
      "parameters": {
        "color": 5,
        "width": 1776,
        "height": 320,
        "content": "## Article Content Enhancer with AI Summary\n\nThis workflow enhances existing articles by adding an AI-generated heading and a short summary paragraph at the end. It retrieves the article content, processes it for the AI prompt, and updates the post with the new section.\n\n"
      },
      "typeVersion": 1
    },
    {
      "id": "13591b8e-c2e3-45f3-b841-2e26c7ebe54c",
      "name": "Fetch Article Content (API)",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        288,
        96
      ],
      "parameters": {
        "url": "=https://example.com/wp-json/wp/v2/posts?per_page=100",
        "options": {
          "batching": {
            "batch": {}
          }
        },
        "authentication": "genericCredentialType",
        "genericAuthType": "httpBasicAuth"
      },
      "credentials": {
        "httpBasicAuth": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "bbb1b9e0-83ae-4145-8b28-989e10051fea",
      "name": "Prepare Article Content Fields",
      "type": "n8n-nodes-base.set",
      "position": [
        544,
        96
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "2f9c26a8-4c05-4719-8027-d99943ec8a4c",
              "name": "id",
              "type": "string",
              "value": "={{$json[\"id\"]}}"
            },
            {
              "id": "f1fce4f9-7125-4c48-98f8-fa8ca9933714",
              "name": "=title",
              "type": "string",
              "value": "={{$json[\"title\"][\"rendered\"]}}"
            },
            {
              "id": "facdf038-65a1-408c-bdd6-fce4c73011db",
              "name": "content",
              "type": "string",
              "value": "={{$json[\"content\"][\"rendered\"]}}"
            },
            {
              "id": "0566adcc-82f7-4967-9d9a-d4a08c9c5c8d",
              "name": "plainContent",
              "type": "string",
              "value": "={{ $json[\"content\"][\"rendered\"] }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "65ba1acf-a99f-455b-8583-09e43799d7c2",
      "name": "Format Article Content for Prompt",
      "type": "n8n-nodes-base.code",
      "position": [
        784,
        96
      ],
      "parameters": {
        "jsCode": "return items.map(item => {\n  const rawHtml = item.json.content;\n  const plainText = rawHtml.replace(/<[^>]+>/g, ' ').replace(/\\s+/g, ' ').trim();\n  return {\n    json: {\n      id: item.json.id,\n      title: item.json.title,\n      content: plainText\n    }\n  }\n});\n"
      },
      "typeVersion": 2
    },
    {
      "id": "5c58ac22-c58b-48e3-a164-a977b8e61ce2",
      "name": "Generate Heading & Summary Paragraph (AI)",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "position": [
        1024,
        96
      ],
      "parameters": {
        "modelId": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4.1-mini",
          "cachedResultName": "GPT-4.1-MINI"
        },
        "options": {},
        "messages": {
          "values": [
            {
              "content": "=Acting as a specialized content writer for a [Your Topic] website,\n\nThis is the text of a website article. Please write a suitable heading and a 3-line concluding paragraph (useful, experience-based, user-friendly content with high engagement) to add at the end of the article.  \nArticle text:  \n{{ $json.content }}\n\nPlease strictly follow these guidelines:  \n- The information must be accurate, reliable, specialized, up-to-date, and original.  \n- Pay special attention to user satisfaction and addressing their needs and questions.  \n- The content should be useful and practical; it must offer significant value compared to other web content and be trustworthy and citable. It should also go beyond obvious facts.  \n- Try to use copywriting and advertising techniques in the content; the brand name is [Your Brand] .  \n- The content should be structured with a clear outline, headings, paragraphs, etc., and must be clear and simple, not complicated.  \n- Include detailed and precise information as much as possible.  \n- The content must be comprehensive, covering various aspects of the user's questions and the topic, including points competitors have missed.  \n- Preferably, include the content\u2019s keyword (such as the article title) in the produced text.  \n- The content aims to:  \n   1. Attract organic traffic  \n   2. Build branding  \n   3. Be visible in chatbots  \n   4. Increase conversion rate through copywriting  \n- The tone should match the rest of the website\u2019s content.\n"
            }
          ]
        }
      },
      "credentials": {
        "openAiApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.8
    },
    {
      "id": "386099a2-583c-48ad-bdc3-d91d691cf385",
      "name": "Format AI Output for Update",
      "type": "n8n-nodes-base.code",
      "position": [
        1376,
        96
      ],
      "parameters": {
        "jsCode": "return items.map(item => {\n  const id = item.json.id;\n  const htmlContent = item.json.content; \n  const summary = item.json.message?.content || \"\";\n\n \n  const newContent = htmlContent + \"<hr />\" + summary; \n\n  return {\n    json: {\n      id,\n      content: newContent\n    }\n  };\n});\n"
      },
      "typeVersion": 2
    },
    {
      "id": "bd7f690c-ac97-4c5a-8db5-524e4f8b2186",
      "name": "Update Article in WordPress",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1616,
        96
      ],
      "parameters": {
        "url": "=https://example.com/wp-json/wp/v2/posts",
        "method": "PATCH",
        "options": {
          "batching": {
            "batch": {}
          }
        },
        "sendBody": true,
        "authentication": "genericCredentialType",
        "bodyParameters": {
          "parameters": [
            {
              "name": "content",
              "value": "={{ $json.content }}"
            },
            {
              "name": "post_id",
              "value": "={{ $('Fetch Article Content (API)').item.json.id }}"
            }
          ]
        },
        "genericAuthType": "httpBasicAuth"
      },
      "credentials": {
        "httpBasicAuth": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.2
    }
  ],
  "connections": {
    "Fetch Article Content (API)": {
      "main": [
        [
          {
            "node": "Prepare Article Content Fields",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Format AI Output for Update": {
      "main": [
        [
          {
            "node": "Update Article in WordPress",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Prepare Article Content Fields": {
      "main": [
        [
          {
            "node": "Format Article Content for Prompt",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Format Article Content for Prompt": {
      "main": [
        [
          {
            "node": "Generate Heading & Summary Paragraph (AI)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "When clicking \u2018Execute workflow\u2019": {
      "main": [
        [
          {
            "node": "Fetch Article Content (API)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Generate Heading & Summary Paragraph (AI)": {
      "main": [
        [
          {
            "node": "Format AI Output for Update",
            "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 enriches your WordPress articles by automatically adding an AI-generated heading and a short concluding paragraph. It ensures each post ends with valuable, engaging content to improve user satisfaction, branding, and SEO.

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

100% autonomous workflow that transforms YouTube videos into unique, high-quality, SEO-optimized blog articles and automatically publishes them to WordPress. No human intervention required: it uses Yo

HTTP Request, Stop And Error, Google Sheets +8
Content & Video

The best content automation in the market! This advanced workflow not only creates and publishes SEO-optimized blog posts to your WordPress website but also backs up all content and images to a design

OpenAI, Output Parser Structured, Chain Llm +8
Content & Video

WP. Uses openAi, outputParserStructured, chainLlm, httpRequest. Event-driven trigger; 63 nodes.

OpenAI, Output Parser Structured, Chain Llm +8
Content & Video

This workflow automates the end-to-end process of creating, optimizing, and publishing content on WordPress.

Form Trigger, WordPress, HTTP Request +6
Content & Video

This template is ideal for creators, bloggers, and automation enthusiasts who want to auto-generate blog posts from AI-generated content — without lifting a finger. Whether you're running a tech blog,

HTTP Request, WordPress, Rss Feed Read Trigger +4