---
sourceDocument: Zurich Workflow Data Fabric
sourceDocumentLink: https://www.servicenow.com/docs/r/zurich/integrate-applications

 Release :

    - zurich

ft:locale :

    - en-US

ft:publication_title :

    - Zurich Workflow Data Fabric

ft:clusterId :

    - crint

bundleId :

    - crint

workflow :

    - Creator


---

# Microsoft Teams Graph Spoke

# Microsoft Teams Graph Spoke {#ariaid-title1}

* Release version: Zurich
* 
* Updated January 30, 2026
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 12 minutes to read

The Microsoft Teams Graph spoke manages applications, calendar, teams, channels, chats, notifications, and webhooks in Microsoft Teams. To create, manage, or delete users and groups, use the Microsoft Entra ID spoke (formerly Microsoft Azure Active Directory spoke).

## Request apps on the Store {#msteams-spoke__section_xb2_f2f_mjb}

Visit the [ServiceNow Store](https://store.servicenow.com/sn_appstore_store.do#!/store/home) website to view all the available apps and for information about submitting requests to the store. For cumulative release notes information for all released apps, see the [ServiceNow Store version history release notes](https://www.servicenow.com/docs/r/store-release-notes/sn-store-release-notes.html).{#msteams-spoke__inline-send-to-store}
Note:  
* Teams in the Microsoft Teams Graph spoke are created from the groups in Microsoft Entra ID (formerly Microsoft Azure Active Directory). To create a team using the Microsoft Teams Graph spoke, the associated group must be present in Microsoft Entra ID.{#msteams-spoke__ms-azure-ad}
* User and group management can be done using Microsoft Entra ID only and not Microsoft Teams Graph spoke.
* Teams can be created from the Microsoft Office 365 group only.
* The team ID in Microsoft Teams is the same as the group ID of the associated group in Microsoft Entra ID.
{#msteams-spoke__ul_dsj_yhg_2hb}

## Integration Hub subscription {#msteams-spoke__section_rsf_yvb_l3b}

This spoke requires an Integration Hub subscription. For more information, see [Legal schedules - IntegrationHub overview](https://www.servicenow.com/content/dam/servicenow-assets/public/en-us/doc-type/legal/snc-addendum-integrationhub.pdf).

## Spoke version {#msteams-spoke__section_mlw_zrw_bsb}

Microsoft Teams Graph spoke v4.5.2 is the latest version.{#msteams-spoke__msteams-graph-ver}

## Supported version {#msteams-spoke__section_ypj_y4f_2hb}

Microsoft Graph REST API v1.0.

## Spoke dependencies {#msteams-spoke__section_ccw_jtw_byb}

If you're having trouble installing the app, confirm that these dependent plugins are installed:

* ServiceNow Integration Hub Runtime (com.glide.hub.integration.runtime)
* Flow Designer Model (com.glide.hub.designer_backend.model)
* Complex Object (com.glide.cobject)
* ServiceNow Integration Hub Action Step - REST (com.glide.hub.action_step.rest)
* ServiceNow Integration Hub Action Template - Data Stream (com.glide.hub.action_type.datastream)
* Remote Tables (com.glide.script.vtable)
* ServiceNow IntegrationHub Action Step - Get Connection Info (com.glide.hub.action_step.get_connection_info)
{#msteams-spoke__ul_e3x_p4g_h4b}  
Note:  
Some of these plugins are licensable features and require appropriate licenses, if used outside the spoke implementation.

## Spoke flows {#msteams-spoke__section_vgh_wl4_cyb}

The Microsoft Teams Graph spoke provides a sample flow, Post ServiceNow Incident Worknotes Updates to Microsoft Teams Chat, to demonstrate automating the task of posting a Microsoft Teams
chat message to the assigned user with details about the latest work notes added to the incident.

## Spoke subflows {#msteams-spoke__section_ccp_znw_byb}

The Microsoft Teams Graph spoke provides samples subflows to demonstrate automating the tasks. To customize a sample flow, copy it to the required application scope. Available sample subflows include:{#msteams-spoke__table_vpy_24w_byb__entry__2}

| Subflow | Description |
|-|-|
| Post Incident Details | Posts details of the required incident to a Microsoft Teams channel. |
| Process Inbound Notifications | Retrieves the details of the specified message based on the input data received from webhook subscription. |
| Renew Webhook Subscription Helper Subflow | Renews a subscription if renewal is required, which is decided based upon inputs. |
| Renew Webhook Subscriptions | Retrieves all the webhook subscriptions and renews them if renewal is required. |
| Subscribe Webhook | Creates a webhook subscription for the specified team's channel. |
[Table 1. Microsoft Teams Graph spoke subflows]

{#msteams-spoke__table_vpy_24w_byb}

## Spoke actions {#msteams-spoke__section_fmh_dpf_2hb}

The Microsoft Teams Graph spoke provides actions to automate team and channel tasks when an incident is created in the ServiceNow instance.

You can perform some actions by using the Microsoft Teams Spoke connection and the remaining actions by using the Microsoft Teams Graph Client Credentials connection.

The actions in the following table use the Microsoft Teams Spoke connection and credential alias record. These actions require the delegated permissions.  
{#msteams-spoke__table_lh1_44v_m1c__entry__4}

| Category | Action | Description | Permissions required (from least to most privileged) ||
|-|-|-|-|-|
| Application Management | Install Application to User | Installs the specified application in the personal scope of the user. | Delegated (work or school account) | TeamsAppInstallation.ReadWriteSelfForUser, TeamsAppInstallation.ReadWriteForUser |
| Application Management | Look up User App Installation | Retrieves the details of the specified application's installation for the user. | Delegated (work or school account) | TeamsAppInstallation.ReadForUser, TeamsAppInstallation.ReadWriteSelfForUser, TeamsAppInstallation.ReadWriteForUser |
| Calendar Management | Look up Schedules | Retrieves the availability information (free or busy) for a collection of users, distributions lists, or resources (rooms or equipment) for the specified time period. | Delegated (work or school account) | Calendars.Read, Calendars.ReadWrite |
| Channel Management | Add Member to Channel | Adds the specified member to the specified channel. | Delegated (work or school account) | ChannelMember.ReadWrite.All |
| Channel Management | Create Channel | Create a new channel in a team. | Delegated (work or school account) | Channel.Create, Group.ReadWrite.All, Directory.ReadWrite.All |
| Channel Management | Delete Channel | Removes the specified channel from the required team and deletes all conversations. | Delegated (work or school account) | Channel.Delete.All, Group.ReadWrite.All, Directory.ReadWrite.All |
| Channel Management | Look up Channel | Retrieves the properties and relationships of a channel. | Delegated (work or school account) | Channel.ReadBasic.All, ChannelSettings.Read.All, ChannelSettings.ReadWrite.All, Group.Read.All, Group.ReadWrite.All, Directory.Read.All, Directory.ReadWrite.All |
| Channel Management | Look up Channel by Name | Retrieves the Channel ID and properties given a channel name and team ID. | Delegated (work or school account) | Channel.ReadBasic.All, ChannelSettings.Read.All, ChannelSettings.ReadWrite.All, Group.Read.All, Group.ReadWrite.All, Directory.Read.All, Directory.ReadWrite.All |
| Channel Management | Look up Channel Members | Retrieves a list of channel members. | Delegated (work or school account) | ChannelMember.Read.All, ChannelMember.ReadWrite.All |
| Channel Management | Look up Channel Messages | Retrieves the list of messages in a channel of a team. | Delegated (work or school account) | ChannelMessage.Read.All |
| Channel Management | Look up Channels | Retrieves the list of channels in this team. | Delegated (work or school account) | Channel.ReadBasic.All, ChannelSettings.Read.All, ChannelSettings.ReadWrite.All, Group.Read.All, Group.ReadWrite.All, Directory.Read.All, Directory.ReadWrite.All |
| Channel Management | Remove Member from Channel | Removes the specified user from the specified channel. | Delegated (work or school account) | ChannelMember.ReadWrite.All |
| Chat Management | Create Chat | Creates a chat between the users. | Delegated (work or school account) | Chat.Create, Chat.ReadWrite |
| Chat Management | Look up Chat Message Deltas Stream | Retrieves the list of messages (without the replies) from a team's channel. | Delegated (work or school account) | Mail.ReadBasic, Mail.Read, Mail.ReadWrite |
| Chat Management | Look up Chat Message Deltas Stream | Retrieves the list of messages (without the replies) from a team's channel. | Delegated (personal Microsoft account) | Mail.ReadBasic, Mail.Read, Mail.ReadWrite |
| Chat Management | Look up Chat Messages | Retrieves the list of messages in a chat. | Delegated (work or school account) | Chat.Read, Chat.ReadWrite |
| Chat Management | Look up Chats | Retrieves the list of chats that the user is a part of. | Delegated (work or school account) | Chat.ReadBasic, Chat.Read, Chat.ReadWrite |
| Chat Management | Look up Message | Retrieves the details of the specified message. | Delegated (work or school account) | Chat.Read, Chat.ReadWrite |
| Chat Management | Look up Message Replies Stream | Retrieves the list of replies for the specified message from a team's channel. | Delegated (work or school account) | ChannelMessage.Read.All |
| Chat Management | Post Message to Chat | Posts message to a Microsoft Teams chat. | Delegated (work or school account) | ChatMessage.Send, Chat.ReadWrite, Group.ReadWrite.All |
| Notification Management | Post Change Details | Posts details of the required change to a Microsoft Teams channel. | Delegated (work or school account) | ChannelMessage.Send, Group.ReadWrite.All |
| Notification Management | Post Incident Details | Posts details of the required incident to a Microsoft Teams channel. | Delegated (work or school account) | ChannelMessage.Send, Group.ReadWrite.All |
| Notification Management | Post Message | Posts message to a Microsoft Teams channel. | Delegated (work or school account) | ChannelMessage.Send, Group.ReadWrite.All |
| Notification Management | Post Problem Details | Posts details of the required problem to a Microsoft Teams channel. | Delegated (work or school account) | ChannelMessage.Send, Group.ReadWrite.All |
| Notification Management | Post Reply to Message | Posts a reply to the specified message. | Delegated (work or school account) | ChannelMessage.Send, Group.ReadWrite.All |
| Notification Management | Post Record Details | Posts details of the specified record to the specified Microsoft Teams channel. | Delegated (work or school account) | ChannelMessage.Send, Group.ReadWrite.All |
| Team Management | Add Member to Team | Adds the specified user to the specified team. | Delegated (work or school account) | TeamMember.ReadWrite.All |
| Team Management | Archive Team | When a team is archived, users can no longer send or like messages on any channel in team or make Team setting updates. | Delegated (work or school account) | TeamSettings.ReadWrite.All, Group.ReadWrite.All, Directory.ReadWrite.All |
| Team Management | Create Team | Create a team from an existing Office 365 group. Note: The team ID is the same as the group ID. | Delegated (work or school account) | Group.ReadWrite.All, Directory.ReadWrite.All |
| Team Management | Delete Team | Deletes the specified team. | Delegated (work or school account) | Group.ReadWrite.All |
| Team Management | Look up Team | Retrieves the properties and relationships of a team. | Delegated (work or school account) | Team.ReadBasic.All, TeamSettings.Read.All, TeamSettings.ReadWrite.All, Group.Read.All, Group.ReadWrite.All, Directory.Read.All, Directory.ReadWrite.All |
| Team Management | Look up Team Members Stream | Retrieves list of team members. | Delegated (work or school account) | TeamMember.Read.All, TeamMember.ReadWrite.All |
| Team Management | Look up Teams by User | Lists teams of the user containing IDs and their display names. | Delegated (work or school account) | Team.ReadBasic.All, TeamSettings.Read.All, TeamSettings.ReadWrite.All, User.Read.All, User.ReadWrite.All, Directory.Read.All, Directory.ReadWrite.All |
| Team Management | Remove Member from Team | Removes the specified member from the specified team. | Delegated (work or school account) | TeamMember.ReadWrite.All |
| Team Management | Unarchive Team | Restores an archived team. Enables members to post to channels in the team, make comments, and like posts again. | Delegated (work or school account) | TeamSettings.ReadWrite.All, Group.ReadWrite.All, Directory.ReadWrite.All |
| Team Management | Update Team | Updates the properties of a specific team. | Delegated (work or school account) | TeamSettings.ReadWrite.All, Group.ReadWrite.All, Directory.ReadWrite.All |
[Table 2. Microsoft Teams Graph spoke actions that use the Microsoft Teams Spoke connection and credential alias]

{#msteams-spoke__table_lh1_44v_m1c}

The actions in the following table use the Microsoft Teams Graph Client connection and credential alias record. These actions require the application permissions.  
{#msteams-spoke__table_dwd_mrq_byb__entry__4}

| Category | Action | Description | Permissions required (from least to most privileged) ||
|-|-|-|-|-|
| Calendar Management | Create Meeting | Creates an online meeting event in the MS Teams calendar. | Application | Calendars.ReadWrite |
| Calendar Management | Delete Meeting | Deletes meeting event from the MS Teams calendar. | Application | Calendars.ReadWrite |
| Calendar Management | Look up Meeting | Retrieves meeting event details from the MS Teams calendar. | Application | Calendars.Read |
| Calendar Management | Look up Meeting Occurrences | Retrieves recurrence child meeting ID from the MS Teams calendar. | Application | Calendars.Read |
| Calendar Management | Look up Meetings Stream | Retrieves meeting events details from the MS Teams calendar. | Application | Calendars.Read, Calendars.ReadWrite |
| Calendar Management | Update Meeting | Creates an online meeting event in the MS Teams calendar. | Application | Calendars.ReadWrite |
| Webhook Management | Look up Webhook Subscription | Retrieves details of the required webhook subscription. | Application | ChannelMessage.Read.All, Chat.Read.All |
| Webhook Management | Look up Webhook Subscriptions Stream | Retrieves details of all webhook subscriptions. | Application | ChannelMessage.Read.All, Chat.Read.All |
| Webhook Management | Renew Webhook Subscription | Renews the specified webhook subscription. | Application | ChannelMessage.Read.All, Chat.Read.All |
| Webhook Management | Subscribe Webhook | Creates a webhook subscription for the specified resource. | Application | ChannelMessage.Read.All, Chat.Read.All |
| Webhook Management | Unsubscribe Webhook | Deletes the specified webhook subscription. | Application | ChannelMessage.Read.All, Chat.Read.All |
[Table 3. Microsoft Teams Graph spoke actions that use the Microsoft Teams Graph Client Credentials connection and credential alias]

{#msteams-spoke__table_dwd_mrq_byb}  
Important:  
Ensure that you're aware about these default spoke configurations.

* By default, the grant type is set to Authorization Code.
* All actions in the Application Management, Channel Management, Chat Management, Notification Management, and Team Management categories, and Look up Schedules action in the Calendar Management category use the Microsoft Teams Spoke connection and credential alias and these actions require delegated permissions.
* The Calendar and Webhook Management spoke actions (except Lookup schedules action in Calendar Management) use the Microsoft Teams Graph Client Credentials connection and credential alias and these actions require application permissions.

{#msteams-spoke__ul_vlg_r4c_51c}

If you want to use the Microsoft Teams Graph Spoke without user interaction, you should change the grant type to Client Credentials so that the ServiceNow application can access the Microsoft Teams
Graph API without user involvement. For instructions on how to change grant type and the required configurations, see the [Knowledge Base article - KB1635160](https://support.servicenow.com/kb?id=kb_article_view&sysparm_article=KB1635160) on [ServiceNow - NOW Support](https://support.servicenow.com/now).

For more information about the required permissions, see [Microsoft Teams documentation](https://docs.microsoft.com/en-gb/).  
Note:  
Some of the spoke actions require the channel ID, group ID, or team ID as one of the inputs. To learn these details, log in to Microsoft Teams, navigate to Teams, and click Get link to channel for the required channel. The channel link contains the required details. For example, if the channel link is <kbd class="ph userinput">https://teams.microsoft.com/l/channel/ 19%3a1aa3730712e245a0af31e4095d66d613%40thread.skype /New%2520channel%2520in%2520team? groupId= 7fb91938-5e8c-4968-bf7d-3987df7716f3 &amp;tenantId= a46df9b7-2c9b-49d5-8c9f-d1b3de4ba59f</kbd>, the group ID and team ID are <kbd class="ph userinput">7fb91938-5e8c-4968-bf7d-3987df7716f3</kbd>, and the channel ID is<kbd class="ph userinput">19:1aa3730712e245a0af31e4095d66d613@thread.skype</kbd> or <kbd class="ph userinput">1aa3730712e245a0af31e4095d66d613</kbd>.

For more information about accessing the channel ID and group ID through Microsoft Teams, see [Microsoft Teams documentation](https://docs.microsoft.com/en-gb/).

## Available AI agents {#msteams-spoke__section_wqm_l1y_n2c}

Install Now Assist for Integration Hub and start using the available AI agents. For more information, see [Now Assist for Integration Hub](https://www.servicenow.com/docs/viy2Rs8UxQxzXVqad8moQg "Use the ServiceNow Now Assist AI agents to mimic human-like intelligence by using Large Language Models (LLMs) to perform tasks that range from simple automated responses to complex problem-solving. Utilize the conversational ability of Integration Hub spoke actions.").  
This spoke provides standalone AI agents that mimic human-like intelligence to perform tasks in your ServiceNow instance.

* In the ServiceNow agentic system, you can create an agentic workflow that comprises of a set of large language model (LLM) instructions along with one or more standalone AI agents to execute an objective. See [Create an agentic workflow](https://www.servicenow.com/docs/access?context=configure-use-case-ai-agents&version=zurich&pubname=zurich-intelligent-experiences&ft:locale=en-US) for information about adding AI agents to create agentic workflows as per your requirement and provide the required trigger.

  You can also search for other
  available AI agents and add them to your agentic workflow. See [Find AI agents](https://www.servicenow.com/docs/access?context=find-ai-agents&version=zurich&pubname=zurich-intelligent-experiences&ft:locale=en-US) for more information.
* You can create a clone of the required spoke AI agent and customize it as per your requirement. See [Duplicate an AI agent](https://www.servicenow.com/docs/access?context=clone-ai-agent&version=zurich&pubname=zurich-intelligent-experiences&ft:locale=en-US) for more information about creating a clone.
* See [AI Agent Studio](https://www.servicenow.com/docs/access?context=na-ai-agents&version=zurich&pubname=zurich-intelligent-experiences&ft:locale=en-US) for information about AI agents.
{#msteams-spoke__ul_tjz_vtr_m2c}  
Available AI agents include:{#msteams-spoke__table_gtm_w1y_n2c__entry__2}

| AI Agent | Description |
|-|-|
| Microsoft Teams application management AI agent | Automates tasks related to Microsoft Teams and Integration Hub. Performs actions such as looking up app installations and installing applications for the users. |
| Microsoft Teams channel management AI agent | Manages Microsoft Teams channels through IntegrationHub. It provides capabilities such as creating channels, managing members, and retrieving channel information. |
| Microsoft Teams chat management AI agent | Automates workflows between ServiceNow and Microsoft Teams by providing capabilities such as looking up chats and messages. |
| Microsoft Teams notification management AI agent | Automates communication between ServiceNow and Microsoft Teams by sending messages, updates, and replies to Microsoft Teams channels. The agent supports actions like 'Post Change Details', 'Post Message', and 'Post Reply to Message' to ensure effective notification management for change requests. |
| Microsoft Teams team management AI agent | Automates tasks such as creating and managing Teams, adding or removing members, and retrieving team-related information. Enhances team management and communication workflows within an organization. |
| Microsoft Teams calendar management AI agent | Automates workflows between ServiceNow and Microsoft Teams. Provides calendar management capabilities. Performs actions such as deleting, and retrieving meeting details. |
[ ]

{#msteams-spoke__table_gtm_w1y_n2c}

There might be AI agents installed on your instance that are not used in agentic workflows. To learn how to see all agents that are available to you, see [Find AI agents](https://www.servicenow.com/docs/access?context=find-ai-agents&version=zurich&pubname=zurich-intelligent-experiences&ft:locale=en-US).  
Note:  
Ensure that the user running an AI agent has the required roles and permissions to access data or perform operations on data in the table that is associated with the AI agent.

## Spoke modules {#msteams-spoke__section_lb3_f1n_cyb}

The Microsoft Teams Graph spoke adds the Microsoft Teams Graph Spoke to your ServiceNow instance and includes these modules.{#msteams-spoke__table_qdk_k1n_cyb__entry__2}

| Module | Description |
|-|-|
| Delta Token | Displays the list of available Delta Tokens. |
| Webhook Registry | Displays the list of available webhook registries. |
| Webhook Decision Policy | Displays the list of decision policies. |
| Webhook Subscriptions | Displays the details of webhook subscriptions. |
[Table 4. Microsoft Teams Graph spoke modules]

{#msteams-spoke__table_qdk_k1n_cyb}

## Microsoft account requirements {#msteams-spoke__section_dnh_nrg_2hb}

The Microsoft Teams Graph spoke requires registering an application using the Microsoft Azure portal to generate OAuth 2.0 tokens.

## Connection and credential alias requirements {#msteams-spoke__section_s2c_prg_2hb}

Integration Hub uses aliases to manage connection and credential information, and OAuth credentials. Using an alias eliminates the need to configure multiple credentials and connection information
profiles when using multiple environments. If the connection or credential information changes, you don't need to update any actions that use the connection.

For information about setting up the spoke, see
[Set up the Microsoft Teams Graph spoke](https://www.servicenow.com/docs/ja38tuyNsgSZnupTuzQPGw#set-up-msteams "Integrate the ServiceNow instance and Microsoft Teams account by creating a custom OAuth application in Microsoft Azure portal to authenticate ServiceNow requests.").

## MID Server requirements {#msteams-spoke__section_gsl_trg_2hb}

The Microsoft Teams Graph spoke actions use REST calls, which can run on an instance or a MID Server. Use the connection record associated with the Microsoft alias to configure where actions run as well as set MID Server selection attributes. For more information, see [MID server](https://www.servicenow.com/docs/access?context=mid-server-landing&version=zurich&pubname=zurich-servicenow-platform&ft:locale=en-US).

To set up the MID Server for this spoke, see [Set up MID Server for a spoke](https://www.servicenow.com/docs/vBsVe9yQMxv2CGOFt_dQ4Q "Configure MID Server settings on your ServiceNow instance that enables it to integrate with a third-party application via MID Server after you have set up the connection record for a spoke.").

