Contacts
A contact is a person your assistants can talk to outside the widget — someone you call, text, or email. Each contact holds their phone number and email, their per-channel consent, whatever the AI has learned about them, and the list of assistants they belong to.
Opening the page
Contacts is not in the sidebar. Reach it either way:
- Press ⌘K (Ctrl-K on Windows) and search for
contacts. The palette lists the Contacts page, and also matches individual contacts by name. - Go to
/contactsdirectly.
The list

The table shows 50 contacts per page, newest first, with a pager at the bottom when there is more than one page.
| Column | What it shows |
|---|---|
| Name | Name and company. Falls back to the email or phone number when there is no name. |
| Channels | The phone number and email on file, each tagged No call, No SMS, or No email when that channel is opted out. |
| Status | Active or Invalid. |
| Assistants | How many assistants this contact is assigned to. |
| Memory | A one-line preview of what the AI has recorded — line breaks are collapsed and long notes are truncated. An AI off tag means AI memory writes are turned off for this contact. |
| Last seen | Time since the last interaction. |
The search box matches name, phone, email, and company. The filter next to it narrows the list to All contacts, Active, Invalid, or Has opt-outs — the last one shows every contact with an opt-out on any channel.
Click a row to open the contact. Click the trash icon at the end of a row to delete it.
Adding a contact
Paid feature. Add credits to your account to unlock it. See Billing and credits.
Click Add contact and fill in the dialog:
| Field | Required | Notes |
|---|---|---|
| Name | Yes | |
| Phone | Yes | Must be a valid number. You can type it any way — +1 415 555 0132, (415) 555-0132 and 4155550132 all work — and it is normalized and stored in E.164 form (+14155550132). |
| No | ||
| Company | No |
Click Create. If a contact with that phone number already exists, the dialog says so instead of creating a duplicate.
Contacts are also created for you: an inbound SMS from an unknown number creates one when the assistant receiving it is set to accept messages from anyone.
The contact detail
Clicking a row opens the contact in a modal. Its identifier is shown under the title. Edit anything you like, then click Save — nothing is written until you do. Cancel discards your edits.
Details
Name, Email, Phone (E.164), and Company. Changing the phone number to one already in use by another contact is rejected.
Consent
Three switches, one per channel: Do not call, Do not SMS, Do not email. Turning one on records the moment consent was withdrawn.
You can flip these by hand, and the assistant sets them on request: when a contact says "stop texting me" or "unsubscribe me" during an inbound SMS, email, or call, the assistant records the opt-out itself. That happens regardless of the memory setting below — a withdrawal of consent is always recorded.
Record state
Active or Invalid (bad number / bounced email). Mark a contact invalid when their phone number or email address is unreachable. This is not a consent setting — consent lives in the switches above.
Memory
Free-text notes about the contact: preferences, context, factual details worth remembering for next time.
Memory is written from real inbound interactions only — inbound SMS, inbound email, and completed phone calls. After one of those, the AI decides whether anything is worth keeping and appends a short note. Widget chat never writes memory.
Turn Allow AI to update memory off to stop the AI writing to this contact. The list then shows an AI off tag on the row. You can still edit the text yourself at any time; it holds up to 10,000 characters, and the modal shows when it was last updated.
Note
Turning off AI memory does not turn off opt-out recording. Do-not-call, do-not-SMS, and do-not-email are still set when a contact asks.
Assigned assistants
The assistants this contact belongs to, each with its role and the channels it is allowed to use (SMS, Call, Email). Click Remove to unassign one.
To add an assignment, pick an assistant from the Assign to assistant… list and click Add. Assistants already assigned are not offered. Assignment takes effect immediately — it does not wait for Save.
Deleting a contact
Click the trash icon on the row and confirm in the Delete contact dialog. The record is soft-deleted: it disappears from the list, but the underlying record is kept. Adding a contact with the same phone number later restores it rather than creating a new one.