# bulk_update_lead_status

> Update multiple leads' status at once for bulk lead management.

<!-- Source: https://docs.actuallycare.com/tools/bulk-operations/bulk_update_lead_status -->

Update multiple leads' status at once for bulk lead management.

> [!WARNING]
> This affects multiple records permanently. Common use cases: marking old leads as "lost" after cleanup review, updating all contacted leads to "qualified" after qualification calls, batch setting leads to "unqualified" after failed contact attempts. Returns: count of successfully updated leads, any failures with reasons. Always verify the lead_ids list before calling — consider using [`leads_list`](/tools/leads/leads_list) first to confirm you have the right records. Status transitions: new→contacted→qualified→converted (success path) or →unqualified/lost (failure path).

## Parameters

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `lead_ids` | array of strings | Yes | Array of lead UUIDs to update. Max 500 per call. Use [`leads_list`](/tools/leads/leads_list) to get IDs. · Max items: 500 · Min items: 1 |
| `new_status` | enum | Yes | New status to set for ALL specified leads. converted should only be used via [`leads_convert`](/tools/leads/leads_convert) for proper client creation. · One of: `new`, `contacted`, `qualified`, `unqualified`, `converted`, `lost` |
| `notes` | string | No | Notes to append to all updated leads. Example: "Bulk marked lost - no response after 6 months". · Max length: 1000 |

## Example prompts

- "Mark all the leads I called yesterday as contacted in one go."
- "Set those 30 stale Zillow leads to lost, 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.
