Views:

The Advanced View is only required for certain situations and the Advance View settings can be toggled off to show the normal view, refer to this article for the normal view: Anatomy of a Schedule

Overview

The Scheduler enables you to define a schedule that will execute on a recurring basis and have an action take place for each individual targeted record. On the schedule defined it executes and returns a set of records determined by the FetchXML (Advanced Find) query. Next it loops through the set of records and either executes the associated workflow for each record or it updates the specific record's fields to the same value which then trigger any associated Formulas.

 

General

General Settings

Name

  • The name of the Schedule which just needs to be a descriptive name of what the Schedule is trying to achieve

Query Record Limit

  • This field effectively controls the batch size of the number of records to be processed in any single iteration. It is specific to North52 and has the default value set to 250 records. The setting allows us to break up large queries (e.g. 1+ million records) into small chunk sizes and helps keep within the 2 minute platform timeout

Stop Schedule

  • A flag that indicates the Schedule should stop when it is set to Yes

Frequency

  • Once: The Schedule will only execute once

  • Hourly: The Schedule will execute on an hourly basis

  • Daily: The Schedule will execute on an daily basis

  • Weekly: The Schedule will execute on an weekly basis

  • Monthly: The Schedule will execute on an monthly basis

  • Quarterly: The Schedule will execute on an quarterly basis

  • Yearly: The Schedule will execute on an yearly basis

  • Every X Minutes: The Schedule will execute every X minutes, where X is defined by the field named 'Every X' **

  • Every X Hours: The Schedule will execute every X hours, where X is defined by the field named 'Every X'

  • Every X Days: The Schedule will execute every X days, where X is defined by the field named 'Every X'

  • Every X Weeks: The Schedule will execute every X weeks, where X is defined by the field named 'Every X'

  • Every X Months: The Schedule will execute every X months, where X is defined by the field named 'Every X'
     

** Not to be used on an on-going basis. 1-hour is the lowest interval setting that you can use.


Schedule Type

  • Entity Update: When the Schedule begins it will execute the Advanced Find query (FetchXML) and for each record returned will issue an update command on that record setting all the defined fields in the query to the same values. This has the effect of triggering any formulas that are registered to this entity. An example:
    • A Schedule runs and executes the associated query.
    • It returns 100 Opportunity records and has 2 fields defined: Est. Revenue and Probability.
    • Next, it loops through each of the 100 Opportunity records and executes an update statement to each record, setting the 2 fields Est. Revenue and Probability to the existing values
    • Consider that the first Opportunity record had a Est. Revenue of $1,000 and a Probability of 75% the update would set the 2 fields to $1,000 and 75% respectively. This is done to trigger any associated formulas that are registered to the opportunity entity
  • ​​​​Global Action: When the Schedule begins it will execute the specified Global Action. There is no FetchXML query defined for a Global Action Schedule
  • Workflow: When the schedule begins it will execute the Advanced Find query (FetchXML) and for each record returned will execute the specified Workflow. An example:
    • A Schedule runs and executes the associated query
    • It returns 50 contact records 
    • Next, it loops through each of the 50 contact records and executes the specified workflow

Workflow

  • Lookup field to the Workflow/Action that you want to execute for each record returned from the FetchXML

Schedule Parent

  • Lookup field to a parent Schedule if this one is a child Schedule

Query Delay Interval (ms)

  • A delay period in milliseconds between each record that gets processed

Max Execution Count

  • Allows you to set the maximun number of times this Schedule will execute

Background Workflow

  • N52 Schedule is the default setting and performs 1 processing step within the main North52 BPA workflow. N52 Schedule Extended is an advanced feature which performs 25 processing steps within the main North52 BPA workflow. This extended workflow increases the volume of records processed significantly and is not available for use in the free version.

Current Execution Count

  • The number of times this Schedule has executed

Date Settings

Start DateTime

  • The start datetime for the Schedule. The Scheduler will wait until this time is reached before executing

End DateTime

  • The end datetime for the Schedule. The Scheduler will stop the Schedule when this datetime as been reached no matter how the Scheduler is configured

Last Run DateTime

  • Indicates the last time this Schedule was executed by the Scheduler

Next Run DateTime

  • Indicates the next time the Scheduler will execute. If this datetime is in the past the Scheduler will execute immediately when started.
  • When processing large amounts of records you might see this field with a time in the future but not on the user defined Scheduled time. This is because the current Schedule iteration is still 'in-progress' and pauses itself by pushing this field 1 hour into the future therefore staying within the Dynamics 365 platform limitations. It will continue this pausing technique until all records have been processed and then will revert back to the user defined Schedule

Original Execution Start DateTime

  • On long running Schedules this allows us to set the next run datetime correctly

Day Start Time

  • In combination with the Day End Time these two fields allow you to specify a time range of when the schedule will run during a 24-hour day. e.g 09:00 - 18:00 states that Schedule will only execute during this time period

Day End Time

  • See Day Start Time above

Paging Settings

Current Page Count

  • (Internal) Stores the current page count when using the paging cookie

Min Page Count

  • (Internal)

FetchXml Query Limit

  • Allows you to sync. your CRM platform setting for this query limit defined by Microsoft which is set to 5,000

Max Page Count

  • (Internal)

Max Infinite Loop Depth

  • Allows you to sync. your CRM platform setting for infinite loop detection. The default set by Microsoft is 8 so this field defaults within a Schedule to 8. Note that this can be set to 16 for CRM Online. If you are using an on-premise/IFD installation you can increase the 'MessageProcessorMaximunDepth' setting to allow for more recursive calls if required.

Paging Cookie

  • (Internal) When a FetchXML query exceeds the page record count this is saved to the Schedule record so we can page into the next set of records. This allows the Scheduler to process an unlimited number (e.g. millions) of records

Min Inactive Seconds

  • Allows you to sync. your CRM platform setting for minimim inactive seconds. The default set by Microsoft is 3600 so this field defaults within a schedule to 3600.   If you are using an on-premise/IFD installation you can reduce the 'MessageProcessorMinimumInactiveSeconds' setting to allow for a Schedule to be active for more than the default of 1 hour

Short Code

  • A unique short hand code that is used to reference your Schedule

Description Settings

Category

  • Allows you to add metadata to your Schedule so you can categorize them.

SubCategory

  • Allows you to add metadata to your Schedule so you can sub-categorize them.

Description

  • Allows you to add a description for the purpose of your Schedule

FetchXML Query

Query

  • This allows you to define an Advanced Find query (i.e. FetchXML) that is executed each time the Schedule runs. The query results are the target set of records for this Schedule

Solution Deployment

Deployment Solution (picklist field)

  • Determines which solution your Schedule record should be placed inside

Deployment Solution (text field)

  • Internal should not be manually edited. Use the lookup field