An n8n Tech Recipe by Darren Redmond
Welcome to this step-by-step recipe on how to build a fully automated LEGO review publishing machine for your WordPress blog using n8n, ChatGPT, DALL·E, and the WordPress REST API.
If you’ve ever dreamed of feeding a list of LEGO set numbers into a machine and waking up to fully written, beautifully illustrated blog posts on RedmondReviews.com, this is the blueprint.
🛠️ Ingredients
Before we cook up this automation, make sure you’ve got the following:
- ✅ An n8n instance (self-hosted or cloud)
- ✅ OpenAI API Key
- ✅ Admin access to RedmondReviews.com (WordPress with REST API enabled)
- ✅ Application password for WordPress REST API
- ✅ A list of LEGO set numbers (CSV, Google Sheets, or hardcoded in n8n)
🧪 Method
Step 1: Set Your Trigger
Create a trigger node in n8n.
Options:
- Manual trigger (for testing)
- Scheduled trigger (e.g. daily at 10am)
- Google Sheets trigger (for new rows) <- the one that matches this use-case best.
n8n
Node: Trigger → Schedule
Every day at 10am
Step 2: Loop Through LEGO Set Numbers
Use a Set node to define your list or load from Google Sheets.
json[
{ "setNumber": "75304" },
{ "setNumber": "75255" },
{ "setNumber": "75408" }
]
Then use SplitInBatches if handling multiple sets.
Step 3: (Optional) Get LEGO Set Metadata
You can skip this, but for added flavour, use the Brickset API to enrich your post.
Step 4: Generate Blog Post with ChatGPT
Node: OpenAI (Chat Completion)
Model: gpt-4o
Prompt:
kotlinWrite a fun and family-friendly 400-word blog post for RedmondReviews.com reviewing LEGO set {{setNumber}}. Include building experience details for Darren (age 50), Luke (age 7) and Rose (age 4) if it’s a Star Wars set.
Step 5: Generate Stylised Image with DALL·E
Node: OpenAI (Image Generation)
Prompt:
arduinoCreate a stylised cartoon image of Darren (age 50, black hair), Luke (age 7) and Rose (age 4) building LEGO set {{setNumber}} at a kitchen table. Include LEGO and Star Wars elements if relevant.
Step 6: Upload Image to WordPress
Node: HTTP Request
Method: POST
URL: https://www.redmondreviews.com/wp-json/wp/v2/media
Headers:
httpAuthorization: Basic <base64(username:application_password)>
Content-Type: image/png
Body: Binary image buffer from OpenAI output
Capture the returned ID
for use in the next step.
Step 7: Create and Publish the Blog Post
Node: HTTP Request
Method: POST
URL: https://www.redmondreviews.com/wp-json/wp/v2/posts
Body:
json{
"title": "LEGO {{setNumber}} Review",
"content": "{{blogPostContent}}",
"status": "publish",
"featured_media": {{imageUploadID}},
"categories": [123],
"tags": ["lego", "star wars", "{{setNumber}}"]
}
Make sure to set the correct category ID and include tags.
Voila – the blog posts, 75408 and 75409 now exist.
🔁 Bonus Features (Optional but Fun)
- ✅ Send a Slack message or email when the post is live
- ✅ Add Airtable row for tracking published sets
- ✅ Automatically shorten post URL with Bitly
🧠 Final Thoughts
This setup turns a simple Google spreadsheet of LEGO set numbers into a living, breathing stream of blog content; written, illustrated, and published while you sleep. You can easily extend this recipe to include Instagram posting, Pinterest cards, or newsletter triggers.
Obviously this is a simple example and this recipe can be used with slight modifications to find a list of data for your SME, for example Leads, then make queries to do market research, then configure the output into a pdf, word doc, or google doc, and send the output to a sales BD to follow up. Trigger the job before leaving work, come to work the next day with a list of leads to follow up with, market research on each lead, potential sales call talking points or script – the adaptations are endless.
Want the n8n workflow export JSON or help setting up a secure n8n and WordPress connection? Drop me a message or leave a comment below.
🧱 Until next recipe,
Darren
No responses yet