How to post to LinkedIn from n8n
n8n-nodes-postwire) with Networks set to LinkedIn, or send one HTTP Request to https://postwire.io/api/post: it publishes to your LinkedIn profile with a PostWire API key, so the workflow needs no LinkedIn developer app. The node can write the post for you (a hook in the first two lines, short paragraphs, three hashtags), attach an image, and put the link in your own first comment so it stays out of the post body. n8n's built-in LinkedIn node has one operation, Post → Create, and on self-hosted n8n its credential asks for a LinkedIn developer app of your own.Typical trigger: a new blog post in an RSS feed, an approved row in a sheet, a release on GitHub. The same node sends that news to Bluesky, Mastodon or Facebook in the same step, each with its own text.
Updated . Written from PostWire's own code; vendor prices read on Oct 11, 2026. Live networks: TikTok, Instagram, YouTube, LinkedIn (personal profiles), Facebook Pages, Bluesky, Mastodon, Telegram, Discord, and X on paid plans.
Step by step
- Create a free PostWire account
Open postwire.io/dashboard.html, type your email and press Create my free account. PostWire emails you a link to confirm the address; connecting accounts and publishing unlock once it is confirmed. No password and no card (free plan: 1 business, 20 posts a month, 5 AI drafts a day (about 20 a month), 2 networks per post, 3 scheduled posts at a time — every network connects free, no card).
- Connect LinkedIn
In the dashboard open Accounts, press Connect on LinkedIn and then Continue to LinkedIn. You sign in on LinkedIn itself and approve posting on your behalf; PostWire never sees your password. Posts go out on your own profile, under your name.
- Copy your API key
In the dashboard, open API & MCP and press Copy key on the API key card. It is sent as
Authorization: Bearer pw_live_…(theX-API-Keyheader also works). Keep it server-side. - Install the node (self-hosted n8n)
In n8n: Settings → Community nodes → Install, enter
n8n-nodes-postwire, and add a PostWire API credential with the key. The node is not verified by n8n yet, so it installs on self-hosted n8n; on n8n Cloud use the HTTP Request in step 7. - Configure Post → Publish
Networks: LinkedIn. Content: Smart Distribute: Write a Native Post per Network, with the Idea from the previous node (e.g.
{{ $json.title }} — {{ $json.contentSnippet }}). Media: None for a text post, or URL / Binary File for one image. The LinkedIn draft is written in the first person, with the hook inside the first 210 characters (what the feed shows before "see more"), one idea per short block and three hashtags at the end. Under Options, Dry Run checks everything without publishing and Brand Voice sets the tone. - Put the link in the first comment
Add the URL to the Idea and the words "link in the comments": the LinkedIn draft comes back with a
first_commentthat carries the link, and the node publishes it as your own comment right under the post. To write both yourself, set Content to Drafts From a Previous Step and pass an object (the comment takes up to 1,250 characters):{ "linkedin": { "text": "We cut our build time from 14 minutes to 3.\n\nHere is the one change that did most of it…", "first_comment": "Full write-up: https://example.com/blog/faster-builds" } } - On n8n Cloud, or for several images or a PDF: one HTTP Request node
POST to the REST API with header
Authorization: Bearer pw_live_….mediatakes up to 20 images, each with optional alt text, or one PDF, PowerPoint or Word document that LinkedIn shows as a swipeable carousel:POST https://postwire.io/api/post Authorization: Bearer pw_live_… Content-Type: application/json // Text, three images and the link in the first comment { "platforms": ["linkedin"], "per_platform": { "linkedin": { "text": "{{ $json.post }}", "first_comment": "Details: {{ $json.url }}" } }, "media": [ { "url": "https://…/chart-1.png", "type": "image", "alt": "Build time per week, falling from 14 to 3 minutes" }, { "url": "https://…/chart-2.png", "type": "image" }, { "url": "https://…/chart-3.png", "type": "image" } ], "idempotency_key": "{{ $json.id }}" } // A document carousel { "platforms": ["linkedin"], "text": "Our Q3 report in 9 slides.", "media": [{ "url": "https://…/q3-report.pdf", "type": "document", "title": "Q3 report" }] } - Read the result, or schedule it
The node returns the post's id and its link,
https://www.linkedin.com/feed/update/…, andfirst_comment.oktells you the comment went out. To publish later, use Post → Schedule with When: At a Specific Time or In the Next Free Queue Slot. To react when a post lands, start a second workflow with the PostWire Trigger node (Post Published, Post Failed).
A retry with the same Idempotency Key is refused for 24 hours, so a re-run never posts twice; with Smart Distribute the node sets one per execution. LinkedIn sign-ins last about 60 days: Connection → Check Health in a weekly workflow, or the trigger's Connection Needs Sign-In event, tells you before a scheduled post is due.
Three ways to post to LinkedIn from n8n
n8n's own documentation and each vendor's page, read on Oct 11, 2026.
| Route | LinkedIn developer app of your own | Writes the post | Link in the first comment | Free to start |
|---|---|---|---|---|
| PostWire | No — a PostWire API key | Yes — Smart Distribute | Yes — first_comment | Free plan: 20 posts a month |
| n8n's LinkedIn node | Yes on self-hosted n8n (Client ID and Secret); n8n Cloud signs in for you | No — you pass Text | Not listed — one operation, Post → Create | Part of n8n |
| Upload-Post node | No — an Upload-Post API key | Not listed on its page | Not listed on its page | Free plan: 2 profiles, 10 uploads a month |
Checked on Oct 11, 2026 (2026-10-11) on each vendor's own pricing or docs page, linked in the first column and below. Monthly billing in USD unless noted. "Not listed" means we could not find it on their page, not that it is missing.
Where PostWire is ahead
- No LinkedIn developer app to create. n8n's credential guide for self-hosted n8n starts with a developer app tied to a LinkedIn Company Page, and two LinkedIn products to request on it.
- The post is written in the node, for LinkedIn: hook in the first 210 characters, short blocks, three hashtags. n8n's LinkedIn node takes the text you give it.
- The link goes in your first comment, and a comment LinkedIn refuses at first is retried by itself. n8n's LinkedIn node documents one operation: creating the post.
- Up to 20 images with alt text, or a PDF carousel, in one request.
- 20 posts a month on the free plan. Upload-Post's free plan has 10 uploads a month.
- Nine more networks from the same node, each with its own version of the news: TikTok, Instagram, YouTube, Facebook Pages, Bluesky, Mastodon, Telegram, Discord, and X on paid plans.
- n8n docs — LinkedIn node ("n8n supports creating posts"; Post → Create: Post As, Text, Media Category): docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.linkedin/
- n8n docs — LinkedIn credentials (a developer app with a LinkedIn Company Page; Share on LinkedIn and Sign In with LinkedIn using OpenID Connect; n8n Cloud: Connect my account): docs.n8n.io/integrations/builtin/credentials/linkedin/
- Upload-Post — n8n LinkedIn upload (community node, API key, post types): www.upload-post.com/n8n/linkedin-upload/
- Upload-Post plans (llms-full.txt: Free 2 profiles, 10 uploads a month; Basic $24 a month): www.upload-post.com/llms-full.txt
What LinkedIn accepts, and what PostWire does with it
- Text up to 3,000 characters, LinkedIn's limit for a post. A text-only post is fine: set Media to None.
- 1 to 20 images in one post, each up to 36 MB and each with its own alt text. One image shows as a single photo, two or more as LinkedIn's multi-image grid.
- One document per post — PDF, PowerPoint or Word, up to 100 MB — on its own, with a title. LinkedIn shows it as a carousel people swipe through.
- The link goes in your first comment, posted as you right after the post. If LinkedIn has not indexed the new post yet and refuses the comment, PostWire tries the comment alone again a few minutes later; the post itself is never sent twice.
- Special characters arrive intact: in LinkedIn's Posts API the characters
( ) [ ] { } < > @ | ~ _ * #are markup, and an unescaped one cuts a post short. PostWire escapes them and keeps hashtags clickable. - Sign-in lasts about 60 days: when it runs out, the dashboard and the node say "connect LinkedIn again" in those words, and one click on Connect renews it.
Source: PostWire's LinkedIn publisher, read Oct 11, 2026. More on the API itself: Does LinkedIn have an API?
With n8n's own LinkedIn node
n8n ships a LinkedIn node, and its documentation (read Oct 11, 2026) describes it in one line: "n8n supports creating posts". The operation is Post → Create, with Post As (Person or Organization), Text and Media Category for an image or an article URL.
On n8n Cloud you press Connect my account. On self-hosted n8n the credential needs a Client ID and Client Secret from a LinkedIn developer app you create: n8n's guide lists a LinkedIn Company Page as a prerequisite for creating the app, and the products Share on LinkedIn and Sign In with LinkedIn using OpenID Connect to request on it (n8n's LinkedIn credentials guide).
With the PostWire node there is one credential, an API key, and the same node writes the post, adds the first comment, and publishes that news to nine more networks.
What it does not do
PostWire publishes to LinkedIn personal profiles: text, images and documents. It does not post to LinkedIn Company Pages or upload video to LinkedIn, and it does not read your feed, send messages or connection requests, or react to other people's posts. A video in the same workflow still goes to TikTok, Instagram, YouTube and Facebook from the same node.
Questions people ask
Can n8n post to LinkedIn?
Yes, in three ways: n8n's built-in LinkedIn node (Post → Create), the community node n8n-nodes-postwire (Post → Publish with Networks set to LinkedIn), or an HTTP Request to a posting API such as https://postwire.io/api/post. The last two need an API key and no LinkedIn developer app.
Do I need a LinkedIn developer app to post from n8n?
With n8n's own LinkedIn node on self-hosted n8n, yes: its credential asks for the Client ID and Client Secret of an app you create, and n8n's guide lists a LinkedIn Company Page as a prerequisite for creating it (n8n docs, Oct 11, 2026). With the PostWire node you connect LinkedIn once in PostWire's dashboard and the workflow uses an API key.
How do I put the link in the first comment from n8n?
Send first_comment with the LinkedIn draft: in the PostWire node, Content → Drafts From a Previous Step with { "linkedin": { "text": "…", "first_comment": "…" } }, or add the URL and the words "link in the comments" to the Idea and Smart Distribute writes both. The comment is posted as you, right under the post, and takes up to 1,250 characters.
Can I post images or a PDF carousel to LinkedIn from n8n?
Yes. The node's Media field takes one image by URL or as a binary file. For 2 to 20 images, or one PDF, PowerPoint or Word document shown as a swipeable carousel, send media in an HTTP Request to /api/post: [{ "url": "…", "type": "image" }] or [{ "url": "…", "type": "document", "title": "…" }].
Does it work on n8n Cloud?
PostWire's community node is not verified by n8n yet, so it installs on self-hosted n8n only. On n8n Cloud, use the HTTP Request node against https://postwire.io/api/post with the same fields.
Can I schedule LinkedIn posts from n8n?
Yes: Post → Schedule with When set to At a Specific Time (Publish At) or In the Next Free Queue Slot. Scheduled Post → Get Many, Update and Cancel manage what is waiting.
How much does it cost?
The free plan includes LinkedIn, the API and the n8n node: 1 business, 20 posts a month, 5 AI drafts a day, 2 networks per post, no card. Starter is $9 a month for 3 businesses and Pro $29 for 10, with every network in each post; paid plans have a 14-day refund.
Try it on one business, free.
The free plan is 1 business, 20 posts a month, 5 AI drafts a day (about 20 a month) and 2 networks per post — every network connects free, no card, no time limit. Paid plans start at $9 a month and have a 14-day refund; Pro can be tried free for 7 days, with a card at checkout and nothing charged that day.