Every content creator knows the drill: you write something once, then spend 40 minutes reformatting it for five platforms. LinkedIn needs no link-in-post (the algorithm demonizes external links), X wants it under 280 characters, Bluesky wants a different tone, Instagram wants an image and no links at all. Most people either skip platforms entirely (leaving reach on the table) or blast identical content everywhere (which every platform’s algorithm politely buries).
This is the automation that ends that. One source post → every platform, correctly formatted for each. Here’s the exact pipeline we run for BuiltAG’s own content.
The architecture
New content published (RSS / CMS webhook / manual trigger)
→ generate per-platform variants (formatting rules + optional AI assist)
→ human review queue (a sheet, a Slack message, or an approve-by-link)
→ scheduled posting per platform's best-time windows
The middle step — human review — is the difference between a time-saver and an embarrassment machine. We’ll come back to it. Skipping it is how people end up with posts referencing “this week” on a two-week-delayed schedule.
Step 1: The source of truth
Pick one canonical source. Ours is the site’s RSS feed: when this article publishes, the automation picks it up. Yours could be a Notion database row, a CMS webhook, or a Google Sheet where “add row = new post.” The only requirement: one trigger event containing the full content (title, URL, summary, and ideally the full text).
Step 2: Generate the platform variants
This is the valuable part. For each platform, rules that encode what works there:
LinkedIn: first 200 characters must carry the hook (that’s all that shows before “see more”), no external link in the post body (put it in the first comment — LinkedIn’s reach penalty for external links is real), 3-5 line breaks for scannability, no hashtag pileup (3 max, or zero).
X/Twitter: a thread, not a tweet — hook tweet, 3-6 tweets of substance, link in the final tweet. Under 280 per tweet, obviously. The thread format outperforms single-link tweets for content promotion so consistently that it’s not worth debating anymore.
Bluesky/Mastodon: single post with the human voice, link included — these platforms don’t punish external links, and their audiences skew toward conversational directness.
Facebook Page: shortest version, image attached, because a plain text post on a business page performs like a memo in a drawer.
Instagram: the hardest one — it needs a visual. Our rule: if the content has a natural diagram or key-number visual, post it; otherwise skip Instagram rather than post weak content. An automation can skip intelligently; that’s a feature, not a failure.
Now, the AI-assist question. We generate the mechanical variants with rules (character counts, structure, link placement) and use an LLM node for the tone adaptation — the same content rewritten conversationally for LinkedIn versus formally for Mastodon takes a model 5 seconds and takes a human 10 minutes. The prompt is short and the output goes to the review queue, not directly to the platform. This hybrid — deterministic rules for structure, model for phrasing, human for judgment — is the pattern we’d recommend for almost every content automation.
Step 3: The review queue (do not skip)
Every generated variant lands in a review sheet: platform, final text, media, scheduled time, status. Twice a week (put it in your calendar — “content review” is a 10-minute recurring meeting with yourself), approve or edit.
Why not auto-post? Because every failure mode of content automation is a review failure:
- The model misread a pricing change announcement as a “we’re raising prices” post (tone drift)
- A thread variant referenced a section that got cut from the final article (source drift)
- Two posts went out the same day because the trigger double-fired (dedup failure)
Review isn’t bureaucracy; it’s the 10 minutes that makes the other 300 automatic minutes trustworthy. Batch approval is fast — we approve a week’s cross-posts in under ten minutes.
A worked example: the consultant who got three platforms back
The first full deployment of this pipeline was for a solo marketing consultant who’d done the thing most solo operators do: started a LinkedIn presence, added X “because you have to,” half-hearted a Facebook page, and let all three decay because each post took 45 minutes to format for three audiences. Her publishing cadence had fallen to roughly once a month — which in content terms is functionally zero.
The build took an afternoon: RSS trigger on her blog, format rules for LinkedIn and X (we skipped her Facebook page deliberately — better to run two platforms reliably than three shakily; she posts to Facebook manually on the rare occasion it matters), the LLM tone-adaptation node, and a review sheet she checks twice a week with her morning coffee.
The first month was calibration. The review sheet caught: two tone misses on LinkedIn (the model’s drafts were too promotional — her voice is understated, so we added two example posts to the prompt as style anchors, and the misses stopped), one X thread that led with a weak hook (a rule fix: the first tweet must be the article’s most surprising number, not its summary), and one duplicate generation from a double-firing trigger (a dedup check on article URL now skips the second run).
Month two and three were boring, which is the goal. Publishing cadence went from ~1 post a month to 4 articles × 2 platforms — eight posts a month, with her total time investment at about 40 minutes a week of review. Her LinkedIn impressions over the quarter roughly tripled, and — the actual business point — two inbound leads explicitly mentioned “seeing your post.” Content that had been dying in drafts was working again. The automation didn’t make her a content marketer; it removed the tax that was stopping her from being one.
Her verdict after a quarter is the one we’d file under “expected but worth stating”: “I still write everything. The robots just do the part I hated.” That division is the entire design of this pipeline — and it’s why the review step is non-negotiable: the moment she starts rubber-stamping the queue without reading, the voice drifts, and the voice is the only thing the platforms can’t generate.
Troubleshooting checklist
When the pipeline misbehaves, these are the usual suspects:
- Symptom: posts publishing with wrong or broken links. Cause: the URL merge field points at the draft URL, or a link shortener in the chain changed its format. Fix: pin the canonical URL field from the source (RSS
link, notguid), and click-check one live post per platform after any trigger change. - Symptom: the model’s variants all sound identical. Cause: prompt drift toward generic “engaging social content” phrasing, or no style anchors. Fix: paste 2-3 real posts you liked into the prompt as few-shot examples — tone instructions describe, examples enforce.
- Symptom: platform rejects the post with an API error. Cause: most often expired tokens (LinkedIn and X tokens expire on schedules; Facebook page tokens survive longer but die on password changes). Fix: re-auth the connection, and add a failure alert on the posting step so you learn about it from your automation rather than from a week of silence.
- Symptom: the review sheet has stale posts from weeks ago. Cause: the human side of the pipeline broke — the twice-a-week review meeting got skipped. Fix: put it in the calendar with a reminder; the machine half of this pipeline is reliable, the calendar half is the fragile part.
Approved posts post through each platform’s official API. Two practical notes:
- Native scheduling beats immediate posting. Space platforms across days (LinkedIn Tuesday, X Thursday, etc.) rather than blasting all platforms within an hour of publishing. The automation holds approved posts until their scheduled slots.
- The API integrations are fiddlier than they look. LinkedIn’s API needs your organization ID and the right member permissions; X’s API tiers have changed pricing three times in recent years (check current costs before committing to it as a primary channel — at current rates it’s only worth it if X is a real channel for you); Instagram posting goes through a Business account with the Graph API. n8n and Make both have community nodes/modules covering all of these, with the rough edges the community has documented.
The costs, honestly
| Piece | Cost |
|---|---|
| Automation platform (Make, ~500 ops/mo for us) | $9/mo (or $0 self-hosted n8n) |
| AI tone adaptation (a few hundred tokens per post × 4 platforms) | ~$1-3/mo |
| X API access (if used) | Check current tier pricing — it’s a real line item now |
| The 10-minute review ritual | 40 minutes/week |
Versus what it replaces: 40+ minutes per piece of content reformatting, multiplied by publishing frequency, forever. For us that’s 3+ hours a month saved and — the real win — platforms we’d simply have stopped posting to.
What we deliberately don’t automate
- Engagement: replies, DMs, follows — platform ToS violations, spam-generation machines, account-ban risk. Never automate this.
- Trend-jacking: reactive posting requires human judgment about whether your brand has any business saying anything about today’s news.
- Comments/sections: half the value of posting is the conversation; automate the delivery, be human in the replies.
Where to take it next
- Performance loop: a monthly sheet pull of per-platform engagement (native analytics APIs), which over a quarter tells you which platforms deserve the effort at all — sometimes the answer is “delete the Pinterest account,” and the data is cheaper than the intuition
- Repurposing pipeline: the same machinery that adapts one post to five platforms can turn one article into a quote-card series, a newsletter item, and a short video script — the format rules are the asset, not the pipeline
Start with two platforms, not five. The format-rule set for LinkedIn and X alone captures most of the value; add a platform per week as the rules prove themselves, and you’ll end up with the set that actually fits your audience instead of the set you felt obligated to maintain.