Why is my assignment‑level SLA in Pega ignoring business hours even though a business calendar is configured and “Only calculate using business days” is checked on the SLA? I have a valid Business Calendar defined (8 AM–5 PM, Monday–Friday), and I am explicitly setting pyWorkPage.pyCalendar during case initiation, before the assignment is reached. The SLA is triggered after case creation, yet when I test during non‑business hours (for example, around 12:30 AM), the SLA still starts counting immediately instead of waiting until the next business day. What could cause the SLA to ignore the defined business calendar in this scenario, or additional configurations that must be validated to ensure the SLA correctly pauses outside business hours?
The most likely issue could be Pega is not actually picking up the calendar you think it is, or it is evaluating the SLA using the calendar that is available at the moment the assignment is created not when you later inspect the case.
Your approach of setting pyWorkPage.pyCalender is correct as SLA calculation uses the WO calendar first from pyWorkPage.pyCalendar and if that is empty it falls back to the requestor/operator/organization calendar and then to the default calendar.
Could you check if the calendar name exactly matches a valid Data-Admin-Calendar instance?
Also, if the SLA is using a property-based goal/deadline configuration that could change how the timing is resolved.
Even with ‘Only calculate using business days’ checked, Pega does not wait until business hours begin, in the sense of pausing the SLA start. Instead, it calculates the due time based on the business calendar at assignment creation time.
So if your SLA starts at 2AM or 3AM and the calendar is valid, pega will normally push the goal forward to the next business window. If that doesn’t happen then it suggests that the calendar being used is not the one you expect
validate and confirm below things-
- Confirm the calendar instance you are setting on pyWorkPage.pyCalender exists and is active
- Confirm in the clipboard/ tracer that work page has pyCalendar set before the assignment’s SLA is triggered.
- Confirm the value of pxRequestor.pyCalendar if thats the fallback calendar that SLA is picking
Hi @Debanjan_Seth - If an assignment‑level SLA starts counting during non‑business hours even though a valid Business Calendar exists and “Only calculate using business days” is checked, the issue is usually calendar resolution timing or binding, not the calendar itself.
These might be the key causes and validations
-
SLA not explicitly bound to the calendar
-
Assignment SLAs do not reliably inherit
pyWorkPage.pyCalendarunless it is explicitly referenced. -
If the Calendar field on the SLA rule is blank, Pega may fall back to the default system calendar.
-
Possible Solution: Explicitly set the Calendar on the SLA rule (e.g.
.pyCalendaror a specific calendar rule).
-
-
pyCalendaris set too late-
SLAs are created at assignment creation time, not at case creation.
-
If
pyWorkPage.pyCalendaris set after the assignment node is reached (e.g. post‑processing, utility, or later flow), the SLA captures no calendar and uses absolute time. -
Possible Solution: Set
pyCalendarbefore the assignment is created (Case Type → Work Defaults, pyDefault, or flow entry data transform).
-
-
“Only calculate using business days” does not delay SLA start
-
This option does not pause SLA initiation.
-
The SLA starts immediately, but elapsed SLA time does not advance outside business hours.
-
This often appears as “counting immediately” even though remaining time does not reduce.
-
Validate: Check remaining SLA time, not start timestamp.
-
-
Assignment created in system/background context
-
Assignments created via agents, queue processors, APIs, or background jobs may not resolve calendars as expected.
-
Possible Solution: Use an explicit calendar on the SLA and avoid relying on user/session context.
-
-
Assignment SLA does not inherit Case SLA calendar
-
Case‑level and assignment‑level SLAs are independent.
-
Possible Solution: Ensure each SLA has proper calendar configuration.
-
-
Timezone mismatch
-
If server, operator, or calendar timezone differs, business windows may evaluate incorrectly.
-
Possible Solution: Align server, operator, and calendar timezones.
-
Please check these possible issues and validate the timezone and the correct start timestamp of the SLA and let us know if it works,
Regards
Roshan Raj A K
Thanks for the response.