React to a LinkedIn Post
li_react_to_postReact to ONE LinkedIn post from a chosen account, now: Like by default, or another of LinkedIn's reactions. The worker's browser opens the post, reads it like a person would, refuses if the page shows more than one post or the post already carries this account's reaction (a reaction is a toggle, so it is never clicked twice), clicks once, and confirms the reaction shows. Returns outcome (reacted, already_reacted, post_unavailable, not_confirmed, failed), the post's author as the page names them, and reactionsToday. Dry-run unless confirmReact=true: confirm the post and the account with the user first, since a reaction is public.
Capped at 15-25 reactions a day per account (our policy; LinkedIn publishes no limit), shared with campaign engagement, and spaced a few minutes apart, so a call may wait for its turn. Not held to sending hours (a person asked now). A timeout is NOT a failure: the job is still queued, so never call again for the same post; read li_job_result with the returned jobId.
To warm up an INVITE, do not call this: give the prospect engagePostUrl in li_ingest_prospects or li_create_campaign and the campaign reacts about a day before the invite, never less than 16 hours, checking the post is really theirs. Reading someone's recent posts to pick one is a separate lookup; this tool only reacts.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| postUrl | Yes | The post: https://www.linkedin.com/feed/update/urn:li:activity:<id>/ (also share/ugcPost urns) or a https://www.linkedin.com/posts/<...>/ copy-link. Anything else is refused before a browser opens. | |
| reaction | No | LIKE (default), PRAISE (Celebrate), EMPATHY (Love), INTEREST (Insightful), APPRECIATION (Support) or ENTERTAINMENT (Funny); the on-screen name works too. | |
| sessionId | No | Account id from li_list_accounts. Needed (or sessionLabel) when you have more than one account; never guessed. | |
| confirmReact | Yes | Must be true to react; false returns a dry-run preview and touches nothing | |
| sessionLabel | No | Account by label, LinkedIn name, profile slug or member id (li_list_accounts). Needed (or sessionId) when you have more than one account; never guessed. |