> ## 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.

# FTT projects

> Create, schedule, and manage Functional Testing projects to automate equipment testing across your building in Cloud BMS.

FTT projects automate testing across entire buildings, multiple floors, and extended time periods. A project assigns devices to a workflow, sets a testing schedule, and groups tasks by floor or device count for systematic execution.

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

If you are new to FTT, run one on-demand test first so you know how scores are produced. See [What is Functional Testing?](/products/ftt/overview) and [What is Functional Testing?](/products/ftt/overview).

## Projects list

The projects list displays all FTT projects with their status, schedule, and configuration details.

<Frame caption="The Projects list showing all FTT projects with status, recurrence, and schedule details">
  <img src="https://mintcdn.com/kodelabs/1vjgtnWf-CUbC2z9/images/kode-os/ftt/ftt-projects-list.png?fit=max&auto=format&n=1vjgtnWf-CUbC2z9&q=85&s=6a1001a725708a8ae249b6341663c1c1" alt="FTT Projects list showing columns for Project Name, Building, Workflow, Description, Schedule Type, Status, Recurrence, Start Date, and End Date with multiple V2 FCU Heating and Cooling projects" width="1024" height="543" data-path="images/kode-os/ftt/ftt-projects-list.png" />
</Frame>

| Column          | Description                                                  |
| --------------- | ------------------------------------------------------------ |
| `Project Name`  | Name of the testing project                                  |
| `Building`      | Building where the tests run                                 |
| `Workflow`      | Testing workflow assigned to the project                     |
| `Description`   | Summary of the project scope                                 |
| `Schedule Type` | Whether the project runs Now or is set to Decide Later       |
| `Status`        | Current status (Scheduled, Executed, Cancelled, Deactivated) |
| `Recurrence`    | Whether the project is Recurring or Once                     |
| `Start Date`    | Date and time the project begins                             |
| `End Date`      | Date and time the project ends                               |

## Create a project

