> ## Documentation Index
> Fetch the complete documentation index at: https://documentation.kodelabs.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Workflows

> View, create, and manage FTT testing workflows using the logic builder and debugger in Cloud BMS.

FTT workflows define the testing logic for your building equipment. Each workflow specifies the sequences of commands, sensor readings, success criteria, and report output for a specific test type. Cloud BMS provides a pre-configured library of workflows and a logic builder for creating custom tests.

<Info>
  Navigate to `FTT` from the left sidebar, select the three-dot menu at the top right, and choose `Workflows`.
</Info>

Most sites start with the library. Run a library workflow on one device before you edit logic. See [What is Functional Testing?](/products/ftt/overview) for how a heating workflow decides pass or fail, and [What is Functional Testing?](/products/ftt/overview) for an on-demand run.

Custom authoring is covered in the [Workflow creator guide](/products/ftt/workflow-creator-guide).

## Workflows list

The workflows list displays all available workflows with key details. Use the search bar and `Canonical Type` filter to find specific workflows.

<Frame caption="The workflows list with search and canonical type filtering">
  <img src="https://mintcdn.com/kodelabs/1vjgtnWf-CUbC2z9/images/kode-os/ftt/ftt-workflows-list.png?fit=max&auto=format&n=1vjgtnWf-CUbC2z9&q=85&s=e15e2a5d71203dd3b9f643af2f5a1527" alt="FTT workflows list showing search results for FCU heating workflows with name and description columns" width="1024" height="533" data-path="images/kode-os/ftt/ftt-workflows-list.png" />
</Frame>

| Column              | Description                                                       |
| ------------------- | ----------------------------------------------------------------- |
| `Name`              | Workflow name                                                     |
| `Description`       | Summary of what the workflow tests                                |
| `Device Types`      | Equipment types compatible with the workflow                      |
| `Device References` | Reference devices required by the workflow (such as a parent AHU) |

### Row actions

Select the three-dot menu on any workflow row to access available actions:

<Frame caption="Row actions available from the three-dot menu on a workflow">
  <img src="https://mintcdn.com/kodelabs/1vjgtnWf-CUbC2z9/images/kode-os/ftt/ftt-workflow-row-actions.png?fit=max&auto=format&n=1vjgtnWf-CUbC2z9&q=85&s=1615c11ee299a9b79ac7d9c5b6227f86" alt="Workflow row three-dot menu showing Edit Workflow, Export Workflow, Duplicate Workflow, and Delete Workflow options" width="1024" height="283" data-path="images/kode-os/ftt/ftt-workflow-row-actions.png" />
</Frame>

* **Edit Workflow**: open the workflow in the logic builder
* **Export Workflow**: export the selected workflow as a JSON file
* **Duplicate Workflow**: create a copy of the workflow
* **Delete Workflow**: permanently remove the workflow

## Export workflows

Export workflows to share them across sites or create backups.

1. Select `Export` from the top toolbar.
2. Select the checkboxes next to the workflows you want to export.
3. Select `Export`. The workflows download as an `FTT Export.json` file.

<Frame caption="Select workflows to export with checkboxes, then select Export">
  <img src="https://mintcdn.com/kodelabs/1vjgtnWf-CUbC2z9/images/kode-os/ftt/ftt-workflow-export-select.png?fit=max&auto=format&n=1vjgtnWf-CUbC2z9&q=85&s=4708d67cd422e53808536d0b086b6360" alt="Export workflows screen showing a list of FCU workflows with checkboxes for selection and an Export button" width="1024" height="741" data-path="images/kode-os/ftt/ftt-workflow-export-select.png" />
</Frame>

<Tip>
  You can also export a single workflow directly from the row actions three-dot menu by selecting `Export Workflow`.
</Tip>

## Import workflows

Import workflows from a previously exported JSON file.

1. Select `Import` from the top toolbar.
2. Choose a file or drag and drop the JSON export file into the upload area.

<Frame caption="The Import Workflows upload dialog">
  <img src="https://mintcdn.com/kodelabs/1vjgtnWf-CUbC2z9/images/kode-os/ftt/ftt-workflow-import-upload.png?fit=max&auto=format&n=1vjgtnWf-CUbC2z9&q=85&s=d0281c549c48afcd897c7d2b5f1326b3" alt="Import Workflows dialog with a dashed border upload area showing Choose a file or drop it here" width="608" height="191" data-path="images/kode-os/ftt/ftt-workflow-import-upload.png" />
