AutomationFlowsContent & Video › Auto-Categorize WordPress Posts with AI

Auto-Categorize WordPress Posts with AI

Original n8n title: Auto Categorize Wordpress Template

Auto categorize wordpress template. Uses manualTrigger, wordpress, stickyNote, lmChatOpenAi. Event-driven trigger; 9 nodes.

Event trigger★★★☆☆ complexityAI-powered9 nodesWordPressOpenAI ChatAgent
Content & Video Trigger: Event Nodes: 9 Complexity: ★★★☆☆ AI nodes: yes Added:

This workflow follows the Agent → OpenAI Chat 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": "caaf1WFANPKAikiH",
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "name": "Auto categorize wordpress template",
  "tags": [],
  "nodes": [
    {
      "id": "2017403c-7496-48f8-a487-8a017c7adfe3",
      "name": "When clicking \u2018Test workflow\u2019",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        680,
        320
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "82ff288f-4234-4192-9046-33e5ffee5264",
      "name": "Wordpress",
      "type": "n8n-nodes-base.wordpress",
      "position": [
        1500,
        320
      ],
      "parameters": {
        "postId": "={{ $('Get All Wordpress Posts').item.json.id }}",
        "operation": "update",
        "updateFields": {
          "categories": "={{ $json.output }}"
        }
      },
      "credentials": {
        "wordpressApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "521deb22-62dd-4b5f-8b9a-aab9777821da",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        620,
        -100
      ],
      "parameters": {
        "width": 504.88636363636317,
        "content": "## How to Auto-Categorize 82 Blog Posts in 2 Minutes using A.I. (No Coding Required)\n\n\ud83d\udca1 Read the [case study here](https://rumjahn.com/how-to-use-a-i-to-categorize-wordpress-posts-and-streamline-your-content-organization-process/).\n\n\ud83d\udcfa Watch the [youtube tutorial here](https://www.youtube.com/watch?v=IvQioioVqhw)\n\n"
      },
      "typeVersion": 1
    },
    {
      "id": "4090d827-f8cd-47ef-ad4f-654ee58216f6",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        860,
        180
      ],
      "parameters": {
        "color": 3,
        "width": 188.14814814814804,
        "height": 327.3400673400663,
        "content": "### Get wordpress posts\n\nTurn off return all if you're running into issues.\n"
      },
      "typeVersion": 1
    },
    {
      "id": "71585d54-fdcc-42a5-8a0e-0fac3adc1809",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1080,
        80
      ],
      "parameters": {
        "color": 4,
        "width": 315.1464152082392,
        "height": 416.90235690235625,
        "content": "### A.I. Categorization\n\n1. you need to set up the categories first in wordpress\n\n2. Edit the message prompt and change the categories and category numbers"
      },
      "typeVersion": 1
    },
    {
      "id": "29354054-8600-4e45-99d0-6f30f779a505",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1480,
        240
      ],
      "parameters": {
        "color": 5,
        "width": 171.64983164983155,
        "height": 269.59595959595947,
        "content": "### Update category"
      },
      "typeVersion": 1
    },
    {
      "id": "d9fe6289-6b97-4830-80aa-754ac4d4b3e0",
      "name": "Get All Wordpress Posts",
      "type": "n8n-nodes-base.wordpress",
      "position": [
        900,
        320
      ],
      "parameters": {
        "options": {},
        "operation": "getAll",
        "returnAll": true
      },
      "credentials": {
        "wordpressApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "ed40bf13-8294-4b4e-a8b6-5749989d3420",
      "name": "OpenAI Chat Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        1080,
        540
      ],
      "parameters": {
        "options": {}
      },
      "credentials": {
        "openAiApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "dafeb935-532e-4067-9dfb-7e9a6bbc4e5a",
      "name": "AI Agent",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        1100,
        320
      ],
      "parameters": {
        "text": "=You are an expert content strategist and taxonomy specialist with extensive experience in blog categorization and content organization.\n\nI will provide you with a blog post's title. Your task is to assign ONE primary category ID from this fixed list:\n\n13 = Content Creation\n14 = Digital Marketing\n15 = AI Tools\n17 = Automation & Integration\n18 = Productivity Tools\n19 = Analytics & Strategy\n\nAnalyze the title and return only the single most relevant category ID number that best represents the main focus of the post. While a post might touch on multiple topics, select the dominant theme that would be most useful for navigation purposes.\n\n{{ $json.title.rendered }}\n\nOutput only the category number",
        "options": {},
        "promptType": "define"
      },
      "typeVersion": 1.7
    }
  ],
  "active": false,
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "2a753171-425f-4b5a-bd1b-8591ad2d142c",
  "connections": {
    "AI Agent": {
      "main": [
        [
          {
            "node": "Wordpress",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "OpenAI Chat Model": {
      "ai_languageModel": [
        [
          {
            "node": "AI Agent",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Get All Wordpress Posts": {
      "main": [
        [
          {
            "node": "AI Agent",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "When clicking \u2018Test workflow\u2019": {
      "main": [
        [
          {
            "node": "Get All Wordpress Posts",
            "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

Auto categorize wordpress template. Uses manualTrigger, wordpress, stickyNote, lmChatOpenAi. Event-driven trigger; 9 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

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

✍️🌄 Your First Wordpress Content Creator - Quick Start. Uses manualTrigger, lmChatOpenAi, outputParserStructured, agent. Event-driven trigger; 39 nodes.

OpenAI Chat, Output Parser Structured, Agent +4
Content & Video

Automate Blog Creation In Brand Voice With Ai. Uses manualTrigger, lmChatOpenAi, informationExtractor, httpRequest. Event-driven trigger; 27 nodes.

OpenAI Chat, Information Extractor, HTTP Request +2
Content & Video

📄✨ Easy Wordpress Content Creation from PDF Document + Human In The Loop with Gmail Approval. Uses stickyNote, formTrigger, extractFromFile, lmChatOpenAi. Event-driven trigger; 27 nodes.

Form Trigger, OpenAI Chat, HTTP Request +4