List Posts

linkedin.list_posts
ActionChat & messagingconnection required

Calls the LinkedIn API with the connection's credentials.

Page through the posts one person or organization authored, newest first.

Connection

Required
Yes — the node will not save without one
Auth type
Bearer token
Providers
LinkedIn
Secret shape
the LinkedIn OAuth2 access token, or {"access_token": "…"}
Config it needs
api_version
Resolved by
config.connection_id, else node.connection_id

Configuration

5 fields, 1 required. A dotted path is a nested object and name[] an array of objects — the editor renders the same tree.

FieldTypeRequiredDefaultConstraintsExample
author_urn
Who the post is by: urn:li:person:{id} (from linkedin.get_me) or urn:li:organization:{id} (from linkedin.list_organizations). Supports {{ }}.
stringYes——urn:li:person:yrZCpj2Z12
count
How many rows to return on this page. LinkedIn caps it at 100.
numberNo101–100—
start
Index of the first row to return. To page on, feed the previous step's next_start back in — not its count, which is only how many rows that page happened to hold.
numberNo00–100000—
sort_by
Order the page by when posts were last modified, or when they were created.
stringNoLAST_MODIFIEDone of "LAST_MODIFIED", "CREATED"—
view_context
READER returns the published version anyone can see; AUTHOR returns the author's latest, which may still be DRAFT or PROCESSING.
stringNoREADERone of "READER", "AUTHOR"—

Example configuration

Every value below is the contract’s own example or default — nothing invented.

{
  "author_urn": "urn:li:person:yrZCpj2Z12",
  "count": 10,
  "sort_by": "LAST_MODIFIED",
  "start": 0,
  "view_context": "READER"
}

Output

One shape.

result

FieldTypeExample
posts[].id
The post URN — urn:li:share:… or urn:li:ugcPost:….
string—
posts[].author
The person or organization URN that authored it.
string—
posts[].commentary
The post text, with mentions and hashtags as stored.
string—
posts[].visibility
PUBLIC, CONNECTIONS, LOGGED_IN or CONTAINER.
string—
posts[].lifecycle_state
PUBLISHED, DRAFT, PUBLISH_REQUESTED or PUBLISH_FAILED.
string—
posts[].created_at
When the post was created (epoch milliseconds).
number—
posts[].last_modified_at
When the post last changed (epoch milliseconds).
number—
posts[].published_at
When the post went live (epoch milliseconds).
number—
posts[].content
The attached content — media, article, poll — or {} for text.
object—
posts[].distribution
feedDistribution and any targeting the post carries.
object—
count
How many rows this page actually returned.
number—
start
The index this page started at.
number—
next_start
The 'start' for the next page — this page's start plus the requested count. Pass it back in as start; stop when a page returns no rows.
number—
{
  "count": 0,
  "next_start": 0,
  "posts": [
    {
      "author": "",
      "commentary": "",
      "content": {},
      "created_at": 0,
      "distribution": {},
      "id": "",
      "last_modified_at": 0,
      "lifecycle_state": "",
      "published_at": 0,
      "visibility": ""
    }
  ],
  "start": 0
}

Notes

  • LinkedIn may return fewer rows than 'count' and still have more pages, so page on with next_start until a page comes back empty — a short page is not the end.

See List Posts run in a workflow.

In a technical demo we add the LinkedIn connection, drop the node on the canvas and let Workflow Health pre-flight it before the first real run.