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

# Contacts

> A project-attributed directory of the people on your jobs — trades, subs, suppliers, inspectors, owners — that you and the AI can keep up to date.

**Contacts** are the external people SiteSuper communicates with on a project: trades, subcontractors, suppliers, inspectors, engineers of record, foremen, and owner/client reps. They power variance follow-up (who gets called or messaged when something slips) and give you one tidy stakeholder directory per job.

## Two ways to view contacts

<CardGroup cols={2}>
  <Card title="Workspace directory" icon="address-book">
    The **Contacts** tab in the left nav lists every contact across **all your projects**, with a Project column and filters for project (including **Unassigned**), status, category, and verified — plus search. The place to see and manage everyone at once.
  </Card>

  <Card title="Per-project (Trades)" icon="hard-hat">
    Each project has its own **Trades** tab showing just that job's contacts, with their variance **bindings** (which milestone/task/trade they're the contact for).
  </Card>
</CardGroup>

## What a contact holds

<ParamField path="Name" type="required">The person's name.</ParamField>
<ParamField path="Organization">Their company.</ParamField>
<ParamField path="Title">Free-text role, e.g. `Site Superintendent`, `Project Manager`.</ParamField>
<ParamField path="Category">A grouping you choose, e.g. Trade, Supplier, Consultant, Authority, Owner/Client, Internal.</ParamField>
<ParamField path="Role">The structured role used by variance chains: vendor, sub, inspector, EOR, foreman, or other.</ParamField>
<ParamField path="Channels">Cell, WhatsApp, Office, and Email. Phone numbers are validated and stored in E.164.</ParamField>
<ParamField path="Status">`Active`, `Stale`, or `Inactive`.</ParamField>
<ParamField path="Verified">Whether the details have been confirmed (see below). Manually added contacts are verified by default.</ParamField>
<ParamField path="PO #">An optional purchase-order reference.</ParamField>

## Add & edit

* **Add one** — on the workspace Contacts page click **+ Contact**, optionally pick the **project** it belongs to, and fill in the form. On a project's **Trades** tab, use **+ Trade**.
* **Upload** — click **Upload** and drop in a file. A **CSV or Excel** sheet is read instantly (column headers matched loosely, so an existing stakeholder spreadsheet usually just works: `name` (required), organization, title, category, role, trade, cell, whatsapp, office, email, po, status). **Any other file** — a PDF or photo of a business card, a scanned sub list, an image — is read by AI. Either way you get a **preview** before anything is added, and re-uploading won't create duplicates.
* **Add from phone contacts** — on **Android (Chrome or Edge)**, an **Add from phone contacts** button opens your device's contact picker so you can select people straight from your address book, with the same preview-before-import flow.
* **Share a contact to SiteSuper** — if you've added SiteSuper to your home screen, open a contact and tap **Share Contact**, then choose **SiteSuper** from the share sheet. You'll land on a review screen to pick the project and confirm before adding. (iOS support for this depends on your Safari version — if SiteSuper doesn't appear in the share sheet, use **Share Contact → Mail** to the project's email ingest address below instead.)

## Email contacts in

Both the workspace Contacts page and a project's Trades tab show an **email ingest address** (managers/owners only), with a toggle to turn it on or off:

<CardGroup cols={2}>
  <Card title="Project Trades address" icon="hard-hat">
    Forward or send vCards (`.vcf`) or a contact list to this address and the entries are added to **that project's** Trades.
  </Card>

  <Card title="Workspace Contacts address" icon="inbox">
    The workspace-level address adds entries as **Unassigned** contacts for you to file onto a project later.
  </Card>
</CardGroup>

Accepted content: a `.vcf`/`.vcard` attachment, a `.csv` contact list, or just a plain-text list of names and contact details in the email body. Only senders on the workspace's **Contact import senders** allowlist (Settings → Workspace) are accepted. Each entry goes through the same hybrid trust model as agent-sourced updates — new people are added and flagged unverified, while edits to existing contacts are queued for manager approval.

## Let the AI keep contacts current

Supers can add or correct a contact just by telling the SiteSuper agent — over **WhatsApp, phone, or SMS** — for example *"add Joe Klaver at Lonsdale Electric, cell 604-555-1234, he's the electrical foreman."* Contact details that arrive by **email** are picked up too.

The agent uses a **hybrid trust model** so field updates never silently overwrite known data:

<CardGroup cols={2}>
  <Card title="New contact → added right away" icon="user-plus">
    A person not already on the project is added immediately and flagged **unverified**, so you can confirm the details when convenient.
  </Card>

  <Card title="Edit to an existing contact → queued" icon="user-check">
    A change to someone already on file goes to a **Pending changes** queue on the Contacts page. A manager sees the before → after and **approves** or **rejects** it — the live contact is untouched until then.
  </Card>
</CardGroup>

<Note>
  **A project is optional.** A contact can live at the workspace level as **Unassigned** — useful when you import a master list before sorting people onto jobs. Assign (or reassign) a contact to a project any time by editing it. Only managers and owners can view and edit the directory and act on pending changes.
</Note>
