Skip to main content

Hello guys,

I have a requirement to send a notification everyday with the calendar events which are falling on Today's schedule.

So for recurring events, SharePoint is storing the details on RecurringDetails field which is Hidden, so I'm unable to see it on Nintex workflow while querying the list item.

It can be done from web service call, but if anyone has any hands-on experience on this, please provide me the query details.

I attached a workflow that did just this in a previous thread.  We currently look at the events for the day and then email a group of users with an html table showing what is happening.  Getting the regular and recurring events is just half the battle.  Then you have to use some logic to decide whether or not that recurring event occurs on that particular day. 

Query one week of recurring events


Thanks for sharing this. It is helpful; I'm trying to modify the workflow as per my requirement.

One thing I noticed is, it is sending emails only if the event is All Day event. The workflow is too big to modify as per my requirement. I just want to send emails for all kind of events if that falls on Today's calendar.


Here is the most recent version of the workflow.  We have it scheduled to run every day and I was able to confirm that it does include events that are not all day events. 

Unfortunately, because of the logic in calculating whether or not recurring events occur on today, the workflow does get kind of unruly.  This is in no way a perfect workflow.


Thank you so much for your inputs!! We have a requirement to send notification for all kind of events if they occur on Today's date. Currently we have one item which will occur every Tuesday of the week and that should be notified to attendees. With the logic we have it is sending daily and that should not happen in my case.


If you are simply filtering to return all events that start on or before today and end on or after today, it will give you all recurring events that span before and after today.  You have to add additional logic to determine whether or not that event would actually occur today.


Hi Jermemiah -  I just tested your workflow and it is working great except for non All Day events.  Have you guys made any additional changes to the workflow since the post back in October?

Im new to nintex and this is working almost exactly as I need!


I modified the query so that the <lt> became <leq> and it now pulls in non-all day events for today.


Hi Jeremiah are you able to supply your logic so I can port to O365 environment?


We use this for several calendars. There is a workflow constant which toggles whether or not the workflow is in debug mode, CalendarDebugGL. Additionally, there is a workflow constant that stores the email address associated with the debugging, CalendarDebugEmail. Both of those would need to be made. If you would like to use a different variable name, you can. Both of the workflow constants get set to workflow variables in the first and second actions.

213522_pastedImage_1.png

213529_pastedImage_5.png

I have a workflow constant setup for each calendar that stores the site and GUID. You'll set the CalendarSite and CalendarGUID (third and fourth action in workflow) to the workflow constant that stores the GUID or set it directly in the actions.

213534_pastedImage_2.png

213527_pastedImage_3.png

Additionally, there is a variable named EmailGroup that has the group of the persons that will receive the notification.This will need to be set to the name of your group in the fifth action in workflow.

213535_pastedImage_1.png


This seems like a related node to the question I have.

How do I need to modify the following CAML query to find the recurrence event with the ID that matches the ID of the event the workflow is running on?

<Query>
<Lists>
<List ID="{Common:ListID}" />
</Lists>
<ViewFields>
<FieldRef Name="RecurrenceData" />
<FieldRef Name="EventDate" />
</ViewFields>
<Where>
<And>
<Eq>
<FieldRef Name="fRecurrence" />
<Value Type="Recurrence">1</Value>
</Eq>
<DateRangesOverlap>
<FieldRef Name="EventDate" />
<FieldRef Name="EndDate" />
<FieldRef Name="RecurrenceID" />
<Value Type="DateTime">
<Month />
</Value>
</DateRangesOverlap> </And>
</Where>
<queryOptions>
<QueryOptions>
<ExpandRecurrence>TRUE</ExpandRecurrence>
</QueryOptions>
</queryOptions>
</Query>


Reply