--- title: RTE transforms template scripts included within the Integration Commons for CMDB app description: The Robust Transform Engine \(RTE\) transforms are templated operations included within the Integration Commons for CMDB \(sn\_cmdb\_int\_util\) store app. locale: en-US canonical_url: https://www.servicenow.com/docs/r/australia/servicenow-platform/cmdb-integration-commons/cmdb-rte-transforms.html release: australia product: CMDB Integration Commons classification: cmdb-integration-commons topic_type: reference last_updated: "2026-03-12" reading_time_minutes: 19 breadcrumb: [Integration Commons for CMDB, Integrating third-party data into CMDB, Configuration Management, Extend ServiceNow AI Platform capabilities] --- # RTE transforms template scripts included within the Integration Commons for CMDB app The Robust Transform Engine \(RTE\) transforms are templated operations included within the Integration Commons for CMDB \(sn\_cmdb\_int\_util\) store app. The following script-based RTE transforms are available in the Integration Commons for CMDB app. ## CI Lookup Operation Use to get the value of a field on an existing configuration item \(CI\) in the CMDB by the source native key.
| Details | |
|---|---|
| Table | Robust Transform Engine CI Lookup Operation \[sn\_cmdb\_int\_util\_ci\_lookup\_operation\] |
| Input field | **source\_sys\_rte\_eb\_field** Input in order is: 1. Discovery Source 2. Source Native Key 3. CI Field The operation queries the Source \[sys\_object\_source\] table for the discovery source and the associated source native key, and then returns the CI Field value of the matching record in the target table and the associated target sys ID. |
| Output field | **target\_sys\_rte\_eb\_field** Output is the value of the field name on the CI matched by the source native key lookup or an empty string if there is no match. |
| Details | |
|---|---|
| Table | Robust Transform Engine Entity Cleanse Company Operation \[sn\_cmdb\_int\_util\_cleanse\_company\_operation\] |
| Input field | **source\_sys\_rte\_eb\_field** Input is a company/manufacturer name. |
| Output field | **target\_sys\_rte\_eb\_field** Output is the resulting sys\_id and name of the company in core\_company, concatenated by triple pipe \(\|\|\|\). |
| Script include function | **sn\_cmdb\_int\_util.CmdbIntegrationHardwareModelUtil\(\).cleanseCompany\(input\)** |
| Details | |
|---|---|
| Table | Robust Transform Engine Entity Cleanse Hardware Model Operation \[sn\_cmdb\_int\_util\_cleanse\_hardware\_model\_operation\] |
| Input fields | **source\_sys\_rte\_eb\_fields** Input in order is: 1. The manufacturer name 2. The model name If either value is provided by itself, then the operation only processes what is found. |
| Output field | **target\_sys\_rte\_eb\_field** Output is the resulting sys\_id and name of the company in core\_company, and sys\_id and name of the model in cmdb\_model - all concatenated by triple pipe \(\|\|\|\). |
| Script include function | **sn\_cmdb\_int\_util.CmdbIntegrationHardwareModelUtil\(\).cleanseModelAndCompany\(manufacturer\_in, model\_in\)** |
| Details | |
|---|---|
| Table | Robust Transform Engine Entity Cleanse Hardware Model With Model Number Operatio \[sn\_cmdb\_int\_util\_cleanse\_hardware\_model\_number\_operation\] |
| Input fields | **source\_sys\_rte\_eb\_fields** Input in order is: 1. The manufacturer name 2. The model name 3. The model number 4. CI Class **Note:** The `CI Class` field is an optional input field, and when included, the MakeAndModelJS platform API gets the model record by querying the product model class from the Model Category \[cmdb\_model\_category\] table. Else, the API gets the model record from the Hardware Models \[cmdb\_hardware\_product\_model\] table only. If either value is provided by itself, then the operation only processes what is found. |
| Output field | **target\_sys\_rte\_eb\_field** Output is the resulting sys\_id and name of the company in core\_company, and sys\_id and name of the model in cmdb\_model - all concatenated by triple pipe \(\|\|\|\). |
| Script include function | **sn\_cmdb\_int\_util.CmdbIntegrationHardwareModelUtil\(\).cleanseModelAndCompany\(manufacturer\_in, model\_in\)** |
| Details | |
|---|---|
| Table | Robust Transform Engine Entity Cleanse IP Operation \[sn\_cmdb\_int\_util\_cleanse\_ip\_operation\] |
| Input fields | **source\_sys\_rte\_eb\_field** Input is the IP address to cleanse. |
| Output field | **target\_sys\_rte\_eb\_field** Output is the resulting IP address, which can be empty. |
| Script include function | **sn\_cmdb\_int\_util.CmdbIntegrationNetworkUtil\(\).cleanseIpAddress\(input\)** |
| Details | |
|---|---|
| Table | Robust Transform Engine Entity Cleanse IP Version Operation \[sn\_cmdb\_int\_util\_cleanse\_ip\_version\_operation\] |
| Input fields | **source\_sys\_rte\_eb\_field** Input is the IP address to cleanse. |
| Output field | **target\_sys\_rte\_eb\_field** Output is the resulting cmdb\_ci\_ip\_address.ip\_version lookup key \(either 4, 6, or empty\). |
| Script include function | **sn\_cmdb\_int\_util.CmdbIntegrationNetworkUtil\(\).deriveIpVersion\(input\)** |
| Details | |
|---|---|
| Table | Robust Transform Engine Entity Cleanse MAC Operation \[sn\_cmdb\_int\_util\_cleanse\_mac\_operation\] |
| Input fields | **source\_sys\_rte\_eb\_field** Input is the MAC address to cleanse. |
| Output field | **target\_sys\_rte\_eb\_field** Output is the resulting MAC address which can be empty. |
| Script include function | **sn\_cmdb\_int\_util.CmdbIntegrationNetworkUtil\(\).cleanseMacAddress\(input\)** |
| Details | |
|---|---|
| Table | Robust Transform Engine Entity Cleanse OS Operation \[sn\_cmdb\_int\_util\_cleanse\_os\_operation\] |
| Input fields | **source\_sys\_rte\_eb\_field** Input is the operating system name to cleanse. |
| Output field | **target\_sys\_rte\_eb\_field** Output is the resulting operating system name. The resulting operating system name is also written to the cmdb\_ci\_computer.os list field. |
| Script include function | **sn\_cmdb\_int\_util.CmdbIntegrationOsUtil\(\).cleanseAndInsertOs\(input\)** |
| Details | |
|---|---|
| Table | Robust Transform Engine Entity Cleanse Serial Number Operation \[sn\_cmdb\_int\_util\_cleanse\_serial\_number\_operation\] |
| Input fields | **source\_sys\_rte\_eb\_fields** Input is the serial number to cleanse. |
| Output field | **target\_sys\_rte\_eb\_field** Output is the resulting serial number. |
| Details | |
|---|---|
| Table | Robust Transform Engine Entity Cleanse Serial Number With Alternate Value Return \[sn\_cmdb\_int\_util\_cle$anse\_serial\_number\_with\_alternate\_value\_return\_if\_invalid\] |
| Input fields | **source\_sys\_rte\_eb\_fields** Inputs: serial number, Alternate value |
| Output field | **target\_sys\_rte\_eb\_field** Output: Cleansed serial number if the length is valid, Alternate value otherwise. |
| Script include function | **global.SerialNumberManager\(\).isValid\(input\)** |
| Details | |
|---|---|
| Table | Robust Transform Engine Entity Cleanse IMEI With Alternate Value Return if Inval \[sn\_cmdb\_int\_util\_cleanse\_imei\_with\_alternate\_value\_return\_if\_invalid\] |
| Input fields | **source\_sys\_rte\_eb\_fields** Inputs: IMEI number, Alternate value |
| Output field | **target\_sys\_rte\_eb\_field** Output: IMEI number if the length is valid, Alternate value otherwise. |
| Script include function | None |
| Details | |
|---|---|
| Table | Robust Transform Engine Entity Cleanse Software Model Operation \[sn\_cmdb\_int\_util\_cleanse\_software\_model\_operation\] |
| Input fields | **source\_sys\_rte\_eb\_fields** Input in order is: 1. The manufacturer name 2. The software name 3. The software version \(not required\) If only manufacturer or name is provided, then only those values are processed and returned. |
| Output field | **target\_sys\_rte\_eb\_field** Output is the resulting sys\_id and name of the company in core\_company, the cleansed software name, and the cleansed software version all concatenated by a triple pipe \(\|\|\|\). |
| Script include function | **sn\_cmdb\_int\_util.CmdbIntegrationSoftwareModelUtil\(\).cleanseSoftwareModel\(company, model, version\)** |
| Manufacturer | Software Name | Software Version | Results |
|---|---|---|---|
| Dell Inc. | |||
| NoManufacturer | |||
| 1.0.0.0 | |||
| Dell Inc. | DataEngine | 1.0.17.2 | b7e7d7d8c0a8016900a5d7f291acce5c\|\|\|Dell Inc.\|\|\|DataEngine\|\|\|1.0.17.2 |
| GenuineIntel | TestSoftware | 1.0.0.1 | 7aad6d00c611228400f00e0f80b67d2d\|\|\|Intel\|\|\|TestSoftware\|\|\|1.0.0.1 |
| Dell Inc. | TestSoftware | 232 | b7e7d7d8c0a8016900a5d7f291acce5c\|\|\|Dell Inc.\|\|\|TestSoftware\|\|\|232 |
| Dell Inc. | TestSoftware | 123.0.0.0 | b7e7d7d8c0a8016900a5d7f291acce5c\|\|\|Dell Inc.\|\|\|TestSoftware\|\|\|123.0 |
| America Online | TestSoftware | 1.0.0.0 | 0c43d035c61122750000251553f6f8e8\|\|\|America Online\|\|\|TestSoftware\|\|\|1.0 |
| America Online | TestSoftware | 1.0.0.0 | 0c43d035c61122750000251553f6f8e8\|\|\|America Online\|\|\|TestSoftware\|\|\|1.0 |
| dell | LowerCase | 1.0.0.0 | b7e7d7d8c0a8016900a5d7f291acce5c\|\|\|Dell Inc.\|\|\|LowerCase\|\|\|1.0 |
| Dell Corporation. Incorporated, Corp. | TestSoftware | 1.0.0.0 | b7e7d7d8c0a8016900a5d7f291acce5c\|\|\|Dell Inc.\|\|\|TestSoftware\|\|\|1.0 |
| Microsoft | Microsoft SQL Server 2016 Enterprise | 2.0.0 | 0e8b8e650a0a0b3b004f285ffbb1a4fc\|\|\|Microsoft\|\|\|Microsoft SQL Server 2016 Enterprise\|\|\|2.0 |
| Dell Computer | DataEngine | 1.0.17.2 | b7e7d7d8c0a8016900a5d7f291acce5c\|\|\|Dell Inc.\|\|\|DataEngine\|\|\|1.0.17.2 |
| Adobe | TestSoftware | 1 | b7e8b5c4c0a80169008b49e468920048\|\|\|Adobe Systems\|\|\|TestSoftware\|\|\|1.0 |
| Details | |
|---|---|
| Table | Robust Transform Engine Entity Create Software Instance Name Operation \[sn\_cmdb\_int\_util\_create\_software\_instance\_name\_operation\] |
| Input fields | **source\_sys\_rte\_eb\_fields** Input in order is: 1. The hardware name 2. The software name 3. The software version \(not required\) |
| Output field | **target\_sys\_rte\_eb\_field** Output is the software instance name. |
| Script include function | **sn\_cmdb\_int\_util.CmdbIntegrationSoftwareModelUtil\(\).createSoftwareInstanceName\(hw\_name\_in, sw\_name\_in, sw\_version\_in\)** |
| Details | |
|---|---|
| Table | Robust Transform Engine Entity Derive Class From Model Operation \[sn\_cmdb\_int\_util\_derive\_class\_from\_model\_operation\] |
| Input fields | **source\_sys\_rte\_eb\_fields** Input in order is: 1. The model name 2. The current class name |
| Output field | **target\_sys\_rte\_eb\_field** Output is the resulting class name. |
| Script include function | **sn\_cmdb\_int\_util.CmdbIntegrationClassUtil\(\).deriveClassNameFromModelInput\(model\_in, class\_in\)** |
| Details | |
|---|---|
| Table | Robust Transform Engine Entity Derive Class From Native Value Operation \[sn\_cmdb\_int\_util\_derive\_class\_from\_native\_value\_operation\] |
| Input fields | **source\_sys\_rte\_eb\_fields** Input in order is: 1. The native class identifier 2. The current class name |
| Output field | **target\_sys\_rte\_eb\_field** Output is the resulting class name. |
| Script include function | **sn\_cmdb\_int\_util.CmdbIntegrationClassUtil\(\).deriveClassNameFromNativeValue\(native\_id\_in, class\_in\)** |
| Details | |
|---|---|
| Table | Robust Transform Engine Entity Derive Class From OS Operation \[sn\_cmdb\_int\_util\_derive\_class\_from\_os\_operation\] |
| Input fields | **source\_sys\_rte\_eb\_fields** Input in order is: 1. The operating system name 2. The current class name |
| Output field | **target\_sys\_rte\_eb\_field** Output is the resulting class name. |
| Script include function | **sn\_cmdb\_int\_util.CmdbIntegrationClassUtil\(\).deriveClassNameFromOsName\(os\_in, class\_in\)** |
| Details | |
|---|---|
| Table | Robust Transform Engine Entity Derive Virtual From Model Operation \[sn\_cmdb\_int\_util\_derive\_virtual\_from\_model\_operation\] |
| Input fields | **source\_sys\_rte\_eb\_fields** Input in order is: 1. The hardware model name 2. The current virtual flag value |
| Output field | **target\_sys\_rte\_eb\_field** Output is the resulting virtual flag \(true/false\). If the current virtual flag is ‘true’, the result is true. Otherwise the result is ‘true’ or ‘false’. |
| Script include function | **sn\_cmdb\_int\_util.CmdbIntegrationVirtualDetectionUtil\(\).detectVirtualFromModelName\(model\_in, is\_virtual\_in\)** |
| Details | |
|---|---|
| Table | sn\_cmdb\_int\_util\_derive\_virtual\_from\_native\_value\_operation |
| Input fields | **source\_sys\_rte\_eb\_fields** Input in order is: 1. The native indicator 2. The current virtual flag value |
| Output field | **target\_sys\_rte\_eb\_field** Output is the resulting virtual flag \(true/false\). If the current virtual flag is ‘true’, the result is true. Otherwise the result is ‘true’ or ‘false’. |
| Script include function | **sn\_cmdb\_int\_util.CmdbIntegrationVirtualDetectionUtil\(\).detectVirtualFromNativeIdentifier\(native\_in, is\_virtual\_in\)** |
| Details | |
|---|---|
| Table | sn\_cmdb\_int\_util\_derive\_virtual\_from\_serial\_number\_operation |
| Input fields | **source\_sys\_rte\_eb\_fields** Input in order is: 1. The serial number 2. The current virtual flag value |
| Output field | **target\_sys\_rte\_eb\_field** Output is the resulting virtual flag \(true/false\). If the current virtual flag is ‘true’, the result is true. Otherwise the result is ‘true’ or ‘false’. |
| Script include function | **sn\_cmdb\_int\_util.CmdbIntegrationVirtualDetectionUtil\(\).detectVirtualFromSerialNumber \(serial\_in, is\_virtual\_in\)** |
| Details | |
|---|---|
| Table | sn\_cmdb\_int\_util\_first\_non\_null\_operation |
| Input fields | **source\_sys\_rte\_eb\_fields** Input is a list of fields of any length. |
| Output field | **target\_sys\_rte\_eb\_field** Output is the value from the first field in the list that doesn’t have a null \(or empty\) value. |
| Script include function | **sn\_cmdb\_int\_util.CmdbIntegrationFirstNonNullValueUtil\(\).firstNonNullValue\(batch\[i\]\)** |
| Details | |
|---|---|
| Table | sn\_cmdb\_int\_util\_process\_name\_set\_operation |
| Input fields | **source\_sys\_rte\_eb\_fields** Takes up to four Input fieldss \(any additional fields are ignored\), in the following order: 1. Name 2. Domain 3. FQDN 4. DNS You don't have to provide all four input values, but you must provide those values in the specified order. If for example, you only want to cleanse domain, you must provide a name attribute, even it if empty. |
| Output field | **target\_sys\_rte\_eb\_field** Output is a concatenated set of values in the same order, using a triple pipe \(\|\|\|\): \{name\}\|\|\|\{domain\}\|\|\|\{fqdn\}\|\|\|\{dns\} |
| Script include function | **sn\_cmdb\_int\_util.CmdbIntegrationHardwareNameUtil\(\).processNameDomainFqdnDnsSet\(name, domain, fqdn, dns\)** |
| Details | |
|---|---|
| Table | sn\_cmdb\_int\_util\_process\_fqdn\_operation |
| Input fields | **source\_sys\_rte\_eb\_field** Input is a single field containing an FQDN. |
| Output field | **target\_sys\_rte\_eb\_field** Output is a concatenated set of values in the same order using a triple pipe \(\|\|\|\): \{name\}\|\|\|\{domain\}\|\|\|\{fqdn\}\|\|\|\{dns\} |
| Script include function | **sn\_cmdb\_int\_util.CmdbIntegrationHardwareNameUtil\(\).processNameDomainFqdnDnsSet\('’, '’, fqdn, '’\)** |
| Details | |
|---|---|
| Table | sn\_cmdb\_int\_util\_scale\_unit\_operation |
| Input fields | **source\_sys\_rte\_eb\_fields** Inputs in order are: 1. The input value 2. The current units 3. The target units |
| Output field | **target\_sys\_rte\_eb\_field** Output is the input value scaled from the current units to the target units. If no units are found for the current units, then the input value is returned. If no current or target units are found the input is returned as the output. |
| Script include function | **sn\_cmdb\_int\_util.CmdbIntegrationScaleUnitUtil\(\).scaleUnits\(input\_value, input\_unit, output\_unit\)** |
| Input | Result |
|---|---|
| - Input Field 1: 1 - Input Field 2: GB - Input Field 3: MB | 1024 |
| Details | |
|---|---|
| Table | sn\_cmdb\_int\_util\_software\_bundle\_id\_lookup\_operation |
| Input fields | - source\_sys\_rte\_eb\_field - Bundle ID |
| Output field | **target\_sys\_rte\_eb\_field** Output is the resulting artist name, track name, and seller name, all concatenated by a triple pipe \(\|\|\|\), or an empty string if no match is found. |
| Script include function | **sn\_cmdb\_int\_util.CmdbIntegrationSoftwareBundleIdLookup. lookupSoftware\(bundleId\)** |
| Details | |
|---|---|
| Table | sn\_cmdb\_int\_util\_user\_lookup\_operation |
| Input fields | **source\_sys\_rte\_eb\_fields** Inputs in order are: 1. User Name 2. Email \(Optional\) |
| Output field | **target\_sys\_rte\_eb\_field** sysId of the sys\_user. |
| Script include function | **sn\_cmdb\_int\_util.CmdbIntegrationUserLookup. lookupUser\(username, email\)** |
| Input | Result |
|---|---|
| Input Field 1: abel.tuter | 62826bf03710200044e0bfc8bcbe5df1 |
| - Input Field 1: atuter - Input Field 2: abel.tuter@example.com | 62826bf03710200044e0bfc8bcbe5df1 |