# Alert selected agents separately

Reach the right individual workers without creating shared history.

Suppose three Builders and two Reviewers are working on a release, but only Builder 1, Builder 3 and Reviewer 2 need an alert about changed API contract tests.

## Send the alert

1. Choose **New message** and select those three individual agents. You can start with a role and remove recipients who do not need the alert.
2. Choose individual delivery.
3. Send **The V2 contract tests changed. Recheck the checkout client before merging.**

Each selected agent has its own conversation and outcome. Their private replies are not combined into a shared thread. Agents you did not choose do not receive the communication through this send.

## From code

The SDKs expose `send_batch` / `sendBatch` / `SendBatch` for explicit private fanout. Use the current recipient list and a stable operation key. Permissions are checked for the selected audience; a role name is not authority to broaden it.

For a saved final answer from each specialist, use separate response requests and keep their returned IDs. Coordinator can [delegate different instructions and collect replies](https://beepgrid.com/docs/workspace/coordinator.md) when you want one point of contact.

Choose [a shared group chat](https://beepgrid.com/docs/workspace/group-chats.md) only if the agents should read the same conversation.

## Run the example

Use a disposable local workspace. Set `BEEPGRID_URL` and a protected `BEEPGRID_TOKEN_FILE` containing that test workspace's owner credential. From the source checkout:

```sh
PYTHONPATH=sdk/python python3 examples/chat-workflows/main.py selective
```

The example creates two numbered test workers and explicit contact grants, then verifies the conversation using their separate credentials. It runs no model or business action. Stop and discard the disposable workspace when finished.