<Steps>
  <Step title="Select your building">
    Choose the building where you want to run tests. This step completes automatically if you navigate to FTT from within a building.
  </Step>

  <Step title="Select a workflow and parameters">
    Choose the testing workflow for your project. The left panel lists all available workflows from the library. Select a workflow to view and adjust its parameters on the right.

    <Frame caption="Step 1: Select a workflow from the library and adjust its parameters">
      <img src="https://mintcdn.com/kodelabs/i9tCc_I6OZNqDXAw/images/kode-os/ftt/ftt-create-project-workflow.png?fit=max&auto=format&n=i9tCc_I6OZNqDXAw&q=85&s=d09da9c684f85827ce019464e830d985" alt="Create Project step 1 showing workflow list with AHU Heating Operation, AHU Mixed Damper Operation, AHU VFD Operation, AHU Cooling Operation, HP Heating Cooling Operation, V2 VAV Damper Operation, and V2 VAV Induced Heating from Library source, with Parameters panel showing Pressure Min Threshold 0.40, RAT Heating Threshold 75, Ventilation Delta 5, Cooling Delta 10, Heating Delta 10, DAT Arb Heating Threshold 85, and Reaction Time 300" width="1024" height="709" data-path="images/kode-os/ftt/ftt-create-project-workflow.png" />
    </Frame>

    Each workflow includes adjustable parameters that control success criteria and time limits. Adjust these values to match your building's specific requirements.

    <Note>
      See the workflow library pages for detailed parameter descriptions: [VAV workflows](/products/ftt/vav-workflows), [FCU workflows](/products/ftt/fcu-workflows), [AHU workflows](/products/ftt/ahu-workflows), and [Heat pump workflows](/products/ftt/hp-workflows).
    </Note>
  </Step>

  <Step title="Select devices">
    Select the devices to test during the project. Use the search bar and filters to narrow devices by `Canonical Type` and `Area`. For building-wide commissioning, select all compatible devices. You can also select specific floors or individual devices.

    <Frame caption="Step 2: Select devices to include in the project with search and area filtering">
      <img src="https://mintcdn.com/kodelabs/i9tCc_I6OZNqDXAw/images/kode-os/ftt/ftt-create-project-devices.png?fit=max&auto=format&n=i9tCc_I6OZNqDXAw&q=85&s=0eee9b1358fbf910d3b5aa83c522973f" alt="Create Project step 2 showing device selection table with Name, Type, Location, and Area columns, filtered by Area with 2 selected, showing 50 FCU devices across Floor 02 and Floor 03 all selected with checkboxes" width="1024" height="714" data-path="images/kode-os/ftt/ftt-create-project-devices.png" />
    </Frame>
  </Step>

  <Step title="Set the schedule">
    Configure when and how tests run. The schedule defines the testing cadence, grouping strategy, and recurrence pattern.

    <Frame caption="Step 3: Configure the testing schedule with grouping, frequency, and task preview">
      <img src="https://mintcdn.com/kodelabs/i9tCc_I6OZNqDXAw/images/kode-os/ftt/ftt-create-project-schedule.png?fit=max&auto=format&n=i9tCc_I6OZNqDXAw&q=85&s=494c88e4838dfd3c346644baca77f0de" alt="Create Project step 3 showing Schedule Project set to Now, Group by Floor, Date 2026-05-14, Time 16:00, Test Every 1 Week on Monday, with Recurring toggle and task preview table showing Floor 02 on May 18 and Floor 03 on May 25 with 25 devices each at 16:00" width="1024" height="712" data-path="images/kode-os/ftt/ftt-create-project-schedule.png" />
    </Frame>

    **Schedule project**

    | Option         | Description                                                            |
    | -------------- | ---------------------------------------------------------------------- |
    | `Now`          | Finalize the schedule immediately                                      |
    | `Decide Later` | Save the workflow and parameters as a draft and set the schedule later |

    **Group by**

    | Option                | Description                                                            |
    | --------------------- | ---------------------------------------------------------------------- |
    | `By Floor`            | Test one floor per commissioning day, working from bottom to top       |
    | `By Count of Devices` | Test a fixed number of devices per day (such as 5, 10, or 50)          |
    | `By None`             | Include all selected devices in a single group with one testing period |

    <Tip>
      **Choose a grouping strategy**

      * Use **By Floor** when operators review results by area and you want a clear floor-by-floor cadence.
      * Use **By Count of Devices** when floors are uneven or you want a fixed daily workload (for example, 10 devices per day).
      * Use **By None** for a small selection, a single floor already filtered in device pick, or a one-time commissioning batch.
    </Tip>

    **Date and time**

    Set the project start date and the time each test begins. Common configurations schedule tests during late afternoon when equipment runs at steady state.

    The `Date` is the earliest possible start date. `Test on Day` (for weekly cadence) is the weekday when runs are allowed. Cloud BMS schedules the first run on the first selected Test-on-Day that falls on or after the Date.

    For example, if `Date` is Friday, February 7 and `Test on Day` is Monday, the project does not run on February 7. It starts on the next Monday after February 7.

    **Test frequency**

    Use `Test Every` and `Test on Day` to define how often tests run. The schedule preview updates as you configure these fields.

    **Recurrence**

    Enable the `Recurring` toggle and optionally turn on `Advanced Settings` to configure repeat behavior.

    Simple recurrence starts the next cycle after the current cycle finishes. Advanced scheduling starts the next cycle a set time after project start or project end. The platform blocks overlapping advanced schedules.

    <Frame caption="Advanced recurrence settings with repeat timing, delay, and estimated next occurrences">
      <img src="https://mintcdn.com/kodelabs/1vjgtnWf-CUbC2z9/images/kode-os/ftt/ftt-schedule-advanced-recurrence.png?fit=max&auto=format&n=1vjgtnWf-CUbC2z9&q=85&s=c73b7b43c5765ec58f55a603618da99a" alt="Schedule step with Recurring and Advanced Settings enabled, showing Repeat After set to Project is completed, Delay of 1 Week, Ends After 10 occurrences, and task preview with Floor 02 and Floor 03 showing Estimated Next Occurrence dates of Jun 01 and Jun 08 2026" width="1024" height="717" data-path="images/kode-os/ftt/ftt-schedule-advanced-recurrence.png" />
    </Frame>

    | Option         | Description                                                                                          |
    | -------------- | ---------------------------------------------------------------------------------------------------- |
    | `Repeat After` | Choose whether the next cycle starts after the project is completed or after the project has started |
    | `Delay`        | Set a delay period (in weeks) between project cycles                                                 |
    | `Ends`         | Choose `Never` for continuous testing or `After` to limit the number of recurrences                  |

    **Schedule preview**

    The preview table shows all scheduled tasks with their dates, device counts, and estimated next occurrences. Tasks are automatically named based on floor or group.

    * **Reorder tasks**: drag the handle on the left side of each row
    * **Edit or delete a task**: select the three-dot menu on a task row to edit its details or remove it from the schedule
    * **Add Task**: after you remove a device from an existing task, `Add Task` becomes available. Use it to create a new task for devices that are not in any group, then assign those devices on the Devices tab

    <Frame caption="Three-dot menu on a task row with Edit and Delete options">
      <img src="https://mintcdn.com/kodelabs/1vjgtnWf-CUbC2z9/images/kode-os/ftt/ftt-schedule-task-menu.png?fit=max&auto=format&n=1vjgtnWf-CUbC2z9&q=85&s=82969036eaa4f8f4f274a5cc5a6a7eb8" alt="Schedule preview table showing Floor 02 and Floor 03 tasks with a three-dot menu expanded on Floor 03 displaying Edit and Delete options" width="1024" height="226" data-path="images/kode-os/ftt/ftt-schedule-task-menu.png" />
    </Frame>

    The **Edit Task** dialog lets you modify task-level settings on two tabs:

    * **Details**: change the task name, start date, start time, notify users, and adjust workflow parameters for this specific task

    <Frame caption="Edit Task Details tab with task configuration and parameter overrides">
      <img src="https://mintcdn.com/kodelabs/i9tCc_I6OZNqDXAw/images/kode-os/ftt/ftt-edit-task-details.png?fit=max&auto=format&n=i9tCc_I6OZNqDXAw&q=85&s=4a51c95eaaaa0bd1a8e27e3669d354e9" alt="Edit Task dialog Details tab showing Task Name Floor 02, Start Date 2026-05-18, Start Time 16:00, Notify Users and Roles dropdowns, and Parameters section with Max Sequence Duration 600, Min Sequence Duration 30, Stabilization Time 30, Chilled Water Valve Close Cmd 0, Stop Cooling DAT Threshold 70, Hot Water Valve Close Cmd 0, Stop Heating DAT Threshold 80, Hot Water Valve Open Cmd 100, and Start Heating DAT Threshold 100" width="745" height="669" data-path="images/kode-os/ftt/ftt-edit-task-details.png" />
    </Frame>

    * **Devices**: add or remove individual devices from this task

    <Frame caption="Edit Task Devices tab showing device selection for a specific task">
      <img src="https://mintcdn.com/kodelabs/i9tCc_I6OZNqDXAw/images/kode-os/ftt/ftt-edit-task-devices.png?fit=max&auto=format&n=i9tCc_I6OZNqDXAw&q=85&s=7c8da0bf71df4e01f01e966ce810a118" alt="Edit Task dialog Devices tab showing 25 FCU devices on Floor 02 with Name, Type, Location, and Area columns, with 23 of 25 devices selected" width="730" height="672" data-path="images/kode-os/ftt/ftt-edit-task-devices.png" />
    </Frame>
  </Step>

  <Step title="Add details and notify users">
    Complete the project configuration with a name, description, notification settings, and simultaneous test limits.

    <Frame caption="Step 4: Configure project details, notifications, and maximum simultaneous tests">
      <img src="https://mintcdn.com/kodelabs/i9tCc_I6OZNqDXAw/images/kode-os/ftt/ftt-create-project-details.png?fit=max&auto=format&n=i9tCc_I6OZNqDXAw&q=85&s=d6986d356d79d555f27c581bb5d0a858" alt="Create Project step 4 showing Details section with Project Name FTT Project, Reason set to Routine Maintenance, auto-generated Description, Notify Users with Diellza Gashi selected, Roles with Operator/Engineer selected, Max Simultaneous Tests set to 3, and a Work Order link" width="1024" height="712" data-path="images/kode-os/ftt/ftt-create-project-details.png" />
    </Frame>

    <Expandable defaultOpen={true} title="Project configuration fields">
      | Field                    | Description                                                                                                     |
      | ------------------------ | --------------------------------------------------------------------------------------------------------------- |
      | `Project Name`           | Descriptive name for the project scope, such as "Spring FCU Heating" or "Annual VAV Damper Testing"             |
      | `Description`            | Summary of the project. Select the auto-generate icon to create a description from your schedule configuration. |
      | `Reason`                 | Category for creating the project, such as "Routine Maintenance"                                                |
      | `Specific Reason`        | Additional detail about why the project was created                                                             |
      | `Notify Users`           | Select specific users to notify before tests, after tests, or both                                              |
      | `Notify Roles`           | Select a role (such as Operator/Engineer) to notify all users in that role                                      |
      | `Max Simultaneous Tests` | Number of devices tested at the same time within a single task (range: 1 to 5)                                  |
    </Expandable>

    Confirm whether notifications send before tests, after tests, or both when you select users and roles.

    #### Work orders

    Select `+ Work Order` to configure automatic work order creation when testing completes. Work orders push results to an external system through the QR Connect API.

    <Frame caption="Work Order configuration with trigger, criteria, and payload settings">
      <img src="https://mintcdn.com/kodelabs/1vjgtnWf-CUbC2z9/images/kode-os/ftt/ftt-work-order-config.png?fit=max&auto=format&n=1vjgtnWf-CUbC2z9&q=85&s=bb5d883d6d11a5f1a3e079a407bd5a84" alt="Work Order dialog showing Name Work Order 1, Create On Completion Of set to Task, Criteria with Avg Score range 0 to 99 percent, Field Status with Operator In and Action Completed, and Configure Payload section with Data Source QR Connect API, Entity WorkOrder, and Action Create Work Order" width="1024" height="489" data-path="images/kode-os/ftt/ftt-work-order-config.png" />
    </Frame>

    | Field                       | Description                                                                                               |
    | --------------------------- | --------------------------------------------------------------------------------------------------------- |
    | `Name`                      | Identifier for the work order rule                                                                        |
    | `Create On Completion Of`   | Trigger point: `Project`, `Task`, or `Test`                                                               |
    | `Avg Score`                 | Score range that triggers work order creation (for example, 0% to 99% to capture all non-perfect results) |
    | `Field / Operator / Action` | Filter conditions (for example, Status In Completed)                                                      |

    The **Configure Payload** section maps FTT data to your external work order system. Set the data source, entity, and action, then fill in the required fields using template variables.

    <Frame caption="Payload configuration mapping FTT data to external work order fields">
      <img src="https://mintcdn.com/kodelabs/1vjgtnWf-CUbC2z9/images/kode-os/ftt/ftt-work-order-payload.png?fit=max&auto=format&n=1vjgtnWf-CUbC2z9&q=85&s=dad5516e5e8d1e0883ea995bcf881e01" alt="Configure Payload showing Data Source QR Connect API, Entity WorkOrder, Action Create Work Order, with fields Title FTT Project Completed, Description auto-populated, Category Smart Device, Subcategory ID Chiller Failure, Location using test.device template variable, Device Link using URL template variable, Priority Smart Device Priority, and available template variables including Task Name, Task Score, Workflow, Building, and more" width="1024" height="398" data-path="images/kode-os/ftt/ftt-work-order-payload.png" />
    </Frame>

    Available template variables include `Task Name`, `Task Score`, `Workflow`, `Building`, `Task Reason`, `Task - Number of Devices`, `Task Started At`, `Task Ended At`, `Task Readable Duration`, `Task Duration`, `Test Status`, `Device`, and `Area`.

    Select `Save` to create the project. A preview of the project and all scheduled dates appears.
  </Step>
