- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
2 hours ago
Hi everyone,
I have a question about Fix Scripts, Background Scripts, and Update Sets in ServiceNow.
- If I create and execute a Fix Script, is the Fix Script record captured in an Update Set?
- If I create and execute a Background Script, is the Background Script or its execution captured in an Update Set?
- If they are not captured in Update Sets, what is the correct way to move/deploy a Fix Script or Background Script from one instance to another?
- Is there any difference between saving the script record and capturing it in an Update Set?
I am asking because I want to clearly understand this before using scripts for data corrections in different instances.
Thanks in advance.
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
2 hours ago - last edited 2 hours ago
Hi @VENKATASAMPATH ,
background scripts are not captured in update sets and its not a best practice to execute background scripts in Production.
Fix scripts are captured in update set (you have just be on the update set while creating/updating) - it gives more control in moving across instance, what we are executing and reverting as well!
Hope it helps!
Thank you,
Hemanth
Certified Technical Architect (CTA), ServiceNow MVP 2024, 2025,2026
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
2 hours ago
Hello @VENKATASAMPATH ,
For Fix Scripts yes, the record is captured in an Update Set. But execution is not captured, running it is a separate manual action.
And for Background Scripts No! They're not saved as records at all, so neither the script nor its execution is ever captured in an Update Set.
Also for moving :
Fix Script (Update Set moves the code),
Background Script (Can't use Update Set, copy/paste the script into the target instance)
Note : Update Sets move code, never data changes. Execute manually on every instance.
If my response helped mark as helpful and accept the solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
2 hours ago - last edited 2 hours ago
Hi @VENKATASAMPATH ,
background scripts are not captured in update sets and its not a best practice to execute background scripts in Production.
Fix scripts are captured in update set (you have just be on the update set while creating/updating) - it gives more control in moving across instance, what we are executing and reverting as well!
Hope it helps!
Thank you,
Hemanth
Certified Technical Architect (CTA), ServiceNow MVP 2024, 2025,2026
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
2 hours ago
If you want to run the same script across multiple instances and expect it to process a large volume of data asynchronously, the best option is to use a Fix Script.
You can create a Fix Script, and it will automatically be captured in an Update Set. This makes it easy to move and execute the script across different instances by promoting the Update Set.
If the script is only going to modify a small number of records, you can use Background Scripts instead. However, unlike Fix Scripts, Background Scripts are not captured in Update Sets.
Regards,
Siva
For your use case, I would recommend using a Fix Script.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
2 hours ago
Hello @VENKATASAMPATH ,
For Fix Scripts yes, the record is captured in an Update Set. But execution is not captured, running it is a separate manual action.
And for Background Scripts No! They're not saved as records at all, so neither the script nor its execution is ever captured in an Update Set.
Also for moving :
Fix Script (Update Set moves the code),
Background Script (Can't use Update Set, copy/paste the script into the target instance)
Note : Update Sets move code, never data changes. Execute manually on every instance.
If my response helped mark as helpful and accept the solution.