This workflow corresponds to n8n.io template #8921 — we link there as the canonical source.
This workflow follows the Google Sheets → HTTP Request 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 →
{
"id": "9LKLgEkXV10DszQ1",
"meta": {
"templateCredsSetupCompleted": true
},
"name": "\ud83e\udd16 Automated AI Article Generation from Google Sheets to WordPressnail",
"tags": [
{
"id": "0TIhg6ju9FxO2Lcp",
"name": "Wordpress",
"createdAt": "2025-07-23T09:03:28.998Z",
"updatedAt": "2025-07-23T09:03:28.998Z"
},
{
"id": "KNKC6Mt3juYzghT4",
"name": "Newsbreak",
"createdAt": "2025-09-01T09:43:28.145Z",
"updatedAt": "2025-09-01T09:43:28.145Z"
},
{
"id": "j70AoEIxmOT3oVGW",
"name": "\ud83d\udfe2 Active",
"createdAt": "2025-09-03T07:38:33.128Z",
"updatedAt": "2025-09-03T07:38:33.128Z"
}
],
"nodes": [
{
"id": "019cddd8-29dd-46d1-9269-696ec3cef37a",
"name": "Loop Over Items",
"type": "n8n-nodes-base.splitInBatches",
"position": [
-736,
384
],
"parameters": {
"options": {}
},
"typeVersion": 3
},
{
"id": "8ba87150-8d5d-4684-b91d-161e7e7d730a",
"name": "If",
"type": "n8n-nodes-base.if",
"position": [
-64,
144
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "loose"
},
"combinator": "and",
"conditions": [
{
"id": "3f3244e8-d845-48b1-8355-07295725cb85",
"operator": {
"type": "string",
"operation": "exists",
"singleValue": true
},
"leftValue": "={{ $json.data }}",
"rightValue": ""
}
]
},
"looseTypeValidation": true
},
"typeVersion": 2.2,
"alwaysOutputData": false
},
{
"id": "7650e708-bb75-4472-88b2-5bf6384f2369",
"name": "Get New Articles",
"type": "n8n-nodes-base.googleSheets",
"position": [
-960,
384
],
"parameters": {
"options": {},
"filtersUI": {
"values": [
{
"lookupValue": "New",
"lookupColumn": "Flow Status"
}
]
},
"sheetName": {
"__rl": true,
"mode": "list",
"value": 2027275420,
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1CnYbGz4Xq0D0eI6T4jelZkL1c3ZY5hKB2wjhWtmjAOw/edit#gid=2027275420",
"cachedResultName": "Cheapnail"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "1CnYbGz4Xq0D0eI6T4jelZkL1c3ZY5hKB2wjhWtmjAOw",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1CnYbGz4Xq0D0eI6T4jelZkL1c3ZY5hKB2wjhWtmjAOw/edit?usp=drivesdk",
"cachedResultName": "n8n Newspress Article Workflow"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"name": "<your credential>"
}
},
"typeVersion": 4.6
},
{
"id": "dfa0ca22-4b60-4215-9f82-5fc0bc0d125d",
"name": "Update Processing",
"type": "n8n-nodes-base.googleSheets",
"position": [
-512,
144
],
"parameters": {
"columns": {
"value": {
"Topic": "={{ $json.Topic }}",
"Source": "={{ $json.Source }}",
"row_number": "={{ $json.row_number }}",
"Flow Timing": "={{ $now.setZone(\"Asia/Kolkata\").toFormat(\"dd-MMM-yyyy HH:mm:ss\") }}",
"Publish Status": "Processing"
},
"schema": [
{
"id": "Topic",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Topic",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Source",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Source",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Publish Status",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Publish Status",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Publish Link",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "Publish Link",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Flow Status",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "Flow Status",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Flow Timing",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Flow Timing",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Run Flow",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "Run Flow",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "row_number",
"type": "number",
"display": true,
"removed": false,
"readOnly": true,
"required": false,
"displayName": "row_number",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [
"row_number"
],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "update",
"sheetName": {
"__rl": true,
"mode": "list",
"value": 2027275420,
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1CnYbGz4Xq0D0eI6T4jelZkL1c3ZY5hKB2wjhWtmjAOw/edit#gid=2027275420",
"cachedResultName": "Cheapnail"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "1CnYbGz4Xq0D0eI6T4jelZkL1c3ZY5hKB2wjhWtmjAOw",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1CnYbGz4Xq0D0eI6T4jelZkL1c3ZY5hKB2wjhWtmjAOw/edit?usp=drivesdk",
"cachedResultName": "n8n Newspress Article Workflow"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"name": "<your credential>"
}
},
"typeVersion": 4.6
},
{
"id": "ba43343e-ac56-4cdb-9877-c3f23458df0f",
"name": "Fetch HTML",
"type": "n8n-nodes-base.httpRequest",
"onError": "continueRegularOutput",
"position": [
-288,
144
],
"parameters": {
"url": "={{ $json.Source }}",
"options": {
"timeout": 10000
}
},
"typeVersion": 4.2
},
{
"id": "d4d5aceb-8065-415a-8bfe-7a9cb5df8bcd",
"name": "Update Error",
"type": "n8n-nodes-base.googleSheets",
"position": [
224,
240
],
"parameters": {
"columns": {
"value": {
"row_number": "={{ $('Update Processing').item.json.row_number }}",
"Flow Status": "Error",
"Publish Link": "={{ $('Fetch HTML').item.json.error.status }}",
"Publish Status": "Not Processed Because of an Error"
},
"schema": [
{
"id": "Topic",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "Topic",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Source",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "Source",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Publish Status",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Publish Status",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Publish Link",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Publish Link",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Flow Status",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Flow Status",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Flow Timing",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "Flow Timing",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Run Flow",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "Run Flow",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "row_number",
"type": "number",
"display": true,
"removed": false,
"readOnly": true,
"required": false,
"displayName": "row_number",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [
"row_number"
],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "update",
"sheetName": {
"__rl": true,
"mode": "list",
"value": 2027275420,
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1CnYbGz4Xq0D0eI6T4jelZkL1c3ZY5hKB2wjhWtmjAOw/edit#gid=2027275420",
"cachedResultName": "Cheapnail"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "1CnYbGz4Xq0D0eI6T4jelZkL1c3ZY5hKB2wjhWtmjAOw",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1CnYbGz4Xq0D0eI6T4jelZkL1c3ZY5hKB2wjhWtmjAOw/edit?usp=drivesdk",
"cachedResultName": "n8n Newspress Article Workflow"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"name": "<your credential>"
}
},
"typeVersion": 4.6
},
{
"id": "69aff7d4-a5d8-4bc7-93a6-a66ca684528b",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
128,
-64
],
"parameters": {
"color": 6,
"width": 640,
"height": 224,
"content": "## \ud83e\udd16 These Two AI Brother is creating the Article \u270c\n- Article Summarizer\n- Article Creator"
},
"typeVersion": 1
},
{
"id": "175955b0-d9ba-4c52-96ae-9c02763a6cd5",
"name": "Article Creator",
"type": "@n8n/n8n-nodes-langchain.openAi",
"position": [
512,
48
],
"parameters": {
"modelId": {
"__rl": true,
"mode": "list",
"value": "gpt-4.1-mini",
"cachedResultName": "GPT-4.1-MINI"
},
"options": {},
"messages": {
"values": [
{
"role": "system",
"content": "=Generate a news article about the given Source Data\nThe article should follow this format and structure:\n- **Headline:** Create an SEO-optimized headline that includes the keywords from the topic title.\n- **Location Line:** Immediately after the headline, include a **location line** (e.g., **\"San Francisco, CA \u2013\"**) and **bold the location**.\n- **Introduction:** Write a strong, engaging introduction summarizing the key point of the article in one to two paragraphs. Make sure it captures the reader's attention.\n- **Main Headings Based on Content:**\n - Instead of predefined subheadings, **generate the main headings** based on the **content of the article**. For example:\n 1. If the article is about a **discovery**, the main heading might be something like: **\"The Unexpected Discovery\"** or **\"How the Discovery Was Made\"**.\n 2. If the article focuses on **reactions**, the main heading could be: **\"Community Reactions and Expert Opinions\"** or **\"Public and Expert Responses\"**.\n 3. For articles related to **future implications** or **next steps**, the heading could be: **\"What Happens Next?\"** or **\"Implications for the Future\"**.\n - The key here is that the main headings should be **created based on the content** in the body, rather than following a rigid structure.\n- **Body Content:**\n - The body of the article should flow logically, based on the content collected from the source. Each section should expand on the corresponding headings.\n - Ensure each section is fact-based, concise, well-researched, and provides relevant information. Use the extracted expert quotes where appropriate.\n- **Bold Key Points:** Make sure to bold any important names, figures, dates, or key terms that require emphasis. Additionally, bold around 15% of the most important words in the article to highlight the key information and ensure clarity.\n- **Bullet Points:** Use bullet points to highlight key facts, data, trends, or recommendations within the article. Bullet points should break down complex information into digestible chunks.\n- **Blockquotes:** Include blockquotes for any expert opinions, quotes, or statements that should be emphasized.\n- **Source Integration:** Integrate the provided **source link** **only once** within the article body. It should be referenced naturally, in a relevant section like background information, expert quotes, or statistics.\n- **Customized Call-to-Action (CTA):** At the end of the article, include a **customized CTA** based on the article's content. For example, if the article is about a discovery, the CTA could be:\n - **\"What do you think about this discovery? Have you ever visited Crater of Diamonds State Park? Share your thoughts in the comments below!\"**\n- **SEO Optimization:** Ensure the article includes relevant keywords naturally throughout the text, in headings and body content, to avoid keyword stuffing while making sure the text flows naturally."
},
{
"role": "system",
"content": "**Output Format:**\n\n```json\n{\n \"title\": \"the original title here\",\n \"content\": \"the fully written HTML article here\"\n}\n```"
},
{
"content": "=Source Data :{{ $json.message.content }}\nsource link: {{ $('Loop Over Items').item.json.Source }}"
}
]
},
"jsonOutput": true
},
"credentials": {
"openAiApi": {
"name": "<your credential>"
}
},
"typeVersion": 1.8
},
{
"id": "e7b6c39b-1b55-41c6-9626-6c18da2253fb",
"name": "Article Summarizer",
"type": "@n8n/n8n-nodes-langchain.openAi",
"position": [
160,
48
],
"parameters": {
"modelId": {
"__rl": true,
"mode": "list",
"value": "gpt-4.1-mini",
"cachedResultName": "GPT-4.1-MINI"
},
"options": {},
"messages": {
"values": [
{
"role": "system",
"content": "=You are a data extraction AI tasked with processing HTML content. Your goal is to identify and extract the title and the main text content from the provided HTML document. Follow these specific instructions:\n\n1. **Input Format:** You will receive a well-formed HTML document as input.\n2. **Output Format:** Your output should be in Markdown format.\n3. **Content Extraction:**\n - Extract the title of the article from the `<title>` tag or the main heading tag (e.g., `<h1>`).\n - Extract the main body of the article excluding any images, external links, or other media. Focus solely on the text content.\n4. **Markdown Guidelines:**\n - The title should be formatted as a top-level heading (using `#`).\n - The main body text should follow the title in plain Markdown format, preserving paragraphs, lists, and any other textual formatting present in the HTML.\n5. **Restrictions:**\n - Do not include any images, external links, or HTML tags in your output.\n - Ensure that the extracted text is coherent and maintains the context of the original content.\n\nExample Input:\n```html\n<html>\n<head>\n<title>Sample Article Title</title>\n</head>\n<body>\n<h1>Sample Article Title</h1>\n<p>This is the first paragraph of the article.</p>\n<p>This is the second paragraph with <a href=\"http://example.com\">an external link</a>.</p>\n<img src=\"image.jpg\" alt=\"Sample Image\">\n</body>\n</html>\n```\n\nExpected Output:\n```\n# Sample Article Title\n\nThis is the first paragraph of the article with information.\n\nThis is the second paragraph of the article with information.\n```\n\nProcess the provided HTML input according to these instructions and generate the desired Markdown output."
},
{
"content": "=The HTML is provided as follows:\n{{ $('Fetch HTML').item.json.data }}\n\n\nPlease process the HTML and return the Markdown formatted output."
}
]
}
},
"credentials": {
"openAiApi": {
"name": "<your credential>"
}
},
"typeVersion": 1.8
},
{
"id": "411f871c-ce66-4c8f-81eb-b81a816a7445",
"name": "Sticky Note1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-560,
64
],
"parameters": {
"width": 640,
"height": 240,
"content": "## \ud83d\udd78 Fetch the article information from web"
},
"typeVersion": 1
},
{
"id": "e7a86256-c59c-4f71-9035-39e93192fc6e",
"name": "Sticky Note2",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1184,
304
],
"parameters": {
"color": 5,
"width": 576,
"height": 240,
"content": "## \ud83d\udcd1 Get 'New' Articles data from G Sheet\n"
},
"typeVersion": 1
},
{
"id": "fb65aa96-048d-4145-a7e7-499ecb81715f",
"name": "Create a Draft",
"type": "n8n-nodes-base.wordpress",
"position": [
1088,
48
],
"parameters": {
"title": "={{ $json.title }}",
"additionalFields": {
"status": "draft",
"content": "={{ $json.content }}",
"authorId": 12
}
},
"credentials": {
"wordpressApi": {
"name": "<your credential>"
}
},
"typeVersion": 1
},
{
"id": "6d4b278b-39e4-431e-aeca-e9192b813faa",
"name": "Format Article",
"type": "n8n-nodes-base.code",
"position": [
864,
48
],
"parameters": {
"jsCode": "// Pull the incoming payload\nconst msg = $input.first().json.message || {};\nconst rawContent = msg.content;\n\n// Normalise inputs: html body + a separately provided title (if any)\nlet html = \"\";\nlet providedTitle = \"\";\n\nif (typeof rawContent === \"string\") {\n // Sometimes the HTML is directly in message.content\n html = rawContent;\n} else if (rawContent && typeof rawContent === \"object\") {\n // Common shape: message.content = { title, content }\n html = (rawContent.content || \"\").toString();\n providedTitle = (rawContent.title || \"\").toString().trim();\n}\n\n// Helper: strip tags for the final title value\nconst stripTags = (s) => s.replace(/<[^>]*>/g, \"\").trim();\n\n// Try to extract <h1> from the HTML body (allow attributes, any casing)\nconst h1Match = html.match(/<h1\\b[^>]*>([\\s\\S]*?)<\\/h1>/i);\n\n// Title preference: <h1> from content first, else fall back to provided title field\nlet title = h1Match ? stripTags(h1Match[1]) : providedTitle;\n\n// Build the content: remove the first <h1> if present; otherwise keep HTML as-is\nlet content = html;\nif (h1Match) {\n content = html.replace(/<h1\\b[^>]*>[\\s\\S]*?<\\/h1>\\s*/i, \"\").trim();\n} else {\n content = (html || \"\").trim();\n}\n\n// Output\nreturn [\n {\n json: {\n title,\n content\n }\n }\n];\n"
},
"typeVersion": 2
},
{
"id": "18d6447a-cb7a-49c6-9baa-4339c5601f8a",
"name": "Update Draft Details",
"type": "n8n-nodes-base.googleSheets",
"position": [
1312,
224
],
"parameters": {
"columns": {
"value": {
"row_number": "={{ $('Update Processing').item.json.row_number }}",
"Flow Status": "Flow Complete",
"Publish Link": "={{ $json.link }}",
"Publish Status": "={{ $json.status }}"
},
"schema": [
{
"id": "Topic",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "Topic",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Source",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "Source",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Publish Status",
"type": "string",
"display": true,
"required": false,
"displayName": "Publish Status",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Publish Link",
"type": "string",
"display": true,
"required": false,
"displayName": "Publish Link",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Flow Status",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Flow Status",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Flow Timing",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "Flow Timing",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Run Flow",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "Run Flow",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "row_number",
"type": "number",
"display": true,
"removed": false,
"readOnly": true,
"required": false,
"displayName": "row_number",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [
"row_number"
],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "update",
"sheetName": {
"__rl": true,
"mode": "list",
"value": 2027275420,
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1CnYbGz4Xq0D0eI6T4jelZkL1c3ZY5hKB2wjhWtmjAOw/edit#gid=2027275420",
"cachedResultName": "Cheapnail"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "1CnYbGz4Xq0D0eI6T4jelZkL1c3ZY5hKB2wjhWtmjAOw",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1CnYbGz4Xq0D0eI6T4jelZkL1c3ZY5hKB2wjhWtmjAOw/edit?usp=drivesdk",
"cachedResultName": "n8n Newspress Article Workflow"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"name": "<your credential>"
}
},
"typeVersion": 4.6
},
{
"id": "021f2b33-1f7a-4cba-90de-e56e6acc105a",
"name": "Sticky Note3",
"type": "n8n-nodes-base.stickyNote",
"position": [
832,
-32
],
"parameters": {
"color": 2,
"width": 624,
"height": 416,
"content": "## \ud83d\udcc2 Make Draft Article and Update the Google Sheet"
},
"typeVersion": 1
},
{
"id": "2aaa0031-8189-47c1-8946-62068490e79e",
"name": "Webhook",
"type": "n8n-nodes-base.webhook",
"position": [
-1168,
384
],
"parameters": {
"path": "a1889360-e1bf-4b53-a96b-5eafa4b165a1",
"options": {}
},
"typeVersion": 2.1
}
],
"active": true,
"settings": {
"timezone": "Asia/Kolkata",
"callerPolicy": "workflowsFromSameOwner",
"errorWorkflow": "ipTcrzGbKoHF6UKi",
"executionOrder": "v1"
},
"versionId": "dcb3a423-5356-4732-855f-419db73e8c89",
"connections": {
"If": {
"main": [
[
{
"node": "Article Summarizer",
"type": "main",
"index": 0
}
],
[
{
"node": "Update Error",
"type": "main",
"index": 0
}
]
]
},
"Webhook": {
"main": [
[
{
"node": "Get New Articles",
"type": "main",
"index": 0
}
]
]
},
"Fetch HTML": {
"main": [
[
{
"node": "If",
"type": "main",
"index": 0
}
]
]
},
"Update Error": {
"main": [
[
{
"node": "Loop Over Items",
"type": "main",
"index": 0
}
]
]
},
"Create a Draft": {
"main": [
[
{
"node": "Update Draft Details",
"type": "main",
"index": 0
}
]
]
},
"Format Article": {
"main": [
[
{
"node": "Create a Draft",
"type": "main",
"index": 0
}
]
]
},
"Article Creator": {
"main": [
[
{
"node": "Format Article",
"type": "main",
"index": 0
}
]
]
},
"Loop Over Items": {
"main": [
[],
[
{
"node": "Update Processing",
"type": "main",
"index": 0
}
]
]
},
"Get New Articles": {
"main": [
[
{
"node": "Loop Over Items",
"type": "main",
"index": 0
}
]
]
},
"Update Processing": {
"main": [
[
{
"node": "Fetch HTML",
"type": "main",
"index": 0
}
]
]
},
"Article Summarizer": {
"main": [
[
{
"node": "Article Creator",
"type": "main",
"index": 0
}
]
]
},
"Update Draft Details": {
"main": [
[
{
"node": "Loop Over Items",
"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.
googleSheetsOAuth2ApiopenAiApiwordpressApi
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
Transform a Google Sheet into an automated content factory! This workflow reads article topics, scrapes source content, uses AI to create original articles, and publishes drafts to WordPress automatically. 🚀
Source: https://n8n.io/workflows/8921/ — original creator credit. Request a take-down →
Related workflows
Workflows that share integrations, category, or trigger type with this one. All free to copy and import.
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
Optimize your WordPress titles and meta descriptions with AI (OpenAI), update them directly in Yoast SEO, log results in Google Sheets, and receive a styled report by email. All from your own n8n inst
AI-Generated Summary Block for WordPress Posts - with OpenAI, WordPress, Google Sheets & Slack. Uses manualTrigger, textClassifier, lmChatOpenAi, splitInBatches. Event-driven trigger; 32 nodes.
AI-Generated Summary Block for WordPress Posts - with OpenAI, WordPress, Google Sheets & Slack. Uses manualTrigger, textClassifier, lmChatOpenAi, splitInBatches. Event-driven trigger; 32 nodes.
This n8n template automates the process of adding an AI-generated summary at the top of your WordPress posts. It retrieves, processes, and updates your posts dynamically, ensuring efficiency and flexi