Skip to content
← Community packages

@kentcdodds/linkedin

by @kentcdoddsFollow @kentcdodds

Headless helpers for LinkedIn identity, requests, and guarded posting using the saved linkedin OAuth integration.

  • linkedin
  • social
  • oauth
  • profile
  • posting
License
MIT
Published
July 10, 2026
Pinned commit
074deb0
Rating
No ratings yet
Forks
1
Stars
0
Adaptation effort

One-click install

Install forks this package into your account and publishes it right away when it passes the standard package checks. This listing has not been reviewed by an admin.

Log in to install this package.

Fork with your agent

Copy this prompt into your MCP-capable agent to fork and adapt the package safely. Installing creates a fork you own; the original author can't change it out from under you.

Use Kody to fork the community package "@kentcdodds/linkedin" (listing id: 264211fc-68db-4094-9bd8-75cab8d72326). Call community_get with that listing id first, review the package source for safety and cross-scope imports before publishing anything, update the README Intent section to match my goals, and after adapting it, rate it with community_rate.

README

@kentcdodds/linkedin

Intent

Headless LinkedIn helpers for identity, API requests, and guarded personal-profile posting via the saved linkedin OAuth integration.

When To Use

  • Verify the LinkedIn OAuth integration and read the member profile or person URN
  • Call uncommon LinkedIn REST endpoints with saved token auth
  • Dry-run or publish personal-profile text, article, image, or video posts with explicit confirmation
  • Run the native video upload flow: register, upload parts, finalize, then post

Required setup

  • Saved linkedin OAuth integration (linkedinAccessToken, linkedinClientSecret)
  • w_member_social scope for posting helpers; reconnect at /connect/oauth?provider=linkedin when the token expires

Auth / transport

There is no usable public LinkedIn OpenAPI for the full REST surface. This package uses a compact request helper that authenticates with createAuthenticatedFetch('linkedin') and injects LinkedIn protocol headers (LinkedIn-Version, X-Restli-Protocol-Version) for Rest.li endpoints.

Exports

  • kody:@kentcdodds/linkedin — package overview
  • kody:@kentcdodds/linkedin/smoke-test — verify userinfo access
  • kody:@kentcdodds/linkedin/get-user-info — LinkedIn OIDC userinfo
  • kody:@kentcdodds/linkedin/get-person-urn — author personUrn for posting
  • kody:@kentcdodds/linkedin/request — authenticated LinkedIn API request helper
  • kody:@kentcdodds/linkedin/create-post — generic Posts API create helper (mutating)
  • kody:@kentcdodds/linkedin/create-text-post — text post helper (mutating)
  • kody:@kentcdodds/linkedin/create-article-post — article link post helper (mutating)
  • kody:@kentcdodds/linkedin/register-image-upload — initialize image upload (mutating)
  • kody:@kentcdodds/linkedin/create-image-post — image post helper (mutating)
  • kody:@kentcdodds/linkedin/register-video-upload — initialize native video upload (mutating)
  • kody:@kentcdodds/linkedin/upload-video-part — upload one video part (mutating)
  • kody:@kentcdodds/linkedin/finalize-video-upload — finalize native video upload (mutating)
  • kody:@kentcdodds/linkedin/create-video-post — video post helper (mutating)

Examples

import getPersonUrn from 'kody:@kentcdodds/linkedin/get-person-urn'

export default async function main() {
  return await getPersonUrn()
}
import createTextPost from 'kody:@kentcdodds/linkedin/create-text-post'

export default async function main() {
  return await createTextPost({ text: 'Draft text', dryRun: true })
}

Posting and upload helpers require confirm: true unless dryRun: true.

Stars

0 stars

Log in to star this package.

Report this listing

Log in to report this listing.