Skip to content

Contacts and customer memory

Use the Contacts directory — add and import contacts, record consent, stop the agent replying to one person, see everything a customer did across channels, and control what the agent remembers about them.

Open Contacts

Contacts is your customer directory. Each contact holds a person's name, phone, email, tags and per-channel consent, and opening one shows everything that person has done with you — calls, chats, tickets and appointments — plus what your agents remember about them.

Everyone in the workspace can read the directory, open a contact and see its activity and memory. Owners and admins can also add, import, edit and delete contacts, change memory, and switch the agent off for one person.

The directory, newest contacts first. Permission badges show only the channels where someone recorded an answer.

The directory #

The table lists contacts newest first, 50 at a time; Load more contacts fetches the next 50.

Column What it shows
Contact The name (or Unnamed contact) and email (or No email). Agent off means the agent never replies to this person on WhatsApp — see Stop the agent replying to someone.
Phone The number, formatted for its country.
Source The channel the contact was last seen on: whatsapp, web or voice, or api when it last came from your own systems through the Contacts API. CRM only means the contact has never been seen on a channel — it was added by hand or imported.
Permissions Only the channels where someone recorded an answer: green for allowed, red with : out for opted out. Not recorded when no channel has an answer. See Consent.
Tags The first three tags, then +n for the rest.
Added When the contact was created.

The four tiles count Loaded contacts and how many of them have Opted out of voice, Opted out of WhatsApp and Opted out of email. They count the rows loaded on the page, not the whole directory; load more to include more.

Search name, phone, email, or tag… filters the rows already loaded, and also matches a contact id. To search further back, load more first.

You can link straight to a contact with https://console.amomic.in/contacts?contact=<contact_id>, or open the page pre-searched with ?search=<text>.

Add or edit a contact #

  1. 1

    Open the form

    Choose Add contact in the page header (admins). To change an existing contact, open it and choose Edit.

  2. 2

    Fill in what you know

    A contact needs at least a name, a phone number or an email address. Otherwise the form says Add at least a name, phone number, or email address.

  3. 3

    Leave consent as Not recorded unless the customer told you

    Set Contact permissions only for channels where the customer actually gave an answer.

  4. 4

    Save

    Choose Add contact (or Save changes). You see Contact added. or Contact updated.

Phone starts with your workspace's country code. Every permission starts as Not recorded.
Field What it does
Name The person's name.
Phone Starts with your workspace's dialling code (for example +91) already filled in, so you type the rest. Change the code for a customer in another country. A number without a code is read as a number in your workspace's country, and a number that isn't valid there is rejected.
Email Stored in lower case, so the same address in different case is the same person.
Tags Comma-separated, for example amc, warranty, hindi. Tags are what you pick when you build a campaign audience.
Contact permissions One menu per channel — Voice, WhatsApp, Email — with Not recorded, Allowed or Opted out.

Each channel has three possible answers, and the difference matters:

State Badge Meaning
Allowed voice: allowed The customer said yes to this channel.
Opted out whatsapp: opted out The customer said no. Campaigns on that channel skip this contact.
Not recorded email: not recorded Nobody has asked. This is not an opt-out: a contact with nothing recorded can still be included in a campaign.

As the form puts it: Only Opted out stops messages going out. Most contacts are Not recorded on most channels, because customers who message you first are never asked. Don't set Opted out unless the customer actually refused — it is the one value that removes them from campaigns. See Audiences.

A customer who replies STOP on WhatsApp is handled separately and blocks every message on that number. See Opt-outs.

Import a CSV #

Admins can bring a list in with Import CSV.

  1. 1

    Prepare the file

    Save it as UTF-8 CSV (a byte-order mark is fine). The first row must have the column headers name, phone and email, in lower case. Any other columns are ignored.

  2. 2

    Choose Import CSV and pick the file

    The import runs straight away. When it finishes you see Imported N contacts., with M rows skipped. underneath when any rows were left out.

What happens to each row:

  • A row needs a phone or an email. A name on its own is skipped.
  • Phone numbers are normalised with your workspace's country, the same as the form. A row with a phone number or email that isn't valid is skipped rather than imported with bad data.
  • Tags and consent are not imported. Every imported contact arrives with no tags and consent Not recorded on all channels. Tag them before you use them in a campaign.
  • Rows are not matched against existing contacts. Every accepted row creates a new contact.

Importing the same people twice creates duplicates

Importing a file twice gives you two of everybody, and importing a list that overlaps your directory splits a customer's history across two records. There is no merge to clean up afterwards. Remove people you already have from the file before you upload it.

Skipped rows are counted, not listed

The console tells you how many rows were skipped but not which ones. If the count is higher than you expect, check the file for rows with neither a phone nor an email, phone numbers without a country code for customers abroad, and malformed email addresses, then import just the fixed rows.

Open a contact #

Click a row to open the contact. Admins see Edit and Delete at the top.

A contact holds identity, tags, consent, who answers, memory and activity, top to bottom.

From top to bottom:

  • Phone and email, as links you can call or write to, and when the contact was Added.
  • Tags (No tags if none).
  • Permissions — a badge for every channel, including not recorded.
  • Who answers — see the next section.
  • What the agent knows — see Two kinds of memory.
  • Activity — see Activity across channels.

Stop the agent replying to someone #

Some customers should only ever hear from a person — a key dealer, a customer in a dispute, someone who asked not to talk to a bot. Who answers handles that for WhatsApp.

With the agent off, the contact shows Agent off in the directory.

To switch it off, an admin opens the contact and turns off Let the agent reply. The contact then shows Agent off in the directory.

