I am building a flow for tracking attendee lists using the 'When an event is added, updated or deleted' trigger.
I am using this trigger rather than a combination of the 'When an event is created (V2)' and 'When an event is modified (V2)' triggers because the latter also responds to event creations and does not offer a simple mechanism for recognizing event deletions. The response of the 'modified (V2)' trigger to creation events may be related to the bug I am encountering.
An additonal complexity for my flow is that the calendar connection is that of an auto-accepting Room's calendar (a resource). This was done so that a single flow can be actuated by any person simply by inviting that Room to a meeting.
On to the problem:
Upon determining the limitations with the V2 triggers, I rebuilt my Flow to utilize a switch on the ActionType property that accompanies the trigger's CalendarEventClientWithActionType event model. What I am now encountering is that, when I am inviting the Room to the meeting as part of a New Meeting action, those new calendar events are sometimes flagged as 'updated' rather than 'added'. This is not always the case, and does not seem to occur when the Room is the only attendee (beyond myself as organizer). I will be doing further testing to confirm but at the moment my suspicion is that the new event is correctly marked as 'added' when the Room is the last attendee in the list. If another attendee comes after the room, the brand-new auto-accepted calendar event is recognized as an update.
This was a brand-new meeting that included another attendee, but the Room came first in the attendee list:
Thanks for the detailed information. According to your description, I created a flow with the trigger When an event is added, updated, deleted, then a Compose action to show the Action type.
I made many tests. But it seems that I was not able to reproduce this issue on my side, actions types are returned as expected.
When the Room is the only attendee, it does return Added. When I invite others as Attendee after the Room, a new event created will be returned as Added but not Updated.
I am not sure if it is an occasional issue so I am not able to reproduce it on my side. I will make a further test on it.
Thanks for testing on your side. I'm continuing to test as well, as this is a big blocker for my solution.
Unfortunately, on my side this is not an occasional issue. Further, with 10+ test invites so far today, I finally encountered some 'Updated' events even when the Room was the added to the attendee list after one other attendee, meaning it was purely coincidence when it seemed to be behaving otherwise.
I've turned off conflict detection in the Room's calendar processing settings, and as you can see, I'm just layering in sessions using that approach to the invite. Only 4 of the 13 invites were recognized as "Added".
Notably, my tracking module for the events (from my personal calendar in blue) is also inconsistent. Sometimes a second version of the meeting room with a prettier display name also appears as an Optional Attendee. Only one room will ever provide an "Accepted" response, if there is a response at all. So far, if there is an "Accepted" response and the Optional Attendee version of the Room is present, that is the instance that has Accepted. This is the mix of tracking I've seen so far:
|Attendee Type - Response|
|meetingroom7@||Required - Accepted||Required - None||Required - None||Required - None|
|Meeting Room 7||Not Present||Not Present||Optional - Accepted||Optional - None|
This might be completely unrelated, but it definitely highlights that the backend behaviours are wholly inconsistent/unpredictable.
I'll let you know whatever else I find on my side.