st.openPost

This action allows you to open a post to retrieve its data and perform additional post-related actions if needed.

Constraints

⏺️ Root Start: allowed, when postUrl parameter is provided.

⬆️ Parent Actions: st.doForPosts.

⬇️ Child Actions: st.reactToPost, st.commentOnPost, st.retrievePostComments, st.retrievePostReactions.

Parameters

json
{
  "actionType": "st.openPost",
  "label": "post1",
  "postUrl": "https://www.linkedin.com/posts/post1",
  "basicInfo": true,
  "then": { ... }
}
  • label (optional) – custom label for tracking this action in workflow completion.
  • postUrl (required for root start, forbidden for parent start) – LinkedIn URL of the post.
  • basicInfo (optional, default: false) – when set to true, the action includes basic post information in the results.
  • then (optional) – object or array of child actions to be executed within this action.

Result options

  1. Successful post opening with basicInfo set to true:
json
{
  "actionType": "st.openPost",
  "label": "post1",
  "success": true,
  "data": {
    "url": "https://www.linkedin.com/feed/update/urn:li:activity:1234567890123456789",
    "activityUrn": "urn:li:activity:1234567890123456789",
    "time": "2023-01-02T12:30:00Z",
    "type": "original",
    "author": {
      "type": "person",
      "name": "Example Person",
      "urn": "urn:li:member:123456789",
      "profileUrl": "https://www.linkedin.com/in/example-person",
      "headline": "Product Marketing Lead"
    },
    "reposter": null,
    "text": "Check out our latest product launch!",
    "repostText": null,
    "hashtags": ["product", "launch"],
    "mentions": ["https://www.linkedin.com/company/example-company"],
    "externalLinks": ["https://example.com/launch"],
    "images": [
      "https://static.linkedin.com/image1.jpg",
      "https://static.linkedin.com/image2.jpg"
    ],
    "documentSlides": [],
    "hasVideo": false,
    "videoThumbnail": null,
    "hasPoll": false,
    "reactionsCount": 27,
    "commentsCount": 8,
    "repostsCount": 12,
    "then": { ... }
  }
}
  • label – included only if specified in the action parameters.
  • data – basic information about the post and results of child actions execution.
    • url – URL of the post.
    • activityUrn – LinkedIn activity or UGC URN of the post, if available.
    • time – timestamp when the post was published.
    • type – type of the post. Enum with possible values:
      • original – for original posts.
      • repost – for reposts.
    • author – original content creator. Can be null if the actor cannot be parsed.
      • For person authors: type, name, urn, profileUrl, headline.
      • For company authors: type, name, urn, companyUrl.
    • reposter – person or company that reshared the post. Non-null only when type is repost.
      • For person reposters: type, name, urn, profileUrl, headline.
      • For company reposters: type, name, urn, companyUrl.
    • urn on an actor – URN of that person or company, or null when LinkedIn does not expose an identifier for the actor.
    • text – original author's post text, if available.
    • repostText – text added by the reposter on a repost with comment, if available.
    • hashtags – array of hashtags found in the post text, without leading #.
    • mentions – array of person and company profile URLs found in the post text.
    • externalLinks – array of outbound URLs found in the post text.
    • images – array of up to 3 preview image URLs, if available.
    • documentSlides – array of carousel or document slide image URLs, if available.
    • hasVideo – boolean indicating if the post contains a video.
    • videoThumbnail – URL of the video thumbnail, if available.
    • hasPoll – boolean indicating if the post contains a poll.
    • reactionsCount – number of reactions on the post.
    • commentsCount – number of comments on the post.
    • repostsCount – number of reposts on the post.
    • then – results of child actions execution.

This action reads actor identifiers from the post page itself, so it resolves urn for actors that post listings such as st.retrieveFeed or st.retrievePersonPosts cannot. If you need URNs for the authors of many posts, open the posts you care about rather than relying on the listing alone.

  1. Successful repost opening with basicInfo set to true:
json
{
  "actionType": "st.openPost",
  "label": "post1",
  "success": true,
  "data": {
    "url": "https://www.linkedin.com/feed/update/urn:li:activity:2345678901234567890",
    "activityUrn": "urn:li:activity:2345678901234567890",
    "time": "2023-01-03T09:15:00Z",
    "type": "repost",
    "author": {
      "type": "company",
      "name": "Example Company",
      "urn": "urn:li:organization:1234567",
      "companyUrl": "https://www.linkedin.com/company/example-company"
    },
    "reposter": {
      "type": "person",
      "name": "Example Reposter",
      "urn": "urn:li:member:234567890",
      "profileUrl": "https://www.linkedin.com/in/example-reposter",
      "headline": null
    },
    "text": "Original post content about the webinar.",
    "repostText": "A useful summary for anyone planning a launch.",
    "hashtags": [],
    "mentions": [],
    "externalLinks": [],
    "images": [],
    "documentSlides": [],
    "hasVideo": true,
    "videoThumbnail": "https://media.licdn.com/dms/image/video-cover.jpg",
    "hasPoll": false,
    "reactionsCount": 6,
    "commentsCount": 0,
    "repostsCount": 1,
    "then": { ... }
  }
}
  1. Successful post opening with basicInfo set to false:
json
{
  "actionType": "st.openPost",
  "label": "post1",
  "success": true,
  "data": {
    "then": { ... }
  }
}
  • label – included only if specified in the action parameters.
  • data.then – results of child actions execution.
  1. Failed post opening:
json
{
  "actionType": "st.openPost",
  "label": "post1",
  "success": false,
  "error": {
    "type": "postNotFound",
    "message": "The provided URL is not an existing LinkedIn post."
  }
}
  • label – included only if specified in the action parameters.
  • error.type – enum with the following possible values:
    • postNotFound – provided URL is not an existing LinkedIn post.