Completely Autonomous Social Media Pipeline (META)

Hey everyone,

Back with another one of my workflows I've templatetized for public use!

This started with a birthday present. My girlfriend got me a 3D printer last year, so naturally I taught myself CAD in Fusion 360, and then I taught Claude to run Fusion 360 for me. Once an AI was driving the CAD, I wanted to see how much further it could go. 3D printing is a huge content niche, so I picked the Instagram side to test it: could a social account genuinely run itself, with no human in the loop?

So I set one up and let it go. It worked well enough that I pulled it out into a standalone n8n workflow anyone can import.

On a schedule it wakes up, decides what today's post should be, writes its own caption, writes its own image prompt, generates an original image, and publishes to Facebook and Instagram. I do not write anything.

The part I think is worth sharing is not that it posts on a timer. Schedulers have always done that. It is that the account is aware of two things at once: what it is supposed to be about, and what it has already said.

What it does

Every run: pick the next slot in a 12-post grid cycle, generate a caption and an image prompt with an LLM (Claude Haiku by default), generate an original image via KIE.ai, publish to a Facebook Page and its linked Instagram Business account, log the post to Airtable, and send a notification. Cost is a few cents per post, almost all of it the image.

How it is built

  • Schedule Trigger (plus a Manual Trigger for testing) kicks off the run.
  • Fetch Last Record (HTTP to Airtable) reads the most recent post so the workflow knows where it is in the cycle.
  • Config (Code) is the brain and the only node you edit. More on it below.
  • Fetch Past Topics (HTTP to Airtable) pulls recent posts for the dedup check.
  • Prep Prompt + Generate Content (HTTP to the LLM) + Parse Content build the prompt from the selected topic, write the caption and image prompt, and parse the result.
  • KIE Create / Wait / Poll / Check / Route is the image generation loop. It creates the KIE.ai job, polls until the image is ready, and routes on the result. The poll caps at 30 attempts (\~2.5 min) then routes to an error notification, so it never hangs.
  • FB Post, then IG Container / Wait / Publish, handle the two-step Instagram Graph publish.
  • Build Airtable + Log to Airtable write the post back, including its cycle position.
  • Success Notification pings me that it is done.

Every node has a sticky note on the canvas, so the workflow documents itself when you import it.

What makes it more than a random-post bot

Two things, and they are the whole point.

It is topic-aware (deterministic config). The content plan lives entirely in the Config node: your vertical, your brand voice, your five topics (each with an angle, rotating subtopics, and hashtags), and the 12-slot posting cycle. It is plain data, not five hardcoded branches. Because the cycle is deterministic, the account stays on theme instead of drifting into noise, and retargeting the whole pipeline to a different brand or industry means editing that one node and nothing else.

It is post-aware (database memory). Before it writes, it reads its own recent history out of Airtable and compares, so it does not repeat a topic it just covered. It also fills the next slot in the cycle in order, which matters because Instagram's mobile grid fills left to right, top to bottom. Grouping a topic across a row lays down a clean horizontal band instead of a random mess. The account has a memory of what it already posted, and it uses that memory to both avoid duplicates and keep the grid composed.

The notification is a swappable node

It ships wired for Telegram on two nodes (KIE Error and Success Notification), but those are just message-out nodes. Swap them for a Slack node, a Discord node, or an HTTP POST to any incoming webhook and everything upstream is unchanged. You wire up whichever one you already check.

The honest results, and what is next

I want to be straight about how it actually performed, because that is the useful part. I ran it for months, twice a day, every day. Each post came in around 11 cents (almost all of it the image), so roughly 22 cents a day to keep the account alive with original content. Cheap, but I switched it off in June to stop the ongoing spend while I port the whole thing to a different system.

The account is public, so you can see exactly what it produced: instagram.com/agenius3d. Every image and caption there was written and generated by the workflow, not by me.

It did not get much engagement, and the reason is not the automation. Instagram and Facebook both favor video now, especially reels with music behind them, and this pipeline posts still images. If you want reach today, you want video.

The good news is that is a one-node swap, and it is what I am going to try on the next version. The image step is just a call to KIE.ai, so you can point it at a video or reel model instead of a still-image model. The tradeoff is cost: image posts run pennies, but AI video generation is more like a dollar or two per post. For this experiment I kept it on cheap photos on purpose. If you are optimizing for the algorithm rather than for cost, swap in the video model and the rest of the pipeline (topic selection, dedup, publishing, logging) does not change.

Setup

The repo has a README with the full walkthrough, an Airtable CSV you import to stand up the tracking table in one click, and an AI-SETUP-PROMPT.md you can paste into any reasoning LLM to have it interview you through building your Config node (your topics and grid cycle) from scratch.

Open source (MIT), the workflow JSON, the Airtable schema, and the docs: github.com/Mfrostbutter/n8n-workflow-templates

If you have built something similar, or you want me to break down a specific piece (the dedup logic, the grid-cycle math, the KIE poll loop, or the Instagram two-step publish), I am happy to go deeper in the thread.

Cheers,

Michael

2 Likes

I’d ignore the timer. the interesting part is the config node as the only brain plus airtable memory so it knows what it already said. most autonomous social bots I see are random captions with no cycle and no memory, then people wonder why the grid looks drunk.

deterministic 12-slot cycle is smart for ig layout too. people underestimate how much the feed looks intentional when topics land in bands instead of pure shuffle.

honest take on the engagement bit lands. stills on a schedule will lose to reels with sound no matter how pretty the pipeline is. if you port this, i’d keep the same config/memory spine and only swap the render + publish step for short video when you’re ready. don’t rebuild the brain just to chase format.

one ops note from running long-lived generators: log cycle position and topic id on every row, and fail closed if image gen times out so you don’t burn a slot with a half post. your KIE poll cap is the right instinct.

if you ever leave pure meta graph and need the same content on tiktok / linkedin / x without rewriting oauth per network, I drop the publish hop into blotato and keep n8n for decide + generate + log. not required for what you built. your fb/ig path is already complete.

solid writeup. the part where you switched it off to stop spend while porting is more useful than another fully autonomous claim.

2 Likes

The grid memory approach with Airtable is the part that actually makes this useful in production - most autonomous posting systems fall apart because they repeat themselves or break grid composition. Good call using it as a persistent log.

One thing to add if you plan to run this long-term: Meta long-lived page access tokens expire every 60 days. Worth adding a token expiry check (compare token creation date stored in Airtable against today) and routing to an error/notification path before it silently breaks the pipeline. I learned that one the hard way on a client setup.

1 Like