Advice Needed: Efficiently Importing Bulk OT Assets into ServiceNow CMDB
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎12-11-2024 04:56 AM
Hi everyone,
If this question has been addressed before, please feel free to redirect me to the relevant post.
I am working on a ServiceNow integration for our product, which generates a substantial list of OT assets. My goal is to import these assets into ServiceNow's CMDB, either through a manual trigger or on a scheduled basis.
However, I’m finding the array of available ServiceNow APIs and integration methods a bit overwhelming. My main requirement is to ensure the client does not need to take additional actions within ServiceNow or create custom apps for their App Store.
Here are the options I’ve explored so far:
Instance API
- Seems to fit the use case but appears inefficient for bulk imports, as it only supports one record per request.
- I’d likely use Basic Auth or another supported method, depending on whether the export is recurring.
- Is there a way to enable multi-insert functionality with this API that I might have overlooked?
Import Sets (Multiple Insert)
- This allows bulk data to be added to a staging table, but it requires the client to take additional steps, which I want to avoid.
Integration Hub
- Requires an additional subscription, which adds complexity and cost for the client.
- Seems overkill for this use case.
ServiceNow DataStream/ServiceGraph
- Requires building and publishing an app on the ServiceNow App Store, which isn’t ideal for this scenario.
- Better suited for larger payloads (>10 MB), whereas our payloads are below this limit and could work with normal REST APIs.
My Question:
Is there a ServiceNow API or method I might have missed that supports sending multiple records to the CMDB in a single operation?
If not, I’m considering sending numerous single POST requests and then updating them as necessary. While this approach works, it feels inefficient, and I suspect there must be a better solution. Alternatively, I could explore using SOAP APIs since they seem to support bulk inserts.
Any guidance or recommendations would be greatly appreciated!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎12-11-2024 06:30 AM
Is this a one time import or are you setting up an integration to keep updating the assets?
Creating an import set table and transform map is a one-time effort that can take care of everything that needs to happen and will import all your assets the way you want them to appear in ServiceNow.
Please mark any helpful or correct solutions as such. That helps others find their solutions.
Mark
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎12-11-2024 07:54 AM
Thank you for the quick response!
Currently, this is intended as a one-time import, but there’s a possibility that a more integrated solution will be needed in the future. The steps you’ve described would need to be implemented by our clients, correct? If so, we’re concerned that this might add extra complexity on their end, which we’re hoping to avoid if possible.
We’d prefer to explore alternative solutions that minimize or eliminate client-side changes if you know of any.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎12-12-2024 01:59 AM
Why do you want to import data without having the client involved? That doesn't really make sense, right? No matter what: on the ServiceNow instance something needs to be done to enable the import of the data. What is your role in this, because it sounds weird that you don't want your client to be involved in getting data on their instance. If you have access to the instance, you can create the import table and transform map yourself, right?
Please mark any helpful or correct solutions as such. That helps others find their solutions.
Mark
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎12-13-2024 02:22 AM
Yes the client is involved obviously. I want them to use our platform, click export and authenticate with servicenow. Afterwards i want to export the data to their cmdb. I do not want the clients to set up additional migration pipelines inside of their servicenow.
I will just send a batch of post requests to ServiceNow via the normal Rest API.
Thank you