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

# sendAppMessage()

> Sends a message to one or more participants in the call.

`sendAppMessage(data, recipient?)`

Sends a message to other participants during the call. Messages are delivered only to participants currently in the call — they are not stored or replayed for late joiners. Broadcast messages are not delivered to the sender.

## Parameters

<ParamField body="data" type="object" required>
  A JSON-serializable object. Must be within the 4KB size limit.
</ParamField>

<ParamField body="recipient" type="string | string[]">
  Who should receive the message. Pass a participant `session_id`, an array of `session_id`s, or `'*'` to broadcast to everyone. Defaults to `'*'`.

  Note: use `session_id`, not `user_id`.
</ParamField>

## Return value

Returns `this` for chaining.

## Example

```javascript theme={null}
// Broadcast to everyone
call.sendAppMessage({ type: 'reaction', emoji: '👋' });

// Send to a specific participant
call.sendAppMessage({ type: 'dm', text: 'Hey!' }, participantSessionId);

// Send to a set of participants
call.sendAppMessage({ type: 'alert' }, [id1, id2]);
```

## See also

<CardGroup>
  <Card title="Events" icon="bolt" iconType="solid">
    * [app-message](/reference/react-native/events/messaging-events#app-message)
  </Card>
</CardGroup>
