# clients_bulk_update

> Update multiple clients at once.

<!-- Source: https://docs.actuallycare.com/tools/clients/clients_bulk_update -->

Update multiple clients at once. Requires CLIENT IDs. Use for batch changes like marking every client on a closed escrow as closed. Returns a summary of the clients updated plus any IDs that were not found.

```text
WORKFLOW for updating clients from escrows (DIRECT - no intermediate steps):
1. escrows_list → get relatedIds.clientIds (these ARE client IDs!)
2. clients_bulk_update({ client_ids: relatedIds.clientIds, updates: {...} })
```

> [!NOTE]
> [`escrows_list`](/tools/escrows/escrows_list) now returns BOTH:
> - relatedIds.clientIds → use directly with this tool
> - relatedIds.contactIds → use with [`contacts_get`](/tools/contacts/contacts_get) (contact_ids) (different entity)

## Parameters

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `client_ids` | array of strings | Yes | Array of CLIENT UUIDs (from [`clients_list`](/tools/clients/clients_list) response.ids). NOT contact IDs from escrows! |
| `updates` | object | Yes | Fields to update on all clients |
| `updates.status` | enum | No | New status for all clients (active = working with, closed = deal completed, expired = agreement expired, cancelled = client cancelled) · One of: `active`, `closed`, `expired`, `cancelled` |
| `updates.client_type` | enum | No | New client type · One of: `buyer`, `seller`, `both` |
| `skip_if_already` | boolean | No | If true, skip clients already in target state (default: true). · Default: `true` |

## Example prompts

- "Set every client tied to my closed escrows to closed status at once."
- "Switch those eight clients to seller type, but show me the list before updating."

## Safety

**Bulk changes.** Changes many records in one call. Review the scope carefully before confirming — bulk changes are treated as destructive because of their blast radius.

## Previous name

This tool was previously published as `batch_update_clients`. Call it by its current name — legacy names are kept here for reference and old links redirect, but they are not callable.
