Use PDIs? Take our 5-minute survey to help shape the PDI roadmap.

Are Fix Scripts and Background Scripts captured update sets

VENKATASAMPATH
Tera Contributor

Hi everyone,

I have a question about Fix Scripts, Background Scripts, and Update Sets in ServiceNow.

  1. If I create and execute a Fix Script, is the Fix Script record captured in an Update Set?
  2. If I create and execute a Background Script, is the Background Script or its execution captured in an Update Set?
  3. 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?
  4. 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.

2 ACCEPTED SOLUTIONS

Hemanth M
Tera Sage

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!

Accept and hit Helpful if it helps.

Thank you,
Hemanth
Certified Technical Architect (CTA), ServiceNow MVP 2024, 2025,2026

View solution in original post

yashkamde
Giga Sage

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.

View solution in original post

3 REPLIES 3

Hemanth M
Tera Sage

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!

Accept and hit Helpful if it helps.

Thank you,
Hemanth
Certified Technical Architect (CTA), ServiceNow MVP 2024, 2025,2026

J Siva
Kilo Patron

Hi @VENKATASAMPATH 

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.

yashkamde
Giga Sage

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.