---
title: "workspaceHomePresentation"
url: https://developers.dagio.ai/reference/workspace-home-presentation/
---

# workspaceHomePresentation

   
                                  
                                                                                    
                                             
                  
           
          
   

This reference describes the full structure of `workspaceHomePresentation`. 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` | `"WorkspaceHomePresentation@1"` | **Required.** Exact discriminant of this contract variant. Match the literal value shown. |
| `header` | `closed object` | **Required.** Defines header for this object. Observe the type, variants and bounds in the Options column. |
| `header.intro` | `string; min length 1; max length 4000; null` | **Required.** Defines intro for this object. Observe the type, variants and bounds in the Options column. |
| `header.primaryNavigation` | `closed object; null` | **Required.** Defines primary Navigation for this object. Observe the type, variants and bounds in the Options column. |
| `header.primaryNavigation.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. |
| `header.primaryNavigation.label` | `string; min length 1; max length 4000` | **Required.** Human-readable label displayed in the interface. |
| `launchers` | `closed object` | **Required.** Defines launchers for this object. Observe the type, variants and bounds in the Options column. |
| `launchers.title` | `string; min length 1; max length 4000` | **Required.** Title of the object or section in the interface. |
| `launchers.description` | `string; min length 1; max length 4000; null` | **Required.** Explanation of this element’s purpose, content or effect. |
| `launchers.icons` | `Array<closed object>; max length 30` | **Required.** Defines icons for this object. Observe the type, variants and bounds in the Options column. |
| `launchers.icons[].actionKey` | `string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u` | **Required.** Reference to a declared Action; rendering does not execute it. |
| `launchers.icons[].icon` | `"activity" \| "alert" \| "arrow-right" \| "bot" \| "briefcase" \| "check" \| "document" \| "inbox" \| "knowledge" \| "marketplace" \| "overview" \| "portfolio" \| "profile" \| "search" \| "users" \| "map" \| "graph" \| "layers" \| "settings"` | **Required.** Icon from the catalog admitted for this presentation variant. |
| `blocks` | `Array<closed object OR closed object>; max length 20` | **Required.** Defines blocks for this object. Observe the type, variants and bounds in the Options column. |
| `blocks[].[kind=section].kind` | `"section"` | **Required.** Selects the variant and the properties admitted in this branch. |
| `blocks[].[kind=section].sectionKey` | `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. |
| `blocks[].[kind=section].variant` | `"collection" \| "work-resume"` | **Required.** Defines variant for this object. Observe the type, variants and bounds in the Options column. |
| `blocks[].[kind=section].placement` | `"main" \| "aside"` | **Required.** Defines placement for this object. Observe the type, variants and bounds in the Options column. |
| `blocks[].[kind=section].maximumVisible` | `integer; ≥ 1; ≤ 24` | **Required.** Maximum number of items in the bounded preview; the full collection remains accessible separately. |
| `blocks[].[kind=section].viewAll` | `closed object; null` | **Required.** Defines view All for this object. Observe the type, variants and bounds in the Options column. |
| `blocks[].[kind=section].viewAll.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. |
| `blocks[].[kind=section].viewAll.label` | `string; min length 1; max length 4000` | **Required.** Human-readable label displayed in the interface. |
| `blocks[].[kind=activity].kind` | `"activity"` | **Required.** Selects the variant and the properties admitted in this branch. |
| `blocks[].[kind=activity].key` | `string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u` | **Required.** Stable semantic identifier used by references; changing it changes identity. |
| `blocks[].[kind=activity].label` | `string; min length 1; max length 4000` | **Required.** Human-readable label displayed in the interface. |
| `blocks[].[kind=activity].spaceKeys` | `Array<string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u>; min length 1; max length 20` | **Required.** Stable key reference to the corresponding named declaration; the compiler checks existence and compatibility. |
| `blocks[].[kind=activity].maximumVisible` | `integer; ≥ 1; ≤ 50` | **Required.** Maximum number of items in the bounded preview; the full collection remains accessible separately. |
| `blocks[].[kind=activity].placement` | `"main" \| "aside"` | **Required.** Defines placement for this object. Observe the type, variants and bounds in the Options column. |

## 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": "WorkspaceHomePresentation@1",
  "header": {
    "intro": null,
    "primaryNavigation": null
  },
  "launchers": {
    "title": "client",
    "description": null,
    "icons": []
  },
  "blocks": []
}
```

## Related references

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

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

## Applied examples : Organize destinations

Choose the Clients collection in navigation and offer the next actions on the home.

### Configuration

Contract object `workspaceHomePresentation`. [Properties and accepted values](https://developers.dagio.ai/reference/workspace-home-presentation/).

```json
{
  "contract": "WorkspaceHomePresentation@1",
  "header": {
    "intro": "Clients and quotes",
    "primaryNavigation": {
      "destinationKey": "clients",
      "label": "Open clients"
    }
  },
  "launchers": {
    "title": "Move work forward",
    "description": "Choose an action",
    "icons": [
      {
        "actionKey": "create-client",
        "icon": "users"
      },
      {
        "actionKey": "prepare-quote",
        "icon": "document"
      }
    ]
  },
  "blocks": [
    {
      "kind": "section",
      "sectionKey": "recent-quotes",
      "variant": "collection",
      "placement": "main",
      "maximumVisible": 4,
      "viewAll": {
        "destinationKey": "quotes",
        "label": "All quotes"
      }
    }
  ]
}
```

### Variation and connection

Fragment placed in `composition.navigation[]`. [Properties and accepted values](https://developers.dagio.ai/reference/workspace-model-foundation/).

```json
{
  "key": "clients",
  "label": "Clients",
  "icon": "users",
  "kind": "collection",
  "spaceKey": "clients",
  "definitionPaths": [
    "workspace/clients/surface/client"
  ],
  "queryKey": "clients",
  "formKey": 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 -->
