How to add an "On-Hold" button in the Problem Ticket screen to pause SLA?

surajchacherkar
Mega Guru

Hi All,

 

we have a requirement to add a "Pending/On-Hold" button in the Problem Ticket screen. The purpose is to pause the SLA when the root cause analysis depends solely on a third-party vendor.

Additionally, this button should be visible only to the member of Incident Manager team.

Has anyone implemented something similar or can guide how to achieve this?

 

Thanks in advance!

2 ACCEPTED SOLUTIONS

@surajchacherkar 

You have State model defined for your problem table

So it's not allowing you to move from State A to State B

You will have to update your state model so that you can achieve your requirement and update is allowed and it allows moving from your current State to On-Hold

AnkurBawiskar_0-1759824513540.png

AnkurBawiskar_1-1759824589778.png

 

If my response helped please mark it correct and close the thread so that it benefits future readers.

Regards,
Ankur
Certified Technical Architect  ||  9x ServiceNow MVP  ||  ServiceNow Community Leader

View solution in original post

Hi @surajchacherkar ,

I gave script for UI Action without Client checkbox checked.

For this one, you can use this code

function onPendinOnHold(){

     g_form.setValue("state","105");

     g_form.save();

}

Thank you,
Palani

View solution in original post

11 REPLIES 11

Hi @Ankur Bawiskar ,

after modifying UI action, I am getting below error

surajchacherkar_0-1759824149556.png

 

 

@surajchacherkar 

You have State model defined for your problem table

So it's not allowing you to move from State A to State B

You will have to update your state model so that you can achieve your requirement and update is allowed and it allows moving from your current State to On-Hold

AnkurBawiskar_0-1759824513540.png

AnkurBawiskar_1-1759824589778.png

 

If my response helped please mark it correct and close the thread so that it benefits future readers.

Regards,
Ankur
Certified Technical Architect  ||  9x ServiceNow MVP  ||  ServiceNow Community Leader

M Iftikhar
Tera Sage

Hi @surajchacherkar,

You can check out this detailed discussion on the ServiceNow Community - it covers a similar use case about pausing SLAs and might help you design your solution:
Solved: Pause in SLA - ServiceNow Community

In your case, to implement the "Pending/On-Hold" button with role-based visibility and SLA pausing logic, you'd typically do the following:

  • UI Action: Create a new UI Action (button) on the Problem form.
  • Condition: Set visibility based on role (e.g., gs.hasRole('incident_manager')).
  • Script: Add logic to set the Problem ticket to an On Hold state.
  • SLA Definition: Configure your SLA to pause when the state is set to On Hold.

Thanks & Regards,
Muhammad Iftikhar
If my response helped, please mark it as the accepted solution so others can benefit as well.

Thanks & Regards,
Muhammad Iftikhar

If my response helped, please mark it as the accepted solution so others can benefit as well.

Hi @palanikumar , 

I’ve created a UI action, but it’s not working as expected. When I click the bottom button, it opens a new Problem record correctly. However, the top button doesn’t respond at all—clicking it does nothing.

Could you please help me troubleshoot this issue or guide me on what might be missing?

Thank you!

surajchacherkar_0-1759823803415.pngsurajchacherkar_1-1759823806989.png

 

palanikumar
Giga Sage
Giga Sage

Hi

I dont think Problem has Onhold as out of box Choice. You need to first add this choice to the state field

Create a UI Action with script

     current.state = "3"; // Replace 3 with the actual value used in your choice

     current.update();

In SLA configuration you need to add pause condition with value as state = Onhold 

Thank you,
Palani