---
title: "workspaceRecordTableColumnSource"
url: https://developers.dagio.ai/reference/workspace-record-table-column-source/
---

# workspaceRecordTableColumnSource

   
                                         
                                                                                           
                                                      
                  
           
          
   

This reference describes the full structure of `workspaceRecordTableColumnSource`. Paths include nested objects, list items and conditional branches. A branch selected by `kind`, `contract` or `mode` only admits its own properties.

## Structure and values

| Field | Options / expected values | Description |
| --- | --- | --- |
| `[variant 1].[kind=native].kind` | `"native"` | **Required.** Selects the variant and the properties admitted in this branch. |
| `[variant 1].[kind=native].property` | `"title" \| "description" \| "createdAt" \| "updatedAt"` | **Required.** Recognized native property name; this selector does not allow arbitrary access. |
| `[variant 1].[kind=field].kind` | `"field"` | **Required.** Selects the variant and the properties admitted in this branch. |
| `[variant 1].[kind=field].fieldPath` | `string; min length 8; max length 127; /^fields\/[a-zA-Z][a-zA-Z0-9]*$/u` | **Required.** Semantic Field selector, using the fields/ prefix. |
| `[variant 1].[kind=calculation].kind` | `"calculation"` | **Required.** Selects the variant and the properties admitted in this branch. |
| `[variant 1].[kind=calculation].calculationKey` | `string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u` | **Required.** Stable key reference to the corresponding named declaration; the compiler checks existence and compatibility. |
| `[kind=metric].kind` | `"metric"` | **Required.** Selects the variant and the properties admitted in this branch. |
| `[kind=metric].metricKey` | `string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u` | **Required.** Stable key reference to the corresponding named declaration; the compiler checks existence and compatibility. |
| `[kind=related-records].kind` | `"related-records"` | **Required.** Selects the variant and the properties admitted in this branch. |
| `[kind=related-records].queryBindingKey` | `string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u` | **Required.** Stable key reference to the corresponding named declaration; the compiler checks existence and compatibility. |
| `[kind=related-records].maximumVisible` | `integer; ≥ 1; ≤ 20` | **Required.** Maximum number of items in the bounded preview; the full collection remains accessible separately. |

## Reading the contract

A path ending in `[]` describes each list item; `{key}` describes each dictionary value. The `↻` marker refers to the same recursive expression. Closed objects reject additional properties. Semantic validation denotes an additional check: matching a type does not make a reference, permission or transition valid. References must resolve in the Model and the current user context.

An older variant cannot accept properties belonging to a newer variant. The compiler checks the version and consistency of the complete Model.

## Structural example

This fragment passes the schema for this section. Its business references must be defined in the enclosing Model.

```json
{
  "kind": "field",
  "fieldPath": "fields/name"
}
```

## Related references

[Complete Model index](https://developers.dagio.ai/reference/) · [Build a Model](https://developers.dagio.ai/models/)

<!-- surface-examples:start -->

## Applied examples : Collection columns and formats

Declare each column source before its format, order and filters.

### Configuration

Contract object `workspaceRecordTableColumnSource`. [Properties and accepted values](https://developers.dagio.ai/reference/workspace-record-table-column-source/).

```json
{
  "kind": "field",
  "fieldPath": "fields/name"
}
```

### Variation and connection

Fragment placed in `presentation.tableViews[].layout`. [Properties and accepted values](https://developers.dagio.ai/reference/workspace-table-layout/).

```json
{
  "contract": "WorkspaceTableLayout@1",
  "grouping": null,
  "columns": [
    {
      "columnKey": "number",
      "visible": true,
      "width": null,
      "frozen": true,
      "format": {
        "kind": "text"
      },
      "headerFilterParameterKey": null
    },
    {
      "columnKey": "status",
      "visible": true,
      "width": null,
      "frozen": false,
      "format": {
        "kind": "badge"
      },
      "headerFilterParameterKey": null
    },
    {
      "columnKey": "amount",
      "visible": true,
      "width": null,
      "frozen": false,
      "format": {
        "kind": "number",
        "maximumFractionDigits": 2
      },
      "headerFilterParameterKey": null
    }
  ],
  "columnGroups": []
}
```

### UI layout example

The illustrative layout below places this configuration in the Clients/Quotes app. Insert each fragment at the stated location, with Field, Query and Action references matching the Model declarations.

1. Number
2. Status
3. Amount
4. Last updated

<!-- surface-examples:end -->
