Maximo to Tandem - Update Asset Properties
Asset property data is synchronized from Maximo to Tandem through the updating of user-defined parameters in Tandem. Actionable insights such as open work order and service request counts, dynamic URLs for each asset, and other key operational details are provided. Tandem assets are also enriched with Maximo properties such as installation date, description, and manufacturer, with Tandem's visualization capabilities being leveraged for enhanced asset management.
Prerequisites
A Tandem facility and its assets must be set up for synchronization. It is also assumed that the Tandem assets are configured with the required user-defined properties that need to be updated. A table is provided below that lists the properties the solution expects to be configured. The security requirements for the solution should also be reviewed.
Access and Authentication
Access credentials with the appropriate permissions should be available to read and write data to Tandem and to access the Maximo API.
For Autodesk Tandem, an application with access to the Tandem Data API must be created in Autodesk Platform Services. For steps on creating the application, see this link. The Client ID from this application should be added as a user in the Tandem Facility with Edit/Manage permissions. More details on how to set this up are included on this page.
For the Maximo API, an API key must be created under the "Integration > API Keys" module in the Maximo instance. For more details on how to create and manage API keys, see this link.
User-Defined Properties
The Tandem facility must be set up with the facility template containing the following properties. These properties are used to map Maximo fields to Tandem asset properties. Each property should be created under the Maximo category. The table also provides the plugin parameter that holds this configuration.
If needed, additional properties from Maximo can be synchronized to Tandem. See the
Adding Additional Propertiessection below.
| Property Name | Description | Data Type |
|---|---|---|
| OrgId | Organization ID, which is the account represented on IBM Maximo. | String |
| SiteId | The building ID, which represents a facility in Tandem. | String |
| AssetId | The unique ID of an asset coming from IBM Maximo. | Number |
| AssetNum | The asset name or number from IBM Maximo, which must match the asset name in Tandem. | String |
| Description | Asset description. | String |
Solution Features
| Feature | Description |
|---|---|
| Asset Properties | Maximo asset data is synchronized to corresponding properties on Tandem assets. |
| Work Orders and Service Requests Counts | The number of work orders and service requests for each asset is tracked and grouped by status. |
| Navigate to Maximo from Tandem | Links to work orders and service requests in Maximo are generated for each asset to allow easy navigation. |
Basic Setup
This section covers the minimum configuration required for the solution to run. The necessary parameters and their values for each plugin are detailed below. The instructions in the solution walkthrough should be followed to set up the solution.
IBM Maximo Stream Plugin
| Parameter Name | Description | Required |
|---|---|---|
| Authentication Method | The authentication method for Maximo APIs. | Yes |
| Authentication Value | The corresponding authentication value. | Yes |
| Maximo Base URL | The Maximo application base URL (must use HTTPS). | Yes |
| Entity | The entity that must be read from Maximo. Must be configured as Assets with WO&SR. |
Yes |
| Static Data | The JSON object which contains the configuration for the solution. Both OrgId and SiteId are required. Copy it from the Appendix section IBM Maximo Stream - Static Data. | Yes. |
- The Maximo Base URL can be determined by referencing the URL used to access Maximo in a web browser. For example, if Maximo is accessed at https://maximo.example.com/maximo, the Maximo Base URL would be https://maximo.example.com.
- The base URL may also be found in the Maximo API documentation. In some installations, a specific API endpoint such as https://maximo.example.com/api is configured in System Configuration > Platform Configuration > System Properties, filtered by the property
mxe.oslc.restwebappurl.- The OrgId and SiteId are required and can be found in the Maximo instance.
Autodesk Tandem Service/Connector Plugin
For the Autodesk Tandem service plugin, the credentials created while setting up the application in Autodesk Platform Service (APS) and the Tandem facility details should be entered.
| Parameter Name | Description | Required |
|---|---|---|
| Client ID | The client ID from the APS account setup. | Yes |
| Client Secret | The client secret from the APS account setup. | Yes |
| Facility URN | The URN (Uniform Resource Name) of the Tandem facility. | Yes |
| Data Processing | The type of data processing to be performed. | Yes. Data Processing must be set to Retrieve Asset Properties for the Autodesk Tandem Service plugin and Update Asset Properties for the Autodesk Tandem Connector plugins. |
Advanced Setup
Solution Overview

