AutomationFlowsAI & RAG › PDF to Blog Post with AI Agents

PDF to Blog Post with AI Agents

Original n8n title: Multi-agent Pdf-to-blog Content Generation

ByDerek Cheung @derekcheungsa on n8n.io

Purpose of workflow:

Event trigger★★★★☆ complexityAI-powered20 nodesForm TriggerOpenAI ChatGhostAgentChain LlmOpenAI
AI & RAG Trigger: Event Nodes: 20 Complexity: ★★★★☆ AI nodes: yes Added:

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

This workflow follows the Agent → Chainllm 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
{
  "meta": {
    "templateId": "2187"
  },
  "nodes": [
    {
      "id": "bde7b7db-45c6-4ab3-a705-358000cefbec",
      "name": "Merge chapters title and text",
      "type": "n8n-nodes-base.merge",
      "position": [
        2280,
        460
      ],
      "parameters": {},
      "typeVersion": 2.1
    },
    {
      "id": "0079022b-eaa2-481b-8c78-f8623a63645b",
      "name": "Final article text",
      "type": "n8n-nodes-base.code",
      "position": [
        2540,
        460
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "2e1c004d-43a5-4b87-9e30-beb2f22d4683",
      "name": "n8n Form Trigger",
      "type": "n8n-nodes-base.formTrigger",
      "position": [
        300,
        460
      ],
      "parameters": {},
      "typeVersion": 2.1
    },
    {
      "id": "2246ffe9-868f-4680-9770-3bb5c8e4b2f8",
      "name": "Extract from File",
      "type": "n8n-nodes-base.extractFromFile",
      "position": [
        540,
        460
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "a883d54a-13fd-49bd-becf-7abdae21cd6c",
      "name": "OpenAI Chat Model1",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        3040,
        640
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "ef57acff-30d4-4493-bfd1-486314bd0a53",
      "name": "Ghost",
      "type": "n8n-nodes-base.ghost",
      "position": [
        3560,
        460
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "479f474a-1687-4588-8485-d793afc6757d",
      "name": "Delegate to Writers",
      "type": "n8n-nodes-base.splitOut",
      "position": [
        1560,
        460
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "1ba1b58e-4101-4348-b0f0-a0a92b1f4806",
      "name": "Editor",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        2760,
        460
      ],
      "parameters": {},
      "typeVersion": 1.6
    },
    {
      "id": "789c210d-6841-4c50-9057-e5fd114c0d77",
      "name": "Create title",
      "type": "@n8n/n8n-nodes-langchain.chainLlm",
      "position": [
        3240,
        460
      ],
      "parameters": {},
      "typeVersion": 1.4
    },
    {
      "id": "d368ebec-3fdd-45a5-ae47-d252abd3b351",
      "name": "OpenAI Chat Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        740,
        640
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "040789b8-cedf-42ed-bce7-175e7ca61caa",
      "name": "Content Analyst",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        760,
        460
      ],
      "parameters": {},
      "typeVersion": 1.6
    },
    {
      "id": "608860bf-f372-415e-a7f0-5708ba22ac2a",
      "name": "Project Planner",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "position": [
        1160,
        460
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "80b7a065-dc27-4109-b012-be7438ced628",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        520,
        340
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "03cc812a-d7eb-498f-8f90-821d55607f26",
      "name": "OpenAI Chat Model2",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        1840,
        640
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "ef96ee94-1499-43b1-baee-fb40e41818d9",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1120,
        340
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "adf103db-d4df-47f5-938e-43e4a3a87411",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1780,
        340
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "2e33d24b-128c-47f0-adda-024191091db2",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2500,
        340
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "48e313af-df5b-4887-8fa1-92d6de58d596",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        3200,
        340
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "e43a0a0e-e791-4295-b7b7-d53bc87f04ec",
      "name": "Writers",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        1860,
        460
      ],
      "parameters": {},
      "retryOnFail": true,
      "typeVersion": 1.6
    },
    {
      "id": "8db1e8bb-4b50-46f3-be08-1abecbf1b2b0",
      "name": "Sticky Note5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -320,
        340
      ],
      "parameters": {},
      "typeVersion": 1
    }
  ],
  "connections": {
    "Editor": {
      "main": [
        [
          {
            "node": "Create title",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Writers": {
      "main": [
        [
          {
            "node": "Merge chapters title and text",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Create title": {
      "main": [
        [
          {
            "node": "Ghost",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Content Analyst": {
      "main": [
        [
          {
            "node": "Project Planner",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Project Planner": {
      "main": [
        [
          {
            "node": "Delegate to Writers",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "n8n Form Trigger": {
      "main": [
        [
          {
            "node": "Extract from File",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Extract from File": {
      "main": [
        [
          {
            "node": "Content Analyst",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "OpenAI Chat Model": {
      "ai_languageModel": [
        [
          {
            "node": "Content Analyst",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Final article text": {
      "main": [
        [
          {
            "node": "Editor",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "OpenAI Chat Model1": {
      "ai_languageModel": [
        [
          {
            "node": "Editor",
            "type": "ai_languageModel",
            "index": 0
          },
          {
            "node": "Create title",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "OpenAI Chat Model2": {
      "ai_languageModel": [
        [
          {
            "node": "Writers",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Delegate to Writers": {
      "main": [
        [
          {
            "node": "Merge chapters title and text",
            "type": "main",
            "index": 1
          },
          {
            "node": "Writers",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Merge chapters title and text": {
      "main": [
        [
          {
            "node": "Final article text",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
Pro

For the full experience including quality scoring and batch install features for each workflow upgrade to Pro

About this workflow

Purpose of workflow:

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

Turn any product page into ready-to-run Meta ads—fast, consistent, and client-friendly.

Form Trigger, HTTP Request, OpenAI +5
AI & RAG

Purpose of workflow: This AI-powered workflow is designed to automatically generate comprehensive, well-researched articles on any given topic. It utilizes a team of AI agents to streamline the resear

Form Trigger, Ghost, Chain Llm +6
AI & RAG

🎯 Create viral TikToks, Shorts, Reels, podcasts, and ASMR videos in minutes — all on autopilot.

OpenAI, HTTP Request, Form Trigger +7
AI & RAG

The best content automation template in the market is now even better—with “deep research” on time-sensitive topics\! Unlike most n8n content automation templates that are mainly for “demo purposes,”

OpenAI, HTTP Request, XML +11
AI & RAG

leads. Uses supabase, gmail, formTrigger, httpRequest. Webhook trigger; 62 nodes.

Supabase, Gmail, Form Trigger +13