</Frame>

3. Review the imported workflows. Use the search bar and `Canonical Type` filter to find specific workflows.
4. Select the workflows you want to import. For each workflow, choose whether to **Replace** an existing workflow or create a new one.
5. Select `Import` to complete the process, or `Discard` to cancel.

<Frame caption="Review imported workflows and choose Replace or create new for each">
  <img src="https://mintcdn.com/kodelabs/1vjgtnWf-CUbC2z9/images/kode-os/ftt/ftt-workflow-import-review.png?fit=max&auto=format&n=1vjgtnWf-CUbC2z9&q=85&s=3101623ab07ef97dffd2dd1e5bf4636d" alt="Import Workflows review screen showing two FCU workflows with name, description, device type columns and Replace dropdown for each row" width="1024" height="561" data-path="images/kode-os/ftt/ftt-workflow-import-review.png" />
</Frame>

## Create a workflow

<Steps>
  <Step title="Set workflow details">
    Select `+ Create Workflow`. Complete the required fields on the `Workflow Details` tab:

    <Frame caption="The Workflow Details tab with name, description, max duration, and device configuration">
      <img src="https://mintcdn.com/kodelabs/1vjgtnWf-CUbC2z9/images/kode-os/ftt/ftt-workflow-details.png?fit=max&auto=format&n=1vjgtnWf-CUbC2z9&q=85&s=889d4e28a718798676877170beeb15f8" alt="Workflow Details tab showing V3 FCU Cooling workflow with name, description, max duration in minutes, and FCU and Loop device entities" width="1024" height="738" data-path="images/kode-os/ftt/ftt-workflow-details.png" />
    </Frame>

    | Field                     | Description                                                 |
    | ------------------------- | ----------------------------------------------------------- |
    | `Name`                    | A descriptive name for the test, such as "V3 - FCU Cooling" |
    | `Description`             | Explanation of what the workflow tests                      |
    | `Max Duration in Minutes` | Maximum time the workflow is allowed to run                 |

    Select `+ Add Devices` to configure the base and reference devices for the workflow. Set the device name, select canonical types, and choose the required entities.

    <Frame caption="The Add Devices dialog for configuring canonical types and entities">
      <img src="https://mintcdn.com/kodelabs/1vjgtnWf-CUbC2z9/images/kode-os/ftt/ftt-workflow-add-devices.png?fit=max&auto=format&n=1vjgtnWf-CUbC2z9&q=85&s=fd23040217197359494fdc5d23dc5652" alt="Add Devices dialog showing FCU device with fcu, ahu, vav canonical types selected and entity list including CHWVPRC, DFPRC, DTS, and OM" width="803" height="660" data-path="images/kode-os/ftt/ftt-workflow-add-devices.png" />
    </Frame>

    | Field        | Description                                      |
    | ------------ | ------------------------------------------------ |
    | `Name As`    | Device reference name used in the workflow logic |
    | `Canonicals` | Equipment canonical types for the device         |
    | `Entities`   | Entity definitions required by the workflow      |
  </Step>

  <Step title="Build the logic">
    Open the `Logic` tab. Drag and drop logic blocks from the left panel onto the canvas to build the testing sequence.

    <Frame caption="The Logic tab showing the visual workflow builder with connected blocks">
      <img src="https://mintcdn.com/kodelabs/1vjgtnWf-CUbC2z9/images/kode-os/ftt/ftt-workflow-logic-builder.png?fit=max&auto=format&n=1vjgtnWf-CUbC2z9&q=85&s=b056b1ccf73eeb40a6cfee44902b4e12" alt="Logic tab showing V3 FCU Cooling workflow canvas with Initial Conditions, Loop, FCU, Required States, Parameters blocks connected to Pre-Conditions Check and if blocks" width="1024" height="724" data-path="images/kode-os/ftt/ftt-workflow-logic-builder.png" />
    </Frame>

    A standard workflow follows this structure:

    1. **Initial conditions**: print the starting state of the equipment
    2. **Pre-condition checks**: verify the equipment is ready for testing
    3. **Control sequences**: command the equipment and evaluate responses
    4. **Release**: end the test and release all overrides

    <Note>
      See [Workflow logic blocks](/products/ftt/workflow-logic-blocks) for a complete reference of available block types.
    </Note>
  </Step>

  <Step title="Test with the debugger">
    Open the `Debugger` tab. The left sidebar displays parameters and inputs. The main screen shows the simulator output.

    <Frame caption="The Debugger tab with PARAMS panel and Start Simulation button">
      <img src="https://mintcdn.com/kodelabs/1vjgtnWf-CUbC2z9/images/kode-os/ftt/ftt-workflow-debugger-params.png?fit=max&auto=format&n=1vjgtnWf-CUbC2z9&q=85&s=a0cc19e40522d6c9e252e1c1095cec95" alt="Debugger tab showing PARAMS panel with FCU Fan Cmd percent Low Limit, Loop Differential Pressure Low Limit, Max Sequence Duration, Min Sequence Duration, Stabilization Time, Chilled Water Valve Close Cmd, and Stop Cooling DAT Threshold parameters" width="1024" height="727" data-path="images/kode-os/ftt/ftt-workflow-debugger-params.png" />
    </Frame>

    1. Review the `PARAMS` section and adjust parameter values for testing.
    2. Select `Start Simulation` to begin.

    <Frame caption="The simulator running a workflow showing the starting phase and initial conditions">
      <img src="https://mintcdn.com/kodelabs/1vjgtnWf-CUbC2z9/images/kode-os/ftt/ftt-workflow-debugger-running.png?fit=max&auto=format&n=1vjgtnWf-CUbC2z9&q=85&s=feb5d08c95778428ef5664dd834146b7" alt="Debugger simulator running V3 FCU Cooling showing Starting phase with workflow description and initial conditions log entries at 1:34 PM" width="1024" height="725" data-path="images/kode-os/ftt/ftt-workflow-debugger-running.png" />
    </Frame>

    3. Update `INPUT` values to simulate different equipment conditions, then select `Send`.

    <Frame caption="The INPUTS panel with sensor values and status dropdowns during a Pre-Condition Check">
      <img src="https://mintcdn.com/kodelabs/1vjgtnWf-CUbC2z9/images/kode-os/ftt/ftt-workflow-debugger-inputs.png?fit=max&auto=format&n=1vjgtnWf-CUbC2z9&q=85&s=4858378c5694962a43dfcee9c06bd345" alt="Debugger showing INPUTS panel with Differential Pressure, Occ Mode, Fan percent Cmd, Chilled Water Valve Cmd, and DAT fields with status dropdowns set to ok, while the simulator shows Pre-Condition Check sequence initialized" width="1024" height="636" data-path="images/kode-os/ftt/ftt-workflow-debugger-inputs.png" />
    </Frame>

    4. Verify the workflow produces the expected response for each scenario.

    <Tip>
      Delay times run in real time during simulation. Temporarily change time units to seconds on timer blocks to speed up testing. Return to the correct units before deploying.
    </Tip>

    <Tip>
      Test boundary values thoroughly. Verify conditions that should pass and conditions that should fail. This catches threshold errors before deployment.
    </Tip>
  </Step>

  <Step title="Save the workflow">
    Select `Save`. The workflow appears in the workflows list and becomes available for use in FTT projects.
  </Step>
</Steps>

## Next steps

<CardGroup cols={2}>
  <Card title="FCU workflows" icon="thermometer" href="/products/ftt/fcu-workflows" arrow={true}>
    Review heating and cooling library workflows and parameters.
  </Card>

  <Card title="Workflow logic blocks" icon="puzzle" href="/products/ftt/workflow-logic-blocks" arrow={true}>
    Explore the available block types for building workflow logic.
  </Card>

  <Card title="Workflow creator guide" icon="drafting-compass" href="/products/ftt/workflow-creator-guide" arrow={true}>
    Design and build custom workflows after you know the library.
  </Card>

  <Card title="FTT projects" icon="folder-kanban" href="/products/ftt/projects" arrow={true}>
    Assign workflows to devices and schedule automated testing.
  </Card>
</CardGroup>
