# Observation

A measured result with a subject, period, unit and collection state.

Submission Key joins occurrence and membership; the reply workflow upserts by this key. Editing in Slack updates the same row, its value, note and observation date, while retaining existing evidence. This differs from the table description that says readings are never overwritten. Processing means persistence or evidence transfer is underway; Recorded means collection completed; Failed means a saved record needs recovery. These states are not performance grades.

## Use and boundaries

Field names below are the current product labels. `*` and `°` are UI markers, not database constraints. A preferred single-record selection is not a global cardinality constraint either. The related guide explains operational rules.

[Related guide](/systems/kpis-okrs/manual-results) · [All entities](/systems/kpis-okrs/entities)

[![Recorded results with value, period, note and evidence.](/systems/kpis-okrs/screens/ceo-results.png)](/systems/kpis-okrs/screens/ceo-results.png)

*Observation in the Data view CEO - Reported results.*

## Fields

| Field | Storage | Source, options or boundary |
| --- | --- | --- |
| Observation # | Auto number | Generated by Airtable. |
| Variable Measured* | Linked records | [Metric](/systems/kpis-okrs/entity-metric) |
| Period* | Text | Stored value. |
| Recurrence Configuration° | Linked records | [Recurrence Configuration](/systems/kpis-okrs/entity-recurrence-configuration) |
| Observation About (Membership)* | Linked records | [Membership (mirror)](/systems/kpis-okrs/entity-membership-mirror) |
| Company | Lookup | Observation About (Membership)* / Business Unit. Preserves the Organization link; read-only membership company, not a historical snapshot. |
| Observation About (Membership) - OLD | Text | Historical; do not fill. |
| Observation About (Team) | Text | Text reference; not a linked record. |
| Observation About (Department) | Text | Text reference; not a linked record. |
| Observation About (Organization) | Text | Text reference; not a linked record. |
| Organizational Scope (Team) | Text | Text reference; not a linked record. |
| Organizational Scope (Department) | Text | Text reference; not a linked record. |
| Value* | Number | Stored value. |
| Unit Text* | Text | Stored value. |
| Unit Code | Text | Stored value. |
| Observation Date* | Date and time | Stored value. |
| Evidence° | Text | Text reference; not a linked record. |
| Evaluations | Linked records | [Evaluation](/systems/kpis-okrs/entity-evaluation) |
| Task | Linked records | [Task](/systems/kpis-okrs/entity-task) |
| Occurrence Key | Text | Stored value. |
| Observation About (Name) | Lookup | Observation About (Membership)* / Member Display Name |
| Note° | Long text | Stored value. |
| Evidence Files° | Attachments | Stored value. |
| Submission Key | Text | Stored value. |
| Collection Status* | Single select | Processing, Recorded, Failed |
| Slack File IDs | Long text | Stored value. |
| Collection Error | Long text | Stored value. |
| Intake Check | Formula | Computed; see formulas below. |
| Created | Created time | Generated by Airtable. |
| Intake Step | Formula | Computed; see formulas below. |
| Tags | Linked records | [op:tags](/systems/kpis-okrs/entity-op-tags) · optional labels from the Core Tags catalog; classification only. |

## Current formulas

Internal references are rendered as readable field names. These expressions describe current configuration, including its limitations.

### Intake Check

```text
IF({Variable Measured*} = BLANK(), "⚠ Choose the metric. ", "") & IF({Observation About (Membership)*} = BLANK(), "⚠ Choose the reporting membership. ", "") & IF(LEN({Value*} & "") = 0, "⚠ Enter the measured value. ", "") & IF({Period*} = BLANK(), "⚠ Enter the period. ", "") & IF({Observation Date*} = BLANK(), "⚠ Enter the observation date. ", "") & IF({Unit Text*} = BLANK(), "⚠ Enter the unit. ", "")
```

### Intake Step

```text
IF(AND({Submission Key}=BLANK(),OR({Collection Status*}=BLANK(),{Collection Status*}="Processing")),IF(OR({Variable Measured*}=BLANK(),{Observation About (Membership)*}=BLANK(),{Period*}=BLANK()),"Collect - 1",IF(OR(LEN({Value*}&"")=0,{Unit Text*}=BLANK(),{Observation Date*}=BLANK()),"Collect - 2","Collect - 3")),"")
```


## Example and maintenance

Illustrative example: 12 reports for period 2026-10-27, Recorded, linked to the schedule that asked for it. Editing that Slack item later updates this same reading. On 2026-10-28 the table held one observation.

Use the existing fictitious records to inspect relationships in the guide. Before changing fields, check lookups, formulas, intakes and workflow contracts. This page documents structure; a field does not prove that an integration populates it.