---
sourceDocument: Zurich ServiceNow AI Platform Administration
sourceDocumentLink: https://www.servicenow.com/docs/r/zurich/platform-administration

 Release :

    - zurich

ft:locale :

    - en-US

ft:publication_title :

    - Zurich ServiceNow AI Platform Administration

ft:clusterId :

    - platadm

bundleId :

    - platadm

workflow :

    - Platform


---

# Special cases in job schedules

# Special cases in job schedules {#ariaid-title1}

Release version: Zurich  
Updated July 31, 2025  
![](https://www.servicenow.com/docs/portal-asset/ico-clock) 2 minutes to read
Summarize  
![AI sparkle icon](https://servicenow.com/docs/portal-asset/ai-sparkle-icon) Summarized using AI  
This content was generated using new OpenAI-powered functionality. Results are provided on an as is basis and are not guaranteed to be accurate or complete.  

## Summary of Special cases in job schedules

This guidance addresses specific considerations for scheduling jobs in ServiceNow, particularly for end-of-month timing, weekday-only execution, and handling scheduled jobs imported from other instances.
Understanding these nuances helps ensure scheduled jobs run accurately and reliably, avoiding common pitfalls related to date variability and platform constraints.
Show full answer Show less  

## End of the month schedules

Because month lengths vary, avoid scheduling jobs on the 29th or 30th to prevent inconsistent execution in shorter months like February. Scheduling on the 31st will cause the job to run on the last day of shorter months (e.g., February 28 or 29 in leap years), ensuring the job still executes but on the final day available.

## Weekday schedules

To run scheduled scripts only on weekdays, use a client-side script that checks the current day of the week and returns true for Monday through Friday, false for Saturday and Sunday. For scheduled report emails, which run scripts in a sandbox environment, function definitions and some API calls are restricted. If complex logic is needed, implement the conditional logic inside a Scheduled Job and trigger the Scheduled Report programmatically from there, using the report's sysid.

## Executing scheduled jobs from scripts

You can trigger scheduled jobs programmatically by querying the relevant table (such as scheduledimportset, sysautoscript, sysautotemplate, or sysautoreport) and executing the job immediately using `SncTriggerSynchronizer.executeNow()`. Note that this method only executes jobs immediately and does not schedule future executions.

## Running scheduled scripts and jobs imported from another instance

Scheduled Script Execution and Scheduled Jobs are data records excluded from update sets by default, so importing them requires exporting/importing XML data. However, Schedule Item \[systrigger\] records are not automatically created when importing, meaning the jobs will not run until the records are updated in the target instance. To activate imported scheduled jobs, manually update their records post-import.  
Some special cases require care in job scheduling.

## End of the month schedules

Because months have different lengths, take care when scheduling jobs for the end of the
month.  
* Scheduling an event for the 29th or 30th is not recommended, because the scheduled job is executed in months (like February) which are shorter than those dates.
* If an event is scheduled for the 31st, it executes on the last day of the month, even if the month is shorter.
{#r_SpecialCasesInJobSchedules__ul_wbz_jpk_zp}

For example, something scheduled to run on the 31st of the month runs on February 28 or
February 29 in a leap year.

## Weekday schedules

For scheduled scripts, use the following script to run only on weekdays:  
Warning:  
Conditional scripts for scheduled report emails are executed in the sandbox. Therefore, function definitions are not allowed. Some API calls and keywords are also not allowed.


    var isWeekday;
    var today = new Date();
    var dayOfWeek = today.getDay(); // Get day of the week(0 = Sunday, 1 = Monday, ... , 6 = Saturday)
    switch (dayOfWeek) {
    case 0: // Sunday
    case 6: // Saturday
    isWeekday = false;
    break;
    default:
    isWeekday = true;
    }
    answer=isWeekday;

If the conditional script on a Scheduled Report is more complex and you need to make use of our Glide classes, then please use the following steps as a workaround:  
1. Create a Scheduled Job and complete all the conditional logic of the Scheduled Report inside the Scheduled Job.
2. If all the conditional logic is satisfied, you can trigger the Scheduled Report with the following script inside the Scheduled Job.

       var schRpGr = new GlideRecord("sysauto_report");
       schRpGr.get("<sys_id of the scheduled report>");
       gs.executeNow(schRpGr);

{#r_SpecialCasesInJobSchedules__ol_y42_glw_s2c}

## Scheduled jobs from scripts

To execute a scheduled job triggered by an event, use the following script:

    //Execute a scheduled script job
    var rec = new GlideRecord('sysauto_script');
    rec.get('name', 'YOUR_JOB_NAME_HERE');
    SncTriggerSynchronizer.executeNow(rec);

You can run the script using one of several tables:

* scheduled_import_set (Scheduled Import Sets)
* sysauto_script (Scheduled Script Execution)
* sysauto_template (Scheduled Template Generation)
* sysauto_report (Scheduled Report)

{#r_SpecialCasesInJobSchedules__ul_chf_ypk_zp}  
Note:  
`SncTriggerSynchronizer` does not provide methods to execute scheduled jobs in the future.

## Running scheduled scripts and jobs imported from another instance

Scheduled Script Execution and Scheduled Jobs are categorized as data records in the ServiceNow AI Platform, which means they are excluded from update sets. To determine if a table is included, navigate to AllSystem DefinitionDictionary and view the Attribute value for the table in question. Only tables with the attribute update_sync=true are included in update sets.

You can optionally export and import data records via XML. However, to prevent unexpected
data changes, Schedule Item \[sys_trigger\] records are not created for data records imported
from an XML file such as an update set. To run scheduled jobs or scripts imported from
another instance, update the corresponding job or script record in the target instance.
**Related concepts**   

* [Advanced options for scheduled jobs](https://www.servicenow.com/docs/_HpE75m4zsDVy1M_FBI3YA "Advanced scheduling options for scheduled jobs support greater flexibility in job planning and execution. You can configure jobs to start on a future date, end on a particular date, and define how the job should repeat.")  
**Related tasks**   

* [Create a scheduled job](https://www.servicenow.com/docs/rnh7zq7HGkZS0~NvOw~rjw "Create a scheduled job on the Schedule Job [sysauto] table.")
* [Enable run types for scheduled job child tables](https://www.servicenow.com/docs/LaAAVBY3bKJUiceHWWmQAw#customize-run-times-for-scheduled-jobs "The run types; Day and Month in Year, Day in Week in Month in Year, and Week in Month, require the fields; Day, Month, and Year to be visible. Child tables which don’t display those fields can't create jobs with that run type selected.")
* [Personalize the system date format](https://www.servicenow.com/docs/_ob6X58AMKaq5zkI7vQ_Kg "You can personalize the format in which date values appear in your instance.")
* [Set a system time zone](https://www.servicenow.com/docs/pv9uw5Vu_esRLPTmm6Y_~w "Set your system time zone with a system property.")  
**Related topics**   

* [Domain separation for service providers](https://www.servicenow.com/docs/access?context=domain-sep-landing-page&version=zurich&pubname=zurich-platform-security&ft:locale=en-US)

*[\>]: and then


