> ## Documentation Index
> Fetch the complete documentation index at: https://praison.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# react • AI Agent SDK

> react: Add (or remove) a reaction on a message (Issue #3917).

# react

<div className="flex items-center gap-2">
  <Badge color="blue">Async</Badge>
  <Badge color="purple">Method</Badge>
</div>

> This is a method of the [**OutboundMessengerProtocol**](../classes/OutboundMessengerProtocol) class in the [**protocols**](../modules/protocols) module.

Add (or remove) a reaction on a message (Issue #3917).

A lightweight acknowledgement path for busy group channels: rather than
posting a whole reply, an agent can react with a single emoji. Gated on
the channel's `PlatformCapabilities.reactions` — a channel that cannot
react returns a typed `unsupported` outcome instead of raising, so the
model never has to guess.

## Signature

```python theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
async def react(target: str, emoji: str) -> 'ReactionResult'
```

## Parameters

<ParamField query="target" type="str" required={true}>
  Symbolic target token ("origin", "\<platform>", "\<platform>:\<chat\_id>\[:\<thread\_id>]", or a friendly alias).
</ParamField>

<ParamField query="emoji" type="str" required={true}>
  The reaction emoji to add/remove.
</ParamField>

### Returns

<ResponseField name="Returns" type="'ReactionResult'">
  class:`ReactionResult` describing the outcome.
</ResponseField>

## Source

<Card title="View on GitHub" icon="github" href="https://github.com/MervinPraison/PraisonAI/blob/main/src/praisonai-agents/praisonaiagents/gateway/protocols.py#L2571">
  `praisonaiagents/gateway/protocols.py` at line 2571
</Card>
