# Reactions Documentation ## Shared Reaction Semantics The documentation outlines core requirements for reaction functionality across messaging platforms: - **Required parameter**: The `emoji` field must be included when adding reactions - **Removal mechanism**: Setting `emoji=""` removes the bot's reactions (where supported) - **Targeted removal**: The `remove: true` flag deletes specific emoji reactions (requires `emoji` to be specified) ## Platform-Specific Implementation Notes Different channels have distinct behaviors for reaction management: - **Discord/Slack**: An empty `emoji` value clears all bot reactions; `remove: true` eliminates only the targeted emoji - **Google Chat**: Empty `emoji` removes all app reactions; `remove: true` targets individual emoji removal - **Telegram**: Empty `emoji` clears bot reactions; `remove: true` requires a non-empty `emoji` for validation purposes - **WhatsApp**: Empty `emoji` removes the bot reaction, with `remove: true` functioning equivalently but still requiring an `emoji` value - **Signal**: Reaction notifications generate system events when the configuration setting `channels.signal.reactionNotifications` is enabled