Prerequisites
The connector should already be set up, with a Connector Profile and a Linked Account. See Getting Started on the Microsoft Entra ID connector page.How StackOne sets up Microsoft Entra ID webhooks
Nothing needs configuring in Microsoft Entra ID. When you connect an account with events enabled, StackOne creates a Microsoft Graph change-notification subscription for each enabled event automatically and deletes it again when the connection is removed. Each subscription covers every user or group in the directory.
Check the directory permissions are granted
A user subscription needs User.Read.All and a group subscription needs Group.Read.All, the same permissions the connector already uses to list users and groups. No webhook-specific permission has to be added.
- If the connection can list users and groups today, it can receive their webhooks.
- A connection whose custom scopes leave out one of these permissions cannot create that subscription, so its events are never delivered.
Connect the account again when the subscriptions expire
Microsoft Graph expires user and group subscriptions after at most 29 days, and StackOne does not renew them. Delivery stops silently when a subscription lapses; no error is raised.
- Reconnect the account to create fresh subscriptions and resume delivery.
- Reconnecting also removes the previous subscriptions, so no duplicates are left behind.
Available webhook events
Microsoft Entra ID emits events for users and groups across the whole directory. Only events selected in StackOne are delivered, because StackOne creates a Microsoft Graph subscription only for those.
Keep the validation check enabled (required)
Microsoft Graph verifies the notification URL before it creates each subscription, and the subscription is refused if the check is not answered.
- Validation Check (
webhook_validation_check) — Answers Microsoft Graph’s validation request when a subscription is created. Must be enabled; without it no subscription can be created and no other event is delivered.
Enable user events
Events covering users in the directory. Microsoft Graph reports a new user, a changed user, a soft-deleted user and a restored user as the same change, so they share one event.
- User Updated (
user_updated) — Fired when a user is created, changed, moved to deleted items, or restored - User Deleted (
user_deleted) — Fired when a user is permanently deleted
Enable group events
Events covering groups in the directory, including their membership.
- Group Updated (
group_updated) — Fired when a group is changed, has members added or removed, is moved to deleted items, or is restored. A newly created group may raise no notification - Group Deleted (
group_deleted) — Fired when a group is permanently deleted
Enable subscription lifecycle notifications
Notifications about the subscriptions themselves rather than about directory changes.
- Subscription Lifecycle Notification (
subscription_lifecycle_notification) — Fired when Microsoft Graph reports that a subscription must be reauthorized, has been removed, or missed notifications
Delivery format
Details of how Microsoft Graph delivers events to StackOne.
Retrieve the record to see what changed
A notification identifies what changed rather than carrying it. Each one holds the id of the user or group, so read the full record with Get User or Get Group when you need its contents.
- Group membership changes list the affected member ids under
members@deltain the notification’sresourceData; an entry that carries@removedis a member who was removed. - A user or group that was moved to deleted items can no longer be read with Get User or Get Group.
Expect batched notifications
Microsoft Graph can send several notifications in one request. StackOne splits the batch and delivers each notification as its own event.
Make processing idempotent
Microsoft Graph delivers at least once and retries a failed delivery for up to four hours, so the same notification can arrive more than once.
- Treat each notification as a signal to re-read the user or group rather than as a change log.
- Make processing idempotent on the user or group id so a repeated notification is harmless.