Introduction
Every business has recurring processes and tasks that need to be done on repeatable and scheduled basis. Microsoft Dynamics 365 users are often surprised to learn that it is very difficult to achieve using standard functionality. The Scheduler module makes it easy to trigger workflows or updates to specific entity records on a scheduled basis. Users set the schedule time pattern and specify an Advanced Find query to determine the records to be affected when the schedule triggers. Used in conjunction with the Formula Manager this is a very powerful tool.
A schedule typically allows you to define a FetchXML query which will retrieve a certain number of CRM records and then loop over these records either calling a defined workflow for each record or in-directly executing a formula on those records. The component allows you to schedule batch jobs to run daily, weekly, monthly, etc.
The North52 Scheduler is native to Dynamics 365 and executes within the CRM Sandbox process. This makes it easy to deploy from one Dynamics 365 system to another. The Scheduler uses a single recurring workflow called 'N52 Schedule' to get itself to self-schedule. This means you can see how your particular schedule is executing by looking under 'System Jobs'.
Scheduler Manager's Features
Recurring Schedule within Dynamics 365
You can create many different types of schedule frequencies:
- Once
- Hourly
- Daily
- Weekly
- Monthly
- Quarterly
- Yearly
- Every X Minutes
- Every X Hours
- Every X Days
- Every X Weeks
- Every X Months.
Execute Workflow/Action or Update Entity
You can execute a Workflow/Action or trigger the update of an entity as part of the schedule to perform an action.
Powerful Record Targeting
Use the native Advanced Find to build up a query which will target a specific set of records for each individual schedule.
Native to Dynamics 365
The scheduler has been built into Dynamics 365 so no need external programs. It uses native CRM controls and fields so it also looks and feels like a Dynamics 365 component.
High Performance
Build advanced sub-schedules when you really need to process 10,000+ or even 100, 000+ records on a scheduled basis.
Key Technical Features
- Only one recurring workflow used per Schedule which allow the solution to scale to millions of records.
- Uses the paging cookie within FetchXML to sub-divide large jobs (millions of records) into small chunks of 250 (configurable) records at a time
- The paging cookie technique allows us to get around the 2-minute timeout for any custom code on Dynamics 365
- It also gets us around the 5,000 record limit for FetchXML
- We have built in detection to stay under the limit for Dynamics 365 infinite loop detection
- Its possible to set a configurable delay between the start of each workflow process
- We can make extensive use of FetchXML's ‘no-lock’ parameter to ensure maximum throughput
- We can deploy our Schedules via solutions so they fit in with your standard processes
- Set a Schedule to execute only during working hours
- Schedule Workflows, Actions, North52 formulas or custom plugins
- Scheduler caters for changing time-zones and daylight savings calculations
- If a Schedule were to fail (or any workflow process) we can detect this and send the CRM Administrator an email (see xRM Formula #048 - Daily Report of Failed System Jobs)