What changes:

  • The agent never replies to this person on WhatsApp, however they write in, until someone switches it back on. The change takes effect within about ten seconds.
  • Their messages still arrive in the Inbox, and your team can still reply — from Live support or a ticket.
  • Web chat and phone calls are not covered. The agent answers everyone there.
  • It is not consent. It doesn't stop campaigns or messages your team sends; to record that the customer refused a channel, use Opted out instead.

For a temporary pause in one conversation, use /stop in the chat or the Smart mode quiet period instead. See Pause with /stop.

Two kinds of memory #

What the agent knows keeps two lists apart, because they mean different things.

Learned facts show where they were picked up and whether they fade. Activity links to each record.

From your team #

Notes a person chose to add — “corporate account, bills quarterly”, “speak slowly”. Each note can be up to 200 characters, shows who wrote it and when, and never expires.

Admins type in Something the agent should always know… and choose Add (or press Enter). Hover a note to:

  • pin it (Always tell the agent this) — a pinned note is kept first when the memory has to be cut down to fit;
  • unpin it;
  • delete it.

Picked up from conversations #

Facts the agent worked out after a conversation ended, such as the appliance a customer owns or how they prefer to be contacted. Each shows when it was learned and which channel it came from. Most conversations add nothing.

  • kept — a stable fact or preference.
  • fades in 2 weeks — something temporary, such as a visit booked for Friday, that should not follow the customer forever.

Admins can hover a fact and delete it (This isn’t right — delete it) when the agent got something wrong.

Below the lists, Last conversation … on … gives a one-line summary of the customer's most recent conversation while it is recent.

The agent uses all of this quietly so the customer doesn't have to repeat themselves. It is told not to read the memory back or open a conversation with it.

Cross-channel recall #

Memory belongs to the contact, not to one thread. Something learned on WhatsApp can help on a later phone call when the caller's number matches the same contact.

If the platform cannot match the person confidently, it does not guess. A memory attached to the wrong person is worse than none.

Controls and deletion #

Admins can:

  • switch off Remember this contact, which stops both recall and new learning for that person (Memory is off for this contact…);
  • add, pin, unpin and delete team notes;
  • delete a single learned fact;
  • choose Forget everything about this contact.

Forget everything deletes every team note and every learned fact for good. The conversations stay in the Inbox, and the next time the person gets in touch the agent treats them as a new customer. Use it to answer a customer's request to see or delete what you hold about them.

Delete (at the top of the contact) is different: it removes the whole contact record, its tags and its memory. The confirmation reads Their conversations stay in the inbox, but the contact record and its tags are gone for good.

What is never meant to be remembered #

The agent is designed to leave out secrets and highly sensitive identifiers such as passwords, one-time codes, card details and government ID numbers. Follow the same rule in team notes.

Memory is never part of campaign audiences, the public Contacts API or anything sent to your systems. It is read only for the customer's current conversation and in this panel.

Activity across channels #

Activity lists everything recorded for the contact, newest first. Each row has a summary, then the channel, status and when it happened, and opens the record itself:

Row Summary example Opens
Conversation 9 messages · Whatsapp · open The conversation in the Inbox.
Call Inbound call — 3m 12s · Voice · completed Calls, searched for that call.
Ticket The ticket's subject · resolved The ticket in Tickets.
Appointment The service booked · completed The appointment in Calendar.

How each kind is matched to the contact:

  • Calls are matched by the contact's phone number, inbound and outbound. A contact with no phone number has no calls listed.
  • Conversations are web chat and WhatsApp threads linked to the contact. Voice conversations appear as their calls instead, and preview chats from the console are left out.
  • Tickets and appointments linked to the contact.

The list scrolls in place; Load older activity fetches more.

Older chats aren't linked

Chats from before 17 August 2026 aren’t linked to contacts and won’t appear here. To find an older conversation, search the Inbox for the customer's name or a word from the chat.

If part of the history can't be loaded, the panel says Some activity couldn’t be loaded just now, so this list may be incomplete. with Try again, rather than showing an empty list. A contact with nothing recorded shows No calls, conversations, tickets or appointments recorded for this contact yet.

Where contacts come from #

Contacts are created when you add or import them, when a web visitor fills in the widget's lead form, when the agent opens a ticket or books an appointment for someone, and from your own systems through the Contacts API. On WhatsApp, a contact is also created after a conversation that taught the agent something worth remembering, using the customer's WhatsApp profile name. Apart from the ones you add by hand, a contact always needs a name plus a phone number or email, so a customer who chats anonymously and never gives their name leaves a conversation but no contact. See How a person is identified.

Who can do what #

Action Member Admin or owner
Read the directory, open contacts, see consent, memory and activity Yes Yes
Add contact, Import CSV, Edit, Delete — Yes
Let the agent reply — Yes
Add, pin or delete notes; delete facts; Remember this contact; Forget everything — Yes

Troubleshooting #

What you see Why, and what to do
Build your customer directory The workspace has no contacts yet. Add one, import a CSV, or wait for customers to give their details in a conversation.
No contacts match “…”. Search only covers loaded rows. Choose Load more contacts and search again.
M rows skipped. after an import Rows had no phone and no email, or an invalid phone or email. See the note under Import a CSV.
The agent still answers a contact with Agent off Only on web chat or a phone call — Who answers covers WhatsApp only. On WhatsApp, allow ten seconds after switching it off.
A call is missing from Activity Calls are matched on the exact phone number. Check the contact's number, including the country code.
A conversation is missing from Activity It is from before 17 August 2026, or the conversation was never linked to this contact. Search the Inbox instead.

Inbox

Read conversations, take over on WhatsApp, and see why the agent stepped back.

Audiences

Use tags and consent to choose who a campaign reaches.

Conversations and contacts

How one person is recognised across WhatsApp, web chat and calls.

Contacts API

Create and update contacts from your own systems.