Templates / Social Post Scheduler Agent

Social Post Scheduler Agent

An AI social post scheduler that turns your ideas and links into a week of platform-specific posts in your voice, places them on your posting schedule, holds them for approval, and publishes approved posts on time to X (API v2) and Bluesky, or exports them as CSV for Buffer, Typefully or LinkedIn.

Who it's for

Founders and creators building in public who want to post every weekday without opening the apps every day.

What goes in

  • A text file of ideas, links or notes
  • 3 to 10 of your past posts
  • X API keys and/or a Bluesky app password
  • An LLM API key

What comes out

  • An approval queue of scheduled posts
  • Posts published on time to X and Bluesky
  • A CSV export for other schedulers

Setup in 4 steps

  1. Add your voice examples, schedule and LLM key.
  2. Run plan on your ideas file and review the queue.
  3. Edit and approve posts.
  4. Add platform keys, set POST_ENABLED=1 and run post-due from cron.

Tool stack

n8n, Zapier, Make

Cost per run

Estimate, not yet measured: about $0.001 to plan a week of posts on a small model. Bluesky posting is free; X API access depends on your X developer tier.

What's included

  • n8n workflow JSON (Google Sheet queue → X)
  • Python code version (stdlib only) + AGENTS.md for Claude Code / Cursor
  • README setup guide
  • Offline sample data + tests
  • Honest cost notes
  • Changelog

FAQ

Will it post without my approval?

No. Posts start as pending, only approved posts are published, and publishing stays in dry-run mode until you set POST_ENABLED=1.

Which platforms can it post to?

X through the official API v2 and Bluesky through the AT Protocol. For LinkedIn and others it exports a CSV you can import into your scheduler.

Do I need a paid X API plan?

Posting needs an X developer app with write access. Check X's current API pricing and limits for your tier at developer.x.com.

Can it double-post if something crashes?

The queue is saved after every single post, and posted items are never sent again. Failed posts are marked failed with the error.