Zapier LinkedIn Integration
The connection takes a minute, and then you discover no Zap can start from anything happening on LinkedIn.
Zapier’s built-in LinkedIn app has three actions and zero triggers. Create Share Update posts to a member profile, Create Company Update posts to a Page you administer, and a beta API Request action makes raw calls against LinkedIn’s own API. Nothing in it searches, invites or messages, and no Zap can start from a LinkedIn event.
Both of those gaps have a route around them, and the routes cost different things. Inbound needs a webhook the Zap catches, outbound needs an account-based LinkedIn API behind an HTTP step, and Zapier’s plan rules decide which of the two you can reach at all. The outbound half is where a LinkedIn account is at stake, so its budget belongs below the Zap. On that stack, gtm-api.com reports 20,000+ accounts at under a 1% ban rate.
On this page
What Zapier’s LinkedIn app actually does
Zapier’s own help article for the app is unusually blunt about the shape of it. Under triggers it says “No triggers are available for LinkedIn.” Under searches it says “No search actions are available for LinkedIn.” What remains is three actions, and Zapier frames the app’s purpose to match: “LinkedIn and Zapier connect to automate your social media marketing workflows.”
| Step type | What Zapier ships | Covers |
|---|---|---|
| Triggers | None | No Zap starts from a LinkedIn event |
| Searches | None | No lookup step of any kind |
| Action: Create Share Update | Available | A post on the connected member’s profile, with text, URLs, images and visibility |
| Action: Create Company Update | Available | A post on a Company Page you administer, with content, images and mentions |
| Action: API Request | Beta | A raw HTTP call carrying the app’s LinkedIn authentication, so it inherits the same permissions |
The permissions explain the ceiling. Zapier lists the OAuth scopes its LinkedIn app requests as r_basicprofile rw_organization_admin r_organization_social w_organization_social w_member_social. Every one of those is a profile, page or publishing scope. None of them covers search, invitations or messages, because LinkedIn does not hand those scopes out through the self-serve products a public marketplace app can rely on. The map of which LinkedIn programs are open, gated and closed is on How to get LinkedIn API access.
One piece of good news in the small print: the LinkedIn app is not a premium app, so it works on Zapier’s Free plan. The step you will need later, Webhooks by Zapier, is the one that is not.
The company Page dropdown that comes back empty
The most common support question about this app has a one-line answer, and Zapier prints it directly on the field. The LinkedIn Company Page selector on Create Company Update carries the help text “You must be an administrator of a Company Page for it to show up here.” The requirement appears twice more in the help article, once as a prerequisite and once under Limitations: “To use the Create Company Update action, you must be an administrator of the company page.”
Three practical consequences follow from that, and they catch people in this order.
- The gate is the connected member’s own admin role. Zapier builds the dropdown from what that one member administers, so a Page the company owns can still be invisible to the Zap.
- The connection is per member, not per company. If the colleague who set up the Zap leaves and their LinkedIn account goes with them, the Zap loses the Page it was posting to.
- A role change does not always show up immediately. Reconnecting the app refreshes what Zapier can see, which is the first thing to try once the admin role is definitely in place.
On expiry, the useful fact is an absence. Zapier’s help centre publishes no re-authentication cadence for LinkedIn connections at all, so any fixed interval you have been told to plan around did not come from Zapier. What it does document is event-driven: “You must reconnect your app connection if your password changed recently or if your organization enforced additional security controls.”
Starting a Zap from something that happened on LinkedIn
Since the LinkedIn app has no triggers, the Zap has to be started by something else, and the something else is an inbound webhook. Catch Hook in Webhooks by Zapier gives you a URL, an account-based LinkedIn API subscribes that URL to the events you care about, and the Zap runs the moment one fires.
Zapier documents two properties of that URL that matter for this design. It is stable, “The Catch Hook URL is linked to the Zap and will not change”, so a subscription registered once keeps working. And it is a secret: “The URL is secured by obscurity. It is almost impossible to guess the combination of the number and code in the URL. But if you make the URL public (e.g. in front-end JavaScript) anyone who finds it will be able to spam it and trigger your Zap. Treat it as a password or any other secret!” One more behaviour saves a debugging hour: a completely empty request is ignored, so nothing runs and nothing lands in the Zap history.
POST https://app.gtm-api.com/orchestration/v4/api/webhooks
Authorization: Bearer $GTM_API_KEY
{
"name": "zapier-linkedin",
"target_url": "https://hooks.zapier.com/hooks/catch/.../.../",
"events": [
"linkedin-connection-requests.accepted",
"linkedin-messages.received"
]
}
The response carries a signing secret once, on create, and it is masked on every later read, so store it when you see it. Put every event type you want into the one events array, because a target URL holds one subscription per team and a second registration on the same URL is refused. The full event vocabulary, including the limit-reached and login-failed events worth alerting on, is in the developer documentation.
One nuance about the no-triggers claim, which applies to this specific app. LinkedIn Ads is a separate Zapier app, and it does carry two instant triggers, both for lead-gen form responses, organic and sponsored. If your Zap is about ad leads, that app is where it starts.
Invitations and messages from a Zap
The outbound half is a Webhooks by Zapier POST step: the endpoint URL, JSON in the body, and the bearer token in a header. That is the whole integration pattern, and it is the same one you would use for any API Zapier has no app for.
URL https://app.gtm-api.com/linkedin/v4/api/linkedin-connection-requests/send
Payload Type json
Data linkedin_account_sid ln_ac_...
profile_id ACoAA...
note Hi {{first_name}}, ...
Headers Authorization Bearer $GTM_API_KEY
Content-Type application/json
Two things about that step deserve a warning label before you build on it.
The first is the plan. Webhooks by Zapier is a premium app, and Zapier’s policy on those is one sentence: “Premium apps on Zapier are only available to users on a paid Zapier plan or while on a free trial.” So a Free-plan account can connect LinkedIn and publish posts, and cannot make the HTTP call that does everything else. That is a Zapier billing rule, and it has nothing to do with LinkedIn’s own permissions.
The second is the field. The invitation endpoint takes profile_id, a member URN in the ACoAA... form, and it does not accept a profile URL. A spreadsheet column of profile URLs therefore needs an enrichment call in front of the send step to resolve the URN. The same shape written out as a working three-step flow, with the exact request bodies, is on Automate LinkedIn with n8n, and it transfers to Zapier unchanged.
What does not transfer from a normal API integration is the pacing. A Zap fires the moment its trigger fires, and a queue of 200 rows arriving at nine in the morning is a queue of 200 invitations at nine in the morning. Per-action daily budgets and randomised spacing are enforced on the server, per connected account, so the Zap can push and the budget holds it back. Every published cap that sits under is on LinkedIn limits, and what happens when one is ignored is on LinkedIn account restricted.
The agent route: Zapier MCP and the MCP Client
Two Zapier features carry the letters MCP and they point in opposite directions, which is why the names get muddled. Zapier MCP exposes Zapier’s own app library to your AI client. The MCP Client integration does the reverse, connecting a Zap to somebody else’s remote MCP server.
Zapier’s definition of the first one: “Zapier MCP connects your AI client to your Zapier account, so your AI can take real actions in the apps you already use.” Each server you create belongs to one AI client, and the billing is on your existing plan, at two tasks per successful tool call.
The second is the one that reaches an outside LinkedIn API, and Zapier labels it plainly: “MCP Client is a beta feature. It’s available for use, but still in active development and may change.” Its connection form asks for a Server URL, whether the server uses OAuth, an optional bearer token, and a Transport, where the choices are Streamable HTTP and SSE. Both of those transports are supported at https://mcp.gtm-api.com/mcp, and the connection authenticates over OAuth, so there is no key to paste into a Zap.
Zapier documents the failure mode this setup produces most often, and it is not an authentication problem even though it looks like one. If you connect and are “immediately asked to reconnect”, one thing to check is that “the server may only support SSE, and previously you selected Streamable HTTP.” Zapier also attaches a caution worth repeating, because an MCP server executes actions on your behalf: “You should only connect to remote MCP servers you trust. Before connecting, review the server’s security policies and conditions of use.”
Once connected, the MCP Client has the triggers and actions the LinkedIn app lacks, in generic form: New Tool and New Tool Result as triggers, Run Read-Only Tool as a search, and Run Tool as an action. Which LinkedIn tools appear behind those, and how the same server behaves in Claude, Cursor and the rest, is on LinkedIn MCP server.
What all of this costs in tasks
Zapier bills tasks, and the definition is narrower than most people assume: “A task is any successful action that runs in Zapier. Only successful actions count toward your task usage.” Trigger steps, filters, paths, and every action that errors or never runs are all free.
The line that matters for a webhook-driven design is this one: “Zap triggers never use tasks. A Zap’s first step is always a trigger. Polling triggers will poll an app or check for new trigger events at a regular interval, but these polls never use tasks.” Zapier even prices the point for you: “If a Zap checks an app every two minutes, it will complete over 20 thousand polls per month. Zapier does not charge for these events.”
So polling is free in tasks and expensive in latency, and that is where the plan tier shows up.
| Zapier plan | Polling interval | Webhooks by Zapier | Zapier MCP |
|---|---|---|---|
| Free | 15 minutes | Not included, premium app | Included |
| Professional | 2 minutes | Included | Included |
| Team | 1 minute | Included | Included |
| Enterprise | 1 minute | Included | Included |
An inbound webhook sidesteps the whole column: a Catch Hook trigger fires when the event arrives, at any plan tier that includes the app, and it costs no task to receive. What you pay for is the actions that follow it, one task each, and only when they succeed. Zapier’s own note on the MCP path is the exception to watch, at two tasks per successful tool call, which doubles the cost of an agent-driven Zap against the same work done as ordinary steps.
Frequently Asked Questions
Does the Zapier LinkedIn app have any triggers?
No. Zapier’s own help article states that no triggers are available for LinkedIn, and no search actions either. Only three actions exist: Create Share Update, Create Company Update, and a beta API Request action. To start a Zap from a LinkedIn event, use Catch Hook in Webhooks by Zapier and subscribe that URL to an account-based LinkedIn API. LinkedIn Ads is a separate Zapier app and does carry two instant lead-gen triggers.
Why is my LinkedIn company page missing from the Zapier dropdown?
Because the connected LinkedIn member is not an administrator of it. Zapier prints the rule on the field itself: you must be an administrator of a Company Page for it to show up there, and the same requirement appears twice more in the app’s help article. The dropdown is built from what that one member administers, so a Page your company owns but that member does not administer will not appear. Once the admin role is in place, reconnect the app.
Do I need a paid Zapier plan to call a LinkedIn API from a Zap?
For the webhook route, yes. Webhooks by Zapier is a premium app, and Zapier’s policy is that premium apps are only available on a paid plan or during a free trial. The built-in LinkedIn app is not premium, so publishing posts works on the Free plan. Zapier MCP is available on all plans including Free, which makes the agent route the one Free-plan path to actions the LinkedIn app does not cover.
How many Zapier tasks does a LinkedIn automation use?
One per successful action, and nothing for the trigger. Zapier counts a task as any successful action that runs, and states that Zap triggers never use tasks, polling included. Filters, paths and failed steps are free. The exception is Zapier MCP, where each successful tool call counts as two tasks and failed calls count as none.
What is the difference between Zapier MCP and Zapier’s MCP Client?
They point in opposite directions. Zapier MCP is a server Zapier hosts that exposes Zapier’s own app library to your AI client, such as Claude or Cursor. The MCP Client integration is a Zapier app that connects a Zap to an external MCP server by URL, over Streamable HTTP or SSE, and turns that server’s tools into Zap triggers, searches and actions. It is in beta.
Sources & Further Reading
- Zapier, How to get started with LinkedIn on Zapier (the quoted absence of triggers and searches, the three actions, the company-page administrator requirement, and the social-media-marketing framing), read 1 September 2026
- Zapier, LinkedIn app directory listing (the OAuth scope list, and the quoted help text on the Company Page field), read 1 September 2026
- Zapier, LinkedIn Ads app directory listing (the two instant lead-gen triggers that the LinkedIn app does not have), read 1 September 2026
- Zapier, How to get started with Webhooks by Zapier (the quoted Catch Hook URL stability and secrecy notes, the ignored empty request, and the plan availability), read 1 September 2026
- Zapier, What is a premium app (the quoted paid-plan restriction), read 1 September 2026
- Zapier, App connections on Zapier (the quoted event-driven reconnection statement), read 1 September 2026
- Zapier, How task usage is measured (the quoted task definition, the triggers-never-use-tasks rule, the 20 thousand polls figure, and the two-task MCP rate), read 1 September 2026
- Zapier, How Zap triggers work (the polling interval per plan), read 1 September 2026
- Zapier, What is Zapier MCP (the quoted definition, the per-client server model, and the plan availability), read 1 September 2026
- Zapier, Connect remote MCP servers using MCP Client (the quoted beta notice, the transport choices, the reconnect-loop diagnosis, the trust warning, and the trigger and action list), read 1 September 2026
- gtm-api.com, developer documentation (the endpoints, request fields and webhook event names used above)
- Related: LinkedIn integrations for n8n, Zapier and Make · Automate LinkedIn with n8n · LinkedIn MCP server · How to get LinkedIn API access · LinkedIn limits · LinkedIn account restricted
Give the Zap the half LinkedIn keeps closed.
Search, invitations, messages and inbound events from one HTTP step or one MCP connection, on accounts you connect, inside budgets the server enforces. On that stack, gtm-api.com reports 20,000+ accounts at under a 1% ban rate. Free plan, then from $10 per account at volume.
Last updated: September 2026 · App capabilities, plan rules and task accounting re-read on Zapier’s own help centre and app directory on 1 September 2026