IBM Maximo Stream
Assets are read from IBM Maximo along with their work orders and service requests by the IBM Maximo Stream plugin, and they are passed to the next plugin in the solution. The following parameters are used to configure the plugin and its behavior:
Entity: The
Assets with WO&SRentity is read from IBM Maximo. This entity is configured to include assets along with their work orders and service requests. The fields to be read for assets, work orders, and service requests are defined in theEntity Parameter Listparameter.Entity Parameter List: The
Entity Parameter Listparameter is a JSON object that defines the fields to be read for assets, work orders, and service requests. Default values are provided in the Appendix section of this document. Each entity has configuration such asselect, which specifies which columns or properties of the entity are to be read;filter, which filters entities based on the condition provided; andmapping, which transforms columns from Maximo into the appropriate Tandem properties.Static Data: The
Static Dataparameter is a JSON object that contains the configuration for the solution. This is provided in the Appendix section of this document, along with a guide on how to configure it.The Appendix contains a detailed explanation of how to configure and use the
Entity Parameter ListandStatic Dataparameters.
Converters
Two instances of this plugin are used in the solution.
Transform: This plugin contains the transformation logic for converting Maximo properties to Tandem user-defined properties. This converter reads the data from Maximo and the configuration from the Scheduled data stream for the user-defined properties. The transformation logic for the
propertiesand thefixedPropertiesis then applied. The values for alldynamicPropertiesare calculated and sent as a batch to Tandem to be updated for the asset. If the user-defined properties in Tandem are configured differently from the out-of-the-box properties provided, they must be updated accordingly as mentioned above in the Scheduled Data Stream plugin.PrepTandem: This converter plugin prepares the incoming object to be in the format accepted by the Tandem Service. A
tcMetadataobject is created that contains thefacilityId,modelId, and theassetIdwith thedataobject containing the properties and their values.
Autodesk Tandem Service
The Autodesk Tandem Service plugin is responsible for scanning and updating assets with properties from Maximo in Tandem.
- Retrieve Generic Assets: This instance is used to retrieve assets from Tandem and update them with properties from Maximo. The
tcMetadataobject created by the PrepTandem converter plugin is used to update the properties for each asset.
Autodesk Tandem Connector
The Autodesk Tandem Connector plugin is responsible for sending data to Tandem and updating the user-defined properties in Tandem.
- Update Asset Properties: This instance is used to update the properties for assets in Tandem. The
tcMetadataobject created by the PrepTandem converter plugin is used to update the properties for each asset.
Adding Additional Properties
This section explains how the solution can be configured to add more Maximo properties to be synced to Tandem. The source where the list of properties is configured is under the IBM Maximo Stream plugin's Entity Parameter List parameter, which holds a JSON object that has a property called mapping. This is a list of key-value pairs that lists all Maximo properties as keys and the associated Tandem user-defined property as the value. Additional properties that need to be synced to Tandem can be mentioned in this list.
The existing keys should NOT be removed. Additional properties should be added after the existing keys.
Work Order and Service Request Configuration
By default, the solution retrieves the count of work orders and service requests for each asset grouped by status and adds a direct link to the work order list and service request list in Maximo into the Tandem property.
The solution can be configured to turn off the count synchronization. The list of statuses that are counted is all configured under the IBM Maximo Stream plugin's Static Data configuration's Work Order Configuration and Service Request Configuration keys. Both of these keys have similar properties.
See the Appendix section IBM Maximo Stream - Static Data for more details on this.
Troubleshooting
As a first step to troubleshoot the issue, please always check the plugin parameters against the Appendix section Plugin Parameters - Preset for the solution. to ensure that the parameters are set correctly.
Debugging Using Data Trace or Plugin Exceptions
- If Data Trace is enabled, an (x) icon is shown on the plugin where the issue occurs. The icon can be double-clicked to open the logs and review the error.
- If Data Trace is not enabled, the Exceptions tab of each plugin should be reviewed, starting from the last plugin and moving backward to the first plugin.
- The Common Issues and Suggested Actions section below should be reviewed for frequent issues and recommended resolutions.
- Plugin configuration parameters should be verified against the Appendix section.
- If the issue is not listed below or the suggested actions do not resolve it, Tandem Connect Support should be contacted with the error message or a screenshot of the error, along with the solution name and version.
Common Issues and Suggested Actions
- Authentication Issues:
- Access credentials and permissions should be verified as correct.
- The API key should be verified as correct and granted appropriate permissions.
- For Autodesk Tandem, the Client ID and Client Secret should be verified and confirmed to have appropriate permissions.
- For IBM Maximo, the API key should be verified and confirmed to have appropriate permissions.
- Data / Assets are not being updated in Tandem:
- The configuration of the IBM Maximo Stream plugin should be reviewed to ensure the following:
- The correct properties are being retrieved from Maximo.
- The Tandem properties are mapped correctly to the Maximo properties.
- The Tandem facility is configured with the correct template and includes the required user-defined properties under the same category specified in the
Static Dataconfiguration.
- No logs are being written:
- Plugin logs should be reviewed to ensure no errors are present.
- If no errors are present and logs are still not written, Tandem Connect Support should be contacted with the error message or a screenshot of the error, along with the solution name and version.
- The configuration of the IBM Maximo Stream plugin should be reviewed to ensure the following:
Appendix
Plugin Parameters - Preset for the solution.
Below are the configurations that are preset for the solution.
| Plugin Name | Plugin Parameter | Value |
|---|---|---|
| IBM Maximo Stream | Entity Name List | Assets with WOAndSR |
| IBM Maximo Stream | Entity Parameter List | See Appendix section IBM Maximo Stream - Entity Parameter List |
| IBM Maximo Stream | Static Data | See Appendix section IBM Maximo Stream - Static Data |
| Autodesk Tandem Service | Data Processing | Retrieve Asset Properties |
| Autodesk Tandem Connector | Data Processing | Update Asset Properties |
| Autodesk Tandem Connector | Update Asset Operation Mode | Compare and Insert/Update Operation |
IBM Maximo Stream - Entity Parameter List
| Section | Field | Description |
|---|---|---|
| Assets | select | A comma-separated list of asset fields to be retrieved from Maximo. |
| filter | A filter condition to select specific assets (e.g., by site or status). | |
| mapping | Maps Maximo field names to Tandem property names. | |
| orderBy | The field used to order the asset results by (e.g., +assetnum). |
|
| Work Orders | select | A comma-separated list of work order fields to be retrieved from Maximo. |
| groupByCountField | The field used to group and count work orders (e.g., by status). This is required to be set to status if status counts are to be displayed in Tandem. |
|
| ServiceRequests | select | A comma-separated list of service request fields to be retrieved from Maximo. |
| groupByCountField | The field used to group and count service requests (e.g., by status). This is required to be set to status if status counts are to be displayed in Tandem. |
- The
selectandfilterfields control which data is retrieved from Maximo.- The
mappingobject ensures Maximo fields are correctly mapped to Tandem properties.groupByCountFieldis used to aggregate counts by status for work orders and service requests.
{
"Assets": {
"select": "assetid,assetnum,description",
"filter": "siteid=\"<SITE_NAME>\"",
"mapping": {
"orgid": "OrgId",
"siteid": "SiteId",
"assetid": "AssetId",
"assetnum": "AssetNum",
"description": "Description"
},
"orderBy": "+assetnum"
},
"Work Orders": {
"select": "wonum,status,assetnum",
"groupByCountField": "status"
},
"ServiceRequests": {
"select": "ticketid,status,assetnum",
"groupByCountField": "status"
}
}
IBM Maximo Stream - Static Data
The static data JSON object is used to provide configuration and additional parameters that are passed through the solution pipeline. This object controls how Maximo and Tandem interact, which properties are synchronized, and how work order and service request information is handled.
How to Configure
The static data object consists of two main sections:
Maximo Configuration: Connection details for IBM Maximo are contained here, such as the base URL, site ID, and the property name used for asset numbers.
Tandem Configuration: How asset data is mapped and updated in Autodesk Tandem is defined here. This includes:
- Classification: The category in Tandem where properties are stored (e.g.,
Maximo). - Maximo Asset Number Property: The property in Tandem that holds the Maximo asset number.
- Work Order Configuration (Optional):
Add Status Counts: Set totrueto enable status count synchronization.Status to Lookup: A list of work order statuses to be tracked (e.g.,In Progress,Waiting for Approval).Properties For Status Counts: Each status is mapped to a property name in Tandem.Add Work Order URL: Set totrueto include a direct URL to work orders for each asset.
- Service Request Configuration (Optional):
Add Status Counts: Set totrueto enable service request status count synchronization.Status to Lookup: A list of service request statuses to be tracked.Properties For Status Counts: Each status is mapped to a property name in Tandem.Add Service Request URL: Set totrueto include a direct URL to service requests for each asset.
- Fixed Properties (Optional):
- Key-value pairs for static properties to be set on all assets (e.g., a
FlexFieldfor filtering or troubleshooting).
- Key-value pairs for static properties to be set on all assets (e.g., a
- Classification: The category in Tandem where properties are stored (e.g.,
How to Use
- The
static dataJSON object should be copied from the Appendix. - The values for your environment should be updated (e.g., the correct
baseurl,siteId, and any custom property names should be set). - The updated JSON should be pasted into the
Static Dataparameter field when configuring the Maximo Stream plugin in the solution walkthrough. - It should be ensured that the properties and classifications referenced in the JSON exist in your Tandem facility template.
- The
Work Order ConfigurationandService Request Configurationsections are optional. If omitted, status counts and URLs will not be updated in Tandem. - The
Fixed Propertiessection is also optional and can be used for any static values that should be applied to all assets.
This configuration ensures that the solution will correctly synchronize asset data, work order and service request counts, and any static properties between Maximo and Tandem.
{
"Maximo Configuration": {
"baseurl": "",
"siteId": "",
"Asset Number Property": "AssetNum"
},
"Tandem Configuration": {
"Classification": "Maximo",
"Maximo Asset Number Property": "Maximo.AssetNum",
"Work Order Configuration": {
"Add Status Counts": true,
"Status to Lookup": [
"In Progress",
"Waiting for Approval",
"Waiting for Material",
"Waiting for Planning",
"Waiting for Scheduling"
],
"Properties For Status Counts": {
"In Progress": "WOInProgress",
"Waiting for Approval": "WOWaitingApproval",
"Waiting for Material": "WOWaitingMaterial",
"Waiting for Planning": "WOWaitingPlanning",
"Waiting for Scheduling": "WOWaitingScheduling"
},
"Add Work Order URL": true
},
"Service Request Configuration": {
"Add Status Counts": true,
"Status to Lookup": [
"New",
"Queued",
"Pending",
"In Progress"
],
"Properties For Status Counts": {
"New": "SRNew",
"Queued": "SRQueued",
"Pending": "SRPending",
"In Progress": "SRInProgress"
},
"Add Service Request URL": true
},
"Fixed Properties": {
"FlexField": ""
}
}
}
Specifications
Version: 2.0.0
Publish Date: October 20, 2025
| Plugin Name | Plugin Version |
|---|---|
| IBM Maximo Stream | 2.0.3 |
| Autodesk Tandem Service | 4.1.0 |
| Autodesk Tandem Connector | 4.1.0 |
