# Person

One person, independent of their employment or organizational memberships.

Source table: People in Core Record Types (`schema:Person`). A Person row is the golden record of one human being: name, personal contact, birth date, national identifier, picture and postal address. What the person does at work never lives here.

## Rules and relationships

Create or correct identity in People. Name is calculated from First Name* and Last Name*. Memberships holds organizational participation; job titles and company email belong to [Membership](/systems/core/membership). Account Binding identifies an Airtable collaborator, not a Slack account. Address links one or more [Address](/systems/core/address) rows. Tags marks provenance, such as the automation that created the row.

## Lifecycle and checks

Status is the state of the record, not of the work; work status lives in Membership Status. Draft: created in Core without an e-mail. Proposed: born in a domain, such as a CRM two-way mirror or the Cal.com booking workflow, and waiting for Core to promote it. Active: checked. On Hold: kept but not in use. Archived: retired. Superseded: a merged duplicate. There is no default value and no automation that sets Proposed on new rows; a row created without Status stays blank. Record health is the share of seven fields that are filled; Health check names the missing ones. Neither verifies identity.

## Source fields

Names, types, options and links are those configured in Core Record Types. The meaning is the first line of each field description in Airtable. Options describe configuration; they do not prove a rule is enforced elsewhere.

### Recorded values

| Field | Type | Meaning | Options, link or calculation |
| --- | --- | --- | --- |
| Image | Attachments | Stores the person's picture, used wherever they appear. | Entered value. |
| Account Binding | Collaborator | Stores the workspace account this person signs in with. | Entered value. |
| First Name* | Text | Stores the first name the person goes by. | Entered value. |
| Last Name* | Text | Stores the family name the person goes by. | Entered value. |
| Email* | Email | Stores the person's own email address, the one that stays with them between companies. | Entered value. |
| Telephone* | Phone | Stores the phone number the person agreed to be called or messaged on. | Entered value. |
| Birth Date | Date | Stores the day the person was born. | Entered value. |
| National Identifier | Text | Stores the government identity number that names this person in their country. | Entered value. |
| Status | Single select | Stores where this person's entry stands in its life. | Draft, Proposed, Active, On Hold, Archived, Superseded |
| Notes | Rich text | No description in Airtable. | Entered value. |

### Links

| Field | Type | Meaning | Options, link or calculation |
| --- | --- | --- | --- |
| Address | Linked records | Links the postal addresses where this person can be reached. | → [Address](/systems/core/address) · several records |
| Memberships | Linked records | Links every membership this person holds, one per company. | → [Membership](/systems/core/membership) · several records |
| Tags | Linked records | Links the tags that mark this person, such as the automation that created the entry. | → [Tag](/systems/core/tag) · several records |

### Calculated

| Field | Type | Meaning | Options, link or calculation |
| --- | --- | --- | --- |
| Name | Formula | Shows the person's full name, built from the two name columns. | Formula below. |
| Record health | Formula | Shows how complete this person's core data is, as the share of seven key fields that are filled. | Formula below. |
| Health check | Formula | Says in words what is missing from this person's core data, or shows ✅ when nothing is. | Formula below. |
| Organizations [membership] | Lookup | No description in Airtable. | Lookup of Business Unit through Memberships |

### Generated by Airtable

| Field | Type | Meaning | Options, link or calculation |
| --- | --- | --- | --- |
| Created By | Created by | Airtable system value. | Airtable system value. |
| Created At | Created time | Airtable system value. | Airtable system value. |
| Last modified by | Last modified by | Airtable system value. | Airtable system value. |
| Last modified at | Last modified time | Airtable system value. | Airtable system value. |

## Current formulas

Field IDs are rendered as current field names.

### Name

```text
TRIM({First Name*} & " " & {Last Name*})
```

### Record health

```text
SUM(
IF({First Name*},1,0),
IF({Last Name*},1,0),
IF({Email*},1,0),
IF({Telephone*},1,0),
IF({National Identifier},1,0),
IF(COUNTA({Image})>0,1,0),
IF(COUNTA({Address})>0,1,0)
)/7
```

### Health check

```text
IF(
  AND(
    {First Name*},
    {Last Name*},
    {Email*},
    {Telephone*},
    {National Identifier},
    COUNTA({Image})>0,
    COUNTA({Address})>0
  ),
  "✅",
  "Missing: " & REGEX_REPLACE(
    CONCATENATE(
      IF({First Name*}, "", "First Name, "),
      IF({Last Name*}, "", "Last Name, "),
      IF({Email*}, "", "Email, "),
      IF({Telephone*}, "", "Telephone, "),
      IF({National Identifier}, "", "National Identifier, "),
      IF(COUNTA({Image})>0, "", "Image, "),
      IF(COUNTA({Address})>0, "", "Address, ")
    ),
    ", $", ""
  )
)
```

## Example (fictitious)

Sam Example is created by the booking workflow as Proposed, with the tag cal-lead-n8n and an e-mail. A Core maintainer searches People by e-mail, finds no duplicate, adds Telephone* and Address, and sets Status to Active. The CRM keeps the commercial relationship; Core keeps the person.

## Use by other systems

Sync direction and the source view are confirmed only where the note says so; see [Architecture and ownership](/systems/core/architecture).

| System | Local table | Note |
| --- | --- | --- |
| KPIs & OKRs | [Person (mirror)](/systems/kpis-okrs/entity-person-mirror) | — |
| CRM | [People](/systems/crm/entity-people) | two-way, CRM exception to the Core rule |
| Tooling and Access | [Person (mirror)](/systems/tooling/entity-person) | — |
| Communication | [Person (mirror)](/systems/communication/entity-person) | — |

[Correct shared records](/systems/core/maintain-shared-records) · [All entities](/systems/core/entities)