Integrate IBM Maximo and IBM Digital Twin Exchange


IBM Maximo Asset Management version 7.612 includes integration with the IBM Digital Twin Exchange. IBM Digital Twin Exchange allows manufacturers, OEMs, and 3rd Party content providers to share digital resources as digital twins. This integration facilitates bringing accurate data into Maximo series of products and decreasing the time to value for customers. Maximo customers are able to exchange common business practices around the maintenance of critical assets, minimize downtime, and create effective communication amongst asset owners, operators, and maintainers using this integration.


The following diagram illustrates how the messages flow between the Maximo and Digital Twin Exchange. Maximo requests the digital twin asset data by calling the digital twin REST API.


The following digital twin APIs are called by the Maximo Digital Twin service:

  • Product/Asset List API to get the product List bought by the user.
  • Product/Asset API to get asset details.
  • Spare Part API to get spare part details for the asset.
  • Job Plan API to get job plans/job tasks for the asset.
  • Attachment API to get attachments for the asset.

The data returned by the APIs is saved in Maximo using internal Maximo Integration Framework APIs.

IBM Digital Twin Exchange

Visit the Digital Twin Exchange to browse and search for digital twin resources.

Users need to create a Digital Twin Exchange account (see the IBM Digital Twin link section below). They can obtain the API key from their Digital Twin account.

login screen, IBM Digital Twin Exchange

Users can buy products from the digital twin exchange and the digital twin data can be imported in Maximo through this new integration.

Maximo integration with Digital Twin Exchange

This integration allows content providers’ and manufacturer’s digital assets data related to physical assets to be added or updated in Maximo. This data can be used to create work orders using job plans for asset maintenance.

A new action, Import Digital Data, has been added to the Assets application. When a user clicks on the action, the Import Digital Twin Data dialog is displayed. The user needs to enter the email id and key from the Digital Twin Exchange account in this dialog and click on the Request Data button. It will call the API to get the product list that the user has purchased using the IBM Digital twin exchange in a digital marketplace.

The Filter by Name field can be used to filter products by name. Multiple records can be selected to import the asset/product digital data. After selecting the record(s) to import, click the Import Data button. After the data is imported, the Status field will be updated with Success or Fail. In the case of failure, an informational icon will show error(s). The digital data logger(digitaldata) can be enabled to debug via system properties application.

import IBM digital twin data

Digital Twin Exchange data in Maximo

The Import Digital Data action creates the following data objects:

  • Item records with images.
  • Asset with spare part records for the selected digital twin product with images and attachments.
  • Job plan and job task records with asset link record.

The Maximo digital twin service uses MXAPIASSETSPARE, MXITEM and MXAPIJOBPLAN integration objects to add/update data.

Custom Integration Mapping

Additional fields in Maximo can be mapped to incoming data from IBM Digital Twin Exchange. Automation scripts can be used to customize mapping for an integration point in the Maximo-Digital Twin Exchange integration.

The APIs that can be used for mapping additional fields from the Maximo Digital Twin service are as follows:

  • For additional mapping of the asset data, add mapping in the JSONObject by calling the following method public JSONObject getProducts (String productid)
  • For additional mapping of the sparepart/item data, add mapping in the JSONObject by calling the following method Public JSONObject getSparts (String productid)
  • For additional mapping of the job plan data, add mapping in the JSONObject by calling the following method Public JSONObject getJobPlans (String productid)

A sample is in the Maximo Asset Management product documentation.

If you would like to learn more about how to optimize IBM Maximo, we invite you to view the IBM Maximo tutorial area of our website.