I have a workflow that will query all events in a specific date span. for example from 04/05/2017 to 04/15/2017 and all of the events scheduled between those dates will be queried. I successfully did this but I notice that if an event is set to a recurring event the query will ignore those events. how can I include those recurring events that is in between to the date span I set. I search thru the internet and I saw several blog post that uses CAML editor. But the problem is I don't have enough knowledge to create my own script in CAML. If using a CAML editor is the only option. is there a way to query events from a date range Thursday to Sunday and if there is a recurring events in those range it will also include those recurring events.
here is a screenshot of the events calendar
Query List action:
Here is a screenshot of my query list and what I would like to be converted to a CAML script
Start Time UTC >= to StartDate1 && End Time UTC <=EndDate1 in this logic how can I add a script that will also include all the recurring event that will take place on the date span I set.
My workflow process is:
1. Query List
2. For Each
3. Set Variable
4. Build String
5. Send Notification
I would recommend to study my February 2017 mission article February 2017 Mission: Real World Solution (Patching calendar) which does very similar thing.
reference documentation for CAML you can find here Query Schema
and reference specifically for DateRangesOverlap element here DateRangesOverlap Element (Query)
SharePoint is really dumb in this. The query doesn't return the recurring events, because they are simply not there. SharePoint only saves 1 event and marks it with recurring. Afterwards all queries must be strucutred like "give me all events in a timespan as well as all events before, which's recurring set up brings an event into my time span."
So to get a full view of all the events you need you will need extended CAML queries that reflect this or you would need to drop usage of recurring events.
As far as I know there is no "easy" way to achieve your goal. :\