Collect Contact
Capture visitor details in chat or voice and save them to Contacts
Collect Contact is a built-in platform tool that saves a person's details to your Contacts book during a conversation. In chat, the visitor sees an inline form. In voice, the agent asks for the same fields conversationally.
Use it when you want leads or support requests captured without building a custom webhook tool.
When to use it
| Scenario | Why Collect Contact |
|---|---|
| Widget or web chat lead capture | Inline form in the chat thread |
| Voice support or sales | Agent gathers fields by speech, confirms email/phone |
| Agent Console testing | Verify chat form and voice capture before going live |
| Post-save automation | Optional HTTPS forward after the Contact is saved |
Create and configure
Open Build → Tools and create a Collect Contact tool (under Built-in / assistant category).
Choose chat, voice, or both via Supported modalities.
Enable predefined fields (name, email, phone, company, address, notes). Mark each required or optional. Add up to 8 custom fields if needed.
At least one of email or phone must stay enabled — the tool rejects configs with neither.
Write trigger instructions (when the agent should offer collection) and success / dismiss copy shown after submit or cancel.
Optional: configure Forward after save — HTTPS URL, credential-safe headers, and a field map. Runs only after the Contact upsert succeeds. If the forward fails, the Contact is kept.
Attach the tool on the agent Actions tab.
Chat vs voice
| Modality | Visitor experience |
|---|---|
| Chat | Runtime sends a form schema; widget or Agent Console renders fields inline. Submit upserts the Contact; dismiss lets the conversation continue without inventing values. |
| Voice | No visual form. The LLM calls the tool with values heard in speech. The agent must read back email and phone and get explicit confirmation before saving. |
Test in Agent Console
Ship gate: verify both chat and voice before relying on a widget embed.
Chat form
Open the agent Console and start a chat session.
Ask the agent to collect your details (match your trigger instructions).
Fill the inline form and submit — or dismiss to confirm the agent continues without saving fake data.
Open Operate → Contacts and confirm the new row. Note the Contact UUID.
Open Observe → Logs, open the session, and confirm a contact collected event with a link to that Contact.
Voice capture
Start a voice session in Agent Console (or a voice channel).
Provide name, email, and/or phone when prompted. Confirm when the agent reads them back.
Check Operate → Contacts and Observe → Logs as above.
Where captured Contacts appear
- Operate → Contacts — full profile, status, and source history
- Observe → Logs — session detail shows the collection event and links to
/contacts/{id} - Session customer ID in Observe is set to the Contact UUID when collection succeeds (when not blocked by Zero Data Retention)
Source kinds recorded include collect_form, widget_chat, and agent_console depending on where the visitor submitted.
When the visitor explicitly asks for a phone call, set callback_requested=true on the tool invocation. After a successful upsert, owners/admins receive a Notification Center alert with a deep link to the Contact. Do not set this flag for ordinary form saves.
Zero Data Retention and HIPAA
Zero Data Retention (ZDR): Collect Contact cannot be created, enabled, or attached while ZDR is active. The dashboard explains the block. Runtime refuses the tool if invoked. No Contact write and no contact-linked Observe event with PII.
HIPAA mode: Collect Contact remains available. Upserts follow the same audited Contact path as manual creates (see Contacts).
Related
- Contacts — org contact book, statuses, CSV import
- Notification Center — callback alerts after explicit request
- Tools overview — HTTP, MCP, and other built-in tools
- Tools & MCP (Actions) — attach tools to agents
- Logs — session history and contact collection events

