- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
01-06-2023 05:47 AM
If we have a case that was requested but not needed by a customer beyond the 15 business days (for example, a customer enters a request in November for a request to be run at year end), what would be the best practice so that the case doesn’t get cancelled and also doesn’t breach the SLA?
Solved! Go to Solution.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
01-06-2023 06:53 AM
I don't know what 15 day time period you're referring to. Is that something that your organization implemented?
We created a few custom States for a similar reason to what you described. We added Roadmap and Backlog for cases that we plan to work on in the future or don't have the resources to work on at the time of submission. I added 'Pause' conditions to our SLA's so that the SLA pauses anytime a case is in one of those states.
We also added a custom date field named Planned Start Date so that we don't lose track of them when planned for the future. If you're using HR Workspace then you could add a reminder to be sent to the assigned to person when work should begin/resume.
Please mark my response as helpful or correct if appropriate.
Thank you!

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
01-06-2023 06:53 AM
I don't know what 15 day time period you're referring to. Is that something that your organization implemented?
We created a few custom States for a similar reason to what you described. We added Roadmap and Backlog for cases that we plan to work on in the future or don't have the resources to work on at the time of submission. I added 'Pause' conditions to our SLA's so that the SLA pauses anytime a case is in one of those states.
We also added a custom date field named Planned Start Date so that we don't lose track of them when planned for the future. If you're using HR Workspace then you could add a reminder to be sent to the assigned to person when work should begin/resume.
Please mark my response as helpful or correct if appropriate.
Thank you!

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
01-06-2023 09:43 AM
Suzanne has presented some good use cases. More important is how can you keep OOTB features even after you make any changes. For example: after a user submit the HR case request, the created HR case shall be in Draft state (Active=true) , some HR OOTB SLAs will be triggered due to "Start Condition: Active=true".
However, if you look at all HR SLA pause condition, they all use "Suspended =true" . This means you can change the HR Case to "Suspended" state for any new HR cases you want to be hold before it can be worked on. When after 15 days case creation, HR agent can resume the HR case by clicking "Ready to Work" button so the Case state will be changed to "Ready" state so all SLAs will be resumed as well.
If you like my response, please mark it as helpful or correct.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
03-15-2023 05:06 AM
Hi All
I also having almost same question, when HR case is suspended for a specific date and when the date is coming because of the scheduled job its coming work in progress at the time mentioned in the scheduled job. because of that we are loosing SLA based on country. Instead of scheduled job we have created one after query BR where it will calculate the time from the suspended date to fallow up date. But it is not working as expected. Please guide share your views on this.
(function executeRule(current, previous /*null when async*/) {
// Define HR case record to check for suspended state
var hrCase = new GlideRecord('sn_hr_core_case');
hrCase.addQuery('state', '24'); // Suspended state
hrCase.query();
while (hrCase.next()) {
// Get the suspend reason and extract the resume interval
var suspendReason = hrCase.getValue('u_follow_up_date');
var resumeInterval = suspendReason.match(/\d+/)[0]; // Assuming number of hours is a single integer
// Check if the resume interval has passed
var resumeTime = new GlideDateTime(hrCase.sys_updated_on.getGlideObject().getNumericValue() + resumeInterval * 60 * 60 * 1000); // Calculate the resume time based on the last update time and resume interval
if (resumeTime.before(new GlideDateTime())) {
// Resume the HR case by setting the state to 'In progress'
hrCase.setValue('state', '2' /*In progress*/);
hrCase.update();
}
}
})(current, previous);
Thanks,
Uday Kumar