
Announcements
Hi all,
since I think I'm doing something New™, I thought I'd ask about it here.
At the start of my flow, MS bookings creates a meeting, which triggers the flow ('When an appointment is created' Trigger).
Then lots of boring stuff happens, but at the end some condition means the event has to be deleted. The Delete Event action needs the meeting ID.
The Trigger does not have the actual meeting ID as an output (it says it does, but it lies/is outdated). It does have a whole lot of information that is shared with the meeting, including some unique identifiers, such as the Joinweburl/joinurl element.
I there a way to say: Take the ID from the meeting that also has this unique identifier?
Thanks everyone in advance
Hi @Freek_de_Wijs,
You are correct, the id is deprecated in the connector. This is also outlined in the documentation:
https://learn.microsoft.com/en-us/connectors/microsoftbookings/#appointmentdata
However, in the Graph API methods the id is still used. You can use the SelfServiceAppointmentId to find the matching id and use that in a Delete bookingAppointment method, https://learn.microsoft.com/en-us/graph/api/bookingappointment-delete?view=graph-rest-1.0&tabs=http
Below is an example
I haven't used a condition in this example, obviously that is needed for the setup. Otherwise every new booking would automatically be deleted 😁
1. HTTP request is used to list booking appointments, https://learn.microsoft.com/en-us/graph/api/bookingbusiness-list-appointments?view=graph-rest-1.0&tabs=http
2. Filter Array expression
@equals(item()['selfServiceAppointmentId'], triggerOutputs()?['body/SelfServiceAppointmentId'])
3. URI for the second HTTP request to delete the first matching booking appointment found in the results of the filter array.
https://graph.microsoft.com/v1.0/solutions/bookingBusinesses/consotos@qorerauk.onmicrosoft.com/appointments/@{first(body('Filter_Array'))['Id']}