Contacts
Everyone who has written to you, as a table with the columns you choose: sort, filter by list, segment or any condition, act on many people at once (tags, lists, consent, export, erase), and open a person for their details, consent history, lists, WhatsApp broadcasts, conversations and timeline.
Engage → Contacts (/app/contacts) lists every person who has written to you or been seen by your listening, with what your team knows about them.
Before you start
- Contacts appear on their own as people message, comment or mention you. You can also add one person with Add contact, or bring in a whole list from Excel or CSV with Import (Importing contacts). The empty page says No contacts yet — People appear here when they message you on a connected channel, or when you add them with Add contact or Import.
- Each channel creates its own contact: the same person on WhatsApp and on Instagram arrives as two contacts. Use Merge with… to make them one person (see *Merge two contacts* below).
- Owner, Admin, Editor, Reviewer and Viewer can open Contacts. Editing (name, phone, email, profile, tags, notes, custom fields and consent), Promote to lead, Merge with…, Split and the AI score need the Manage contacts task, which Owners, Admins and Editors have by default. Add contact needs the same task. Import and Export CSV need the Import contacts and Export contacts tasks, which only Owners and Admins have by default. An Owner or Admin gives or takes away either task per person with Edit access on Settings → Members (Roles and tasks). Erase contact is Owner and Admin only. The inbox-only Agent role cannot open Contacts.
- Without those tasks you see the same page without the controls: no Export CSV, ✎ Edit name, Promote to lead, Edit, Merge with…, Split, Record consent, Edit fields, tag, Save notes or AI score buttons, and no tick boxes for bulk actions unless you can export.
- More above the table holds Custom fields, which opens the extra details your workspace keeps on every contact (Custom contact fields). Audiences in the same menu opens your lists and segments, the "who" of every broadcast (Lists and segments). Opt-in link & QR makes a WhatsApp link and QR code that subscribes whoever sends its message (WhatsApp opt-in link and QR code).
The table
Under the title you see how many contacts match, for example 1,240 contacts. On a computer or tablet the people are a table; on a phone each person is a card.
- Name is always the first column. The other columns are yours to choose: press Columns and tick what you want under Show these columns — Phone, Email, Channels, Consent, Tags, Country, City, Language, Source, Lead, Interactions, Last seen and Added — and, under Custom fields, any field your workspace keeps (Custom contact fields). Back to the default columns undoes your choice. The choice is remembered in this browser for this workspace.
- Consent shows a small chip per channel with a record: WA, Email, SMS, FB (Messenger), IG, TG, with ✓ for Agreed, – for Withdrew and ✕ for Stopped all messages (hover for the words). No record means nothing is on file.
- Sort by clicking a column heading: Name (A-Z, click again for Z-A), Last seen, Added (newest or oldest first) and Interactions (most first). The arrow shows the direction. On a phone use the Order menu instead: Newest first, Oldest first, Name A-Z, Name Z-A, Last seen: most recent, Last seen: longest ago, Most interactions. Last seen and Added show how long ago in your language: now, then minutes and hours (in English 5m, 3h), then the weekday, then the date. Point at the value to see the exact date and time.
- More rows load as you scroll to the end; Load more does the same.
- A merged contact is one row; Channels shows every channel it includes, and Interactions and Last seen count all of them.
- Click a name (a card on a phone) to open the contact on the right; on a phone it fills the screen. Back to contacts closes it.
Open contact on a lead card (Leads) opens the person here directly, with a link such as /app/contacts?id=.... Closing that contact takes ?id=... out of the address again. If the contact was erased, or belongs to another workspace, a red line says This contact no longer exists or is in another workspace.; press Dismiss to hide it.
Find people: search, lists and segments, filters
- Type in Search by name, handle, phone or email…. A merged contact is found by any of its names, handles, numbers or emails. A phone number can be typed with spaces or in its local form: +44 7400 123456, 07400 123456 and +447400123456 find the same person (a local number is read in your account's country).
- To see one audience, pick it in the menu next to the search (Everyone, then your Lists and Segments) (Lists and segments). Open in Contacts on an audience brings you here the same way.
- The chips under the search narrow further: the platform (All platforms or one), WhatsApp opt-in only and Has phone. Clear filters resets everything.
- For anything else press Filters. In Filter contacts build conditions exactly as for a segment ("People who match all/any of these conditions"): name, city, country, language, tags, consent per channel, last interaction, lead stage, custom fields and more. The count under the conditions updates as you build. Press Apply; the chip Filters: n condition(s) appears, and its × (or Remove these filters) takes them off.
- To keep a filter for broadcasts, press Save as segment (it keeps the conditions and updates itself) or Save as list (it keeps the people who match now), type the name and press Save. You see Segment "..." saved or List "..." saved, and the table switches to it. Saving needs the Manage contacts task.
Bulk actions
Tick the box at the start of a row (on a phone, on the card) to select people; the box in the heading (on a phone, Select all loaded) ticks every loaded row. A bar appears at the bottom: [n] selected, Actions and Clear selection. On a phone the round help button is hidden while the bar is up, so it does not cover Clear selection; it comes back when you clear the selection (the ? button at the top, Help for this page, still opens help).
- When every loaded row is ticked and more people match, a line offers Select all [n] who match the filters. The bar then says All [n] who match selected, and the action applies to all of them, not only the loaded rows. One action handles up to 50,000 people.
- Actions offers, depending on your tasks:
- Add tags / Remove tags: type one or more tags separated by commas (a leading # is ignored) and press Add to [n] / Remove from [n]. A tag can be up to 50 characters (a longer one shows A tag can be at most 50 characters. Shorten it, or split it with a comma.) and one action takes up to 20 tags (Add or remove at most 20 tags at a time.). Remove tags also takes off a longer tag saved before this rule. A contact gets new tags only up to the limit of 20: one with 19 tags gets the first new tag and not the rest. The message after Add to [n] then reads, for example, "Added tags to 5 contacts. 3 of them reached the limit of 20 tags and did not get every tag." With one person selected the bar and the dialog say "contact", not "contacts".
- Add to a list / Remove from a list: pick a list (only lists appear; a segment picks its people by its conditions), or + New list… and a name, then Add [n] / Remove [n]. When the table shows a list, that list is chosen for you.
- Record consent: pick the Channel and What did they decide?, write how they agreed under How did they agree? (required to record agreement) and, if it was earlier, When. Press Save to consent history. Each person gets an entry in their Consent history. When you record agreement, people who withdrew on that channel are skipped and the message says how many: only they can take a STOP or an unsubscribe back (Consent and opt-out).
- Export CSV: downloads the selected people (see *Export CSV* below).
- Erase contacts (Owner and Admin): only for ticked rows, up to 100 at a time. Read Erase [n] contacts?, tick I understand this cannot be undone. and press Erase [n] permanently. Each person is erased exactly as *Erase a contact* below describes.
- Tags, lists and consent need the Manage contacts task, the export needs Export contacts. Without them the bar says Your role cannot change contacts.
The contact's page, top to bottom
- Header: photo, name (✎ Edit name), platform and @handle (only when the person has a handle on that platform; a WhatsApp or email contact shows its number or address below instead), phone (click to call; WhatsApp opens a chat) and email.
- In one row: Promote to lead (or the badge Lead · [status] with the intent score when already a lead), Edit, and ⋯ (More actions) with Merge with… and, for Owners and Admins, Erase contact in red.
- Edit opens Name (up to 120 characters; a longer one is refused under the box with Use at most 120 characters for the name.), Phone (e.g.
+44 7400 123456), Email, Language, Country, City and Timezone; press Save or Cancel. The form is filled with the contact as it is when you press Edit, and Save sends only the boxes you changed: a phone or email a teammate set while the card was open is not erased. Picking a country fills an empty Timezone when that country has one time zone (France gives Europe/Paris, Japan Asia/Tokyo); a new number with its country code (+33...) fills an empty Country the same way. For other places type the zone yourself, for exampleEurope/London(the box suggests common ones). A zone the app does not know is not saved: Pick a time zone from the list, such as Europe/London. shows under Timezone, and everything you typed stays in the form. The same goes for Country (Pick a country from the list.) and City (up to 120 characters). Pressing Escape inside the form, or Cancel, asks Discard your changes? when you have typed something: Keep editing returns to the form, Discard closes it. ✎ Edit name works the same way: Enter saves the name, Escape cancels only the name and leaves the contact open. - Phone is saved with its country code: a local number such as
07400 123456is read in the contact's Country (or your account's country when it has none) and saved as+447400123456for a contact in the United Kingdom. Text that is not a phone number is not saved: the box turns red with That is not a phone number. Enter a local number, or the full number starting with + and the country code. under it, and an email address that is not one shows Enter an email address like name@example.com. under Email. A number saved before this check can stay as it is while you change other fields. With no Country on the contact and none in Company details, only a full number starting with + and the country code is saved; a local one shows That is not a valid phone number. Check the digits after the + and the country code, or choose the Country below and enter a local number. under the box. - A changed Name, Phone or Email is also shown in the inbox, in the contact card of Conversation details for this person's conversations on that channel (and an edit made there comes back here).
- Phone is also where WhatsApp templates from the inbox go. After you change it, Send a template in this person's WhatsApp conversation sends to the new number, not to the number the conversation came from. Check the number before you send a template.
- A line with [n] messages or mentions from them, Last seen ... and First seen .... For a merged contact both count every channel. Someone who has never written to you (added by hand or imported) shows Last seen –, here and in the list. Phone numbers are shown spaced for reading, for example +92 300 123 4567.
- Below it, when known: Country, City, Timezone, Language and Source (where the contact came from, for example Inbox). Contacts that existed before these fields got their country and timezone from their international phone number; a number without a country code is left blank rather than guessed.
- Also on (only on a merged contact): the other channels merged into this person, each with its platform, phone or email and a Split button.
- Consent: one line per channel (WhatsApp, Email, SMS, Messenger, Instagram, Telegram) showing Agreed, Withdrew, Stopped all messages or No record, with the date. Consent history below lists every change as evidence. To record a new decision press Record consent (see Consent and opt-out). A person who writes STOP on WhatsApp shows Stopped all messages automatically (see WhatsApp broadcasts); on a merged contact that applies to every channel of the person.
- Custom fields: the extra details your workspace defines (Custom contact fields). Press Edit fields, fill them in and press Save fields; emptying a box removes that value. With no fields yet you see This workspace has no custom fields yet. and Create a field.
- Where they came from (for a person who came from an ad or an import): the ad's headline (From ad: ...), or Open the import for the file they came in with.
- Lists and segments: every list the person is on and every segment that matches them now (Not in any list or segment. when none). Click one to show everyone in it in the table. Segments are checked 100 at a time, in name order: when your workspace has more, a note under the chips says so and Check more segments checks the next 100 and adds any that match. Press it until it disappears to have checked every segment.
- WhatsApp broadcasts: the broadcasts sent to this person, newest first, with the date and what happened (Sent, Delivered, Read, Replied, Failed...). Click a broadcast to open its results.
- Tags: type in Add tag… and press Add; × removes one. Adding or removing changes only that tag: a tag a teammate added while the card was open stays. Separate several tags with commas (
vip, goldadds two tags; a leading # is ignored). A tag can be up to 50 characters and a contact can have up to 20 tags; the line under the box says so, and turns red with A tag can be at most 50 characters. Shorten it, or split it with a comma. or A contact can have at most 20 tags. Remove one before adding another. The new tag shows as Saving… until it is saved, and what you typed stays in the box until then: if the save fails, the reason shows under the box and you can press Add again. A longer tag saved before this rule is kept; in the table it is cut short, and pointing at it shows the whole tag. Tags are what broadcast audiences filter on. - AI: score intent & suggest reply: rates buying intent from 0 to 100 (Intent score: n/100) and suggests a Next action: and a Draft reply:. It uses your AI provider (see AI settings). If scoring fails, the reason shows right under the button: Scoring did not work this time. Try again in a moment. A failed score does not use your AI credits., or The AI's answer could not be read as a score. Try again. A failed score does not use your AI credits. A failed score is given back to your AI credits.
- Notes: free text for the team; press Save notes. Until you do, Not saved yet shows beside the button. Closing the contact (Back to contacts, ×, a click outside it) or opening another one with unsaved notes asks Discard your notes?: Keep editing returns to the notes, Discard closes without saving. With unsaved changes in Edit or in the name, closing asks Discard your changes? the same way. Without the Manage contacts task the notes show as plain text (No notes yet. when there are none), with the line Only people allowed to edit contacts can change notes (Owner, Admin and Editor by default).
- Bookings, orders and tickets: the person's customer history from Requests, newest first, in three lists: Bookings (the date and time in the business's time zone, the service and who it was with, and the status, such as Confirmed or Did not come), Orders (Order #[number], the date, the total and the status) and Tickets (the reference, the subject, the date and the status). Click one to open it in Requests. It counts every merged channel, the person's chats, and bookings typed in with one of their phone numbers. Did not come: [n] at the top counts their no-shows. The latest 50 of each are shown (The latest 50 are shown. Open Requests for the rest.); with none you see No bookings, orders or tickets for this person yet. Seeing this needs Inbox access, like Requests; without it the section says You need Inbox access to see this person's bookings, orders and tickets.
- [name] has the same phone number. If this is the same person, merge the two contacts. appears above that list when another contact has one of this person's numbers (for example the same customer wrote from Website chat and WhatsApp). Press Merge to open Merge with… with that contact already chosen (Owner, Admin or Editor).
- Conversations: this person's inbox conversations (on every merged channel) with status, Unread and the assignee (or Unassigned). Click one to open it in the inbox.
- Timeline: messages Received and Sent, internal notes (Note) and listening events, newest first, each with Open in inbox or Open. A reply the channel did not take is marked Not delivered in red, with Open the conversation to send it again (it opens the inbox, where the message has its reason and, when it can work, Retry); one still on its way is marked Sending.
What you see in Conversations and Timeline follows the same rules as the inbox: without View all, other agents' claimed conversations and private mailboxes are left out.
Merge two contacts (the same person)
Use this when one customer wrote to you on two channels, for example WhatsApp and Instagram, or WhatsApp and email. Owner, Admin or Editor.
- Open the contact you want to keep and press Merge with….
- In Merge [name] with another contact, type in Search by name, @handle, phone or email (before you type, the most recently active people are listed; No contacts match. when nothing fits) and press Choose next to the other contact. A person who already has several channels merged shows [n] channels.
- Read the summary before you confirm: Identities moving, Conversations that will show under [name], Tags added, which details the contact you keep gets from the other one ([name] gets these from the other contact: ...), whether the other contact's notes are added below yours, and what happens to a lead (it moves over, or two leads become one keeping the further stage).
- Press Merge contacts. You see [other] is now part of [name]. Back returns to the search; Cancel closes without changing anything.
After merging:
- The contact you started from stays. The other one leaves the list and is shown under Also on. Nothing is deleted: each channel keeps its own conversations, and they all appear under Conversations and Timeline. New messages on either channel show up on the merged contact.
- Tags are combined, the other contact's notes are added below yours after the line
--- merged ---, and its lead moves to the contact you kept. - Custom field values (for example a membership tier) and the Language, Country, City, Timezone, Email and Phone that the contact you keep has empty are filled in from the other contact. Where both have a value, the contact you keep wins. Segments, bots and
{{contact.attributes.<key>}}in messages then use them. - WhatsApp marketing: if either of them ever replied STOP, the dialog warns you and the whole person is opted out of WhatsApp marketing after the merge; Consent history records it with the source Contact merge. If either of them withdrew WhatsApp marketing (Withdrew on its Consent line), the other number is withdrawn too, so broadcasts that need marketing consent leave the person out, as the Consent line shows; this is also recorded with the source Contact merge. A merge never turns marketing on. Only use Record consent if the person agrees again.
- Contacts can only be merged within the same workspace. Merging into a contact that is already merged adds to the same person, also when two teammates merge at the same moment.
Split a merged contact
- Open the merged contact and find the channel under Also on.
- Press Split and confirm.
- You see [name] is its own contact again. It returns to the list with the tags and notes it had before the merge. The lead and the combined tags and notes stay on the contact you kept, and a WhatsApp opt-out is not undone.
Export CSV
Press More, then Export CSV, above the table (it needs the Export contacts task) to download everyone your current search, list or segment, chips and Filters match. To download only some people, tick them and choose Actions → Export CSV in the bulk bar. The file has the columns name, phone, email, platform, handle, platform user id, marketing opt-in, opt-in date, tags, interactions, first seen, last seen, person id, language, country, city, timezone and source, then one column per custom field, headed with the field's key. Every channel of a merged contact is its own row; rows of the same person share the person id. It opens correctly in Excel with Arabic names. A cell that starts with =, @ or a tab, or with + or - followed by anything other than a number (for example a name typed as =HYPERLINK(...)), is written with an apostrophe in front ('=HYPERLINK(...)), so Excel and Google Sheets keep it as text and never run it as a formula. Phone numbers such as +447400123456 are written as they are, so the file can go straight back into Import contacts. A file from an older export that shows '+447400123456 imports too: the import drops that apostrophe. Excel opening the file directly may show a long phone number as 4.474E+11 and drop the +; to keep it, open the file in Excel with Data → From Text/CSV and set the phone column to Text. Very large exports stop at 50,000 rows and say so on the last line. Export failed. Please try again. means the download did not complete.
Erase a contact (Owner or Admin)
- Open the contact and press Erase contact.
- Read the box Erase [name]?: it permanently removes the person from Contacts with their lead card, notes, tags, phone, email, photo and everything they wrote. On a merged contact every channel under Also on is erased too, and the box says so.
- Their inbox conversations stay, with your team's replies and notes, but the person's messages, attachments and name are erased and the thread can no longer be replied to. Call logs and WhatsApp broadcast results keep their totals without the number and name. Their bookings, orders and tickets stay on Requests with their number and status, but the name, phone, address, the answers they gave the bot and their own words (a ticket made from their message keeps only its reference, such as SUP-2026-001234, as its subject) are removed. Email, Telegram and Messenger broadcasts keep their totals without the address and name, and a message still waiting to go to them is skipped. They are taken off your lists and Messenger marketing topics. Their Consent history is kept as your record of what was agreed or stopped, on which channel and when, but the evidence text is deleted and it no longer points at anyone.
- Press Erase permanently. You see [name] has been erased. If they write again they arrive as a new contact.