</Steps>

## Manage existing projects

Projects often run over weeks or months. As tasks complete, statuses turn green and average scores update for each task. Select a project from the list to open its details.

### Project details

The **Details** tab shows all scheduled tasks with their execution history and scoring. The right panel displays project metadata including workflow, device count, completion percentage, status, description, recurrence settings, and assigned users.

<Frame caption="Project details view showing scheduled tasks, scores, and project metadata">
  <img src="https://mintcdn.com/kodelabs/1vjgtnWf-CUbC2z9/images/kode-os/ftt/ftt-project-details.png?fit=max&auto=format&n=1vjgtnWf-CUbC2z9&q=85&s=5be4b8a6f69765950f9da739e07b3df6" alt="V2 FCU Heating project details showing tasks per floor with columns for Task, Scheduled Date, Last Occurrence, Number of Devices, and Average Score, plus a Details panel showing workflow V2 FCU Heating, 720 devices, 0 percent completed, Scheduled status, start date Nov 20 2025, and recurrence set to repeat when project is completed" width="1024" height="702" data-path="images/kode-os/ftt/ftt-project-details.png" />
</Frame>

Expand a task row to view the individual devices assigned to that task. Select one or more tasks to access bulk actions at the bottom of the page.

<Frame caption="Expanded task showing individual device assignments with action buttons">
  <img src="https://mintcdn.com/kodelabs/1vjgtnWf-CUbC2z9/images/kode-os/ftt/ftt-project-task-devices.png?fit=max&auto=format&n=1vjgtnWf-CUbC2z9&q=85&s=12f7133de53c4d2e5881b34445673e43" alt="Expanded Floor 03 task showing device list with Device Name and Area columns, listing FCU devices like FC_3_11, FC_3_10, FC_3_13 assigned to Floor 03, with Stop, Activate, Deactivate, Run and Keep Schedule action buttons at the bottom" width="875" height="828" data-path="images/kode-os/ftt/ftt-project-task-devices.png" />
