Graph API - calendar event subscription response doesnt include unique id which is icaluid for an event

Bhanu Prasad 6 Reputation points

We have calendar event subscriptions and we get the following response.

"value": [{
"subscriptionId": "xxxxxxxx-878b-4d07-8539-1da3axxxxxxxx",
"subscriptionExpirationDateTime": "2021-03-07T02:30:14.5887657-08:00",
"changeType": "created",
"resource": "Users/0b53683d-fd4c-4ca4-9f3a-3c6bxxxxxxxx/Events/AAMkAGZjZWFlNWJkLTAzMTctNGEzNy1hZjA4LWRmNDQwNDczYWRjOQBGAAAAAAAkVKcbJTK2T7-a4sSv1LzgBwDdRTpe0854Qan5mu_s52tQAAAAsmZUAACye3PIhW7CS4D=",
"resourceData": {
"@odata.type": "#Microsoft.Graph.Event",
"": "Users/0b53683d-fd4c-4ca4-9f3a-3c6bxxxxxxxx/Events/AAMkAGZjZWFlNWJkLTAzMTctNGEzNy1hZjA4LWRmNDQwNDczYWRjOQBGAAAAAAAkVKcbJTK2T7-a4sSv1LzgBwDdRTpe0854Qan5mu_s52tQAAAAsmZUAACye3PIhW7CS4D=",
"@odata.etag": "W/\"DwAAABYAAACye3PIhW7CS4DdyklpCnLAxxxxxxxx\"",
"clientState": "REPLACE",
"tenantId": "xxxxxxxx-004e-444d-93e8-f7e8xxxxxxxx"

we found that "id" field mentioned in the json is not unique and we can clearly see other events assigned with the same id. Also for an event "iCalUId" is a unique id. So when we call the event details using above "id" we get details of a different event sometimes or am I missing something?

Please suggest if we can access "iCalUId" in subscription response.


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

3 answers

Sort by: Most helpful
  1. Gary Bailey 6 Reputation points

    The problem that we have on this one now is that iCalUid is unique, but that ID is not sent on the webhook call. We're trying to work through the immutable ID route, but webhook calls are creating duplicate events in our database currently.

    1 person found this answer helpful.
    0 comments No comments

  2. Deva-MSFT 2,256 Reputation points Microsoft Employee

    What you meant by id is not unique? Do you see the difference when you subscribed to various calendars/mailboxes? Please explain.

    In the above scenario, if you use iCalUId to identify a specific instance of a recurring meeting, this scenario can be achieved by listing instances (occurrences) of an event with seriesMasterId for a specified time range.

  3. John Vannoy 6 Reputation points

    You would need to do a subsequent API to call to retrieve the details of the event, using the ID supplied on the webhook call; the event details would contain the ICalUID

    0 comments No comments