This workflow follows the Airtable → 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 →
{
"updatedAt": "2025-11-01T16:34:22.000Z",
"createdAt": "2025-10-17T10:24:47.169Z",
"id": "y2qzA13mWUGFYhq0",
"name": "airtable wordpress_blog_poster",
"active": false,
"isArchived": true,
"nodes": [
{
"parameters": {
"title": "={{ $json.Title }}",
"additionalFields": {
"content": "={{ $json['Blog Body'] }}",
"status": "draft"
}
},
"id": "eddd2b7a-0a33-4494-ab0c-1c9bc9bf5f40",
"name": "Post on Wordpress",
"type": "n8n-nodes-base.wordpress",
"position": [
752,
272
],
"typeVersion": 1
},
{
"parameters": {
"method": "POST",
"url": "=https://effibotics.com/wp-json/wp/v2/media",
"authentication": "predefinedCredentialType",
"nodeCredentialType": "wordpressApi",
"sendHeaders": true,
"headerParameters": {
"parameters": [
{
"name": "content-disposition",
"value": "=attachment; filename={{ $binary.data.fileName }}.{{ $binary.data.fileExtension }}"
},
{
"name": "content-type",
"value": "={{ $binary.data.mimeType }}"
}
]
},
"sendBody": true,
"contentType": "binaryData",
"inputDataFieldName": "data",
"options": {}
},
"id": "6aa5b5c9-c057-4473-bffd-0348d3364085",
"name": "Upload Media",
"type": "n8n-nodes-base.httpRequest",
"position": [
1248,
272
],
"typeVersion": 4.1
},
{
"parameters": {
"method": "POST",
"url": "={{ $('Settings').item.json.wordpress_url }}wp-json/wp/v2/posts/{{ $('Post on Wordpress').item.json.id }}",
"authentication": "predefinedCredentialType",
"nodeCredentialType": "wordpressApi",
"sendBody": true,
"bodyParameters": {
"parameters": [
{
"name": "featured_media",
"value": "={{ $json.id }}"
}
]
},
"options": {}
},
"id": "7d0a3401-a8e9-4452-99d1-de04bc869930",
"name": "Set Featured Image",
"type": "n8n-nodes-base.httpRequest",
"position": [
1408,
272
],
"typeVersion": 4.1
},
{
"parameters": {
"assignments": {
"assignments": [
{
"id": "66db867d-e056-4713-8877-14c60775738a",
"name": "id",
"type": "string",
"value": "={{ $json.id }}"
},
{
"id": "c2e3724a-1406-48a7-b15c-1cda06dd44e9",
"name": "Title",
"type": "string",
"value": "={{ $json.Title }}"
},
{
"id": "d47d0436-ae61-4c68-a57f-273e77354050",
"name": "Keyword",
"type": "string",
"value": "={{ $json.Keyword }}"
},
{
"id": "34d8bc1f-77f6-496e-a36f-faa06d5cd6dd",
"name": "Blog Body",
"type": "string",
"value": "={{ $json[\"Blog Post\"].replace($json[\"Title\"],'') }}"
}
]
},
"options": {}
},
"id": "5e6185bd-d03e-4272-8771-a6c4de65419e",
"name": "Edit Fields",
"type": "n8n-nodes-base.set",
"position": [
448,
272
],
"typeVersion": 3.3
},
{
"parameters": {
"operation": "search",
"base": {
"__rl": true,
"mode": "list",
"value": "appEanjsKFnMPZZz3",
"cachedResultUrl": "https://airtable.com/appEanjsKFnMPZZz3",
"cachedResultName": "SEO Doctor"
},
"table": {
"__rl": true,
"mode": "list",
"value": "tblkWGFcUJ2WVyL9f",
"cachedResultUrl": "https://airtable.com/appEanjsKFnMPZZz3/tblkWGFcUJ2WVyL9f",
"cachedResultName": "AI Generated Blog Posts"
},
"filterByFormula": "SEARCH(\"To Post\", {Status})",
"returnAll": false,
"limit": 3,
"options": {}
},
"id": "64744287-b8be-489a-9db5-feb4bbcfc19f",
"name": "Get content to post",
"type": "n8n-nodes-base.airtable",
"position": [
96,
272
],
"typeVersion": 2
},
{
"parameters": {
"conditions": {
"options": {
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "d31b3381-dc99-41ae-b309-40e270ebf714",
"operator": {
"type": "string",
"operation": "exists",
"singleValue": true
},
"leftValue": "={{ $json['Blog Post'] }}",
"rightValue": ""
}
]
},
"options": {}
},
"id": "9e4fa8d4-cdb8-4b0e-9f84-03b1030e419a",
"name": "Filter by existing Blogs",
"type": "n8n-nodes-base.filter",
"position": [
272,
272
],
"typeVersion": 2
},
{
"parameters": {
"mode": "markdownToHtml",
"markdown": "={{ $json['Blog Body'] }} {{ $json['Blog Body'] }} {{ $json['Blog Body'] }}",
"destinationKey": "Blog Body",
"options": {}
},
"id": "13b1b88f-d121-498b-be7e-cf911a05883b",
"name": "Markdown to HTML",
"type": "n8n-nodes-base.markdown",
"position": [
592,
272
],
"typeVersion": 1
},
{
"parameters": {
"url": "=https://api.pexels.com/v1/search?query= {{ $('Edit Fields').item.json.Keyword }}&per_page=1&width=1200&height=675&format=webp",
"sendHeaders": true,
"headerParameters": {
"parameters": [
{
"name": "Authorization",
"value": "REDACTED_HEADER_VALUE"
},
{
"name": "content",
"value": "= {{ $('Edit Fields').item.json.Keyword }}"
}
]
},
"options": {}
},
"id": "67f208f8-9666-406a-8f73-90026ad7c3a8",
"name": "Get Image",
"type": "n8n-nodes-base.httpRequest",
"position": [
912,
272
],
"typeVersion": 4.1
},
{
"parameters": {
"url": "={{ $json.photos[0].src.landscape }}",
"responseFormat": "file",
"options": {}
},
"id": "6bcad4a8-4edc-4276-8b5f-0a96c22dbd74",
"name": "Download the image",
"type": "n8n-nodes-base.httpRequest",
"position": [
1072,
272
],
"typeVersion": 2
},
{
"parameters": {
"content": "## Automating Posting content to WordPress and setting up the featured Image\nThis workflow aims to simplify the process by which we share content on Wordpress sites with n8n from airtable\n\n### Usage\n1. Get the content from AirTable. SInce we have this as a markdown, we will have to convert it to a html format to make it easier to publish and manage on WordPress\n2. Upload the blog post with the content, title and all other relevant information needed for an optimized blog\n3. Once the post is posted, we need to upload the image and set it as a features image for the blogs",
"height": 321.75,
"width": 662.5970350404314,
"color": 7
},
"id": "ee76f3ef-06ef-4cf8-b1bc-d3c418545d7d",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
176,
-96
],
"typeVersion": 1
},
{
"parameters": {
"rule": {
"interval": [
{}
]
}
},
"id": "0e101b34-4c04-4d43-9c10-94b031e1f849",
"name": "Schedule Trigger",
"type": "n8n-nodes-base.scheduleTrigger",
"position": [
-80,
272
],
"typeVersion": 1.2
},
{
"parameters": {
"operation": "update",
"base": {
"__rl": true,
"mode": "list",
"value": "appEanjsKFnMPZZz3",
"cachedResultUrl": "https://airtable.com/appEanjsKFnMPZZz3",
"cachedResultName": "SEO Doctor"
},
"table": {
"__rl": true,
"mode": "list",
"value": "tblkWGFcUJ2WVyL9f",
"cachedResultUrl": "https://airtable.com/appEanjsKFnMPZZz3/tblkWGFcUJ2WVyL9f",
"cachedResultName": "AI Generated Blog Posts"
},
"columns": {
"value": {
"id": "={{ $('Edit Fields').item.json.id }}",
"Status": "Posted"
},
"schema": [
{
"id": "id",
"type": "string",
"display": true,
"removed": false,
"readOnly": true,
"required": false,
"displayName": "id",
"defaultMatch": true
},
{
"id": "Title",
"type": "string",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "Title",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Blog Post",
"type": "string",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "Blog Post",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Star",
"type": "number",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "Star",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Intent",
"type": "string",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "Intent",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Status",
"type": "options",
"display": true,
"options": [
{
"name": "Draft",
"value": "Draft"
},
{
"name": "First Copy",
"value": "First Copy"
},
{
"name": "Second Copy",
"value": "Second Copy"
},
{
"name": "To Post",
"value": "To Post"
},
{
"name": "Posted",
"value": "Posted"
},
{
"name": "Review",
"value": "Review"
},
{
"name": "Tracking",
"value": "Tracking"
}
],
"removed": false,
"readOnly": false,
"required": false,
"displayName": "Status",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Keyword",
"type": "string",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "Keyword",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "count",
"type": "string",
"display": true,
"removed": true,
"readOnly": true,
"required": false,
"displayName": "count",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Word count",
"type": "number",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "Word count",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Last Modified",
"type": "string",
"display": true,
"removed": true,
"readOnly": true,
"required": false,
"displayName": "Last Modified",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Image",
"type": "array",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "Image",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Images",
"type": "string",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "Images",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "All keyword Data and Tracking",
"type": "string",
"display": true,
"removed": true,
"readOnly": true,
"required": false,
"displayName": "All keyword Data and Tracking",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Search Volume",
"type": "number",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "Search Volume",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Frequency",
"type": "number",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "Frequency",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [
"id"
]
},
"options": {}
},
"id": "66a936ca-6632-4560-b66b-ec6a7253d966",
"name": "Update POST on Airtable",
"type": "n8n-nodes-base.airtable",
"position": [
1584,
272
],
"typeVersion": 2
},
{
"parameters": {
"content": "## SETUP\n1. Create a wordpress application and set up the password\n\n2. Have an airtable with the columns \nKeyword | Title | Blog content\n\n3. The blog content in this canse is a markdown format generated by AI",
"height": 323
},
"id": "ac43bf64-88bb-43af-87df-472f6c782199",
"name": "Sticky Note1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-96,
-96
],
"typeVersion": 1
}
],
"connections": {
"Get Image": {
"main": [
[
{
"node": "Download the image",
"type": "main",
"index": 0
}
]
]
},
"Edit Fields": {
"main": [
[
{
"node": "Markdown to HTML",
"type": "main",
"index": 0
}
]
]
},
"Upload Media": {
"main": [
[
{
"node": "Set Featured Image",
"type": "main",
"index": 0
}
]
]
},
"Markdown to HTML": {
"main": [
[
{
"node": "Post on Wordpress",
"type": "main",
"index": 0
}
]
]
},
"Schedule Trigger": {
"main": [
[
{
"node": "Get content to post",
"type": "main",
"index": 0
}
]
]
},
"Post on Wordpress": {
"main": [
[
{
"node": "Get Image",
"type": "main",
"index": 0
}
]
]
},
"Download the image": {
"main": [
[
{
"node": "Upload Media",
"type": "main",
"index": 0
}
]
]
},
"Set Featured Image": {
"main": [
[
{
"node": "Update POST on Airtable",
"type": "main",
"index": 0
}
]
]
},
"Get content to post": {
"main": [
[
{
"node": "Filter by existing Blogs",
"type": "main",
"index": 0
}
]
]
},
"Filter by existing Blogs": {
"main": [
[
{
"node": "Edit Fields",
"type": "main",
"index": 0
}
]
]
}
},
"settings": {
"executionOrder": "v1"
},
"staticData": null,
"meta": null,
"versionId": "3cfbda8c-cdbd-44af-b573-a79c4647c56c",
"activeVersionId": null,
"triggerCount": 0,
"shared": [
{
"updatedAt": "2025-10-17T10:24:47.191Z",
"createdAt": "2025-10-17T10:24:47.191Z",
"role": "workflow:owner",
"workflowId": "y2qzA13mWUGFYhq0",
"projectId": "HHopAZ4lOFgjhBzT"
}
],
"activeVersion": null,
"tags": []
}
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
airtable wordpress_blog_poster. Uses wordpress, httpRequest, airtable. Scheduled trigger; 13 nodes.
Source: https://github.com/abde0112/n8n_bkv2/blob/main/airtable-wordpress_blog_poster-y2qzA13mWUGFYhq0.json — 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.
Wordpress Filter. Uses wordpress, httpRequest, airtable, markdown. Scheduled trigger; 13 nodes.
2281. Uses wordpress, httpRequest, airtable. Scheduled trigger; 13 nodes.
Workflow 2281. Uses wordpress, httpRequest, airtable. Scheduled trigger; 13 nodes.
Wordpress Workflow. Uses wordpress, httpRequest, airtable. Scheduled trigger; 13 nodes.
Youtube Instalation Instructions