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

# Contact Records & Fields

> Every field on a Voxworks contact record — validation rules, Australian phone normalisation, inline editing, the DNCR readout and override, linked custom variables, per-contact call history, and how your team members appear as contacts.

## What is a contact record?

A contact record is the person your voice agents call — or the person who calls you. It holds their name, phone number and other details, the tags and lists they belong to, any [custom variables](/custom-variables/linking-contacts) linked to them, and a running history of every call they have been involved in.

Contacts live in **Contacts** (under **Phone System** in the sidebar). Click any row in the table to open the **Contact Details** panel, where you can read and edit every field described on this page. To add someone new, click **New Contact** — the same panel opens with a blank form.

Contact fields do double duty on calls: at call start the agent hydrates variables such as `{{contact.first_name}}` (string, e.g. `Jane`) and `{{contact.phone}}` (string, e.g. `+61412345678`) straight from the record, and flows that capture details during the call can write them back. Type `/` in supported script fields to insert these from the variable picker — the full list is on [Variables](/flows/variables).

***

## Standard fields

| Field      | Required | Description                                                                                                                                                     |
| ---------- | -------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| First Name | Yes      | Up to 255 characters. Trailing spaces are not allowed.                                                                                                          |
| Last Name  | No       | Up to 255 characters.                                                                                                                                           |
| Phone      | Yes      | Must be a valid phone number in international format (e.g. `+611234567890`). See [Phone numbers and Australian formats](#phone-numbers-and-australian-formats). |
| Company    | No       | Free text. Typing a company name links the contact to that company — if the company doesn't exist yet it is created for you. Clearing the field unlinks it.     |
| Email      | No       | Must be a valid email address if provided.                                                                                                                      |
| Age        | No       | A whole number between 0 and 150.                                                                                                                               |
| Gender     | No       | One of **N/A**, **Male**, **Female**, **Other**.                                                                                                                |
| Address    | No       | Free text, up to 500 characters.                                                                                                                                |
| Location   | No       | Free text — "City, State, etc."                                                                                                                                 |
| Status     | No       | Free text. Shown as a badge in the contacts table.                                                                                                              |
| Tags       | No       | Team-wide labels you can create and assign inline — see [Contact Tags](/contacts/tags).                                                                         |

Further down the panel, the **Call Data** section shows two read-only values:

* **Last Contacted** — the date and time of the contact's most recent call, or *Not contacted yet*.
* **Calls** — the total number of calls on record for this contact.

### Phone numbers and Australian formats

Phone numbers are stored in international E.164 format: a `+`, the country code, then the number, with no spaces or punctuation (e.g. `+61412345678`).

You don't have to type them that way. The phone field is a country-aware input that defaults to Australia — enter a local mobile like `0412 345 678` and it is saved as `+61412345678`. To store a non-Australian number, pick a different country in the input's country selector first.

Wherever Voxworks checks a number against the Do Not Call Register, it normalises Australian formats the same way — `0412 345 678`, `61412345678` and `+61412345678` all resolve to the same registered number, so the DNCR readout doesn't depend on how the number was originally typed.

Phone numbers must be unique within your team:

* **When creating a contact** — if the number already belongs to another contact, a **Contact Already Exists** dialog shows the existing contact's name, phone and email and asks whether you want to update it with the new details. Choose **Update Contact** to merge your entries into the existing record, or **Cancel** to go back.
* **When editing a contact's number inline** — saving a number that belongs to another contact fails with *Phone number already exists*; the field stays open with what you typed so you can correct it.

***

## Creating a contact

1. Open **Contacts** and click **New Contact**. The **Contact Details** panel opens with the heading **New Contact**.
2. Fill in at least **First Name** and **Phone** — **Save** stays disabled until both are present.
3. Click **Save**. The record is validated (phone format, email format, duplicate number) and added to your contacts table.

To load contacts in bulk instead, use the CSV importer — see [Importing & Exporting Contacts](/contacts/import-export).

***

## Inline editing

Every field in the Contact Details panel is edited in place — there is no separate edit mode:

* **Click a field** to start editing it. Placeholder text (e.g. *Enter first name*) marks empty fields.
* **Enter** saves the value; **Escape** cancels and restores the previous value; clicking away also saves.
* The **Save** button in the panel header saves whichever field you are currently editing.
* **Gender** is a dropdown — choosing a value saves immediately.

Validation runs on save: required fields cannot be cleared (*This field is required*), phone numbers must be valid (*Invalid phone number*), and emails must be well-formed (*Enter a valid email address*) — each of these reverts the field to its last saved value. A duplicate phone number is rejected with *Phone number already exists* instead, leaving your entry in place so you can fix it.

Whether you can edit a given contact depends on your team role and who created the record — if you don't have edit rights, the fields display as read-only text.

***

## DNCR readout

Voxworks checks Australian numbers against the ACMA **Do Not Call Register** through a process called washing — see [DNCR Washing](/contacts/dncr-washing) for how to run washes and what they cost legally and operationally. A wash result is considered current for 30 days; after that the number counts as unwashed again.

The Contact Details panel shows the current readout as a badge next to the phone number:

| Badge                | Meaning                                                                            |
| -------------------- | ---------------------------------------------------------------------------------- |
| **Checking DNCR...** | The readout is loading.                                                            |
| **DNCR Registered**  | The number is on the Do Not Call Register (washed within the last 30 days).        |
| **Not on DNCR**      | The number is not on the register (washed within the last 30 days).                |
| **Invalid Number**   | The register reported the number as invalid.                                       |
| **Override Active**  | A DNCR override is enabled on this contact — shown alongside the registered badge. |

No badge means the number hasn't been washed in the last 30 days. The contacts table shows the same information as small status icons in the Phone Number column — **Safe to call**, **On DNC Register**, **Invalid number**, **Not washed**, and **DNCR Override** — and you can wash selected contacts from the table with the **Wash DNCR Status** bulk action ([Contact Bulk Actions](/contacts/bulk-actions)).

### Overriding a DNCR listing

When a contact's number is on the register, an **Override DNCR** checkbox appears in the Contact Details panel. Ticking it opens a **Confirm DNCR Override** dialog: *This contact is registered on the Do Not Call Register (DNCR).* By confirming, you acknowledge that:

* You have obtained explicit consent from this contact to make calls
* You have an existing business relationship that permits calling
* You are otherwise in compliance with local DNCR regulations

The dialog carries a warning that calling DNCR-registered numbers without proper authorisation may result in significant penalties. Click **Confirm** to enable the override or **Cancel** to leave it off.

An enabled override records who enabled it and when, so your team has an audit trail; the contact then shows the **Override Active** badge, and the table icon changes to **DNCR Override**. Untick the checkbox at any time to disable it — no dialog is shown when turning an override off.

The override is a statement of *your* legal basis for calling, not Voxworks' — scheduling a call to a registered number still surfaces a **Do Not Call Register Warning** so nobody dials one unknowingly. For your obligations and how enforcement works across batches, read [DNCR & Opt-Out Compliance](/security/dncr-compliance) and [Batch Screening Gates](/batches/screening-gates).

***

## Linked custom variables

Below the contact's fields, the details panel lists one row per custom variable type installed on your team, showing which value (if any) is linked to this contact. Pick a value from the dropdown to link it, or click the **×** to unlink; linked values ride along on the contact's calls as `{{custom...}}` variables. The full linking model — including bulk assignment and what agents can read and write — lives on [Linking Custom Variables to Contacts](/custom-variables/linking-contacts).

***

## Call history on a contact

The **Calls** section at the bottom of the Contact Details panel lists the contact's calls, most recent first:

| Column   | Description                                                               |
| -------- | ------------------------------------------------------------------------- |
| Time     | When the call took place.                                                 |
| Duration | How long it lasted.                                                       |
| Success  | The call's success evaluation, where one has been recorded.               |
| Status   | The call's status — see [Call Statuses](/calls/statuses) for every value. |
| Actions  | **Goto Call** opens the call in the Call Log.                             |

Click a row to slide open the full call details — summary, transcript, objectives and analysis — right beside the contact, exactly as they appear in the [Call Log](/calls/history).

***

## Team members as contacts

Your own team appears in Contacts automatically. When a team is created its owner gets a contact record, and whenever someone accepts an invitation to the team a record is created for them too, using the name, email and phone from their user profile.

* In the contacts table, **you** are marked with a blue single-person icon next to your name; **other team members** get a green two-person icon. Ordinary contacts have no icon.
* Team-member records behave like any other contact — you can edit their fields, tag them, add them to lists and call them.
* **You cannot delete your own contact record.** Deleting it individually is blocked, and if it is included in a bulk delete it is skipped with the notice *Your contact record was excluded from deletion*.

***

## Next Steps

* [Importing & Exporting Contacts (CSV)](/contacts/import-export) — load contacts in bulk with flexible headers and typed custom-variable columns.
* [DNCR Washing](/contacts/dncr-washing) — run washes, read Y/N/I results and understand the 30-day freshness window.
* [Linking Custom Variables to Contacts](/custom-variables/linking-contacts) — attach typed data records that your agents can read and write on calls.
* [Contact Bulk Actions](/contacts/bulk-actions) — add selected contacts to lists, assign custom variable values, wash or delete in bulk.
