Huashu Design
alchaincyf · Skill
Turns a one-line request in your AI agent into a finished design: a launch animation, a clickable app prototype, an editable slide deck, an infographic or a se…
An n8n workflow that takes the Notion row dated today, lets OpenAI tidy the text of its page and posts it to LinkedIn with the page’s image. Afterwards it sets the row’s status to Done.
Daily LinkedIn post with an image from a Notion table is an n8n workflow in the Marketing & SEO category, listed by Mindket. It is free. This is version 1, last updated on . Download it on this page or copy its JSON, then import it into an n8n canvas. Nothing runs until you activate it in n8n.
A daily schedule
It runs by itself:
A LinkedIn post with its image, and the Notion row marked Done
What you need before you start.
Post planner
Holds the rows and their pages, and gets the Done status afterwards.
NeedsA Notion credential and a database with Name, Status and Date
Text editor
Reformats the post text with paragraph breaks and lists.
NeedsAn OpenAI API key, in an OpenAI credential
Publishing
Publishes the post with its image.
NeedsA LinkedIn OAuth2 credential
Checked by Mindket on 13 Nov 2026
This n8n workflow posts the day’s LinkedIn post from a Notion table. Every day at 15:00 it looks for the row whose Date is today and reads the text and the image on that row’s page. OpenAI reformats the text with paragraph breaks and lists. The text and the image go to LinkedIn, and the row is marked Done. Nine nodes do the work, beside two sticky notes.
Creators, founders and small marketing teams who draft LinkedIn posts in Notion and want each one to go out on a set day. Skip it if a person must read every post first, because nothing is held back for approval. Every post needs an image on its page.
| Industry | Who uses it | How they use it | Example |
|---|---|---|---|
| Marketing | Social media managers | Queue a week of posts in one table | A manager writes five rows with five dates and lets the workflow post one a day. |
| Consulting | Independent consultants | Post tips at a steady rhythm | A consultant drafts a tip with a chart image and picks the day it should go out. |
| Recruitment | Employer-brand teams | Share job news on set dates | A team keeps openings in a table and posts each with its picture on the planned day. |
| Education | Course creators | Promote lessons through the month | A creator plans the month’s posts at once and sees each one marked Done after it goes out. |
You need basic n8n skills, a Notion database with three properties, a LinkedIn account and an OpenAI API key.
Any n8n that can reach Notion, OpenAI and LinkedIn will run it. n8n Cloud and a server of your own both work.
Schedule TriggerReformat Post TextDownload saves a zip with workflow.json and Mindket’s setup notes in your downloads folder. Four services are involved.
| Need | Detail |
|---|---|
| n8n | On n8n Cloud or on a server of your own |
| Notion | A Notion integration and a database with Name (title), Status (status, with a Done option) and Date (date). Each row’s page holds the post text and one image |
| A LinkedIn OAuth2 credential for the account that will post | |
| OpenAI | An API key, saved in an OpenAI credential |
workflow.json.Name, Status and Date, give Status an option called Done and share the database with your Notion integration.Date to the day it should go out.query entries from Notion table for today, get all content from post page and Set post status to "Done".query entries from Notion table for today, pick your database in place of <YOUR_NOTION_DATABASE_ID>.Reformat Post Text.Post on LinkedIn and choose yourself in its Person field, in place of <YOUR_LINKEDIN_PERSON_ID>.Activate the workflow, or run it by hand on a row dated today. It posts for real, so test it with a post you are happy to publish.
| To change | Where |
|---|---|
| The hour | Schedule Trigger |
| The kind of post | The system message and the second message in Reformat Post Text |
| The model | modelId in Reformat Post Text |
| The Notion table and its date column | query entries from Notion table for today |
| Who posts | The Person field in Post on LinkedIn |
| The status that marks a row as posted | Set post status to "Done" |
On Tuesday a row dated Tuesday holds a short post and a picture of a chart.
At 15:00 OpenAI returns the text in tidy paragraphs, with a list where the post had one. The post and the picture go to LinkedIn, and the row’s Status changes to Done.
If you are new. n8n draws a workflow as boxes joined by lines, and each box, a node, does one job. A Notion database is a table, and every row is also a page that can hold text and pictures. Here the model is asked to reformat the text, not to write a new post.
For experts. The Notion block lookup returns one item for each block. The Aggregate node joins the content fields into one array, and the image block’s image.file.url into an array named url, because n8n names an aggregated dotted field by its last part. The HTTP Request node fetches the first address. The Merge node pairs the text item with the image item by position and keeps the binary field data for the LinkedIn node. The model’s answer arrives in message.content.
| Node | What it does | What to know |
|---|---|---|
query entries from Notion table for today | Finds the rows whose Date is today | The date is written yyyy-MM-dd, and n8n converts it to UTC with the workflow’s timezone |
get all content from post page | Reads every block on the row’s page | Notion’s own file links expire, so the image is fetched in the same run |
Reformat Post Text | Asks OpenAI for a version with paragraph breaks and lists | It replaced a call to a saved OpenAI assistant |
Combine text+image | Joins the text and the image by position | The result is one item with the text and the image data |
Post on LinkedIn | Posts the text with the image | It publishes for real, as the person you choose |
The call to an OpenAI assistant and the date format were replaced, and the LinkedIn person ID was removed. Mindket did not run this workflow.
gpt-6-luna, the replacement that page names for older models, used here for a plain call with no toolsyyyy/mM/dd. In n8n’s date format a small m is the minute, so it gave a string like 2026/3711/12. Mindket’s copy writes yyyy-MM-ddFetch image from post, so every post needs oneAn n8n workflow that takes the Notion row dated today, lets OpenAI tidy the text of its page and posts it to LinkedIn with the page’s image. Afterwards it sets the row’s status to Done.
workflow.json: the workflow as n8n exports it, eleven nodes. Nine do the work and two are sticky notes that label the steps. It holds no credential.README.md: these notes.gpt-6-luna. Its system message is Mindket’s own, because the assistant’s instructions were not in the file.yyyy/mM/dd, where m is the minute. It is now yyyy-MM-dd.<YOUR_LINKEDIN_PERSON_ID>, and the Notion database ID and its cached name and address are gone. It is now <YOUR_NOTION_DATABASE_ID>.Name, Status and Date, where Status has a Done option.workflow.json.Name, Status and Date, give Status an option called Done and share the database with your Notion integration.Date to the day it should go out.query entries from Notion table for today, get all content from post page and Set post status to "Done".query entries from Notion table for today, pick your database in place of <YOUR_NOTION_DATABASE_ID>.Reformat Post Text.Post on LinkedIn and choose yourself in its Person field, in place of <YOUR_LINKEDIN_PERSON_ID>.Schedule Trigger starts the run every day at 15:00.query entries from Notion table for today finds the rows whose Date is today.get all content from post page reads every block on the row’s page.Pull together all text blocks + image gathers the text blocks and the image address.Fetch image from post downloads the image, while Reformat Post Text sends the text to OpenAI.Combine text+image joins the reformatted text and the image.Post on LinkedIn posts them, and Set post status to "Done" marks the row.Schedule Trigger.Reformat Post Text.modelId in Reformat Post Text.query entries from Notion table for today.Post on LinkedIn.Set post status to "Done".Fetch image from post.NOTICE.md 601 B README.md 4 KB workflow.json 8 KB
alchaincyf · Skill
Turns a one-line request in your AI agent into a finished design: a launch animation, a clickable app prototype, an editable slide deck, an infographic or a se…
op7418 · Skill
Skill that makes single-file HTML slide decks, slide illustrations and platform covers in two visual styles, with a presenter mode for rehearsal. For speakers…
alirezarezvani · Skill
Adds 411 ready-made skills for Claude Code and other coding agents, grouped by role from engineering and product to marketing, finance and compliance. Installs…
nerijs · Kit
A pixel art style add-on for Stable Diffusion XL that turns text prompts into pixel-style images, with an optional LCM LoRA for faster runs. For game makers, d…
LiconStudio · Kit
Keeps characters, clothing, objects and backgrounds consistent in generated video by feeding the model up to five reference images. A LoRA for LTX-2.5 in Comfy…
nhathoangfoto · Kit
A LoRA for FLUX.2 Klein 9B that puts a character into the pose shown by a mannequin reference while keeping the character's face and style. For artists and des…