</Frame>

### Devices tab

The **Devices** tab provides a cross-project view of all device test results. A stacked bar chart shows completed, failed, and archived test counts per floor. A donut chart summarizes overall pass rates. The device table lists individual scores and allows sorting and searching.

<Frame caption="Devices tab with test result charts and individual device scores">
  <img src="https://mintcdn.com/kodelabs/1vjgtnWf-CUbC2z9/images/kode-os/ftt/ftt-project-devices-tab.png?fit=max&auto=format&n=1vjgtnWf-CUbC2z9&q=85&s=a19e6db165574e01eadc5bc3c8287b0c" alt="V2 FCU Heating Devices tab showing Executed Test Filters section with stacked bar chart of Completed, Failed, Archived, In Progress, Cancelled, and Queued counts per floor, a donut chart showing 58.2 percent, 25.32 percent, and 16.48 percent distribution, and a device table listing FC_16_1 at 100 percent, FC_17_11 at 100 percent, FC_22_20 at 0 percent scores" width="1024" height="719" data-path="images/kode-os/ftt/ftt-project-devices-tab.png" />
</Frame>

### Task actions

Select one or more tasks in a project to access the following actions:

| Action       | Description                                                                                                     |
| ------------ | --------------------------------------------------------------------------------------------------------------- |
| `Run & Keep` | Run the task immediately and keep the original scheduled date. The devices test twice.                          |
| `Run`        | Run the task immediately and replace the scheduled date with the current time. The task does not execute again. |
| `Deactivate` | Cancel a specific task. Useful when a floor is under construction or no longer relevant.                        |
| `Activate`   | Reactivate a previously deactivated task                                                                        |
| `Stop`       | Stop a task that is currently in progress                                                                       |

