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.
Tool call template
This tool declares no required parameters. Add optional parameters from the input schema as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {},
"name": "upsert_lead"
}
}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 |