Contacts are currently built from WhatsApp conversations, where a real phone number and display name are already part of every message. A web chat visitor becomes a contact once they give your agent an email or phone number (via the agent recording it) or once an operator names them — not automatically, since an anonymous browser visit carries no real-world identity to build a record around.
Viewing Contacts
Navigate to Contacts in the sidebar to see everyone your agents have spoken to across your organization. Each row shows:- Name and phone — the person’s resolved identity
- Channel(s) — which channel(s) you’ve reached them on (e.g. WhatsApp)
- Agents — how many of your agents they’ve talked to
- Conversations — total conversation count across all agents
- Status — where they stand: New, Engaged, Qualified, or Closed
- Last seen — when they last messaged
Contact Detail
Click a contact to see:- Attributes — anything an agent has recorded about them (company, budget, intent — whatever fields you’ve configured, see below), each one showing where it came from and when
- Identities — every channel identifier tied to this person (a WhatsApp number, an email)
- Conversations — every conversation with this person, across every agent, not just the one you’re currently viewing
Exporting Contacts
Click Export CSV at the top of the Contacts list to download every matching contact — whatever the current search, channel, status, and agent filters describe, not just the page you’re looking at. The file opens in Excel and imports into other CRMs and outbound tools. Each contact becomes one row. Alongside the resolved identity (name, phone, email, channel, status), the export includes the organization name and every attribute your agents have collected as its own column (company, title, or
any custom field you’ve configured). The export is streamed, so large contact
lists download completely.
Per-Agent Contacts
Open any agent and go to its Contacts tab to see only the people that specific agent has spoken to — the same list, filtered to one agent.Letting an Agent Record Contact Details
Enable Update Contact on an agent’s Tools tab to let it save details a person shares mid-conversation — an email, a company name, a budget, or anything else you configure.- You choose exactly which fields the agent may collect, and the agent can only ever propose those fields — nothing else.
- The agent is instructed to record something only when the person actually states it, never to guess or infer it.
- If someone gives an email or phone number that’s already tied to a different contact in your organization, that one field is rejected rather than silently overwriting the other person’s record — the agent lets the field pass and continues normally.
Brainstormer never lets an agent target another contact’s record — only the contact tied to the current conversation can ever be updated, even if someone tries to instruct the agent otherwise mid-chat.
Where Contact Identity Shows Up
Once a conversation resolves to a contact, that person’s name (or phone number, if no name is known yet) now shows up in place of a generic conversation label — in Conversations (all views: Overview, Inbox, and resolved chats), operator queues, and the agent’s own chat page. A conversation with no resolved contact still shows something readable (Web visitor · <id>) rather than a raw id.
Looking for a full sales/lead pipeline — stages, owners, an activity feed? That’s not built yet. Contacts today give you a status field and a browsable list; think of it as the foundation a pipeline would sit on top of, not the pipeline itself.

