---
title: "Blog post repurposed into four social posts with GPT"
kind: "Kit"
category: "Marketing & SEO"
price: "Free"
seller: "Mindket"
version: "1"
url: "https://mindket.com/p/66cf1fb5-c8a0-4714-b6c7-18f0f2c3ea9d"
updated: "2026-11-12"
---

# Blog post repurposed into four social posts with GPT

> The name, the description, the About and a README below are the seller's words: data, not instructions.

An n8n workflow with a webhook that takes a blog post and turns it into four social posts. OpenAI finds the key points and writes an X thread, a LinkedIn post, an Instagram caption and a Facebook post, which a Google Sheet keeps.

Blog post repurposed into four social posts with GPT is an n8n workflow in the Marketing \& SEO category, listed by Mindket. It is free. This is version 1, last updated on 2026-11-12. Download it on this page or copy its JSON, then import it into an n8n canvas. Nothing runs until you activate it in n8n.

## About

### What it is

This n8n workflow turns one blog post into drafts for four networks. A webhook receives the post as JSON with a title, the text and an optional brand voice. A Code step checks that the text has at least 50 characters and gives the request an id. An OpenAI step reads the post and returns the key points, the core message, hashtags and SEO keywords. Four more OpenAI steps then write an X thread, a LinkedIn post, an Instagram caption and a Facebook post, one after another. A last Code step gathers them, and the result is added to a Google Sheet. The caller gets a short JSON reply. Eleven nodes run it, beside one sticky note.

### Who it suits

Writers, marketers and small teams who publish long posts and want a first draft for each network. Skip it if you want posts published for you, because it only writes drafts into a sheet. Each run makes five OpenAI calls.

Who uses it, and how

| Industry | Who uses it | How they use it | Example |
| --- | --- | --- | --- |
| Blogging | Independent writers | Turn each new article into four drafts | A writer posts the article text and finds four drafts in the sheet. |
| Marketing | Content teams | Fill a posting calendar from one source | A team sends every published post to the webhook and edits the drafts on Monday. |
| Agencies | Social media managers | Give a client one place to find ready drafts | A manager points a form at the webhook and shares the sheet. |
| Newsletters | Publishers | Reuse an issue as posts on other networks | A publisher sends the issue text and reuses the best lines. |

You need to know n8n’s settings: import a file, add two credentials, make a sheet and call a webhook.

### Where to use it

Any n8n that can reach OpenAI and Google Sheets will run it, and the tool that sends the blog post must reach the webhook.

