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

# Contacts

> Find, filter, edit and export the people in your workspace, and read each contact's lists, messages and activity.

Every person you can email is a **contact**. Contacts belong to your workspace; [lists](/guides/audience-and-campaigns/lists) and [segments](/guides/audience-and-campaigns/segments) are ways of grouping them.

Open **Contacts → All Contacts** in the sidebar.

## Contact status

Each contact has one **Contact status**. It describes the mailbox as a whole and overrides every list the contact is on.

| Status           | Meaning                                                                                  | Receives marketing email |
| ---------------- | ---------------------------------------------------------------------------------------- | ------------------------ |
| **Active**       | Normal, mailable contact                                                                 | Yes                      |
| **Pending**      | Waiting to confirm a [double opt-in](/guides/audience-and-campaigns/double-opt-in) email | No                       |
| **Unsubscribed** | Opted out of everything (footer link, preference center, or set by you)                  | No                       |
| **Bounced**      | The address hard-bounced                                                                 | No                       |
| **Complained**   | The recipient marked your email as spam                                                  | No                       |

Subscription to an individual list is tracked separately. See [Lists](/guides/audience-and-campaigns/lists#subscription-status-per-list).

<Note>
  Transactional sends follow different rules: an **Unsubscribed** contact still receives transactional mail such as receipts. See [Send policies](/guides/audience-and-campaigns/send-policies).
</Note>

## Add a contact manually

<Steps>
  <Step title="Open the Add Contact page">
    Click **Add Contact** in the toolbar. Where you start decides the list: from a list's view (a list selected in the sidebar), the contact joins that list, and the page says **Will be added to the "…" list**. From **All Contacts**, the contact isn't added to any list.
  </Step>

  <Step title="Fill in the details">
    **Email** is required. Every other field is on the page: first and last name under **Contact**, company, job title, phone, birthday, language and timezone under **Profile**, and the postal address under **Address**. Any [custom fields](/guides/audience-and-campaigns/custom-fields) you have defined appear at the end.
  </Step>

  <Step title="Save">
    Click **Add Contact** to save and go back to the contacts table, with your filters as they were. Click **Add and create another** to save and start a new contact straight away.

    The contact is created with the status **Active**, and subscribed to the list if you started from one. Adding it to a list can start automations with a **Contact Added to List** trigger. If the address already exists, its details are updated; if it had unsubscribed from that list, it stays unsubscribed. To add it to more lists later, open the contact and use **Subscribe to list**, or select it in the table and use **Bulk update → Add to list**.
  </Step>
</Steps>

To bring in many contacts at once, see [Import contacts](/guides/audience-and-campaigns/import-contacts).

## Find contacts

* **Search**: the search box matches email and name.
* **Lists sidebar**: click a list on the left to show only its members. The table then gains a **Status in** column named after the list, and the **Add Existing** button appears so you can add existing contacts to that list.
* **Filters**: the **Filters:** row has **Email**, **External ID**, **First Name**, **Last Name**, **Phone**, **Language**, **Country**, **Status** and **List**. Click one to turn it into an editable chip. **List status** (Subscribed, Pending, Unsubscribed) appears once a list filter is set. Click **Clear** to remove every filter.
* **Segments**: the **Segments:** row shows one coloured chip per segment with its contact count. Click a chip to show only its members. Click it again to remove the filter.

Filters are stored in the page URL, so you can bookmark or share a filtered view. Export and bulk update use the same filters.

<Tip>
  Country filters use two-letter ISO codes (`GB`, `US`). Language filters use short language tags (`en`, `pt-BR`).
</Tip>

### Choose columns

Click the columns button next to the export button to show or hide **Name**, **Lists**, **Segments**, **Contact status**, **Country**, **Language**, **Timezone**, **Phone**, **Source**, **Added** and **Custom Fields**. Your choice is remembered in your browser.

In the **Lists** column, each list has a coloured dot for the contact's status on that list.

## Bulk update

<Steps>
  <Step title="Select contacts">
    Tick rows, or use the header checkbox to select every contact on the current page. The selection is kept when you move between pages and cleared when you change a filter.
  </Step>

  <Step title="Choose an action">
    Click **Bulk update** and pick an **Action**:

    * **Add to list** / **Remove from list**
    * **Set list subscription status**: Subscribed, Pending or Unsubscribed on one list
    * **Set a profile field**: country (ISO code), language, timezone, source, company or job title. Leave the value blank to clear the field.
    * **Set a custom field** (shown only if you have custom fields)
    * **Set contact status** and **Delete contacts** (Owners and Admins only)
  </Step>

  <Step title="Apply">
    Click **Apply**. A message reports how many contacts matched and how many changed.
  </Step>
</Steps>

<Warning>
  **Delete contacts** permanently removes the contacts along with their list memberships, events and history. It cannot be undone. Setting contacts back to **Active** after they opted out is your responsibility under consent rules.
</Warning>

A single bulk update covers up to 1,000 contacts.

## Save a filtered view as a list

When a filter is active, click **Save as List** and choose where the matching contacts go:

* **A new list**: enter a name and, optionally, a description, then click **Create List**.
* **An existing list**: pick the list and click **Add to list**. Contacts already on it stay as they are, including anyone who unsubscribed from that list, and the confirmation tells you how many were added and how many were already there.

Either way, the list gets the contacts that match at that moment. It keeps them even if they stop matching the filters later, and it doesn't pick up new matches. Use a [segment](/guides/audience-and-campaigns/segments) if you need a group that stays current.

The list gets exactly the contacts the table shows: the search text, every filter chip (such as country, language, status or list status), the list selected in the sidebar and the segment chip all apply, the same as for [Export to CSV](#export-to-csv). The dialog lists the filters it will use. A list can hold up to 50,000 contacts from one save.

## Export to CSV

Click **CSV** in the toolbar to download the contacts that match the current filters. The file includes profile fields, each list as `List name:STATUS`, segments, and one column per custom field. You need export permission to see the button.

* Up to 250,000 rows per export
* Up to 5 exports per minute per user

To export a single list, you can also click **Export CSV** on its card on the **Lists** page.

## The contact page

Click a row to open the contact.

* **Header**: the email address (with a copy button), status, **Lifetime value**, **Purchases**, **Last goal** and **Website visits** where available (see [Events and goals](/guides/audience-and-campaigns/events-and-goals)).
* **Unsubscribe from all lists**: marks the contact **Unsubscribed** and records an opt-out on every list. Campaigns and journeys stop sending to them straight away. Setting the status back to **Active** under **Edit Contact** does not re-subscribe them to any list; you have to add each list back yourself.
* **Awaiting confirmation**: if the contact is **Pending**, or is **Active** but hasn't yet confirmed a double opt-in list, a banner explains why, with a **Resend Confirmation** button. See [Double opt-in](/guides/audience-and-campaigns/double-opt-in#resend-a-confirmation).
* **Edit Contact**: change profile fields, status, source and custom field values.

The tabs below the profile:

| Tab          | Shows                                                                                                                                                                                               |
| ------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Lists**    | Every list the contact is on, with its status, source and date. Change the status on a list, remove the contact from it, or pick a list and click **Subscribe**. Also lists the contact's segments. |
| **Messages** | Every email sent to this contact, with its subject and delivery status, and a **View message** link into the message log                                                                            |
| **Activity** | A timeline of sends, opens, clicks, provider events (delivered, bounced, complained), transactional mail, journey emails, form submissions, list changes, goals, custom events and status changes   |

You can also open the activity timeline from the table without leaving it: click the clock icon (**View activity**) on a row.

## Row actions

The **⋮** menu on each row offers **Edit Status**, **Resend Confirmation** (for **Pending** contacts, and for **Active** contacts with a **Pending** list subscription), and **Delete contact**. When you are viewing a list, the last one becomes **Remove from list**, which keeps the contact in your workspace.

## Troubleshooting

<AccordionGroup>
  <Accordion title="A contact shows as Subscribed on a list but never receives campaigns">
    The contact status wins. If the contact is **Unsubscribed**, **Bounced**, **Complained** or **Pending**, hovering the list badge explains that they opted in to the list but cannot be sent to.
  </Accordion>

  <Accordion title="The Bulk update button is disabled">
    Select at least one contact first. If you don't see **Bulk update**, **Add Contact** or **Import Contacts** at all, your role can't edit contacts.
  </Accordion>

  <Accordion title="I can't find Set contact status or Delete contacts in Bulk update">
    Only Owners and Admins can use those actions.
  </Accordion>
</AccordionGroup>