<Warning>
  For recurring projects, task changes apply to all future iterations. Stopping or running a task persists that state across subsequent project cycles.
</Warning>

### Project-level actions

| Action            | Description                                                                                 |
| ----------------- | ------------------------------------------------------------------------------------------- |
| `Edit`            | Access all configuration options. You cannot remove devices that already have test results. |
| `Schedule`        | Quickly adjust the testing schedule without editing the full project                        |
| `Open Task`       | Open a dedicated page to view results for a specific task                                   |
| `Last Occurrence` | View results from the most recent execution of a task                                       |
| `Devices`         | View all results across the entire project with cross-filtering charts to identify failures |

## Best practices

### Align projects with heating and cooling seasons

| Season                | Recommended workflows             |
| --------------------- | --------------------------------- |
| Spring through summer | VAV damper operation, FCU cooling |
| Fall through winter   | VAV induced heating, FCU heating  |

### Schedule tests during optimal windows

* **Weekly cadence**: creates a manageable workload for operators to review results
* **Late afternoon timing**: equipment runs at steady state rather than during startup
* **Low-occupancy days**: minimizes impact on occupants

### Test at scale with daily batches

Testing 10 devices per day takes less than 30 minutes. Schedule daily batches at 4:00 or 5:00 PM to systematically cover the entire building.

### Use recurring projects

Recurring projects enable continuous commissioning. Set up annual testing cycles aligned with heating and cooling seasons, or run year-round continuous testing.

## Next steps

<CardGroup cols={2}>
  <Card title="Test results" icon="clipboard-check" href="/products/ftt/test-results" arrow={true}>
    Review detailed test scores and device performance history.
  </Card>

  <Card title="Run your first test" icon="graduation-cap" href="/products/ftt/overview" arrow={true}>
    Practice an on-demand FCU heating run before you schedule at scale.
  </Card>

  <Card title="Workflows" icon="workflow" href="/products/ftt/workflows" arrow={true}>
    Browse and create testing workflows for your equipment.
  </Card>

  <Card title="Deployment guide" icon="rocket" href="/products/ftt/deployment" arrow={true}>
    Follow the recommended deployment strategy for calibrating and scheduling FTT.
  </Card>
</CardGroup>
