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 Teams connector page.

Prerequisites

StackOne automatically creates and manages Microsoft Graph subscriptions on your behalf. To receive webhook events, your Azure app registration must have the correct API permissions granted.

1

Verify API Permissions

Sign in to the Microsoft Entra admin center and navigate to your app registration. Under API permissions, confirm the following Application permissions are granted and admin-consented.

  • ChannelMessage.Read.All — Required for channel message events (created, updated, deleted).
  • Chat.Read.All — Required for chat message events (created, updated, deleted) and chat member events.
  • Team.ReadBasic.All — Required for team events (created, updated, deleted).
  • Channel.ReadBasic.All — Required for channel events (created, updated, deleted).
  • ChatMember.Read.All — Required for chat member events (added, updated, removed).
2

Grant Admin Consent

After adding the permissions, click Grant admin consent for [tenant name] and select Yes. Verify that Granted for [tenant name] appears under the Status column for each permission.

Available Webhook Events

When you enable webhook events for Microsoft Teams, StackOne subscribes to Microsoft Graph change notifications. Only events you select in StackOne are delivered to your application.

1

Channel Message Events

Events fired when messages are posted, edited, or deleted in Teams channels.

  • Channel Message Created (/teams/getAllMessages_created) — Fired when a new message is posted in a Teams channel.
  • Channel Message Updated (/teams/getAllMessages_updated) — Fired when a message is edited in a Teams channel.
  • Channel Message Deleted (/teams/getAllMessages_deleted) — Fired when a message is deleted from a Teams channel.
2

Chat Message Events

Events fired when messages are sent, edited, or deleted in 1:1 or group chats.

  • Chat Message Created (/chats/getAllMessages_created) — Fired when a new 1:1 or group chat message is sent.
  • Chat Message Updated (/chats/getAllMessages_updated) — Fired when a 1:1 or group chat message is edited.
  • Chat Message Deleted (/chats/getAllMessages_deleted) — Fired when a 1:1 or group chat message is deleted.
3

Team Events

Events fired when teams are created, modified, or deleted.

  • Team Created (/teams_created) — Fired when a new team is created.
  • Team Updated (/teams_updated) — Fired when a team’s properties are updated.
  • Team Deleted (/teams_deleted) — Fired when a team is deleted.
4

Channel Events

Events fired when channels are created, modified, or deleted in any team.

  • Channel Created (/teams/getAllChannels_created) — Fired when a new channel is created in any team.
  • Channel Updated (/teams/getAllChannels_updated) — Fired when a channel’s properties are updated.
  • Channel Deleted (/teams/getAllChannels_deleted) — Fired when a channel is deleted.
5

Chat Member Events

Events fired when members are added to or removed from 1:1 or group chats.

  • Chat Member Added (/chats/getAllMembers_created) — Fired when a member is added to any 1:1 or group chat.
  • Chat Member Removed (/chats/getAllMembers_deleted) — Fired when a member is removed from any 1:1 or group chat.

Delivery Format

Microsoft Graph sends change notifications as JSON payloads containing an array of notification objects.

1

Notification Payload Structure

Each notification is delivered as a POST request with a JSON body containing a value array. Each element includes the resource path, changeType (created, updated, or deleted), resourceData with the resource ID, and subscriptionExpirationDateTime. By default, notifications do not include the full resource data — only metadata about the change. StackOne maps each notification to the corresponding event type based on the resource path and change type.

2

Subscription Lifecycle

StackOne automatically manages subscription creation, validation, and renewal. Microsoft Graph subscriptions for Teams resources expire after 3 days (4,230 minutes).

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.