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
postUrlparameter 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 totrue, 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
- Successful post opening with
basicInfoset totrue:
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 benullif the actor cannot be parsed.- For person authors:
type,name,profileUrl,headline. - For company authors:
type,name,companyUrl.
- For person authors:
reposter– person or company that reshared the post. Non–null only whentypeisrepost.- For person reposters:
type,name,profileUrl,headline. - For company reposters:
type,name,companyUrl.
- For person reposters:
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.
- Successful repost opening with
basicInfoset totrue:
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": { ... }
}
}- Successful post opening with
basicInfoset tofalse:
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.
- 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.