How to increase performance of your Transform Maps – ServiceNow
Note: this guide applies to large and complex scripted transform maps.
Transform maps is an easy and low code tool to move data from external sources into ServiceNow applications. It is in ServiceNow best practices list and is always recommended as #1 solution to your integrations.
The idea is to create a data source, choose a destination table in SN and map fields between them via drag and drop. Sometimes you can add some code if you have a more complicated use case.
However, this is an e example where low code fails compared to pro code in situations when you have transform maps with complex transform scripts.
Based on how some third-party tool integrations are built and are available on SN store, I managed to improve data processing by ~610%, or more than 6 times faster (processing large daily CMDB dataset from 6 hours to 1 hour) by moving away from transform maps.
So how do I ‘transform’ my transform maps?
- Create a table that extends import set row table – this will be a license free table, where you can store import information for troubleshooting purposes before data is processed.
- Move the data to new table via data sources, by pushing from external sources via TABLE/SR API, scheduled import or by pulling via internal scheduled script.
- Look if there are any available script includes to support what you are doing, for example CMDB Reconciliation and Identification Engine API is one of them or you can create one yourself using GlideRecord. This script should hold your ‘transform map’ logic.
- Create on insert or on update (depends on your integration architecture) business rule that calls your custom Transformation script include. If your design requires manual approvals or auto-approval rules, you can only enable transformation if these rules are met.
- After transformation is done mark the record as processed with the same business rule.
The only downside is that you own this solution now. ServiceNow will not support it, but you will. So make sure your code is well written!
https://servicenowthink.wordpress.com/2020/02/11/how-to-increase-performance-of-your-transform-maps-servicenow/