---
title: "workspaceNavigationMetrics"
url: https://developers.dagio.ai/reference/workspace-navigation-metrics/
---

# workspaceNavigationMetrics

   
                                   
                                                                                     
                                              
                  
           
          
   

This reference describes the full structure of `workspaceNavigationMetrics`. 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 |
| --- | --- | --- |
| `contract` | `"WorkspaceNavigationMetrics@1"` | **Required.** Exact discriminant of this contract variant. Match the literal value shown. |
| `items` | `Array<closed object>; max length 40` | **Required.** Defines items for this object. Observe the type, variants and bounds in the Options column. |
| `items[].destinationKey` | `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. |
| `items[].queryKey` | `string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u` | **Required.** Reference to a declared Query; scope and authorization remain enforced by the data engine. |
| `items[].kind` | `"query-total"` | **Required.** Selects the variant and the properties admitted in this branch. |

## 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
{
  "contract": "WorkspaceNavigationMetrics@1",
  "items": [
    {
      "destinationKey": "manuscript",
      "queryKey": "chapters",
      "kind": "query-total"
    },
    {
      "destinationKey": "characters",
      "queryKey": "characters",
      "kind": "query-total"
    },
    {
      "destinationKey": "places",
      "queryKey": "record-place-roots",
      "kind": "query-total"
    },
    {
      "destinationKey": "knowledge",
      "queryKey": "knowledge",
      "kind": "query-total"
    },
    {
      "destinationKey": "workshop",
      "queryKey": "workshop",
      "kind": "query-total"
    }
  ]
}
```

## Related references

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

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

## Applied examples : Assemble a coherent definition

The Form and record profile reference the same company, status and notes Fields.

### Configuration

Contract object `workspaceNavigationMetrics`. [Properties and accepted values](https://developers.dagio.ai/reference/workspace-navigation-metrics/).

```json
{
  "contract": "WorkspaceNavigationMetrics@1",
  "items": [
    {
      "destinationKey": "manuscript",
      "queryKey": "chapters",
      "kind": "query-total"
    },
    {
      "destinationKey": "characters",
      "queryKey": "characters",
      "kind": "query-total"
    },
    {
      "destinationKey": "places",
      "queryKey": "record-place-roots",
      "kind": "query-total"
    },
    {
      "destinationKey": "knowledge",
      "queryKey": "knowledge",
      "kind": "query-total"
    },
    {
      "destinationKey": "workshop",
      "queryKey": "workshop",
      "kind": "query-total"
    }
  ]
}
```

### Variation and connection

Fragment placed in `presentation.recordProfiles[]`. [Properties and accepted values](https://developers.dagio.ai/reference/workspace-record-profile/).

```json
{
  "key": "client",
  "definitionPaths": [
    "workspace/clients/surface/client"
  ],
  "editActionKey": "edit-client",
  "identity": {
    "title": {
      "kind": "field",
      "fieldPath": "fields/company"
    },
    "avatar": {
      "kind": "initials",
      "maximumLetters": 2
    },
    "subtitle": {
      "kind": "field",
      "fieldPath": "fields/status"
    }
  },
  "valueLabels": [
    {
      "fieldPath": "fields/status",
      "values": [
        {
          "value": "prospect",
          "label": "Prospect"
        },
        {
          "value": "active",
          "label": "Active"
        }
      ]
    }
  ],
  "card": {
    "summary": {
      "kind": "field",
      "fieldPath": "fields/notes"
    },
    "tags": {
      "namespace": "user",
      "maximumVisible": 3
    },
    "metricKeys": [],
    "openLabel": "Open client"
  },
  "queryBindings": [],
  "metrics": [],
  "detail": {
    "primaryActionKey": null,
    "creationActionKeys": [],
    "actionKeys": [],
    "sections": [
      {
        "kind": "fields",
        "key": "follow-up",
        "label": "Client follow-up",
        "fieldPaths": [
          "fields/notes",
          "fields/status"
        ]
      }
    ],
    "settings": {
      "fieldPaths": [
        "fields/email"
      ]
    },
    "tags": {
      "namespace": "user",
      "maximumVisible": 3
    },
    "relatedGroups": [],
    "primaryActionLabel": null
  }
}
```

### 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. Clients · Data
2. References · Knowledge
3. Preparation · Work
4. Quotes · Product

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