Webhooks

ElevenLabs tool: update contact fields mid-call

POST
/api/webhook/elevenlabs/tools/update-contact

Server tool webhook called by the ElevenLabs voice agent mid-call to correct or enrich a caller's contact record - typically when the caller spells their name or gives a new email. Identifies the contact by phone_number within the org scoped from the tool secret; at least one of first_name/last_name/email must be supplied. Phone number itself is intentionally NOT updatable here (would require de-dupe + verification flow). New emails are appended to the contact's email[] array (preserving history) and become primary if no primary exists yet. Per ElevenLabs convention, recoverable problems (missing fields, contact not found) return HTTP 200 with success:false so the agent can speak the error to the caller. Authenticated via Bearer token (per-org elevenlabsToolSecret).

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

ElevenLabs update-contact tool args. phone_number identifies the contact; at least one of first_name/last_name/email must be set. Phone numbers themselves cannot be changed via this endpoint.

Response Body

application/json

application/json

application/json

curl -X POST "https://example.com/api/webhook/elevenlabs/tools/update-contact" \  -H "Content-Type: application/json" \  -d '{    "phone_number": "+14165550100",    "first_name": "Alex",    "last_name": "Morgan",    "email": "alex.morgan@example.com",    "called_id": "+12362320246"  }'
{  "success": true,  "message": "Contact updated",  "updated_fields": [    "firstName",    "lastName",    "email"  ]}