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",
      "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, profileUrl, headline.
      • For company authors: type, name, companyUrl.
    • reposter – person or company that reshared the post. Non–null only when type is repost.
      • For person reposters: type, name, profileUrl, headline.
      • For company reposters: type, name, companyUrl.
    • 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.
  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",
      "companyUrl": "https://www.linkedin.com/company/example–company"
    },
    "reposter": {
      "type": "person",
      "name": "Example Reposter",
      "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.