Create or Update Lead
upsert_leadCreate a new lead or update existing leads for the authenticated business, routed through the governed leads API (business access-checked, usage-logged, and audited). To create one, pass lead with at least one of name/phone/email plus optional status/source/notes/agent_id/etc. To update, pass updates: an array of { id, ...fields } for one or many existing leads (status, name, phone, email, notes, address, city, state, zip). Updates are access-checked per row and report partial success.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| lead | No | Fields for a NEW lead: name, first_name, last_name, phone, email, status, source, notes, address, city, state, zip, agent_id, message. At least one of name/phone/email is required. | |
| updates | No | Update existing leads. Each item is { id, ...fields } where fields are a subset of name, first_name, last_name, email, phone, status, source, notes, address, city, state, zip. Max 100 per call. | |
| business_id | No | Business ID. Required for create when the API key can access multiple businesses. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| lead | No | ||
| error | No | Present when success is false | |
| failed | No | ||
| results | No | ||
| success | Yes | Whether the tool completed successfully | |
| updated | No | ||
| operation | No | create or update |