> 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 a form (Beta)

> Example Sigma code representation of a workbook with a form.

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 a form element that collects a short text value and a number value, and writes them to an input table.

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 **Layout** > **Form**.

4. In the **Create new form** modal, select **Start building**.

   An empty form element appears on the workbook canvas.

5. In the editor panel, select **Properties**.

6. In the **Form fields** section, select ![](https://sigma-docs-screenshots.s3.us-west-2.amazonaws.com/Icons/add.svg) **Add new field**.

7. In the **New field** popover, select **Short text**.

8. Configure the field with the following settings:

   | Option             | Setting                |
   | :----------------- | :--------------------- |
   | **Label**          | `Station name`         |
   | **Placeholder**    | `Enter a station name` |
   | **Required input** | Turn the toggle on.    |

9. In the **Form fields** section, select ![](https://sigma-docs-screenshots.s3.us-west-2.amazonaws.com/Icons/add.svg) **Add new field**.

10. In the **New field** popover, select **Number**.

11. Configure the field with the following settings:

    | Option          | Setting                       |
    | :-------------- | :---------------------------- |
    | **Label**       | `Trip duration`               |
    | **Placeholder** | `Enter a duration in minutes` |

12. Select the form.

13. In the editor panel, select **Actions** > **Create input table** to create a new input table based on the form fields.

14. In the **Create input table from form** modal, select a connection with write access enabled, then **Create**.

    The new input table appears on the workbook canvas, with actions configured to write from the form to the input table.

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

16. Enter a name for the workbook and 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: e70ff4fd-4a98-408e-9687-45f1179167f5
workbookUrlId: vSXYd44B8yHyadxNT5KDwE
createdBy: zgzXpTRVbfX4ZE9TEm9q9fUsfXZ5o
updatedBy: zgzXpTRVbfX4ZE9TEm9q9fUsfXZ5o
createdAt: '2026-08-13T23:38:44.007Z'
updatedAt: '2026-08-17T15:46:38.672Z'
name: form
url: https://aws-api.sigmacomputing.com/org-name/workbook/vSXYd44B8yHyadxNT5KDwE
path: My Documents/<folder-name>
latestVersion: 2
ownerId: zgzXpTRVbfX4ZE9TEm9q9fUsfXZ5o
isArchived: false
contents:
  schemaVersion: 1
  elements:
    - id: '3HtCdjQ9w7'
      kind: form
      fields:
        - fieldId: Station-name
          type: short-text
          label: Station name
          placeholder: Enter a station name
          rules:
            requiredInput: required
        - fieldId: Trip-duration
          type: number
          label: Trip duration
          placeholder: Enter a duration in minutes
      actions:
        - id: paeVy41sDx
          trigger: on-submit
          effects:
            - effect: insert-rows
              tableElementId: Q8fpu47BHa
              values:
                vXsbyUkCbo:
                  type: form-field
                  fieldId: Station-name
                dOIusQFZlS:
                  type: form-field
                  fieldId: Trip-duration
            - effect: reset-form
        - id: 2K36UlLHgf
          trigger: on-reset
          effects:
            - effect: reset-form
    - id: Q8fpu47BHa
      kind: input-table
      source:
        kind: empty
        connectionId: 5993c633-d184-40e5-be2c-46103bcce14b
      inputMode: explore
      columns:
        - id: vXsbyUkCbo
          type: text
          name: Station name
        - id: dOIusQFZlS
          type: number
          name: Trip duration
  pages:
    - id: 6AjrOrkDRg
      name: Page 1
  kind: workbook
  layout: |
    <?xml version="1.0" encoding="utf-8"?>
    <Page type="grid" gridTemplateColumns="repeat(24, 1fr)" gridTemplateRows="auto" id="6AjrOrkDRg">
      <Element elementId="3HtCdjQ9w7" gridColumn="1 / 13" gridRow="1 / 17"/>
      <Element elementId="Q8fpu47BHa" gridColumn="1 / 13" gridRow="17 / 37"/>
    </Page>
documentVersion: 2

```

## Representing forms

#### Form representation

```yaml
...
id: 3HtCdjQ9w7
kind: form
fields:
- fieldId: Station-name
  type: short-text
  label: Station name
  placeholder: Enter a station name
  rules:
    requiredInput: required
- fieldId: Trip-duration
  type: number
  label: Trip duration
  placeholder: Enter a duration in minutes
actions:
- id: paeVy41sDx
  trigger: on-submit
  effects:
  - effect: insert-rows
    tableElementId: Q8fpu47BHa
    values:
      vXsbyUkCbo:
        type: form-field
        fieldId: Station-name
      dOIusQFZlS:
        type: form-field
        fieldId: Trip-duration
  - effect: reset-form
- id: 2K36UlLHgf
  trigger: on-reset
  effects:
  - effect: reset-form
...
```