Contacts & companies

A contact is a person. One record, however many ways they have reached you. If someone emails on Monday, messages on WhatsApp on Tuesday and calls on Wednesday, an agent should see one history — not three strangers.

The contact record

Open any conversation and the right-hand panel shows the contact. Open the contact itself and you get the full record:

  • Name
    Name
    Type
    string
    Description

    What you call them. Filled in from the channel where possible, editable by any agent.

  • Name
    Email
    Type
    string
    Description

    Primary email address.

  • Name
    Phone number
    Type
    string
    Description

    In international format. This is what links a WhatsApp or SMS identity to the person.

  • Name
    Avatar
    Type
    image
    Description

    Pulled from the channel where the platform provides one.

  • Name
    Company
    Type
    reference
    Description

    The organisation they belong to, if you are tracking companies.

  • Name
    Labels
    Type
    list
    Description

    Tags on the person rather than on a conversation — vip, churn-risk, reseller.

  • Name
    Custom attributes
    Type
    key–value
    Description

    Your own structured fields: plan, account ID, renewal date, lifetime value.

  • Name
    Conversations
    Type
    history
    Description

    Every thread with this person, on every channel, newest first.

  • Name
    Notes
    Type
    freeform
    Description

    Context that is not a conversation — what happened on a call, what was promised, what to watch for.

Identities across channels

Each channel identifies people differently. Email has an address, WhatsApp has a phone number, Instagram has a platform account ID. Tola stores these as separate contact inboxes attached to one contact.

That means a single contact can hold "this email address, this phone number, and this Instagram handle" simultaneously, and messages on any of them land on the same record.

The linking is automatic when the identifiers match — someone who emails from an address already on the record joins that record. It is not automatic when they do not: a new Instagram DM from someone you only know by email arrives as a new contact, because there is nothing in common to match on. Merge them when you notice, or capture an email in the conversation and let the match happen.

Custom attributes

Custom attributes are the structured fields your business actually cares about. Define them once under Settings → Custom attributes, choosing a type — text, number, link, date, list or checkbox — and they appear on every contact.

They are worth setting up early, because they unlock everything downstream:

  • Filtering. Find every contact whose plan is enterprise.
  • Segments. Save that filter and use it as an audience.
  • Workflows. Prioritise conversations from high-value customers automatically.
  • Campaigns. Fill WhatsApp template variables from attribute values.

Attributes can be filled in by an agent, set automatically by a workflow, imported in bulk, or pushed across from your own systems — so the data stays current without anyone maintaining it by hand.

Conversations have their own custom attributes too — order number, ticket type, refund amount — for facts about the thread rather than the person.

Labels and segments

Labels are flat tags applied by hand or by automation. They are best for facts that are true about a person for a while: vip, beta, owes-us-money.

Segments are saved filters, and they update themselves. "Contacts in Nepal on the enterprise plan who have written in the last 30 days" is a segment, not a label — nobody has to maintain it.

Reach for a segment when the definition is a rule, and a label when it is a judgement.

Companies

For B2B support, the person who writes to you is rarely the whole story. Companies group contacts under one organisation, so you can see every conversation from a customer account rather than from one employee.

A company record holds its own attributes — plan, contract value, renewal date, account manager — and lists its people. When someone from a company opens a conversation, the agent can see whether their colleague already asked the same thing this week.

Merging duplicates

Duplicates are inevitable: someone emails from a personal address, someone else creates a contact by hand, a phone number is entered without a country code.

Merging combines two contacts into one, keeping the conversation history from both. It cannot be undone, so check you have the right two records first — particularly when the only thing they share is a name.

Importing contacts

Bring existing customers in from a CSV under Settings → Data import. Map your columns to Tola's fields and custom attributes, and Tola matches existing contacts by email or phone rather than creating duplicates.

A few things that save pain:

  • Normalise phone numbers to international format before importing. 98000000000 and +9779800000000 will not match.
  • Import a sample of ten rows first and check the result before running the whole file.
  • Create your custom attributes before importing, so there is something to map to.

Keeping data useful

Contact data decays. A field nobody fills in is worse than no field, because people trust it and are wrong.

Keep the number of custom attributes small enough that they get maintained, prefer attributes a workflow or your own systems can set automatically over ones agents must remember, and delete fields you are no longer using. A record with six accurate attributes is more useful than one with thirty stale ones.

Was this page helpful?