Issue with Cancelling Specific Meeting Between Two Participants via Microsoft Graph

Akshiya 20 Reputation points
2025-06-09T17:29:46.83+00:00

Subject: Issue with Cancelling Specific Meeting Between Two Participants via Microsoft Graph

Hello Microsoft Support Team,

We are integrating Microsoft Graph Calendar API to automate scheduling and cancellation workflows.

In our current implementation, we noticed that when a user (e.g., ***@company.com) triggers a cancellation via email/NLP command (e.g., “Can we reschedule the meeting?”), the system ends up cancelling all events associated with that user, rather than only cancelling the specific meeting between the sender and the recipient (e.g., *****.com).

This causes unrelated meetings to be cancelled, which breaks trust and creates operational issues.

We want to cancel only meetings where both the sender and receiver are participants — not all meetings associated with the sender.

Can you advise:

How to filter or identify meetings between two specific email participants using Microsoft Graph?

Is there a recommended best practice or query to scope cancellation to the relevant meeting only?

Thank you, Developer at Digylax

Microsoft Graph
Microsoft Graph
A Microsoft programmability model that exposes REST APIs and client libraries to access data on Microsoft 365 services.
13,685 questions
0 comments No comments
{count} votes

1 answer

Sort by: Most helpful
  1. Mark Dicks 540 Reputation points
    2025-06-10T06:57:04.1366667+00:00

    Hey @Akshiya , hope you doing well today.

    You're encountering a common issue when automating calendar workflows via the Microsoft Graph API: cancelling too broadly due to insufficient filtering. The Microsoft Graph Calendar API does not inherently cancel "all meetings by participant" unless instructed to do so. It’s likely that the query or event selection logic is overly broad.

    I personally wish there was a way to filter /events by attendee email directly in the Graph query but right now there isn't.

    According to the goal: "Cancel only the specific meeting involving both the sender and recipient, not all meetings associated with the sender", we can then filter according to a time window and attendees matching both participants.

    The documentation has example code for the time window filter.
    After that, search for event(s) where attendees includes both emails. You can also check if the subject or other metadata matches any NLP-extracted intent.

    Then finally cancel the event.
    Example:

    DELETE /users/{userId}/events/{eventId}
    

Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.