The Contacts list
Open Contacts from the sidebar. Each row shows:- Name (or “unknown” until the contact provides one)
- Email and phone if known
- Channels where you’ve talked
- Last message timestamp
- Conversation count
- Tags
Where contacts come from
A contact is created the first time we see someone:- Webchat — a new browser session starts its own contact. An email the visitor types into the chat is saved on that contact only if it has no email yet, marked Typed in chat (unverified). It never joins or merges with an existing contact that has the same address.
- Signed-in website user — with identity verification, your backend vouches for the user. Keloa joins an existing contact only by an exactly matching email your site verified; otherwise it creates a new contact. The user’s conversations follow them across devices.
- Email — from the
Fromheader. - WhatsApp — the sender’s phone number and WhatsApp profile name.
- Instagram / Messenger — the contact’s Meta user ID for your Page. Keloa fills in their name and profile picture from Meta when it can.
- Telegram — the contact’s Telegram user ID, with the name, username and language from their Telegram profile. The phone number is only known if the contact shares their contact card in the chat.
- Slack — the person’s Slack user ID, with the name from their Slack profile. Their email address is saved when Slack shows it (never for people from another organization in a Slack Connect channel), marked From Slack: Slack doesn’t confirm it’s theirs, so Keloa never uses it to look up orders or invoices.
Identity matching and merging
Keloa never merges two existing contacts on its own. It only decides which contact a new message belongs to:- Email. Mail from an address goes to the contact that earlier mail from that address went to. For a first email, Keloa looks for the oldest contact with that email address, skipping contacts whose address was only typed into a website chat. If there is none, Keloa creates a new contact.
- An address typed into a website chat. Mail from that address joins the website contact only after the owner of the address replied to an email your team sent there, and their mail domain vouches for the sender. Until then, their mail goes to another contact with that address, or starts a new one. See Addresses typed into the chat.
- Signed-in website users. With identity verification, a user joins an existing contact only by an exactly matching email your site verified. See Contact profile.
- Open one of the two contacts.
- Click ⋯ → Merge into another contact.
- Pick the target.
Tags on contacts
Separate from conversation tags. Contact tags stick around forever (vip, german-speaking, wholesale-partner) — conversation tags are thread-level.
Add contact tags from the contact’s profile. They’re available as fields in flow Conditions.