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

# Contacts

> View, search, filter, import, and create CE contacts — leads, referral contacts, and community members.

The Contacts list screen displays all contacts for the current organization and is accessible at `/ce/contacts`.

## Overview

The Contacts screen renders a paginated table of contacts with search-as-you-type (300ms debounce), a contact type filter populated from the `ce_contact_type` picklist, and a status filter with options: All Status, Active, Inactive, and Do Not Contact. Users with `ce.contacts.create` see an Import button (opens `ContactImportDialog`) and a New Contact button (opens `ContactDialog`). Visiting `/ce/contacts?action=new` auto-opens the New Contact dialog. On mobile viewports the screen renders a `MobileContactView`. Clicking a contact row navigates to `/ce/contacts/:id`. Contacts are scoped to the current organization.

## Who it's for

Required permission: `ce.contacts.view` (route-level gate). Creating contacts requires `ce.contacts.create`.

## Before you start

* You need the `ce.contacts.view` permission.
* To create or import contacts, you additionally need `ce.contacts.create`.

## Steps

<Steps>
  <Step title="Open Contacts">Navigate to `/ce/contacts` via the Community Engagement menu.</Step>
  <Step title="Search or filter">Type in the search box to filter by name or other fields, or use the Type and Status dropdowns to narrow results.</Step>
  <Step title="Open a contact record">Click any row in the table to go to that contact's detail page.</Step>
  <Step title="Create a contact">Click New Contact (or navigate to `/ce/contacts?action=new`) to open the contact creation dialog.</Step>
  <Step title="Import contacts">Click Import to open the `ContactImportDialog` and upload a file.</Step>
  <Step title="Edit or delete a contact">Use the row action menu in the contacts table to edit or delete a record.</Step>
</Steps>

## Key concepts

* **Contact status** — `active`, `inactive`, or `do_not_contact`; the list defaults to showing `active` contacts.
* **Contact type** — populated from the `ce_contact_type` picklist; SME: confirm available values.
* **Auto-open** — appending `?action=new` to the URL triggers the New Contact dialog to open on load.

## Creating a contact

The route `/ce/contacts/new` is a redirect, not a standalone screen. It automatically redirects to `/ce/contacts?action=new`, which auto-opens the New Contact dialog on the Contacts list page. In `src/routes/ce.tsx`, the path `/ce/contacts/new` is configured as `<Navigate to="/ce/contacts?action=new" replace />`. Creating a contact is performed within the `ContactDialog`, not on a separate full page.

The destination Contacts page requires `ce.contacts.view`; creating a contact requires `ce.contacts.create`.

## Detail view

The Contact detail screen displays a single contact record with tabbed sections for all associated data. It is accessible at `/ce/contacts/:id`.

### Overview

The Contact detail screen shows a header with the contact's full name, type, and status. Summary cards display contact type, status, number of associated leads, and creation date. The screen provides action buttons for Click-to-Call (requires `ce.calls.create` and a phone number), Send SMS (requires a phone number), Schedule Meeting, and Edit Contact. Seven tabs organize the content: Overview (contact info card), Leads (linked lead records), Calls (recent call list), SMS (conversation panel, shown only if a phone number exists), Emails (email timeline), Relationships, and Activity. Editing opens a `ContactDialog`; SMS compose opens an `SmsComposeDialog`. If the contact is not found or the user lacks access, an error state is shown with a link back to `/ce/contacts`.

### Who it's for

Required permission: `ce.contacts.view` (route-level gate). Click-to-call requires `ce.calls.create`.

### Before you start

* You need the `ce.contacts.view` permission.
* The contact ID must exist and belong to your organization.

### Steps

<Steps>
  <Step title="Open a Contact">Navigate to `/ce/contacts/:id` by clicking a contact row in the Contacts list.</Step>
  <Step title="Review contact information">Check the Overview tab for address, email, phone, and other contact fields.</Step>
  <Step title="View associated leads">Switch to the Leads tab to see all linked lead records and their statuses.</Step>
  <Step title="Review call history">Switch to the Calls tab to see recent calls associated with this contact.</Step>
  <Step title="Send SMS (if phone present)">Click Send SMS to open the SMS compose dialog, or switch to the SMS tab to view the full conversation.</Step>
  <Step title="View email timeline">Switch to the Emails tab to see all email communications with this contact.</Step>
  <Step title="Edit the contact">Click Edit Contact to update contact fields in the dialog.</Step>
  <Step title="Schedule a meeting">Click Schedule Meeting to open the meeting scheduling dialog.</Step>
</Steps>

### Key concepts

* **Contact type** — stored as `contact_type` on the record; displayed in the header sub-heading and in a summary card.
* **Contact status** — values include `active`, `inactive`, and `do_not_contact`.
* **SMS tab visibility** — the SMS tab and Send SMS button only appear when `contact.phone` or `contact.mobile_phone` is present.

## Related

<Columns cols={2}>
  <Card title="Community Engagement" icon="bullhorn" href="/ce/overview">
    Community Engagement core overview.
  </Card>

  <Card title="Governance & parity" icon="scale-balanced" href="/governance/index">
    Documentation coverage and governance.
  </Card>
</Columns>

<Note>
  This page documents shipped product behavior. It is not medical, legal, or
  billing advice. Verify against your organization's policies and applicable
  regulations before using it for clinical, compliance, or billing decisions.
  Protected health information (PHI) shown in the product is governed by your
  tenant's access controls and is never exposed in this documentation.
</Note>

<Accordion title="Documentation sources">
  * src/routes/ce.tsx
  * src/cores/ce/pages/ContactsPage.tsx
  * src/cores/ce/pages/ContactDetailPage.tsx
</Accordion>
