> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://help.sigmacomputing.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://help.sigmacomputing.com/_mcp/server.

# Example representation: Workbook with list and toggle controls (Beta)

> Example Sigma code representation of a workbook with list and toggle controls.

This documentation describes one or more public beta features that are in development. Beta features are subject to quick, iterative changes; therefore the current user experience in the Sigma service can differ from the information provided in this page.

This page should not be considered official published documentation until Sigma removes this notice and the beta flag on the corresponding feature(s) in the Sigma service. For the full beta feature disclaimer, see [Beta features](/docs/sigma-product-releases#beta-features).

This is an example representation of a workbook, retrieved using the [Get a workbook](/reference/get-workbook) endpoint with the query parameter `includeContents=true`. Representations like this one can be used to create a workbook from code using the [Create a workbook](/reference/create-workbook) endpoint. Each page in this example library includes the code representation of the workbook and step-by-step instructions to create it in the Sigma UI.

Consult this example and others in the [Workbook representation example library](/docs/workbook-representation-example-library) to:

* Troubleshoot the formatting of a particular feature in code representation
* Relate a feature from the Sigma UI to its representation in code
* Provide context to AI tools used to create workbooks from code

This example representation cannot be used as-is. All identifying details, such as IDs, names, and URLs, have been replaced with randomized ID values or generic substitutions. The format of these contents, like the length of ID values, is preserved for demonstrative purposes. However, this representation cannot be directly used without modification to the base URL, connection details, and more. For more information, see [Create and manage workbooks from code](/docs/manage-workbooks-as-code).

## System and user requirements

To complete the steps in this example, you must meet the user requirements listed below for creating the workbook in the UI and creating it from code.

The ability to create this workbook in the Sigma UI requires the following:

* You must be assigned an [account type](/docs/account-type-and-license-overview) with the **Create, edit, and publish workbooks** permission enabled.
* You must have access to a connection to a data platform.

The ability to create a workbook from code requires the following:

* You must be assigned an [account type](/docs/account-type-and-license-overview) with the **Create, edit, and publish workbooks** permission enabled.
* You must have developer credentials for the Sigma API. For more information, see [Get started with the Sigma REST API](/reference/get-started-sigma-api).

This example uses a table from the [Sigma Sample Connection](/docs/sigmas-sample-connection). Your organization might have disabled access to the Sigma sample connection. If so, you can contact an admin to enable it, or use a table from another connection to follow along with this example.

## Create the example workbook in the Sigma UI

This example shows a workbook with the list and toggle control types: list values, a segmented control, a switch, and a checkbox. The switch and checkbox filter calculated boolean columns.

To create this workbook in the Sigma UI:

1. Go to the **Home** page.

2. Select ![](https://sigma-docs-screenshots.s3.us-west-2.amazonaws.com/Icons/button-add.svg) **Create new** > **Workbook**.

   A new workbook opens.

3. From the **Add element** bar, select **Data** > **Table**.

4. In the **Select source** modal, search for the table `TRIP` in the `EXAMPLES.BIKES` schema.

5. Select the table to add it to the workbook.

   The table appears in the workbook.

6. In the columns list, add a calculated column with the formula `If([Duration] < 80, True, False)` and name it *Short trip*.

   This returns a boolean per row, which is what a switch or checkbox control can filter on.

7. Add a second calculated column with the formula `If([Duration] < 10000, True, False)` and name it *Not outlier*.

8. From the **Add element** bar, select **Controls** > **List values**.

9. Select the control, then in the **Properties** tab of the editor panel, configure the following settings:

   | Option           | Setting                                       |
   | :--------------- | :-------------------------------------------- |
   | **Control ID**   | `start-station-name`                          |
   | **Label**        | Start station name                            |
   | **Value source** | The *Trip* table, *Start Station Name* column |
   | **Selection**    | **Multiple**                                  |
   | **Operator**     | **Include**                                   |

10. Select **Targets**, then add the *Trip* table as a target on the *Start Station Name* column.

11. From the **Add element** bar, select **Controls** > **Segmented control**.

12. Select the new control, then in the **Properties** tab of the editor panel, configure the following settings:

    | Option               | Setting                                       |
    | :------------------- | :-------------------------------------------- |
    | **Control ID**       | `subscription-segment`                        |
    | **Label**            | Subscription type                             |
    | **Values**           | `Subscriber` and `Customer`, entered manually |
    | **Show clear label** | Enabled                                       |

13. Select **Targets**, then add the *Trip* table as a target on the *Subscription Type* column.

14. From the **Add element** bar, select **Controls** > **Switch**.

15. Select the new control, then in the **Properties** tab of the editor panel, configure the following settings:

    | Option         | Setting        |
    | :------------- | :------------- |
    | **Control ID** | `short-trips`  |
    | **Label**      | Short trips    |
    | **Mode**       | **True/False** |

16. Select **Targets**, then add the *Trip* table as a target on the *Short trip* column.

17. From the **Add element** bar, select **Controls** > **Checkbox**.

18. Select the new control, then in the **Properties** tab of the editor panel, configure the following settings:

    | Option         | Setting            |
    | :------------- | :----------------- |
    | **Control ID** | `exclude-outliers` |
    | **Label**      | Exclude outliers   |
    | **Mode**       | **True/All**       |

19. Select **Targets**, then add the *Trip* table as a target on the *Not outlier* column.

    The two toggles use different modes. **True/False** filters to rows matching the toggle's state, while **True/All** filters when on and shows every row when off.

20. In the document header, select **Save as**.

21. Enter a name for the workbook, such as `list-and-toggle-controls`.

22. Select **Save**.

## Get a code representation of this workbook

To get a representation of this workbook, follow the steps in [Get the code representation of a workbook](/docs/get-the-code-representation-of-a-workbook).

The code representation of this workbook appears like the following:

#### YAML representation

```yaml
workbookId: 0d67c0e6-33c9-4b24-80f2-f6870a6ef211
workbookUrlId: t9J3tLnS9Yq7LKzfJxJKDH
createdBy: zgzXpTRVbfX4ZE9TEm9q9fUsfXZ5o
updatedBy: zgzXpTRVbfX4ZE9TEm9q9fUsfXZ5o
createdAt: '2026-09-01T14:53:43.467Z'
updatedAt: '2026-09-02T16:59:32.195Z'
name: list-and-toggle-controls
url: https://aws-api.sigmacomputing.com/org-name/workbook/t9J3tLnS9Yq7LKzfJxJKDH
path: My Documents/<folder-name>
latestVersion: 5
ownerId: zgzXpTRVbfX4ZE9TEm9q9fUsfXZ5o
isArchived: false
contents:
  schemaVersion: 1
  elements:
    - id: eTizXgX
      kind: table
      source:
        connectionId: b2af3691-12a0-48fa-a91d-fbe2e1b31627
        kind: warehouse-table
        path:
          - EXAMPLES
          - BIKES
          - TRIP
      columns:
        - id: 6DqBgE6Rq
          formula: '[TRIP/Id]'
        - id: wOW6NNWOZqI
          formula: '[TRIP/Duration]'
        - id: jC0c8h8Ewz3g
          formula: '[TRIP/Start Date]'
        - id: cOIGflvCqIlC
          formula: '[TRIP/Start Station Name]'
        - id: JpVJowwqZg
          formula: '[TRIP/Start Station Id]'
        - id: GyZynaXgfv
          formula: '[TRIP/End Date]'
        - id: qQzuJifMd2
          formula: '[TRIP/End Station Name]'
        - id: 3Esuzz9y
          formula: '[TRIP/End Station Id]'
        - id: a1ySXDMEm
          formula: '[TRIP/Bike Id]'
        - id: Kng0H6Uvst
          formula: '[TRIP/Subscription Type]'
        - id: B0QtJd
          formula: '[TRIP/Zip Code]'
        - id: 0RVMjCiLbl
          formula: If([Duration] < 80, True, False)
          name: Short Trip
        - id: pBKKHTNT2Z
          formula: If([Duration] < 10000, True, False)
          name: Not Outlier
      filters:
        - id: LoyUvFU90Y
          columnId: 0RVMjCiLbl
          kind: list
          mode: exclude
          values: []
        - id: GnaX5Z24qn
          columnId: pBKKHTNT2Z
          kind: list
          mode: exclude
          values: []
      order:
        - 6DqBgE6Rq
        - wOW6NNWOZqI
        - jC0c8h8Ewz3g
        - cOIGflvCqIlC
        - JpVJowwqZg
        - GyZynaXgfv
        - qQzuJifMd2
        - 3Esuzz9y
        - a1ySXDMEm
        - Kng0H6Uvst
        - B0QtJd
        - 0RVMjCiLbl
        - pBKKHTNT2Z
    - kind: control
      controlId: start-station-name
      id: 9tongEAVEE1JzD5yTBNV
      name: Start station name
      filters:
        - source:
            kind: table
            elementId: eTizXgX
          columnId: cOIGflvCqIlC
      controlType: list
      mode: include
      selectionMode: multiple
      values: []
      source:
        kind: source
        source:
          kind: table
          elementId: eTizXgX
        columnId: cOIGflvCqIlC
    - kind: control
      controlId: subscription-segment
      id: Gl57gqOeaR2nQOrQVisKq4O
      name: Subscription type
      filters:
        - source:
            kind: table
            elementId: eTizXgX
          columnId: Kng0H6Uvst
      controlType: segmented
      showClearLabel: true
      source:
        kind: manual
        valueType: text
        values:
          - Subscriber
          - Customer
      value: null
    - kind: control
      controlId: short-trips
      id: akN5bxF5gFA1JV8dXXgsfV
      name: Short trips
      filters:
        - source:
            kind: table
            elementId: eTizXgX
          columnId: 0RVMjCiLbl
      mode: True/False
      controlType: switch
      value: false
    - kind: control
      controlId: exclude-outliers
      id: 9nlqyqc7PWbnX2JZHi9
      name: Exclude outliers
      filters:
        - source:
            kind: table
            elementId: eTizXgX
          columnId: pBKKHTNT2Z
      mode: True/All
      controlType: checkbox
      value: false
  pages:
    - id: eKhTktnw
      name: Page 1
  kind: workbook
  layout: |
    <?xml version="1.0" encoding="utf-8"?>
    <Page type="grid" gridTemplateColumns="repeat(24, 1fr)" gridTemplateRows="auto" id="eKhTktnw">
      <Element elementId="eTizXgX" gridColumn="1 / 25" gridRow="1 / 16"/>
      <Element elementId="9tongEAVEE1JzD5yTBNV" gridColumn="1 / 25" gridRow="16 / 22"/>
      <Element elementId="Gl57gqOeaR2nQOrQVisKq4O" gridColumn="1 / 25" gridRow="22 / 28"/>
      <Element elementId="akN5bxF5gFA1JV8dXXgsfV" gridColumn="1 / 25" gridRow="28 / 34"/>
      <Element elementId="9nlqyqc7PWbnX2JZHi9" gridColumn="1 / 25" gridRow="34 / 40"/>
    </Page>
documentVersion: 5

```

## Representing list and toggle controls

#### List and toggle controls representation

```yaml
...
- kind: control
  controlId: start-station-name
  id: 9tongEAVEE1JzD5yTBNV
  name: Start station name
  filters:
  - source:
      kind: table
      elementId: eTizXgX
    columnId: cOIGflvCqIlC
  controlType: list
  mode: include
  selectionMode: multiple
  values: []
  source:
    kind: source
    source:
      kind: table
      elementId: eTizXgX
    columnId: cOIGflvCqIlC
- kind: control
  controlId: subscription-segment
  id: Gl57gqOeaR2nQOrQVisKq4O
  name: Subscription type
  filters:
  - source:
      kind: table
      elementId: eTizXgX
    columnId: Kng0H6Uvst
  controlType: segmented
  showClearLabel: true
  source:
    kind: manual
    valueType: text
    values:
    - Subscriber
    - Customer
  value: null
- kind: control
  controlId: short-trips
  id: akN5bxF5gFA1JV8dXXgsfV
  name: Short trips
  filters:
  - source:
      kind: table
      elementId: eTizXgX
    columnId: 0RVMjCiLbl
  mode: True/False
  controlType: switch
  value: false
- kind: control
  controlId: exclude-outliers
  id: 9nlqyqc7PWbnX2JZHi9
  name: Exclude outliers
  filters:
  - source:
      kind: table
      elementId: eTizXgX
    columnId: pBKKHTNT2Z
  mode: True/All
  controlType: checkbox
  value: false
...
```