How to auto-resume an SLA after 2 business days regardless of conditions?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
3 weeks ago
I've a requirement that when an SLA is paused we'll wait 2 BDs and then resume it regardless of it's resume conditions
We pauses the incident when the state is set to on hold and the.on hold reason is awaiting for caller's information but we won't it to be paused for a long time even if the state don't change from on hold
So it's required to wait only for two business days and if it doesn't change we'll resume it .
So how can I achieve this ?
I have a requirement where, when an SLA is paused, it should automatically resume after 2 business days, regardless of its resume conditions.
Currently, the incident is paused when the state is set to On Hold with the reason Awaiting Caller’s Information. However, we don’t want it to remain paused indefinitely if the state doesn’t change.
So, after 2 business days, if the state is still On Hold, the SLA should resume automatically.
How can I implement this?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
3 weeks ago
Out-of-the-Box SLA Behavior Recap By default:
SLA resumes only when resume conditions are met (e.g., state changes from On Hold to In Progress).
There is no built-in SLA "resume after X time" feature.
So we need a custom solution, Track when the SLA enters "Paused" status
When SLA is paused (e.g., due to On Hold), capture the timestamp and monitor it.
There are two options:
Use a custom field on the SLA (task_sla) record (e.g., u_paused_on)
Or use SLA condition scripts to hook into pause events
Or you can also Scheduled Job or Flow to Resume SLA after 2 Business Days
Thanks,
Vignesh
"If this solution resolves your issue, kindly mark it as correct."
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
3 weeks ago
Hi @MohamedG7003017 ,
You can achieve this by using a Scheduled Job (Scheduled Script Execution) or a Flow.
Here’s the idea in short:
- When the SLA is paused (state = On Hold, reason = Awaiting Caller Info), record the pause time.
- Create a scheduled job (or Flow Timer) that runs every day and checks paused SLAs.
- If the SLA has been paused for 2 business days or more, and the incident is still On Hold → update the SLA to “In Progress” and resume it programmatically using the SLA API or by updating the task so the resume condition is met.
This ensures the SLA automatically resumes after 2 business days, even if the user doesn’t manually change the state.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
3 weeks ago
You can follow these steps: First, create a custom field on the task_sla table, such as u_paused_on, to store the timestamp when the SLA is paused..... You can set this field using a Business Rule that triggers when the SLA enters the Paused state due to the On Hold reason Awaiting Caller’s Information...... Next, develop a Scheduled Job that runs daily to check for SLAs where the u_paused_on field is populated..... For each such SLA, calculate the date and time 2 business days later using the GlideSchedule API, considering your organization's business hours and holidays..... If the current date and time have passed this calculated resume time and the associated incident remains On Hold, use the SLA API to resume the SLA by updating the task record to trigger the resume condition......
If you found my response helpful, please mark it as ‘Accept as Solution’ and ‘Helpful’. This helps other community members find the right answer more easily and supports the community.
Kaushal Kumar Jha - ServiceNow Consultant - Lets connect on Linkedin: https://www.linkedin.com/in/kaushalkrjha/
