I built a flow that will populate a SharePoint list with Outlook calendar event details, and another Flow which will update the list item if the event details change. This all works fine.
What I need is a Flow that will delete a SharePoint list item if the Outlook calendar event is cancelled:
I found that "event cancellation" is not available as a trigger, but it's possible to work with the condition 'is cancelled? - true' ..
This seems to be a bit tricky though, or perhaps I am missing something obvious here.
The flow I created works like this:
When event is modified ->
->Condition: 'Is cancelled' equals 'true' or @equals(triggerBody()?['IsCancelled'], 'true')
-> If yes: Get items (from SharePoint list) -> Apply to each:
-> Condition: Outlook event ID equals EventUI (to tell flow which list item to delete)
-> If yes: Delete item
This gives me an error though, possibly beause not all modified events fulfil the condition that they are cancelled. Therefore the subsequent flow does not action anymore:
Therefore I changed the Flow so it gets the SharePoint list items before the condition 'event is cancelled = true':
This however also fails at the condition 'event is cancelled: true'
What I am trying to attempt does not seem like a complicated thing to do, and maybe I am missing just a simple step.
I would appreciate some advice on that 🙂
Thanks in advance!
Please go to editor, click on condition, then click on "Edit in advanced mode"
I think if the expression is as follows it will always fail:
Try removing the single quotes from true instead:
Hpe this helps
No, unfortunately making the change did not work either.
I think the issue lies in the condition 'is cancelled?' because initially the trigger is 'meeting changes' - which happens all the time with all sorts of meetings I have. Then the condition kicks in to distinguish if it was cancelled or not. Because the majority of meetings is changed but not cancelled, and at that point potentially just 1 meeting is cancelled, the condition will fail for all changed meetings and suceed for that one. Once that occurs it gives me an expression error though..
Has anyone worked on a similar issue before?
I'm afraid I haven't tested such conditional scenario.
Maybe you can inspect the trigger outputs from different executions (via Flow Run History) and try to identify the right parameter to be evaluated in the condition, if such parameter exists.
Sorry I cannot think on any other way to proceed
When using the trigger “When an event is modified”, will the flow be triggered if you cancel the event?
When testing with the trigger on my side, the flow won’t be triggered at all when I cancel the event.
If your flow can be triggered when you cancel an event, please try if the following function will work for you:
Thanks for your response and testing.
On my side the flow does trigger and run, the flow run status even shows as 'Successful'.
When I click on it I see the following, whereby there is an issue in the Condition (Expression result -> false), therefore the subsequent action was not carried out.
The condition is set to:
I also tried teh following conditions, but it did not work either, same result:
I have no idea what the expression error is about and where I could find documentation outlining what expressions should be?
Also just on a sidenote strangely today Flow displays the advanced editing in a window so small I cannot actually see and it's not editable / enlargable.
You may get more info about the functions from this doc on workflow definition language:
However, I am still not able to trigger the flow when I cancel an event on Outlook calendar. I will try again with it.
Hi Mabel (v-yamao-msft)
Could it be that your flow does not trigger because you have the condition (is cancelled -> true) directly after 'outlook event modified'? I think at some stage I had a similar experience that it did not trigger, which is why I added the 'Get sharepoint items' as a second action before the condition..
No, the trigger "When an event is modified" only works when a new event is created or when I just modify the event, while when I cancel the event, it doesn’t work at all.
You mentioned that on your side the flow does trigger and run, the flow run status even shows as 'Successful'.
Did you inspect the content of triggerBody()?['IsCancelled'] that is being reported by the trigger as output?
I have a flow whose trigger is "When an event is modified (v2)".
This is an example of the output on the last execution, taken from Run History. Please note I could not see any value assigned to "Is Cancelled", maybe due to the fact the trigger was not executed due to a cancellation, but a conventional update:
Thanks for the hint to check the 'event modified' output.
I noticed that you used "When an event is modified (v2)" whereas I used "When an event is modified". Neither works, but in testing both I saw that your version (v2) has no reference of the 'is cancelled' status in its output, whereas my version does - the output sais "Is cancelled: false". That is probably why the following condition checking the 'is cancelled' status returns that the expression is false.
So the problem is that the trigger "When an event is modified" returns 'Is cancelled: false' although it should be true.
v-yamao-msft would this be considered a bug?
Hi Mabel (v-yamao-msft)
Any new insights on the issue of 'Outlook calendar event cancellations' NOT triggering a Flow (for you)?
As discussed earlier they do trigger the flow for me, and then errors. Is this a glitch?
We have not moved forward with the solution that would have included this flow. The issue was not resolved though, however perhaps it was just a bug and it works now?
I really need this to work. it's suprising this bug has been open so long. IsCancelled is never set. There is a template here that does not work either.
Check out the on demand sessions that are available now!
ISV Studio is designed to become the go-to Power Platform destination for ISV’s to monitor & manage published applications.
Una semana de contenido con +100 sesiones educativas, consultorios, +10 workshops Premium, Hackaton, EXPO, Networking Hall y mucho más!