Skip to main content
Contacts are the agent’s customer database. When a call comes in, the voice agent looks the caller up by number (phone_number or mobile_number) and uses the record to greet the caller by name and to pick a tag-specific greeting from the agent’s greeting_variants (see Agents). Contacts are also what the Dashboard shows under Kontakte. Contacts belong to one agent. A key needs contacts:read / contacts:write and access to that agent.

Data model

All phone numbers must be E.164 (+4922112345678). Spaces, dashes and parentheses are stripped; anything else is rejected with 400 — the agent compares the exact string, so a national format would never match a caller.

Name handling

The rules are the same as in the Dashboard, so contacts look identical no matter where they were created:
  • Parts sent (salutation, first_name, last_name): customer_name is composed from them ("Herr Fey", "Tobias Lutz"), name_parsed becomes manual.
  • Only customer_name sent: it is split where unambiguous ("Tobias Lutz" → first/last, "Herr Fey" → salutation/last). Company names, two people in one field or anything ambiguous stay unsplit: the full name goes to last_name and name_parsed is unclear, so the agent greets neutrally instead of guessing.
  • customer_name: null on update clears every name field.
  • On update, parts are merged with the stored contact — {"first_name": "Max"} keeps salutation and last name.
  • A created or changed name sets name_source to manual.

Endpoints

List contacts

Permission: contacts:read | Pagination: yes | newest first Filters:

Get contact

Permission: contacts:read

Create contact

Permission: contacts:write — all fields optional

Update contact

Permission: contacts:write — partial update, unknown and read-only fields are ignored

Delete contact

Permission: contacts:write | Returns 204 No Content, 404 for unknown IDs

Common patterns

Sync customers from a CRM

  • Agentsgreeting_variants pick a greeting per contact tag
  • Calls — call records carry the caller’s number and name
  • CRM Integration — end-to-end example