commentOnPost

This method allows you to leave a comment on a post.

typescript
try {
  const workflow = await linkedapi.commentOnPost.execute({
    postUrl: "https://www.linkedin.com/posts/username_activity-id",
    text: "Great insights! I completely agree with your perspective on this topic.",
    companyUrl: "https://www.linkedin.com/company/company1"
  });

  const { data, errors } = await linkedapi.commentOnPost.result(workflow.workflowId);

  // The list of possible execution errors is below
  if (errors && errors.length > 0) {
    console.warn('Workflow completed with execution errors:');
    errors.forEach(error => {
      console.warn(` - Type: ${error.type}, Message: ${error.message}`);
    });
  }

  // The structure of the 'data' object is below
  if (data) {
    console.log('Workflow completed successfully. Data:', data);
  }
} catch (e) {
  // A list of all critical errors can be found here:
  // https://linkedapi.io/sdks/handling-results-and-errors/#handling-critical-errors
  if (e instanceof LinkedApiError) {
    console.error(`Critical Error - Type: ${e.type}, Message: ${e.message}`);
  } else {
    console.error('An unexpected, non-API error occurred:', e);
  }
}

Params

  • postUrl – LinkedIn URL of the post to comment.
  • postUrn (optional) – LinkedIn URN of the post, accepted instead of postUrl. When both are provided, the URL must contain that same URN.
  • text – comment text, must be up to 1000 characters.
  • companyUrl (optional) – LinkedIn company page URL. When provided, the comment will be posted on behalf of the company. Requires content admin access to the company page.

Data

  • commentUrn – LinkedIn URN of the created comment, if available.
  • commentUrl – canonical deep-link URL of the created comment, if available. It can be used as the commentUrl input for reactToComment or replyToComment.

Errors

  • postNotFound – provided URL is not an existing LinkedIn post.
  • duplicateComment – this account already published the same text on this post through Linked API within the last 24 hours, so it was not published again. Text is compared after trimming and collapsing whitespace, and a comment published as a company page is counted separately from a personal one. The message links the earlier comment when it is known.
  • commentingNotAllowed – commenting is not allowed on this post. This could be due to the post author's privacy settings, LinkedIn restrictions on commenting, or because the post type does not support comments.
  • noPostingPermission – no permission to comment on behalf of this company.