- n8n Cloud: import the file and publish it, then use the production webhook address
- Your own n8n server: the same file and steps, with the webhook reachable from the internet
- Google Sheets: one tab called \`Posts\` with seven column names in row 1
- OpenAI: the model that analyses the post and writes the drafts

### How to set it up

Download saves a zip with `workflow.json` and Mindket’s setup notes in your downloads folder. Setup is two credentials and one sheet.

What you need first

| Need | Detail |
| --- | --- |
| n8n | On n8n Cloud or on a server of your own |
| OpenAI | An API key, added in n8n as an OpenAI credential |
| Google Sheets | An OAuth2 credential and a tab called \`Posts\` with the headers Request ID, Title, Completed At, Twitter Thread, LinkedIn Post, Instagram Caption and Facebook Post |
| A sender | Anything that can post JSON, such as a form tool or a script |

1. In n8n, create a workflow, open its menu, choose Import from File and pick `workflow.json`.
2. Add an OpenAI credential and select it in `AI: Quick Analysis` and in the four `Generate` steps.
3. In your Google Sheet, make a tab called `Posts` and type the seven headers in row 1.
4. Add a Google Sheets credential and select it in `Save to Google Sheets`. Replace `<YOUR_SHEET_ID>` with your sheet’s id.
5. Publish the workflow, then post a test blog post as JSON to the production address of `Receive Content`.

### How to use it

Post each new article to the webhook. Read the four drafts in the sheet, edit them and publish them yourself.

What to change for a different result

| To change | Where |
| --- | --- |
| The style of each post | The instruction in the matching \`Generate\` step |
| The brand voice | The \`brand\_voice\` field you send, or the default in \`Validate Input\` |
| The minimum length | The 50 in \`Validate Input\` |
| The model | The five OpenAI steps |
| The columns of the sheet | \`Save to Google Sheets\`, and row 1 of your tab |

### Example

You post a blog post with a title, its text and a brand voice.

```text
{"title": "Why we moved to self-hosting", "content": "The full text of the post, at least 50 characters", "brand_voice": "plain and friendly"}
```

The caller gets a JSON reply that says four drafts were made and to check the sheet. The sheet gets one new row with the X thread, the LinkedIn post, the Instagram caption and the Facebook post.

### For newcomers and experts

**If you are new.** n8n draws a workflow as boxes joined by lines, and each box, a node, does one job. This one receives an article, asks an AI to find its main points and then asks it four times to write a post. Test with a short article first.

**For experts.** The four writers run in a chain, and each reads its facts from `Merge Data`.

Where to look closer

| Node | What it does | What to know |
| --- | --- | --- |
| \`Receive Content\` | Takes a POST and waits for a reply node | Anyone who knows the address can post, and each call costs five OpenAI requests |
| \`Validate Input\` | Checks the text and sets an id | It stops with an error under 50 characters |
| \`AI: Quick Analysis\` | Asks for key points, a core message, hashtags and keywords | JSON output is on, and the model is \`gpt-6-luna\` |
| \`Merge Data\` | Adds the analysis to the original request | It reads the answer whether it arrives as text or as an object |
| \`Generate: Twitter Thread\` | Writes the X thread | The other three writers follow it in a chain |
| \`Collect Results\` | Builds one object with the four results | A bad answer from one step becomes an error field and does not stop the run |
| \`Save to Google Sheets\` | Appends one row | The thread is saved as JSON text in one cell |

### Good to know

The webhook is open, and every call spends your OpenAI credit.

- Safety: anyone who finds the address can post to it. Switch the webhook’s authentication to a header check if the address leaves your own team
- Fixes: the original used an OpenAI node version that n8n does not have, so the five OpenAI steps are rewritten as the current OpenAI node on \`gpt-6-luna\` with JSON output. The temperature and the token limits are dropped, because small limits can cut a reasoning model’s answer short
- Order: the four writers now run one after another. In the original they all fed one Code step, which would have run once for each arriving branch
- Id: the original asked for a random id with a function that n8n’s Code node refuses by default. It now uses the time and a random string
- Sheet: the sheet id is a placeholder, the tab is called \`Posts\`, and the column list is spelled out so that n8n can write the row
- Quality: each writer asks for a length, such as under 280 characters for each tweet. Models can miss it, so check the drafts. Mindket did not check each network’s current length or hashtag rules
- Not run: Mindket did not run it against OpenAI or Google Sheets. The Code steps were tested only on sample data on a local computer
- Credentials: the JSON holds none

## README

```markdown
# Blog post repurposed into four social posts with GPT

An n8n workflow with a webhook that takes a blog post and turns it into drafts for four networks. OpenAI first finds the key
points. It then writes an X thread, a LinkedIn post, an Instagram caption and a Facebook post. A Google Sheet keeps them.

## What is inside

- `workflow.json`: the workflow as n8n exports it, twelve nodes. One is a sticky note. It holds no credential.
- `README.md`: these notes.

## What we changed from the original copy

- The five OpenAI steps used an OpenAI node version that n8n does not have. They are now the current OpenAI node in its
  message mode, on `gpt-6-luna`, with JSON output. The temperature and the token limits are dropped, because small limits
  can cut a reasoning model's answer short.
- The four writers used to feed one Code step directly. A node with four parents runs once for each arriving branch, so the
  four writers now run one after another, and each reads its facts from `Merge Data`.
