LinkedIn integration | Zervanor
← All connectors

LinkedIn

Also an agent tool
marketing

LinkedIn REST API integration (versioned Community Management surface). OAuth 2.0 3-legged (Authorization Code) with the two mandatory per-call version headers — LinkedIn-Version (YYYYMM, per-instance config key linkedin_version) and X-Restli-Protocol-Version: 2.0.0 (literal) — injected via oauth_config.extra_headers (ADR-033). api_base_url is the versioned host https://api.linkedin.com/rest; the two member-identity reads (get_userinfo, get_me) override to https://api.linkedin.com/v2 via per-action http.base_url (ADR-030). In-scope surface: member identity (OpenID userinfo, lite profile), Posts CRUD + author finder, social-action Comments + Reactions, Organizations + Organization ACLs, and organic Share Statistics. URN path/query values must be percent-encoded and Rest.li finder/association keys follow the 2.0 protocol (linkedin-02). LinkedIn has NO usable push webhook for a standard (non-partner) app (linkedin-05/06), so there are no triggers[]/mappings[] — the trigger model is a polling{} block on the Posts author finder. Media (image/video/document) upload, Ads/Marketing Developer Platform, Audiences/DMP, Lead Sync, Social Metadata, and restricted member reads are partner-/access-gated and deferred for v1.

15 actions · 1 triggers

The LinkedIn integration lets you connect LinkedIn to your automations with 15 actions and 1 triggers — and every action is also a tool an AI agent can call. Examples: Get OpenID Userinfo, Get Current Member Profile, Create Post, Get Post, Find Posts by Author. No blank-canvas wiring — connect it and use it in your workflows.

Every action below is also a tool an AI agent can call — the same pack powers your workflows and your agents.

Triggers 1

Events in LinkedIn that can start a workflow.

polling

LinkedIn — New or updated post (by author)

Polls an organization's posts; needs r_organization_social and the org URN as author.

Actions 15

What Zervanor can do in LinkedIn.

Posts5

POST

Create Post

Create a post as a member or administered organization (LinkedIn: POST /rest/posts). Text/article/reshare posts work without media upload. Returns 201; the new Post URN is in the x-restli-id response header (not the body). For organization authoring needs w_organization_social; member needs w_member_social.

GET

Get Post

Retrieve a single post by URN (LinkedIn: GET /rest/posts/{postUrn}). postUrn must be percent-encoded (urn:li:ugcPost:123 -> urn%3Ali%3AugcPost%3A123).

GET

Find Posts by Author

Find posts authored by a person or organization URN (LinkedIn: GET /rest/posts?q=author). Primary polling source. author must be percent-encoded; needs r_organization_social and the org URN as author. Sorts by LAST_MODIFIED. The X-RestLi-Method: FINDER header is required by LinkedIn — supply it via the X-RestLi-Method param or instance request config (linkedin-02).

POST

Update Post

Partially update a post (LinkedIn: POST /rest/posts/{postUrn}). Editable fields via { patch: { $set: { ... } } } — commentary, contentCallToActionLabel, contentLandingPage, lifecycleState, adContext. Returns 204. The X-RestLi-Method: PARTIAL_UPDATE header is required (linkedin-02).

DELETE

Delete Post

Delete a post by URN (LinkedIn: DELETE /rest/posts/{postUrn}). Idempotent; returns 204. The X-RestLi-Method: DELETE header is required (linkedin-02). Cleanup action for the (optional) create_post write test.

SocialActions4

GET

Get Comment

Retrieve a single comment on an entity (LinkedIn: GET /rest/socialActions/{entityUrn}/comments/{commentId}). entityUrn is a share/ugcPost/comment URN (percent-encoded).

GET

List Comments

List comments on an entity (LinkedIn: GET /rest/socialActions/{entityUrn}/comments). Pass a comment URN as entityUrn for nested replies.

POST

Create Comment

Create a comment on an entity (LinkedIn: POST /rest/socialActions/{entityUrn}/comments). Body: actor (person/org URN), object (entity URN), message.text, optional content/parentComment. New comment id returned in the x-restli-id response header.

DELETE

Delete Comment

Delete a comment on an entity (LinkedIn: DELETE /rest/socialActions/{entityUrn}/comments/{commentId}). The actor query param is required when acting as an organization.

Me1

GET

Get Current Member Profile

Retrieve the authenticated member's lite profile — id, localizedFirstName/LastName, headline, profilePicture (LinkedIn: GET /v2/me). Construct urn:li:person:{id} from the returned id. Member-identity endpoint on /v2 (per-action base_url override).

OrganizationAcls1

GET

Find My Organization Roles

List the organizations the authenticated member has roles on (LinkedIn: GET /rest/organizationAcls?q=roleAssignee). Returns role, organization, state. Parameter-free connectivity/identity read that proves the org scope + version headers. Requires rw_organization_admin / r_organization_admin. The X-RestLi-Method: FINDER header is required (linkedin-02).

OrganizationalEntityShareStatistics1

GET

Get Organization Share Statistics

Retrieve organic share statistics for an organization (LinkedIn: GET /rest/organizationalEntityShareStatistics?q=organizationalEntity). Omit timeIntervals for the lifetime aggregate. Organic only; rolling 12-month window; no pagination. Requires rw_organization_admin. organizationalEntity must be percent-encoded. The X-RestLi-Method: FINDER header is required (linkedin-02).

Organizations1

GET

Get Organization

Retrieve an administered organization by id (LinkedIn: GET /rest/organizations/{organizationId}). Full fields when the caller is ADMINISTRATOR; 403 otherwise. Requires rw_organization_admin / r_organization_admin.

Reactions1

POST

Create Reaction

React to a share, ugcPost, or comment (LinkedIn: POST /rest/reactions?actor={actor}). Body: root (target URN), reactionType (LIKE, PRAISE, EMPATHY, INTEREST, APPRECIATION, ENTERTAINMENT). actor query param must be percent-encoded. Returns 201.

Userinfo1

GET

Get OpenID Userinfo

Retrieve the authenticated member's OpenID claims — sub, name, given_name, family_name, picture, email, email_verified, locale (LinkedIn: GET /v2/userinfo). Parameterless, safe identity/connectivity probe that validates the OAuth token. Requires openid profile email scopes. Member-identity endpoint on /v2 (per-action base_url override). Connector READ test target.

Automations using LinkedIn

Build your own automation with LinkedIn in the visual builder.

Frequently asked questions

What can I automate with LinkedIn?

15 actions are available — for example: Get OpenID Userinfo, Get Current Member Profile, Create Post, Get Post, Find Posts by Author, and more.

Which LinkedIn events can start a workflow?

1 triggers — for example: LinkedIn — New or updated post (by author).

Can LinkedIn be used as an AI agent tool?

Yes. Every LinkedIn action automatically becomes a tool an AI agent can call — the same pack powers both your workflows and your agents.

How is the LinkedIn integration modelled?

LinkedIn is modelled as a versioned connector pack, and the steps that need reasoning fall to first-party agents hosted in the same runtime as the workflows.