Upsert GoHighLevel Contact
ghl_upsert_contactCreate or update a contact in GoHighLevel using a single upsert API call, merging data for new or existing records.
Instructions
Create or update a contact with POST /contacts/upsert. Write operation: do not run against live data without explicit approval.
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": "ghl_upsert_contact"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| dnd | No | ||
| city | No | ||
| name | No | ||
| tags | No | ||
| No | |||
| extra | No | Optional additional GoHighLevel fields to pass through when the API supports fields not modeled by this tool. | |
| phone | No | ||
| state | No | ||
| source | No | ||
| country | No | ||
| website | No | ||
| address1 | No | ||
| lastName | No | ||
| firstName | No | ||
| assignedTo | No | ||
| postalCode | No | ||
| companyName | No | ||
| location_id | No | Optional GoHighLevel location ID override. Defaults to GHL_LOCATION_ID. | |
| customFields | No | GoHighLevel customFields array, usually objects with id/key and value. | |
| response_format | No | Output format: markdown for human-readable summaries, json for structured output. | markdown |