Thanks for raising this question. The issue occurs because SharePoint stores event recurrence as XML in the "RecurrenceData" field alongside a "fRecurrence" flag, which standard Dataflow imports to Dataverse do not parse or map to the platform's RecurrenceRule and RecurringAppointmentMaster entities used for proper series handling in calendar views. In Power Pages calendar controls (typically bound to Activities or custom tables with start/end dates), unparsed recurrence causes the event to render as daily instances across the view instead of weekly Tuesdays only.​​
SharePoint Recurrence Structure
SharePoint events use XML patterns like
<recurrence><rule><repeat><weekly dayFrequency="1" weeksInterval="1"><weekdays><weekday>Tu</weekday></weekdays></repeat></rule></recurrence>
for weekly Tuesdays, with start/end dates defining the span. Simple list-to-Dataverse imports copy this as text, breaking calendar expansion logic.​​
Dataverse Recurrence Model
Dataverse requires linked RecurrenceRule records (e.g., Interval=1, DaysOfWeek=3 for Tuesday) attached to a RecurringAppointmentMaster, generating instances via seriesid. Power Pages calendars respect this for correct weekly rendering without daily sprawl.​
Fix with Power Automate Migration
Create a flow to re-migrate events: Trigger on SharePoint items where fRecurrence=1, parse RecurrenceData XML via XPath expressions (e.g., xpath(xml(body('Get_item')?['RecurrenceData']), '/recurrence/rule/repeat/weekly/weekdays/weekday') for day), then Patch/Create Activities with AddToQueue for recurrence or use "ConvertToRecurringAppointment" plugin. Test on a subset first disable the Dataflow post-migration to avoid duplicates. For ongoing sync, schedule the flow daily.​​ If helpful, please accept the answer and help the community.
Best Regards,
Jerald Felix