Skip to main content

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.

1

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.
2

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.

1

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.
2

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
3

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
4

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.

1

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@delta in the notification’s resourceData; an entry that carries @removed is 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.
2

Expect batched notifications

Microsoft Graph can send several notifications in one request. StackOne splits the batch and delivers each notification as its own event.

3

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.

Verify

Your Connector should now be able to receive and process events. Try triggering an event and you should see an Event appear in the Connector logs.