How to configure Recurrence feature using Crow Canyon NITRO Workflows
Applies to: SharePoint Online
Description
There are many business scenarios where SharePoint list items need to be created based on Daily, Monthly, Yearly basis or based on specific dates. This is used for cases like recurring maintenance tasks for Assets, renewing Contracts etc., this can be configured using Crow Canyon Workflow Manager.
In this article, we have taken Tickets list as an example but this can be configured on any list using the Workflow Manager. We will create a recurring template list and then add Scheduled Query workflow to get the recurring items created in the Tickets list.
Summary of Steps:
1. List Schema for Recurring functionality
2. Workflows configuration based on recurrence (Daily, Monthly and Specific Date)
- Configure a Scheduled query workflow
– Configure create item action that create items in target list based on the recurrence schedule
– Configure “Update Item” actions for each type of recurrence to set the Next Occurrence Date in the recurring schedule
Detailed Steps:
1. List Schema for Recurrence:
Create a custom list “Recurring Schedule” in IT Helpdesk with following fields. Based on the schedule and data in this list, items will be created in Tickets list automatically with corresponding data in the Ticket item fields:
Field Internal Name |
Display Name |
Field Type |
Required |
Title |
Title |
Single Line of Text |
Yes |
RecurrenceType |
Recurrence Type |
Choice field (Values: Daily, Weekly, Monthly, Yearly, Specific Date) |
Yes |
SpecificDate |
Specific Date |
Date and Time |
No |
NextOccurenceDate |
Next Occurrence Date |
Date and Time |
Yes |
DayInterval |
Day Interval |
Number |
No |
MonthlyInterval |
Monthly Interval |
Number |
No |
ExcludeWeekend |
Exclude Weekend |
Yes/No – default to No |
No |
TimeSpanDaily |
Time Span Daily |
Calculated Column |
No |
TicketTitle |
Ticket Title |
Single line of Text |
Yes |
Category |
Category |
Lookup to Category list |
No |
IssueType |
Issue Type |
Lookup to Issue Type list |
No |
Description |
Description |
Multiline text |
No |
Requester |
Requester |
Person or group |
No |
We can also create additional fields and map them to Tickets list in workflow manager field mappings in “Create Item” action as needed.
2. Configure the NITRO Forms, validations for the Recurrence Schedule list:
We need to configure the NITRO forms for the Recurrence Schedule list. Configure two tabs, one for Schedule and another for Ticket fields
(i) Schedule:
a. Title
b. Recurrence Type
c. Specific Date
d. Next Occurrence Date
e. Day Interval
f. Month Interval
g. Exclude Weekend
(ii) Ticket Fields:
a. Ticket Title
b. Requester
c. Category
d. Issue Type
e. Description
Configure permissions for the “Day Interval”, “Month Interval” and “Exclude Weekend” columns depending on the Recurrence Type selection in the form.
See the below screenshots to configure the column permissions for “Daily Interval”
Screenshot 1:
Screenshot 2:
Also please make sure the dynamic condition evaluation is enabled in the column permissions, see sample image below
Similarly, for the “Exclude Weekend” column, we need to configure the column permissions for “Daily” Recurrence
Now configure a column validation so that the “Daily interval” is mandatory when Recurrence Type is set to “Daily” in the form. See sample screenshots below
Also, we need to configure the permissions and validations for the Monthly Interval column on the Monthly Recurrence condition (Recurrence Type is equal to Monthly). Please refer complete user manual for column permissions and validations from https://www.crowcanyon.info/nitro/appmanual_v2/using-enhanced-list-forms.html
1. Workflows configuration
Configure a scheduled query workflow using our NITRO Workflows App.
Create a workflow as shown below
Scheduled query used in workflow:
<View>
<Query>
<Where>
<Eq>
<FieldRef Name=’NextOccurenceDate’ />
<Value Type=’DateTime’>
<Today />
</Value>
</Eq>
</Where>
</Query>
</View>
1. Configure a “Create Item” action to create a ticket as shown below
2. Create an “Update Item” action for Daily recurrence for business days to update “Next Occurrence Date” in the recurring schedule list item. See sample screenshot below
Field Mapping: $calcbusinesstime([Next Occurence Date|NextOccurenceDate],[Time Span Daily|TimeSpanDaily])
3. Create an “Update Item” action to set the “Next Occurrence Date” for Daily recurrence for non-business days case, see sample screenshot below
Formula: $add([Next Occurence Date|NextOccurenceDate],[Time Span Daily|TimeSpanDaily])
4. Create an “Update Item” action to set the “Next Occurrence Date” for Monthly interval. See sample screenshot below
Formula: $addmonths([Next Occurence Date|NextOccurenceDate],[Month Interval|MonthInterval])