n8n social media automation means building a workflow in n8n that notices something (a new blog article, a new app version, a Monday morning), asks an AI model to write the post, and publishes it to LinkedIn, Facebook, Instagram or another network, with or without a person approving it first. n8n is a strong fit for this because it can be self hosted for free, its AI Agent node can call tools, and it has a node for almost every service a content workflow touches.
Below: what n8n costs, what self hosting involves, the nodes and settings you need, and three complete workflows: an RSS feed that turns into posts, a changelog that posts only after you approve it in Slack or by email, and a weekly calendar planned by an AI agent. Then free templates, the network rules that break most first builds, and how Make and Zapier compare. Every node name, price and limit was checked on its source page on October 16, 2026.
If you only want the overview of every way to automate posting, from a free scheduler to AI, read how to automate social media posts first. If you are deciding between building an agent and buying one, our guide to an AI agent for social media compares the routes. For an agent that also covers email, ads and SEO, see the AI marketing agent page. This page assumes you have chosen n8n and want it working.
What n8n Is and What n8n Social Media Automation Can Do
n8n is a visual workflow builder. You place nodes on a canvas and connect them: a trigger node starts the run, and every node after it reads the data from the one before, does one job and passes the result on. A run of the whole workflow is called an execution, and n8n's pricing page counts one execution as one run of the entire workflow, however many steps it has and however much data moves through it. That detail makes n8n cheap for social workflows, which tend to have many steps but run only a few times a day.
For social media, a workflow does four kinds of work: it watches a source (a feed, a sheet, a webhook, a timer), writes with an AI Agent node, waits for a person to approve, and publishes through an official node or a raw API call. What it does not do on its own is design an image, show a calendar or preview the post in the feed. You add those pieces or connect a tool that has them, which is the subject of the last section.
The source code is public on GitHub, but n8n is not open source in the strict sense. n8n's license file puts most of the code under the Sustainable Use License, which allows use for your own internal business purposes or for personal and non commercial use. Running it to post for your own company is fine. Reselling n8n itself as a hosted service to clients is not.
n8n Pricing in October 2026
There are two ways to run n8n: n8n Cloud, where n8n hosts it for you, and the self hosted editions you run on your own server. n8n's guide to choosing how to use it says the Community edition is free with almost the complete feature set, and that registering your email in a self hosted instance (Settings, Usage and plan, Unlock) adds folders, debugging in the editor and custom execution data at no cost. Cloud comes with a 14 day free trial that includes Pro features.
| Edition | Price | Executions a month | Good for |
|---|---|---|---|
| Community (self hosted) | Free, plus your server | No cap listed | Developers who are happy to run a server and keep it updated |
| Cloud Starter | €20 a month, billed annually | 2,500 | One person with a handful of daily workflows |
| Cloud Pro | €50 a month, billed annually | 10,000 | A team or an agency running many workflows |
| Business (self hosted only for now) | €667 a month, billed annually | 40,000 | Companies that need SSO, Git version control and projects |
| Enterprise | Contact sales | Custom | Large organizations |
Prices are from n8n's pricing page, shown for annual billing. A workflow that runs once a day uses about 30 executions a month, so three or four fit inside Starter. The bill that grows is usually the AI model, which OpenAI or Anthropic charge per token.
Is n8n Free for Commercial Use?
For a business posting to its own accounts, yes. n8n's license file lets you use or change the software for your own internal business purposes, and lets you hand it to others only free of charge and for non commercial purposes. Files with .ee in the name sit outside that license and need a paid n8n Enterprise License, which is where features such as SSO come from. And if you are asking whether n8n stays free after 14 days: that limit is the Cloud trial. When it ends you pick a paid Cloud plan, or export your workflows and run them on the free Community edition.
What Self Hosting n8n Takes
Self hosting is free in money, not in time. n8n's Docker guide says running your own instance takes knowledge of servers, containers, security and n8n configuration, and that mistakes can lose data. The basic recipe is a Docker volume named n8n_data, the editor on port 5678, and these settings.
- Set GENERIC_TIMEZONE to your time zone. The Docker guide says this is the setting schedule based nodes such as the Schedule Trigger follow, so a 9 a.m. post fires at 9 a.m. where you are and not in UTC.
- Keep the n8n_data volume. It holds the encryption key for your saved credentials, so losing it means reconnecting every social account.
- Give the instance a public HTTPS address before you connect any network. Meta and LinkedIn send you back to a redirect address during sign in, and n8n's Facebook Graph credential guide has you copy the OAuth Redirect URL from n8n into the Meta app. A laptop on localhost cannot receive that.
- Behind a reverse proxy, set N8N_WEBHOOK_URL to your public address. n8n's webhook URL guide explains that n8n otherwise builds its webhook addresses from its internal host and port, which is wrong once a proxy sits in front. The older WEBHOOK_URL name is deprecated from n8n 2.35.0.
If that sounds like too much, start on Cloud Starter. Workflows export as JSON, so you can move to self hosting later.
The n8n Nodes You Need for Social Media Workflows
A dozen nodes cover almost every social workflow. The table lists them by the job they do, with the settings that matter. Names are written as they appear in the n8n editor.
| Node | Job in a social workflow | Settings that matter |
|---|---|---|
| Schedule Trigger | Starts a run at fixed times | Intervals from seconds to months, or a custom cron expression, per n8n's Schedule Trigger page |
| RSS Feed Trigger | Starts a run when a feed publishes a new item | Feed URL and Poll Times, with modes from Every Hour to Custom cron, per n8n's RSS Feed Trigger page |
| AI Agent | Writes the posts and decides which tools to call | Needs a chat model and at least one tool connected, per n8n's AI Agent page |
| OpenAI Chat Model or Anthropic Chat Model | The language model behind the agent | Pick the model and connect your own API key. Both are documented as sub nodes: OpenAI Chat Model and Anthropic Chat Model |
| Publishes a post as a person or a company page | One operation, Create a post, with Post As set to Person or Organization, per n8n's LinkedIn node page | |
| Facebook Graph API | Publishes to a Facebook Page, and to Instagram through the Graph API | Host URL, HTTP Request Method, Graph API Version, Node and Edge, per n8n's Facebook Graph API page |
| HTTP Request | Calls any API that has no node, such as Threads, Pinterest or Bluesky | Authentication can reuse a Predefined Credential Type, per n8n's HTTP Request page |
| Telegram | Posts to a channel through a bot | Send Message and Send Photo, per n8n's Telegram node page. For the ways that need no workflow, see how to schedule Telegram channel posts |
| Slack or Gmail | Asks a person to approve before anything publishes | The Send and Wait for Response operation in Slack, per n8n's Slack node page |
| Wait | Pauses the run until a time, a form or a link click | Four Resume modes, per n8n's Wait node page |
| MCP Client Tool | Gives the agent the tools of an outside MCP server | Endpoint, transport, authentication and Tools to Include, per n8n's MCP Client Tool page |
AI Agent Settings That Decide the Quality
Most of the difference between a workflow that writes usable posts and one that writes filler sits in three settings on the AI Agent node. n8n's Tools Agent page documents all of them.
- System Message, under Options. Write it like a brief for a new hire: what the product is, who reads each network, the tone, words you never use, and the rule that the agent never invents features, prices or numbers. Paste two or three of your best past posts so it can copy your voice.
- Require Specific Output Format. Turn it on and connect a Structured Output Parser, then describe the fields you want back, for example linkedin_text, facebook_text, instagram_caption and image_prompt. Every later node can then read one clean field instead of guessing where the LinkedIn version ends.
- Max Iterations, also under Options. It defaults to 10 model runs per answer. An agent that loops through tools without finishing is usually missing an instruction, so raise this only after you have fixed the prompt.
Official Nodes or the HTTP Request Node
Use the official node when one exists. For anything it lacks, n8n's LinkedIn node page suggests the HTTP Request node with your saved credential: set Authentication to Predefined Credential Type and the node attaches the token to any endpoint you call. Threads, Pinterest and Bluesky have no official n8n node as of today, so they always go through HTTP Request with credentials you register with each network yourself.
Workflow 1: Turn a Blog or RSS Feed Into Social Posts
This is the most common n8n social media posting automation and the best one to build first, because the trigger is reliable and the content already exists. Each new article becomes a LinkedIn post and a Facebook Page post written for each network, not the same title pasted twice. Here it is node by node.
- Add an RSS Feed Trigger. Paste your feed address into Feed URL and set Poll Times to Every Hour. Most blogs publish one at a time, so hourly checks are plenty and use few executions.
- Add an AI Agent node after it, set the prompt source to Define below, and write a prompt that passes the article: its title, link and summary from the trigger's output fields. Connect an OpenAI Chat Model or Anthropic Chat Model to its model slot.
- In the agent's System Message, describe your brand and give one rule per network: LinkedIn opens with the insight and ends with the link, Facebook stays shorter and conversational. Ask for no hashtags on LinkedIn beyond three.
- Turn on Require Specific Output Format and connect a Structured Output Parser with two fields, linkedin_text and facebook_text. Run the workflow once on a real article and read both outputs before you go further.
- Add the LinkedIn node, set Post As to Person or Organization, and map Text to the linkedin_text field. Posting as a company page needs extra approval from LinkedIn, covered in the hard parts below, so start as a person if you are testing.
- Add a Facebook Graph API node on a second branch. Set HTTP Request Method to POST, Node to your Page ID and Edge to feed. Under Options, Query Parameters, add message mapped to facebook_text and link mapped to the article link. The Options and Query Parameters fields are defined in the node's source code, and the feed endpoint and its message and link parameters come from Meta's Pages API posts guide.
- Open the workflow settings, set an error workflow that sends you a message on failure, then activate the workflow.
Cost check: hourly polling is about 720 executions a month, which fits on Cloud Starter. If you post weekly, poll every six hours with Every X instead.
Two details catch people here. First, LinkedIn's API does not build a link preview by reading your page. LinkedIn's Posts API guide says article posts must carry their own thumbnail, title and description, with the thumbnail uploaded first through the Images API. A plain text post with the link in the body is the simple way around it. Second, a feed item is not a picture. If you want an image on each post, you need to make one, and that is where most RSS workflows quietly stop being automatic.
Adding Instagram to the Same Workflow
Instagram has no n8n node, and it does not accept text alone, so it gets its own branch with two calls. Meta's Instagram content publishing guide describes the flow: first create a media container by sending the image address and caption to the account's media edge, then publish that container by sending its ID as creation_id to the media_publish edge. In n8n that is two Facebook Graph API nodes in a row, or two HTTP Request nodes using your Facebook Graph credential.
- Make sure the image exists at a public HTTPS address. A file inside n8n is not enough (more on this below).
- First node: POST, Node set to your Instagram account ID, Edge set to media, query parameters image_url and caption.
- Add a Wait node set to After Time Interval for about a minute. Meta suggests checking a container's status once a minute for no more than five minutes, and the status reads FINISHED when it is ready.
- Second node: POST, Node set to your Instagram account ID, Edge set to media_publish, query parameter creation_id mapped to the ID the first node returned.
For a carousel, create one container per image with is_carousel_item set to true, then a parent container that lists their IDs, then publish the parent. Meta caps carousels at 10 images or videos, and a carousel counts as one post against the daily limit. Our Instagram MCP server page covers the same rules from the angle of an assistant that posts for you.
Workflow 2: App Update or Changelog to Posts With an Approval Step
Release posts are the ones that most need a person in the loop, because a model that misreads a changelog can announce a feature you did not ship. This workflow drafts the posts, sends them to you, and publishes only after you click Approve. The example uses Streakly, an invented habit tracker, and Alex, the person who approves.
- Trigger. If your changelog has a feed, use the RSS Feed Trigger. If you release from a pipeline, add a Webhook node and have the last step of the release call its production address with the version number and release notes in the body.
- Draft. Add an AI Agent node. Pass the version and the notes, and tell the system message to pick the one change a user would care about most, to write in plain words, and to never mention anything that is not in the notes. Use a Structured Output Parser with linkedin_text, facebook_text and a short summary field for the approval message.
- Ask. Add a Slack node with the Send and Wait for Response operation. n8n's Slack node page describes it as sending a message and waiting for the recipient's answer before the workflow continues, and says the approver can reply right inside Slack. Put both drafts in the message so Alex reads exactly what will go out.
- Choose the response. The operation's Response Type has three options, Approval, Free Text and Custom Form, as defined in n8n's send and wait source code. Pick Approval and set Type of Approval to Approve and Disapprove so a rejection is a real answer and not silence.
- Set a deadline. Under Limit Wait Time, choose After Time Interval and give it 24 hours. A release post that sits unapproved for three days is stale, so let the run end instead of publishing late.
- Branch. Add an If node that checks the approval result. The true branch runs the LinkedIn and Facebook Graph API nodes from workflow 1. The false branch sends Alex a short note that nothing was posted.
If Alex wants to edit rather than approve, use Custom Form with a text field holding the draft, and the edited text goes out instead of the original.
Approval by Email or by a Link
Not everyone lives in Slack. The Gmail node has the same pattern, documented on n8n's Gmail message operations page as Send and Wait for Approval, with Type of Approval set to Approve Only or Approve and Disapprove, and button labels you can rename. The same page notes it suits simple approvals and points to the Wait node for anything more involved.
The Wait node is the most flexible option. Set Resume to On Webhook Call, and n8n's Wait node page explains that the node provides $execution.resumeUrl, the address that resumes this exact run when someone opens it. Put that address behind an Approve button in any email, chat or internal tool, and the workflow continues the moment it is clicked. Turn on the node's authentication so a stranger who sees the address cannot approve your post. One more note from the same page: the Wait node always uses the server's time, not the workflow's time zone setting, so check it on a self hosted instance.
Human Review on an Agent's Tools
When the agent publishes through a tool itself, the approval can sit on the tool. n8n's human in the loop guide adds a Human review step from the agent's Tools connector: the reviewer sees what the tool is about to send, and a denied call never runs.
Workflow 3: A Weekly AI Planned Content Calendar
The first two workflows react to something. This one plans. Every Monday an AI agent drafts a post for each weekday into a sheet that acts as your calendar, and a second workflow publishes whatever is due and approved. Splitting planning from publishing keeps it safe: nothing goes out that you did not approve, and you can edit any row by hand.
Part One: The Monday Planner
- Schedule Trigger set to weeks, Monday, 8 a.m. Remember GENERIC_TIMEZONE on a self hosted instance.
- A Google Sheets node (or Airtable, or Notion) that reads a tab called Facts: the features, customer questions, tips and news you are happy to post about. Add a column for when each fact was last used, so the planner rotates instead of repeating the same three.
- A second read of the Calendar tab for the last four weeks, so the agent knows what already went out.
- An AI Agent with a Structured Output Parser that returns a list of five posts, each with a date, a network, the text, a one line image idea and the fact it used. In the system message, ask for a mix: one tip, one feature, one question to the audience, one behind the scenes note, one customer story only if a real one exists in the facts.
- A Split Out node to turn the list into five items, then a Google Sheets node that appends each one to the Calendar tab with Status set to Draft.
Part Two: The Daily Publisher
- Schedule Trigger every weekday at your posting time.
- Google Sheets node that reads rows where Date is today and Status is Approved.
- A Switch node on the Network column, with one branch per network: LinkedIn node, Facebook Graph API node, the two step Instagram branch, or an HTTP Request node for anything else.
- A final Google Sheets node that sets Status to Posted and saves the post link, or Failed with the error, so the sheet doubles as your log.
This is the ai social media content automation n8n workflow most people picture, with one gap: the image idea column is just words. You add an image service and a place to host the result, or make the pictures by hand. Our social media content calendar page shows a planned week without building one.
How to Auto Post to Threads, Pinterest, Bluesky, TikTok and YouTube With n8n
The workflows above use LinkedIn and Facebook because both have official nodes. YouTube has one too, but Threads, Pinterest, Bluesky and TikTok go through an HTTP Request node with a credential you set up with each network. Every network wants a different request, so here they are side by side.
| Network | n8n node | The call | Watch out for |
|---|---|---|---|
| Threads | HTTP Request | POST to the threads edge of your Threads user on graph.threads.net with media_type set to TEXT or IMAGE, then POST the returned id as creation_id to threads_publish, per Meta's Threads posts guide | Text tops out at 500 characters and images must sit on a public server. Meta suggests waiting about 30 seconds between the two calls, so put a Wait node in between |
| HTTP Request | POST to the v5 pins endpoint with a board_id and a media_source of type image_url, per Pinterest's guide to creating boards and Pins | Needs boards and pins read and write scopes. A new developer app starts on Trial access, where Pins are visible only to you, per Pinterest's access tiers page | |
| Bluesky | HTTP Request | POST to com.atproto.repo.createRecord with your account's DID as repo, app.bsky.feed.post as collection and a record holding text and createdAt, per Bluesky's guide to posts | A link in the text only becomes clickable with a link facet that marks its byte positions. Images are uploaded first with uploadBlob, up to four per post |
| TikTok | HTTP Request | The Content Posting API, once your developer app has been approved for it, per TikTok's Content Posting API guide | Until the app passes TikTok's audit, everything it posts stays private |
| YouTube | YouTube | The Upload a video operation on the Video resource, per n8n's YouTube node page | For anything the node lacks, the same page points to the HTTP Request node with your YouTube credential |
A workflow that posts to all of them is a Switch node on the network with one branch per row, the same shape as the daily publisher in workflow 3. Build and test one branch at a time, because each network fails in its own way: a Threads container that was not ready yet, a Pinterest Pin nobody else can see, a Bluesky link that does not click. Our Pinterest MCP server page covers Pinterest's access review and tokens in more depth.
Where to Find n8n Social Media Automation Templates, Free and on GitHub
You rarely need to start from an empty canvas. n8n's social media template category listed 723 workflows on October 16, 2026, and every one of the ten shown on the first page was marked Free. Titles include Post daily LinkedIn and Instagram content with Airtable, Claude, OpenAI and Buffer, and From Google Drive to Instagram, TikTok and YouTube with AI descriptions and Airtable tracking. Search the library for the network and the trigger you have, such as LinkedIn RSS or Instagram Google Sheets, rather than for a generic phrase.
From inside the editor, the Templates icon opens the same library, and n8n's templates guide warns that you will usually need to fill in your own credentials and adjust settings before a template runs. For a workflow you found elsewhere, n8n's import guide lists Import from File and Import from URL in the Workflow menu at the top of the canvas, and Import from URL accepts a raw JSON file on GitHub.
Searches for an n8n social media automation template on GitHub mostly land on two community collections. awesome n8n templates by enescingoz describes itself as more than 280 free templates sorted by app, with a social media section. n8n workflows by Zie619 is a much larger dump of workflows its author collected, including from n8n's own site, under the MIT license. Both are useful for ideas. Neither is checked by n8n, so read a workflow before you import it.
- Open the JSON and look at every Code node. A few lines of JavaScript can send your data anywhere.
- Check every HTTP Request node's URL. A template should call the network's own API, not a server you have never heard of.
- Look for headers left in by the author. n8n's import guide notes that exported files carry credential names and IDs, and HTTP Request nodes built from a pasted curl command can hold real authorization headers.
- Check the node versions. A template built for an old AI Agent with an agent type setting will still load, but n8n's AI Agent page says that version is deprecated and will be removed in n8n 3.0.
- Run it once with the publish nodes disabled and read what it would have posted.
The Hard Parts: Meta App Review, Expiring Tokens, Image URLs and Rate Limits
Building the nodes takes an afternoon. These problems take the rest of the month, and they come from the networks, not from n8n.
Meta Apps, Development Mode and App Review
To post to Facebook or Instagram from your own n8n you need your own Meta app. n8n's Facebook Graph credential guide has you create a Business type app, add Facebook Login for Business, and paste n8n's redirect address into the app's settings. While the app is in Development mode, only people with a role on it (administrator, developer or tester) can connect, which is fine if you post only to your own accounts. Meta's App Review overview says review is needed once people without a role on the app will use it, and that Meta must be able to test every permission you request or the request is refused. In practice: posting to your own Page and Instagram account works without review, and posting for clients through your workflow does not.
Tokens That Expire
A workflow that worked for two months and then failed is almost always a token. Meta's guide to long lived tokens says the default user and Page tokens are short lived and expire in hours, a long lived user token lasts about 60 days, and a Page token fetched with a long lived user token has no set expiry, though it can still be invalidated. On LinkedIn, LinkedIn's refresh token guide says access tokens last 60 days and refresh tokens a year by default, after which the member has to sign in again. Nothing refreshes a token the network revoked, so set an error workflow that messages you on the first failed publish, and a reminder before each yearly sign in comes due.
Instagram Needs a Public Image URL
Instagram does not take an upload from n8n. Meta's content publishing guide says the media must sit on a publicly reachable server at the moment of the request, and that JPEG is the only image format supported. So a PNG generated inside the workflow has to be converted, uploaded somewhere public (an S3 or R2 bucket, Cloudinary, your own site) and then passed by address. The account must be a professional one, and with Facebook Login it must be connected to a Facebook Page. A container that is not published within 24 hours expires, so do not create containers on Monday for posts on Friday.
Rate Limits and Scheduling Windows
| Network | Limit | Source |
|---|---|---|
| 100 API published posts per account in a moving 24 hour window. A carousel counts as one. Check usage at the content_publishing_limit edge | Meta's content publishing guide | |
| Facebook Page | A scheduled post must be set between 10 minutes and 30 days ahead | Meta's Pages API posts guide |
| Daily limits per app and per member, reset at midnight UTC. Standard limits are not published, so you see yours in the developer portal's Analytics tab. Too many calls return 429 | LinkedIn's rate limit guide | |
| TikTok | Everything an unaudited app posts is limited to private viewing until the app passes an audit | TikTok's Content Posting API guide |
LinkedIn Company Pages and Formats
Posting as a person is easy. Posting as a company page is not. n8n's LinkedIn credential guide says a LinkedIn developer app needs a linked company page, the Share on LinkedIn and Sign In with LinkedIn using OpenID Connect products, and that posting as an organization needs LinkedIn's Community Management App Review. LinkedIn's Posts API guide adds two format limits worth knowing before you design anything: organic carousels are not supported through the API (only sponsored ones are, and multi image posts are a separate API), and images must be uploaded first to get an image ID. For the full LinkedIn picture, see our LinkedIn MCP server page.
Make and Zapier as n8n Alternatives
Make and Zapier do the same job as n8n without a server, at the price of less control and a bill that counts every step. To compare finished products instead, see the best social media automation tools.
| Tool | Free plan | First paid plan | How usage is counted |
|---|---|---|---|
| n8n | Community edition, self hosted | Starter, €20 a month billed annually, 2,500 executions | One execution per full run, however many steps |
| Make | 1,000 credits a month | Core, $9 a month billed annually for 10,000 credits. Pro is $16 | Most module actions use one credit, so a five step scenario costs about five per run |
| Zapier | 100 tasks a month, two step Zaps, 15 minute polling | Professional, $19.99 a month billed annually or $29.99 monthly, 750 tasks, multi step Zaps | One task per completed action |
Make's figures come from Make's pricing page, which also says router and error handler modules use no credits and unused credits expire at the end of the term. Zapier's come from Zapier's pricing page, where the free plan includes basic access to Zapier Agents and MCP but not AI by Zapier. The practical difference: the RSS workflow above, with an AI step and two networks, is one n8n execution per run, about five Make credits, and three or four Zapier tasks.
Make.com Social Media Automation Templates and Instagram
To automate Instagram posts with Make, use the Instagram for Business app. Make's Instagram for Business page lists Create a photo post, Create a carousel post and Create a reel post, connected through Facebook login, plus templates such as an Instagram post for each new Google Sheets row. The public image rule still applies, because Make calls the same Meta API.
Zapier Instagram Automation
Zapier's Instagram for Business page lists two actions, Publish Photo(s) and Publish Video, and both carry the same warning: they work only with an Instagram Business account, not a Personal or Creator one. That is stricter than Meta's own API. Zapier is the quickest to set up and the most expensive per post past the free plan.
n8n Webhook or Schedule Trigger Not Working? Fixes for Social Workflows
When a social workflow never fires, the cause is usually the trigger rather than the network. These are the cases n8n documents, plus two that come up with posting in particular.
- It runs when you click Execute but never on its own. n8n's Webhook node page explains that the Test URL only listens while you wait for a test event in the editor, and that n8n registers the Production URL when you publish the workflow. Point your release pipeline at the Production URL, and look for its runs in the Executions tab, because production runs do not show their data in the editor.
- Posts go out at the wrong hour. n8n's Schedule Trigger troubleshooting page names three places to set the time zone: the instance setting on n8n Cloud, GENERIC_TIMEZONE on a self hosted server, and Timezone in a single workflow's settings.
- You changed the schedule and nothing changed. The same page says new intervals and new variable values only take effect when you publish the workflow again, and that the schedule counts from the moment you publish, so an hourly post can drift by half an hour after an edit.
- A custom cron expression is rejected. n8n suggests removing the seconds column and checking the expression on crontab guru before pasting it back.
- Signing in to Meta or LinkedIn fails on localhost. Both networks send you back to the redirect address in your credential, and that address has to be public. Set N8N_WEBHOOK_URL as described in the self hosting section, or build the credential on n8n Cloud.
- The MCP Client Tool cannot reach a server. Check that the endpoint starts with https, that Server Transport is HTTP Streamable, and that the Bearer credential holds a key that still exists. A 401 answer means the key is wrong or was removed.
Common Mistakes in n8n Social Media Automation
- Publishing straight from the model on day one. Run every new workflow with an approval step for at least two weeks. You will find the prompt problems in the drafts, not in your live feed.
- One caption for every network. A LinkedIn post pasted into Instagram reads like a press release. Ask the agent for a field per network, and keep each network's rules in the system message.
- No error workflow. n8n will not tell you a post failed unless you build the alert. Add one error workflow for all your social workflows and point it at Slack or email.
- Letting the model state facts. Tell it to use only what the input contains, and to leave a placeholder instead of guessing a price, a date or a number.
- Treating text as the whole post. On Instagram, Pinterest and TikTok the picture or video is the post. A workflow that produces only captions has automated the easy part. Our guide to social media image sizes lists what each network expects.
Use the n8n MCP Client Tool to Get Designed Posts From Spreadcast
Everything above leaves you holding two jobs: making the image, and keeping a developer app, a token and a rate limit alive for every network. The MCP Client Tool lets you hand both to a service that already does them. MCP, the Model Context Protocol, is a standard way for a server to offer tools to an AI agent, and the MCP Client Tool plugs those tools into n8n's AI Agent. Spreadcast, the tool we make, runs an MCP server for exactly this. Its tools read your app's brand kit, design posts and carousels in that brand with your real screenshots in an iPhone frame, write a caption per network, read new versions and rating milestones from your App Store listing, and save drafts onto your Spreadcast calendar.
- In Spreadcast, open Settings, AI Assistants and create a key. Leave Can Publish Posts off, so the key can only save drafts.
- In n8n, add an MCP Client Tool to your AI Agent's tool slot. Set Endpoint to spreadcast.app/api/mcp with https in front, and Server Transport to HTTP Streamable. The node's source code shows HTTP Streamable as the default on current versions, with Server Sent Events marked deprecated.
- Set Authentication to Bearer Auth and create a credential holding the key. Spreadcast reads it as an Authorization header with Bearer in front.
- Set Tools to Include to Selected and pick only what the workflow needs, for example spreadcast_get_brand, spreadcast_get_posting_rules, spreadcast_list_moments, spreadcast_design_post, spreadcast_write_captions, spreadcast_check_post and spreadcast_create_post. n8n's MCP Client Tool page lists All, Selected and All Except as the choices.
- Write the system message: read the brand first, read the posting rules, design one post for the moment you are given, write captions for the connected networks, check the post, and save it as a draft for the date given. Never delete anything.
- Keep the trigger you already have. A Schedule Trigger that asks the agent to look for new App Store moments every morning, or the changelog webhook from workflow 2.
The result is not text in a Slack message. It is a designed post sitting on a calendar in Spreadcast, with a preview for each network, waiting for someone to tap approve. You skip the Meta app, the LinkedIn review, the public image hosting and the token reminders, because the accounts are connected to Spreadcast once and it handles Instagram, TikTok, LinkedIn, Facebook, Threads, Pinterest, Bluesky, Mastodon, Telegram and Discord, plus YouTube for video posts. Drafting is free. Scheduling and publishing need Pro, which is $29 a month on our pricing page, and a key only publishes on its own when you turn on Can Publish Posts.
This route is for apps, because the designs and moments come from an App Store listing. If you sell something else, the plain n8n workflows above are the better fit. The full tool list is on the Spreadcast MCP page, and our social media MCP server guide shows the same server used from Claude and ChatGPT.
Which n8n Setup Fits You
- You have a blog and post to LinkedIn and Facebook: build workflow 1 on Cloud Starter. It is the best first project and costs little.
- You ship releases and fear a wrong announcement: build workflow 2 and keep the Slack approval forever.
- You want Instagram, TikTok or Pinterest with real designed images: either budget time for image hosting and app reviews, or connect a tool that has them through the MCP Client Tool.
- You would rather not build anything: a ready tool fits better. Our guide to ChatGPT social media automation and our guide to scheduling posts with Claude cover the no canvas routes.

