AssetOps is the comprehensive digital maintenance and asset management module within KODE OS. Designed to move teams from reactive fixes to proactive, data-driven operations, AssetOps connects your equipment data directly to execution, compliance, and performance tracking across your entire portfolio.
By unifying building systems, workflows, and vendors into a single system of record, AssetOps provides total control over every asset.
This guide provides an overview of the steps required to set up your AssetOps environment, including discovering assets, configuring asset types, creating task templates, setting up automated schedules, and configuring work orders.
You can open the AssetOps portal in two ways: through the KODE OS interface or directly via a dedicated switch. Although accessible from KODE OS, AssetOps operates in a separate portal.
Search the client domain you want to access, then click “Open App” for AssetOps on the list of applications that show.
The AssetOps portfolio view appears, and you’ll first be directed to the Dashboard module.
Another way you can access AssetOps is by opening KODE OS first, then selecting AssetOps in the apps menu at the top left of the page.
Alternatively, select a building and click AssetOps on the main left navigation bar. This opens AssetOps for the building in a new browser window.
AssetOps Interface - Portfolio Level
The AssetOps interface is designed for property managers and asset managers. It provides a centralized view of maintenance operations.
The primary navigation sections include:
Dashboard: Provides a centralized, high-level overview of key performance metrics (e.g., Overdue WOs, Completion rates) and visual trends across operations, time analysis, and forecasting.
Buildings: Lists and manages the individual buildings within the portfolio.
Work Orders: Lists all work orders created for buildings in the portfolio.
Schedules: Contains frameworks for organizing maintenance and inspection needs.
Vendors: Manage service vendors.
Categories: A portfolio-managed Categories and Issue Types library.
Task Templates: Standardized checklists that define the exact steps and requirements a technician must complete when a work order is generated.
Settings: Manages overall application configurations.
AssetOps Interface - Building Level
The primary sections of AssetOps for an individual building include:
Dashboard: Similar to the portfolio view, it offers an overview of work orders for a specific building.
Work Orders: Lists all work orders created.
Schedules: Contains frameworks for organizing preventive maintenance and inspection needs. Here, all the schedules from a specific building will be listed.
Assets: Provides a centralized overview of all equipment requiring maintenance and inspection.
Asset Discovery: Add assets via spreadsheet import or API.
Teams: Represent groups of people responsible for handling specific types of tasks. Each team can be assigned to one or more work orders based on their role, expertise, or area of responsibility.
Routing & Dispatch: Manages work order assignments to the appropriate team or specific users based on the category and issue type, ensuring the right people are notified whenever a new work order is created/updated.
Completion Policies: Define the rules and required steps that must be fulfilled for a work order (regardless of type, such as maintenance or inspections) to be officially marked as completed.
Assets are the foundation of your operations and maintenance strategy. They represent the actual hardware your team manages on a daily basis—ranging from large HVAC units (like chillers, fan coil units, and air handlers) to Health, Safety, and Environment (HSE) equipment (like fire extinguishers) and general building infrastructure (like electrical panels or plumbing fixtures).
To access and manage your assets:
Navigate to Buildings from the left-hand menu.
Select the specific building you want to view.
Click on Assets in the building's navigation menu.
This will open your assets list, where you will see key details such as the asset's Name, Category, Type, Model Number, Area, and Status.
You can easily adjust the table to show the exact information you need. Simply click the Column Selector in the top right corner of the screen and click the Eye icon to show or hide additional data columns based on your current workflow.
Filtering and Exporting Your Assets
Filtering: To quickly narrow down your list and find specific equipment, click the Filter button at the top of the table. You can apply multiple filters at once to sort your assets by criteria such as Category, Type, Status, Area, Data Source, and more. Here, you can also choose to only show Cloud BMS devices by checking the box next to the last option.
Here, you can choose to only show Cloud BMS devices by checking the box next to the last option.
Exporting: If you need to download your asset data for reporting or offline review, click the three dots in the top right corner of the screen and select Export. This will download your current asset list as a spreadsheet.
Clicking on an asset opens its Details tab, which gives you a quick but complete overview of the equipment. It is divided into two main sections:
General Information: Displays the asset's core specifics, including its Name, Location, Manufacturer, Model/Serial numbers, Lifecycle Dates (like installation and warranty), Costs, Location, and Technical Specifications. You can click Edit in the top right to update these fields or change its active Status.
Schedules & Work Orders: Provides a snapshot of the asset's maintenance health. You can use the quick links to jump to assigned schedules, or view real-time metrics for completed, open, and overdue work orders.
Typically, KODE OS acts as the primary source of truth, utilizing the Asset Discovery feature to automatically pull in assets from BMS or connected work order systems if they support asset data sharing through an API or integration. Some commonly used systems that support this include IBM Maximo and IBM TRIRIGA, depending on setup and available data access.
If a system does not support this, assets can still be added manually by uploading an export file to the Data Source.
To access the asset discovery page, first go to Buildings from the left-hand navigation menu, select your site, and then click on Asset Discovery in the left menu.
Here, you manage your asset uploads under the Data Sources tab.
To upload your asset list for the first time, click the Add Data Source button in the top right corner.
In the popup window, follow these steps:
Name the Data Source
Download template: Click the blue link to download an empty spreadsheet. This file contains all the properly formatted fields required to upload your assets.
Fill your data: Populate the downloaded template with your asset information. (Best Practice Example: Name your completed file using a standard convention like [date in yyyy_mm_dd format] [building] [asset type] Upload — e.g., 2026_03_23 RBC Non-HSE Assets Upload).
When filling out your template, required fields include: ID, Name, Category.
Upload the completed template: Drag and drop your saved file into the designated box or click to browse your computer.
Click Save.
Discover Assets: Once saved, locate your new Data Source in the list, click the three dots on the far right, and select Discover Assets to officially pull the equipment into your registry.
Once the upload is complete, navigate to the Assets module and verify that the asset count matches the spreadsheet you uploaded.
Any time you need to add new assets to AssetOps manually, you should update the existing spreadsheet linked to your Data Source rather than creating a new one.
Go to the Asset Discovery > Data Sources page.
Click on the three dots on the far right side of your existing data source and click Edit.
Re-upload the updated spreadsheet (which now includes your newly added assets).
Click Save.
Once saved, click the three dots next to the data source again and select the option to Discover the assets. This tells the system to process the new sheet and add the new equipment to your registry.
After the discovery process is complete, the system will automatically differentiate between your Existing Assets and the New Assets. Review the New Assets list, check the boxes next to the specific assets you want to add to the database, and click Save to finalize the import.
Besides the Data Sources tab, you can also view the Discovery Logs tab on the left.
This page provides a complete historical record of all your asset import and sync attempts.
For each discovery event, the log displays:
Data Source: The name of the upload or integration used.
Date & Time: Exactly when the discovery was initiated.
Status: Shows if the sync was successful or if it ran into an error.
User: The specific user who initiated the discovery process.
Discovered Assets: The total count of new assets successfully pulled into the system during that specific sync.
(Note: You can also manually trigger a sync from this page by clicking the Initiate Discovery button in the top right corner).
Asset Types categorize your equipment and are crucial because they dictate which Task Templates can be assigned to which assets.
Before assigning an Asset Type in AssetOps, it must first exist at the portfolio level in KODE OS.
Navigate to Settings at the Portfolio level of KODE OS.
Select Device Types.
Click Add Type in the top right corner to create any missing asset types.
Task Templates outline the specific work required for different equipment. They are managed at the AssetOps portfolio level and act as the building blocks for Schedules.
Each task template includes a Title, Work Type, Estimated Time, and Asset Type(s).
Note: The Asset Type(s) assigned to a task determine whether that task will appear as an option when building a schedule for a specific asset.
When viewing the Task Templates page, clicking the three dots in the top right corner opens a menu that allows you to manage your templates in bulk using spreadsheets.
Here is what each option does:
Export: Downloads a spreadsheet containing all of your currently existing task templates. This is useful for auditing your task library, reviewing data offline, or preparing a file to make bulk modifications.
Import and Create: Allows you to upload a spreadsheet to build multiple new task templates at once. When you select this option, you can download an empty template with the correct formatting, fill it with your new task details, and upload it to instantly generate those tasks in the system.
Import and Update: Allows you to upload a spreadsheet to modify existing task templates in bulk. This is highly efficient if you need to quickly adjust estimated times, change work types, or reassign asset types across dozens of tasks simultaneously without editing each one manually in the UI.
Ensure all your Asset Types have already been created in KODE OS (the import template relies on these as dropdown selections).
Navigate to Task Templates in the left-hand navigation at the portfolio level.
Click the three dots in the top right corner and choose Import and Create.
Download the import template.
Populate the template with your task data (Mapping fields like Title, Work Type, Inspection Type, Estimated Time, and Asset Types).
Upload the completed file.
If you only need to add a few new tasks, you can build them directly in the platform instead of using a spreadsheet.
Click the + Create Template button in the top right corner of the Task Templates page.
In the popup window, fill out the following details:
Title (Required): The name of the task.
Work Type (Required): Choose a category from the dropdown (e.g., Preventive Maintenance).
Estimated Time: How long the task should take (hours and minutes).
Description: Add any step-by-step instructions, links, or guidelines for the technician.
Click Create to save your new task template.
If you need to assign existing tasks to newly created Asset Types:
Filter your Task Templates by the current Asset Type.
Select all applicable tasks and click Edit.
Click the Asset Type(s) field and select all the appropriate names from the dropdown. Note: Selecting new asset types replaces the previous list, so be sure to select all intended asset types, including the original ones.
Schedules automate the generation of work orders based on a defined frequency.
AssetOps supports multiple schedule categories, with the two most common being Preventative Maintenance and HSE Inspections.
Schedules are built using the Task Templates you established in the previous steps.
Navigate to Buildings in the left-hand navigation menu and select the specific site where you want to add the schedules.
Once in the building view, click on Schedules in the left-hand navigation.
Click +Create in the top right corner and choose your schedule category (e.g., Preventative Maintenance).
Follow the popup window prompts to configure the schedule details:
General Info: Enter the schedule Title and select the targeted Asset Type. You can select the Assignees or Assigned Team for the schedule, add a description, or add attachments as needed.
Schedule Parameters: Set the Schedule Type (e.g. Recurrent), Start Date & Time, Due By Days (e.g., 30 days), and the Frequency (Weekly, Monthly, Quarterly, Annual, etc.).
Note: You can toggle on the Auto-fail feature and set a grace period (Days After Due Date) to automatically fail an incomplete work order before the next recurring one is generated.
Assets: You can add assets by Type or by List. It is recommended to add by Asset Type(s), as this ensures the schedule automatically applies to any new assets of that type added in the future.
Tasks: Select the specific Tasks that apply to this schedule. (Troubleshooting: If no tasks are visible here, it means no Task Templates have been assigned to the Asset Type you selected in step 1).
Click Complete and the schedule will be created.
The Dashboard is your central hub for monitoring maintenance activity. It provides a clear, high-level view of work orders, performance, and trends. The data updates automatically based on your selected filters, allowing you to view insights across your entire portfolio or focus on a specific building.
To access this module,
Go to the left-hand menu and click Dashboards from either the Portfolio or Building view.
To tailor the data to your specific needs, the Dashboard offers several interactive elements at the top of the screen: Operations, Time Analysis, Forecast, and Historical Trends.
Filters and Quick Insights:
The dashboard's top control panel provides a streamlined way to filter your data and monitor operational health in real time. Using the dynamic drop-down menus, you can easily refine your entire view by adjusting the timeframe (such as the "Last 30 Days") or filtering by specific Building, Region, Property Type, Work Type, Category, and Status.
Below the filters is an interactive summary bar that highlights critical metrics like the total count of Open, Overdue, On Hold, and Completed Work Orders, alongside completion percentages for various maintenance types.
Clicking on any specific metric—such as the Open WOs—will instantly redirect you to the Work Order page, automatically pre-filtered to display only the work orders with that status.
Estimated vs Actual Working Hours: A bar chart comparing projected time against actual logged time. Summary cards on the left highlight the total numbers and percentages for both estimated and logged hours to help track estimation accuracy.
Hours by Work Type: A trend line charting how labor hours are distributed across Preventive Maintenance, Inspections, Corrective Maintenance, and Service Requests over your selected timeframe.
Hours by Category & Issue Type: A granular breakdown detailing exactly where labor time is being spent based on specific maintenance categories and their associated issues.
The top control panel provides a streamlined way to filter this data; using the dynamic drop-down menus, you can refine your view by Created Date, Building, and Work Type.
Below the filters is a summary bar that provides a snapshot of your time-based KPIs. This quick-reference section displays your Total hours logged, Avg hours per WO, the percentage of Planned work, and a direct, high-level comparison of Estimated vs actual work.
Work Orders count by Buildings: A simple table showing the upcoming work for each building. It lists planned PMs, Inspections, the capacity you will use, and the total scheduled work orders.
Filter your view for future dates like the next 4, 8, or 12 weeks and choose any Buildings. The summary bar below quickly shows what is coming up: Total Buildings, Total Work Orders, PM Work Orders, Inspections WOs, and the expected Avg Capacity.
The Historical Trends tab evaluates long-term performance, issue recurrence, and efficiency in resolving work orders.
Average Time to Close: A line chart showing how many days it takes to finish work orders, with summary cards below showing the average time for each work type.
Created Vs Open Work Orders: A bar chart comparing "Still Open" and "Closed" work orders over time to help you spot backlogs.
Trends by Category: A chart tracking how often specific issues repeat across different maintenance categories.
Look at past performance by filtering your data by Created Date, Building, Work Type, and Category.
The Work Orders module is your central hub for tracking and managing all maintenance tasks. The core dashboard offers a consistent suite of tools to help you stay organized.
To ensure maximum efficiency, the module automatically adapts its layout and forms based on your current level of navigation: portfolio view or building view.
To access this module,
Go to the left-hand menu and click Work Orders from either the Portfolio or Building view.
Designed for global management, this view gives you visibility into all work orders across your properties in one place.
Here’s a simple breakdown of the features available on the portfolio view screen:
Status Bar: Shows the total number of work orders by status (Open, In Progress, Completed, Overdue, etc.). Click any status to filter the list.
Search Bar: Use it to find work orders by title or ID.
Filters Menu: Click “Filters” to open a panel on the right and narrow down the list using specific criteria.
Export Button: By navigating to the three dots on the top right corner, this feature lets you download the current list of work orders.
Work Order List: Displays all work orders across your portfolio.
Creating a Work Order
When you click the "+ Create Work Order" button, the system opens a comprehensive form.
Here, you can create a new maintenance task by completing three main sections:
Details: Enter a required title, select the building, asset(s), area, and choose the category and issue type. You can also add a description and upload files or photos.
Assignment: Assign the task to the appropriate party—an internal team, a specific user, or a vendor.
Timeline: Set a required start date and time. Optionally, add a deadline and estimated duration. Click Save to finish.
This view focuses on one selected property, so you only see work orders for that building.
Here’s a simple breakdown of the features available on the portfolio view screen:
Status Bar: Shows how many work orders are in each status (Open, In Progress, Completed, Overdue, etc.). Click a status to filter the list.
Search Bar: Use it to find work orders by title or ID.
Filters: Open the Filters panel on the right to narrow down results.
Export: By navigating to the three dots on the top right corner, this feature lets you download the current list of work orders.
Work Order List: Displays all work orders for the building.
Creating a Work Order
Click “+ Create Work Order” on the top right corner to open the form.
Fill out the three main sections to create the new work order:
Details: Add a title (required), select asset(s) and area, and choose category and issue type. You can also add a description and upload files or photos.
Assignment: Choose who will handle the task—an internal team, a specific user, or a vendor.
Timeline: Set a start date and time (required). You can also add a deadline and estimated time. Click Save to finish.
You can manage your vendors that sell, install, or service assets. Once added to your list, you can assign them to work orders.
To view your list of vendors,
In the AssetOps portfolio view, select Vendors from the sidebar. The Vendors list appears, displaying the names and web addresses of your vendors.
Add a vendor
To add a vendor,
Click the + Add Vendor button in the top right corner.
The Add Vendor pop-up window appears. Input the Vendor Name (required) and the Website (optional).
Click Create. The vendor is now added to the Vendors list.
Edit a vendor
Once you have added a vendor to your Vendors list, you can edit their information, assign members to the vendor, and upload attachments.
To edit a vendor, click on one of the vendors from the list, and the vendor Details page appears, showing the general vendor information and the list of assigned members.
Click the Edit button to edit the Name and Website.
To assign members to the vendor, click the Assign button. The Assign User pop-up window appears. You can search for and select one or more users. Once you have made your selections, click Save. Their names appear in the list of Members.
To delete a vendor,
In the Vendors list, select the vendor you want to delete. The vendor Details page appears.
Click the three-dots button in the top right.
Select Delete. A confirmation pop-up window appears.
Click Delete. The vendor is now deleted.
On the Categories module, you have a set of Categories and Issue Types that you can use to organize and categorize your work orders. You can also create new categories and assign issue types to different categories based on your use cases.
The structure works as a parent-child relationship, where Categories are the parent, and Issue Types are the child items associated with a category.
Navigate to the respective tab (Categories or Issue Types) at the top of the screen.
Click the blue + Add Category (or + Add Issue Type) button in the top right corner.
Enter the name of the new Category or Issue Type.
If creating an Issue Type, you should select the Category it will be associated with.
Click Create to finalize.
Tip: Properly categorizing work orders ensures accurate routing, reporting, and tracking of issues across your buildings and teams.
Clicking on the three dots on the far right of any category or issue type will provide the option to Edit and Delete them.
In AssetOps, Teams allow you to create groups of people who can be assigned to handle specific types of tasks. You can add users to teams based on their roles, expertise, or area of responsibility.
For example:
The Mechanical / HVAC Team handles work orders related to heating, ventilation, and air conditioning.
The Electrical Team manages power supply, lighting, and wiring issues.
The Custodial / Janitorial Team handles general upkeep and cleaning.
Using teams helps ensure that work orders are automatically assigned to the right people, making maintenance more efficient and organized across smart building operations.
To navigate to the Teams module,
Select a Building from the Buildings module.
Click on Teams from the main left-side menu.
Editing Teams
You can edit information related to any of the teams by clicking on one of the teams, which will open the Details page.
Here, you can
Edit the Name and Description for the team by clicking on the Edit button.
Assign members to the team by clicking on the Assign button.
Once assigned, these members will automatically be assigned to work orders whenever the team is added to a category that is associated with a work order.
When you’re on the Teams module, click + Add Team on the top right corner.
Add the team Name and Description (optional).
Assign Members to the Team.
Once assigned, these members will automatically be assigned to work orders whenever the team is added to a category that is associated with a work order.
Hit Create to finalize the process.
To delete a team, click on the team, which will take you to the Details page. From there, click the three dots in the top right corner and select the option to delete it.
The Routing & Dispatch module allows you to automatically assign work orders to the right teams or specific users based on categories and issue types. This ensures that work orders are routed efficiently and consistently, reducing delays and manual assignment errors.
Category-Level Routing: Each category can be linked to a specific team (e.g., the "Electrical" category routes to the "Electrical Team"). Whenever a new work order is created under that category, the assigned team will automatically receive the work order.
Individual Assignees: In addition to teams, you can assign individual users to a category. When a work order is created under that category, the selected user will also be assigned automatically.
Issue Type-Level Routing: For more granular control, you can switch to the Issue Types tab to set up routing for specific issues (e.g., routing "Airflow Problem" directly to the Mechanical/HVAC team).
Categories and issue types can be edited by clicking the pencil icon on the far right of any row. From there, you can update team and user assignments, modify the status (for categories), or change the related category (for issue types).
The Completion Policies module allows you to define specific rules and required actions that technicians or vendors must fulfill before a work order can be officially marked as completed or submitted for review. This ensures quality control and standardizes operating procedures across your property.
To navigate to Completion Policies,
Select a specific building from the Buildings module to enter the building-level view.
On the main left-hand navigation menu, click on Completion Policies (located at the bottom of the list).
By default, the building may inherit completion policies set at the broader system or portfolio level.
To customize these rules for the specific building you are viewing,
Click the Override Default toggle in the top right corner.
A confirmation modal will appear. Click Continue to unlock the settings. Once enabled, you can turn individual requirements on or off based on your preferences.
Once the override is active, you can enforce any of the following requirements by toggling them on:
All tasks marked Done or N/A
Time logging before completion
Follow-up work order when action needed
Note when task is non-compliant
Attachment when task is non-compliant
Note when task is N/A
Resolution comment before completion
Editing Policies
Click the dropdown arrow on an active policy to select exactly which Work Order types (e.g., Preventive Maintenance or Inspection) the rule applies to, then click Save Changes.