n8n social media automation vs an AI agent: when a workflow isn't enough
n8n is good at deterministic social media automation: a trigger, a transform, a post, retries you can read. It has no Instagram node and no TikTok node, checked on September 28, 2026. An AI agent handles the part a workflow cannot: reading a comment and deciding what to answer. Most setups need both.
What n8n does well for social media
n8n is a workflow engine. You draw a graph, it runs it, and every execution is logged with its input and output. For social media that buys you three things a script does not: a schedule you can see, a retry you can inspect, and a place to plug the rest of your stack (a sheet, a CRM, an S3 bucket) into the same run.
Pricing is per execution, not per step. From the n8n pricing page checked on September 28, 2026:
| Plan | Price | Executions per month | Concurrent | Hosting |
|---|---|---|---|---|
| Community | free | unlimited on your own box | your hardware | self-hosted |
| Starter | 24 EUR / month (20 EUR billed yearly) | 2.5K | 5 | n8n Cloud |
| Pro | 60 EUR / month (50 EUR billed yearly) | 10K | 20 | n8n Cloud |
| Business | 800 EUR / month (667 EUR billed yearly) | 40K | not listed | self-hosted only |
| Enterprise | contact sales | custom | 200+ | either |
One execution is one full run of a workflow, whatever it contains. That matters for social: a workflow that publishes to five networks in one run costs one execution, while a workflow triggered once per incoming comment costs one execution per comment.
Is there an n8n Instagram node?
No. docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.instagram/ returns a 404, and so does the Instagram credential page, both checked on September 28, 2026. People search for "n8n Instagram node" because they assume it exists next to the LinkedIn one. It does not.
Here is what is actually in the built-in list, checked the same day:
| Platform | Dedicated n8n node | What you do instead |
|---|---|---|
| no | Facebook Graph API node or HTTP Request | |
| TikTok | no | HTTP Request against the TikTok Content Posting API |
| yes, Facebook Graph API (GET, POST, DELETE) | nothing, but you build the calls yourself | |
| yes, one operation: create a post, as person or organization | fine for publishing, nothing for comments or DMs | |
| X | yes: create, delete, search, like, retweet, DM, get user | nothing |
| YouTube | yes | nothing |
| Telegram | yes | nothing |
| yes, Business Cloud | nothing |
Read that table twice before planning an Instagram project on n8n. The Facebook Graph API node is not an Instagram integration: it is a thin HTTP wrapper that signs your request with a Facebook credential. Every endpoint, every field name, every token refresh is still yours.
n8n Instagram automation without a node
The route exists, it is just longer than people expect. To publish one Reel from n8n you need a Meta app, an Instagram professional account linked to a Page, Advanced Access on the publishing permissions after app review, a long-lived token you refresh before it expires, and the two-step container flow (POST /media, then POST /media_publish) with a poll in between while Meta processes the video.
To read comments you add the comments webhook, which needs its own Advanced Access, an endpoint that answers Meta's verification challenge, and signature checking. None of that is n8n's fault. It is what the Instagram Graph API in 2026 costs anyone, in n8n or not.
So the honest framing is: n8n is the scheduler and the glue. Something else has to be the platform layer.
Where a workflow stops and an agent starts
A workflow is a decision tree you wrote in advance. An agent is a model that decides at runtime which tool to call. Neither is better. They fail at different things.
| Task | Workflow | Agent |
|---|---|---|
| Publish a post at 09:00 every weekday | right tool | overkill, and nondeterministic |
| Cross-post the same asset to 5 networks | right tool | works, costs tokens for nothing |
| Route a new comment to a Slack channel | right tool | overkill |
| Write the reply to that comment | needs a hardcoded template | right tool |
| Decide a DM is a support case, not a lead | brittle keyword rules | right tool |
| Summarise last week's reach and say what to change | not possible | right tool |
| Retry a failed publish and tell you why | right tool | unreliable, it may improvise |
The test I use: if you can write the rule down completely, it belongs in a workflow. If the rule ends with "it depends on what they said", it belongs to an agent. That split is the same one described in how to give an AI agent social media access.
Since n8n 1.82.0 the AI Agent node runs as a Tools Agent, and the MCP Client Tool sub-node lets you attach an external MCP server to it with bearer or header authentication. So you do not have to choose one runtime. You can put the agent inside the workflow.
The hybrid: an n8n workflow that calls PlugKit
This is the setup I would build today. n8n keeps the schedule, the logging and the retries. PlugKit holds the OAuth, the app reviews and the platform quirks, and exposes both a REST API and a hosted MCP server at https://api.plugkit.co/mcp. Instagram, Facebook, LinkedIn, TikTok, YouTube, X and Telegram all publish through the same call shape. WhatsApp is there too, for messages rather than posts.
The deterministic half, as an importable workflow:
{
"name": "Daily cross-post via PlugKit",
"nodes": [
{
"parameters": { "rule": { "interval": [{ "triggerAtHour": 9 }] } },
"type": "n8n-nodes-base.scheduleTrigger",
"typeVersion": 1.2,
"position": [0, 0],
"name": "Every day at 09:00"
},
{
"parameters": {
"assignments": {
"assignments": [
{ "id": "1", "name": "profileId", "value": "YOUR_PROFILE_ID", "type": "string" },
{ "id": "2", "name": "accountIds", "value": "={{ ['ACCOUNT_ID_1', 'ACCOUNT_ID_2'] }}", "type": "array" },
{ "id": "3", "name": "caption", "value": "Your caption", "type": "string" },
{ "id": "4", "name": "imageUrl", "value": "https://example.com/photo.jpg", "type": "string" }
]
},
"options": {}
},
"type": "n8n-nodes-base.set",
"typeVersion": 3.4,
"position": [220, 0],
"name": "Post to publish"
},
{
"parameters": {
"method": "POST",
"url": "https://api.plugkit.co/v1/posts",
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth",
"sendBody": true,
"specifyBody": "json",
"jsonBody": "={{ JSON.stringify({ profileId: $json.profileId, content: $json.caption, accountIds: $json.accountIds, mediaItems: [{ type: 'image', url: $json.imageUrl }], publishNow: true }) }}"
},
"type": "n8n-nodes-base.httpRequest",
"typeVersion": 4.2,
"position": [440, 0],
"name": "PlugKit publish"
}
],
"connections": {
"Every day at 09:00": {
"main": [[{ "node": "Post to publish", "type": "main", "index": 0 }]]
},
"Post to publish": {
"main": [[{ "node": "PlugKit publish", "type": "main", "index": 0 }]]
}
}
}
The schedule trigger only passes the date and time, so the post itself comes from the "Post to publish" node: swap it for the Google Sheet, Airtable base or database that holds your calendar, as long as it outputs those four fields. The header credential is Authorization: Bearer sk_.... One node, seven platforms, and the response carries a per-target status so a failed Instagram publish does not silently look like a success.
The judgement half goes in a second workflow: a webhook trigger listening for PlugKit's comment.received event, an AI Agent node, and the MCP Client Tool pointed at the same server so the agent can read the thread and reply through reply_to_comment or the inbox tools.
What the two halves cost
Checked on September 28, 2026, on each vendor's own pages:
| Line | Cost |
|---|---|
| n8n Community, self-hosted | free software, your server and your maintenance |
| n8n Starter | 24 EUR / month (20 EUR billed yearly), 2.5K executions |
| PlugKit Creator | $29 a month for 5 connected accounts, cancel anytime |
| PlugKit Pro | $97 a month for 30 accounts, extra accounts from $3 |
| X API calls through PlugKit | passed through at cost, $0.005 a read, $0.015 a publish, $0.200 a publish that contains a link |
| Model tokens for the agent half | your provider, per call |
PlugKit runs a 7-day trial. n8n Community is genuinely free if you are happy to run Postgres and a queue yourself, and that combination (self-hosted n8n plus a platform API) is the cheapest honest setup for a single account.
Where n8n is plainly better: everything that is not social. Over 500 integrations, branching, error workflows, and a UI non-developers can read. If your social step is one node in a twenty-node business process, n8n is the host and PlugKit is one HTTP call inside it. If social is the whole product, you may not need the workflow engine at all: see the social media API guide for the direct route, or the Hermes Agent setup for the agent-first one. More on the agent side on the agents hub.
FAQ
Does n8n have an Instagram node?
No. As of September 28, 2026 there is no Instagram node and no Instagram credential in the n8n docs; both URLs 404. You reach Instagram through the Facebook Graph API node or a plain HTTP Request, which means you handle the Meta app, the app review and the token refreshes yourself.
Can n8n post to Instagram automatically?
Yes, with work. You need an Instagram professional account, a reviewed Meta app, a long-lived token, and the two-step container flow for media. An aggregator API removes all of that and turns the publish into a single HTTP Request node.
Is n8n better than an AI agent for social media?
They solve different halves. n8n is better when the rule is fully known in advance: schedules, cross-posting, routing, retries. An agent is better when the output depends on what someone wrote: replies, triage, weekly analysis. An AI Agent node with an MCP tool attached lets you run both in one workflow.
How much does n8n social media automation cost?
The Community edition is free to self-host. n8n Cloud starts at 24 EUR / month (20 EUR billed yearly) for 2.5K executions, checked on September 28, 2026. On top of that you pay whatever the platform layer costs, plus model tokens if an agent is in the loop.
One plug for every platform your agent touches
$29 a month for 5 connected accounts, cancel anytime. Every feature in every plan.
Get your API key →