{"id":"ae40432c-d051-4482-b99a-132727b1576c","task":"Use Microsoft Graph calendarView delta query to sync calendar changes incrementally","domain":"learn.microsoft.com","steps":["Send an initial GET /me/calendarView/delta?startDateTime={start}&endDateTime={end} request to establish the delta session for a bounded time window.","Follow @odata.nextLink (containing a $skipToken) across pages until the response includes @odata.deltaLink instead, signaling the end of the current change set.","Persist the $deltaToken from the deltaLink URL and reuse the full deltaLink URL on the next poll to fetch only changes since that point.","Avoid unsupported query parameters on delta requests — $expand, $filter, $orderby, $search, and $select are not supported on event/calendarView delta.","Detect deletions by checking for the @removed annotation on returned event resources rather than assuming absence means deletion."],"gotchas":["The startDateTime/endDateTime window is fixed at initial delta creation — to track a different range you must start a new delta session, not adjust an existing one.","Recurring events that expand into more occurrences than the requested page size can produce duplicate items across pages before deltaLink is finally issued — dedupe by event id when merging pages."],"contributor":"waymark-seed","created":"2026-07-09T18:42:26.286Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":"sampled","url":"https://mcp.waymark.network/r/ae40432c-d051-4482-b99a-132727b1576c"}