> ## Documentation Index
> Fetch the complete documentation index at: https://reseller-docs.wamatrix.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Manage WhatsApp Contacts and Lists in WaMatrix CRM

> Import, organize, and segment contacts in your WaMatrix workspace. Add custom fields, manage opt-in status, and build targeted lists for campaigns.

The Contacts module is where your clients store and organize the people they message. Contacts can be imported in bulk, captured automatically from forms or automation flows, or added manually — and every contact tracks opt-in status to keep campaigns compliant with Meta's messaging policies.

## Importing Contacts

<Steps>
  <Step title="Open the import tool">
    Go to **Contacts → Import**.
  </Step>

  <Step title="Download the CSV template">
    Download the provided CSV template to see the expected column headers and formatting before preparing your data.
  </Step>

  <Step title="Prepare your contact data">
    Fill in the CSV with your contact records. The only required field is a valid phone number in **E.164 format** (e.g. `+14155552671`). Optional fields include first name, last name, email, tags, and any custom fields.
  </Step>

  <Step title="Upload and map columns">
    Upload the completed CSV and use the column mapping interface to match each column in your file to the corresponding contact field in WaMatrix.
  </Step>

  <Step title="Choose handling for duplicates">
    Decide what to do when an uploaded contact's phone number already exists: **Skip** (keep the existing record unchanged) or **Update** (overwrite the existing record with the new data).
  </Step>

  <Step title="Run the import">
    Click **Import**. A summary report shows how many contacts were created, updated, or skipped — and flags any rows with formatting errors.
  </Step>
</Steps>

Here's an example of a valid CSV file:

```csv contacts.csv theme={null}
phone,first_name,last_name,email,tags
+14155552671,Jane,Smith,jane@example.com,"vip,newsletter"
+442071234567,John,Doe,john@example.com,"newsletter"
```

Phone numbers must include the country code with a `+` prefix. Multiple tags are comma-separated and wrapped in quotes.

## Custom Fields

Admins can create custom contact fields to store business-specific data that isn't covered by the standard fields. Supported field types include:

| Field Type   | Example use case                                        |
| ------------ | ------------------------------------------------------- |
| **Text**     | Customer ID, company name, preferred language           |
| **Number**   | Loyalty points, account balance, order count            |
| **Date**     | Subscription renewal date, birthday, last purchase date |
| **Boolean**  | Is VIP customer, has signed contract                    |
| **Dropdown** | Customer tier (Bronze / Silver / Gold), region          |

Custom fields are available as **template variables** (e.g. populate `{{1}}` with a customer's tier) and as **segmentation criteria** (e.g. target all contacts where tier = "Gold").

## Opt-In Status

Every contact in WaMatrix has an opt-in status — this is the single most important compliance field in the platform:

| Status        | Meaning                                                                                         |
| ------------- | ----------------------------------------------------------------------------------------------- |
| **Opted In**  | The contact has given documented consent to receive messages. Eligible for broadcast campaigns. |
| **Not Set**   | Consent status is unknown. Cannot be included in broadcast campaigns.                           |
| **Opted Out** | The contact has explicitly opted out. Permanently excluded from all broadcast campaigns.        |

Contacts can be opted in via:

* A **web form** connected to WaMatrix
* An **automation flow** that sets opt-in status based on a trigger event
* **Manual update** by an admin on the contact record

Opt-out is handled automatically — when a contact sends "STOP" (or a configured opt-out keyword), their status is immediately set to Opted Out and they are excluded from all future campaigns.

## Segments

Segments let clients define a filtered sub-set of their contacts for use in campaigns, automations, and reporting. To create a segment:

1. Go to **Contacts → Segments → New Segment**.
2. Define one or more filter conditions — e.g. tag = `"vip"` AND last message date > 30 days ago.
3. Save the segment. The contact count updates automatically as contacts match or stop matching the criteria.

Segments are **dynamic** — they always reflect the current state of the contact database. A segment used as a campaign target list will include exactly the right contacts at send time, without any manual refreshing.

<Warning>
  Uploading contacts **does not automatically opt them in**. Importing a contact list only creates the records — it does not grant consent. You must have documented, verifiable consent from every contact before including them in a marketing broadcast. Never mark contacts as opted in unless you have a clear record of how and when they gave consent.
</Warning>
