Schedule social media straight from your Notion calendar with n8n + Posta

A lot of teams already run their content calendar in Notion — a row per post, a caption, a date, an approval status. The gap is the last step: someone still has to open each network at the right time and paste the post in. This n8n template closes that gap. Every 15 minutes it reads the rows you’ve marked Approved, and for any whose time has arrived it schedules the post across your accounts through Posta — then writes the status and the live post URL back into the same Notion row. Notion stays your source of truth; n8n and Posta do the publishing.

A Notion content calendar of approved rows flowing through an n8n automation robot and fanning out to LinkedIn, Bluesky, Threads, and video networks.
Approved rows in Notion → n8n every 15 minutes → scheduled across your networks with Posta, status written back.

What it does

It’s a small, sturdy loop with no moving parts you have to babysit: a schedule trigger, a Notion read, a filter, two Posta calls, and a Notion write-back. Because the last step flips the row out of Approved, the next run skips it — so nothing ever publishes twice, even if a run overlaps.

Set up your Notion database

The template reads simplified Notion output, so it references your columns by name. Your content-calendar database needs:

  • Caption (Text) — the post body.
  • Social Accounts (Multi-select) — each option’s name is a Posta social account id (grab them from the Get many social accounts Posta node). This is how one row fans out to several networks.
  • Scheduled At (Date, with time) — when the post should go live.
  • Status (Select) — at least Approved and Scheduled.
  • Posta URL (URL) — written back automatically after scheduling, so the row links to the live post.

How the workflow runs

  1. Schedule trigger — fires every 15 minutes (tighten or loosen to taste).
  2. Get rows (Notion) — pulls the pages in your content-calendar database.
  3. Filter — keeps only rows where Status = Approved and Scheduled At is within the next 15 minutes.
  4. Create a post (Posta) — uses the row’s Social Accounts and Caption to create the post as a draft, fanning out to every selected network in one call.
  5. Schedule a post (Posta) — schedules that draft for the row’s Scheduled At time.
  6. Mark row Scheduled (Notion) — flips Status to Scheduled and writes the Posta post URL back. The row is no longer Approved, so the next run leaves it alone.

Why the typed Posta node, not a raw HTTP node

You could wire this up with n8n’s generic HTTP Request node, but you’d re-implement a lot by hand. The Posta community node gives you:

  • One call, many networks. Pass several socialAccountIds and Posta fans the post out — you don’t loop per platform.
  • Per-platform formatting for free. Posta auto-crops media to each network’s aspect ratios and enforces caption limits, so one Notion row works everywhere.
  • Typed inputs and credential management. Caption, accounts, and schedule are proper node fields with one reusable Posta credential — no token-juggling in HTTP headers.
  • A clean two-step contract. Create the draft, then schedule it — the same shape documented in the REST API reference.

Make it your own

  • Prefer Airtable? Swap the two Notion nodes for Airtable Search + Update record — the field mapping is identical.
  • Want per-platform voices from one source caption? Add a Regenerate With AI checkbox column and route checked rows through an LLM node that rewrites the caption per network before Create a post.
  • Attaching media? Upload it to Posta first with the Upload media node and pass the returned id via Create post’s Additional Fields → Media IDs.

Get the template

Import it from the n8n template library, or browse all of Posta’s ready-to-fork n8n workflows. Coming from a task-priced tool? The same calendar-to-social shape is the migration story in replace Zapier social media with n8n + Posta. 14-day free Posta trial, no credit card — covers all eight networks.

Ready to simplify your social media workflow?

Join creators and teams who save hours every week with Posta.