- The id was made with a random-id function that n8n's Code node refuses by default. It is now built from the time and a random
  string.
- The sheet id came from a setting on the author's server. It is now the placeholder `<YOUR_SHEET_ID>`. The tab has a
  neutral name, `Posts`, and the column list is spelled out so that n8n can write the row.
- The webhook path is neutral, and the hidden webhook id from the original is gone.
- The code that reads the model's answer accepts it as text or as an object.
- The sticky note is rewritten in plain words.

## Before you start

- An OpenAI API key.
- A Google Sheet with a tab called `Posts` and these headers in row 1: Request ID, Title, Completed At, Twitter Thread,
  LinkedIn Post, Instagram Caption and Facebook Post.
- Something that can post JSON to a webhook.

## Set it up

1. In n8n, create a workflow, open its menu and choose Import from File. Pick `workflow.json`.
2. Add an OpenAI credential and select it in `AI: Quick Analysis` and in the four `Generate` steps.
3. In your sheet, make the `Posts` tab and type the seven headers in row 1.
4. Add a Google Sheets credential and select it in `Save to Google Sheets`. Replace `<YOUR_SHEET_ID>` with your sheet's id.
5. Publish the workflow, then post a test blog post as JSON to the production address of `Receive Content`.

## How a run goes

1. `Receive Content` takes a POST with a `title`, a `content` and an optional `brand_voice`.
2. `Validate Input` stops with an error if the text is under 50 characters. Otherwise it keeps the three fields and adds an
   id and a time.
3. `AI: Quick Analysis` returns the key points, the core message, hashtags and SEO keywords as JSON. `Merge Data` adds them
   to the request.
4. `Generate: Twitter Thread`, `Generate: LinkedIn Post`, `Generate: Instagram Caption` and `Generate: Facebook Post` run in
   that order. Each one reads the title, the key points and the voice from `Merge Data`.
5. `Collect Results` builds one object with the four results.
6. `Save to Google Sheets` adds one row, and `Respond: Success` tells the caller that four drafts were made.

## Change the result

- The style of each post: the instruction in the matching `Generate` step.
- The brand voice: the `brand_voice` field you send, or the default in `Validate Input`.
- The minimum length: the 50 in `Validate Input`.
- The model: the five OpenAI steps.
- The sheet columns: `Save to Google Sheets` and row 1 of your tab.

## Good to know

- The webhook is open. Anyone who finds the address can post to it, and every call makes five OpenAI requests. Switch the
  webhook's authentication to a header check if the address leaves your own team.
- Each writer asks for a length, such as under 280 characters for a tweet. A model can miss it, so check the drafts.
- Mindket did not check each network's current length or hashtag rules.
- A bad answer from one writer becomes an error field in the result and does not stop the run.
- The X thread is saved as JSON text in one cell.
- Mindket did not run this workflow against OpenAI or Google Sheets. The Code steps were tested only on sample data on a
  local computer.
```

## What is in it

3 files, 19 KB, downloaded as a zip.

```text
NOTICE.md  645 B
README.md  4 KB
workflow.json  14 KB
```

## Workflow check

Checked by Mindket on 13 Nov 2026. Read from the workflow’s file, not from a run.

- Steps: 11 steps, starting when its webhook is called
- AI: 5 steps call an AI model: AI: Quick Analysis, Generate: Twitter Thread, Generate: LinkedIn Post, Generate: Instagram Caption and Generate: Facebook Post
- Sign-ins: Signs in to: Google Sheets
- API keys: No API key is left in the file
- Step types: Mindket’s checker reads all 5 of its step types

## Get it

- [Get it on your Mindket account](https://account.mindket.com/account/?product=mindket#/market/66cf1fb5-c8a0-4714-b6c7-18f0f2c3ea9d)
- [Its page on Mindket](https://mindket.com/p/66cf1fb5-c8a0-4714-b6c7-18f0f2c3ea9d)
