US English (US)
FR French
DE German
PL Polish
SE Swedish
FI Finnish

Contact Us

If you still have questions or prefer to get help directly from an agent, please submit a request.
We’ll get back to you as soon as possible.

Please fill out the contact form below and we will reply as soon as possible.

English (US)
US English (US)
FR French
DE German
PL Polish
SE Swedish
FI Finnish
  • Log in
  • Home
  • Identity Governance and Administration (IGA)
  • IGA solution library
  • Instructions & guidelines
  • Configure connectors

Microsoft Teams integration

Microsoft Teams integration with Microsoft Graph API connector

Contact Us

If you still have questions or prefer to get help directly from an agent, please submit a request.
We’ll get back to you as soon as possible.

Please fill out the contact form below and we will reply as soon as possible.

  • Service Management
    Matrix42 Professional Solution Matrix42 Core Solution Enterprise Service Management Matrix42 Intelligence
  • Identity Governance and Administration (IGA)
    IGA overview IGA solution library
  • Platform
    ESM ESS2 ESS Efecte Chat for Service Management Integrations Add-ons
  • Release Notes for M42 Professional, IGA, Conversational AI
    2026.1 2025.3 2025.2 2025.1 2024.2 2024.1 2023.4 2023.3 2023.2 2023.1 2022.4 2022.3 Release Information and Policies
  • Other Material
    Terms & Documentation Guidelines Accessibility Statements
  • Services
+ More
    • Service Management

    • Identity Governance and Administration (IGA)

    • Platform

    • Release Notes for M42 Professional, IGA, Conversational AI

    • Other Material

    • Services

Microsoft Teams integration

Microsoft Teams integration with Microsoft Graph API connector

Microsoft Teams integration capabilities are included in the Microsoft Graph API Connector (formerly known as the Entra ID Connector).

With the Microsoft Graph API Connector, you have been able to read data from Microsoft Teams. Starting from version 2025.2, you can also perform actions towards Microsoft Teams and make changes within the Microsoft Teams environment. Together, these capabilities deliver tangible business value across four key areas:

Improved Visibility and Control: Near real-time access to Microsoft Teams related data, such as users, channels, and team memberships. 

Automation and Efficiency: Automated actions reduce manual effort, speed up response times, and streamline processes.

Strategic Integration and Innovation: Seamless integration with other IT systems enables advanced automation, improved governance, and supports broader digital transformation initiatives.

Microsoft Teams integration can be build with Microsoft Graph API Connector. 

For Customer instructions, see https://docs.efecte.com/customer-instructions/efecte-provisioning-engine-customer-instructions-for-entra-id

Microsoft Graph API documentation related to Teams integration: https://learn.microsoft.com/en-us/graph/api/resources/teams-api-overview?view=graph-rest-1.0

 

Examples of use-cases with Teams are

  • Reading Teams and channels information
  • Team Membership Management
  • Team Lifecycle Management
  • Team Ownership Validation
  • Integration with user lifecycle processes
  • Event-Driven Team Creation
  • Event-Driven Channel Creation

 

Read Microsoft Teams teams

Azure application permissions

For Teams import, application in Azure needs these permissions

For Customer instructions, see https://docs.efecte.com/customer-instructions/efecte-provisioning-engine-customer-instructions-for-entra-id

Permission type Permissions
Application

Group.Read.All, Team.ReadBasic.All

and 

(Channel.ReadBasic.All or Channel.Read.All)

 

Queries for Scheduled Task

Query: groups?$filter=resourceProvisioningOptions/Any(x:x eq 'Team')

Subqueries: 

teams/{id}/channels

teams/{id}/members

 

Mappings for Scheduled Task

Always use Generic Template for Teams Mappings Type:

External attribute Local attribute More info
id team_id Unique id of team
displayName team_displayName  
description team_description  
visibility team_visibility Public or private team
teams/{id}/channels.id channel_id

List of team channels ids

This attribute must be multivalue

teams/{id}/members.userId team_members

List of team members ids

This attribute must be multivalue

 

Open topic: Would it be better to fetch also channel details (displayname, description etc.) to another multivalue attribute in this scheduled task, or fetch those channel by channel from workflow Orchestration node.

 
 

Event-based tasks (actions for) Microsoft teams and channels

Azure application permissions

For Teams actions, application in Azure needs permissions. To set correct permissions see: https://docs.efecte.com/customer-instructions/efecte-provisioning-engine-customer-instructions-for-entra-id and https://learn.microsoft.com/en-us/graph/permissions-reference

 

Event-Based Task

Url for Event-Based task can be empty. Final url to call is build by combining connector url and workflow node url.

Mappings for Event-Based Task

Header for Event-based Task

No need to set extra headers, Connector management sets this automatically:

Content-type application/json

 

Workflow Node

On Workflow Orchestration node, select these Orchestrate, Data Source and Activity:

Select event-based task you made for this action. You can also use one event-based task for many actions.

Most of these actions use http method POST. Remember to set correct method for Workflow Orchestration node for these actions.


Get channel information

Action: GET

URL: teams/{team-id}/channels/{channel-id}

Body: (none)

 

In Workflow, parse resultset json from “REST response attribute” attribute, to create reference datacard of channel.

Example of returned resultset json when {team-id} team contains 2 channels:

{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#teams('4f694c90-2dff-4c23-b1c8-91b1a70aef3b')/channels",
"@odata.count": 2,
"value": [
{
"id": "19:5c0256776d504094a6b0ba7b882581a4@thread.tacv2",
"createdDateTime": "2025-02-18T10:29:47.29Z",
"displayName": "test channel 1",
"description": "test channel 1 description",
"isFavoriteByDefault": null,
"email": null,
"tenantId": "cbd5fb36-dd24-4d23-8d01-2f11df085a52",
"webUrl": "https://teams.microsoft.com/l/channel/19%3A5c0256776d504094a6b0ba7b882581a4%40thread.tacv2/test%20channel%201?groupId=4f694c90-2dff-4c23-b1c8-91b1a70aef3b&tenantId=cbd5fb36-dd24-4d23-8d01-2f11df085a52&allowXTenantAccess=True&ngc=True",
"membershipType": "standard",
"isArchived": false
},
{
"id": "19:qiNEscP-fIdfQ8CH72cfswzrdmwJ9Ay5sMd5YIuun9M1@thread.tacv2",
"createdDateTime": "2025-02-18T10:29:15.82Z",
"displayName": "General",
"description": "general test channel",
"isFavoriteByDefault": null,
"email": "Testteam1@efectebaselinedev.onmicrosoft.com",
"tenantId": "cbd5fb36-dd24-4d23-8d01-2f11df085a52",
"webUrl": "https://teams.microsoft.com/l/channel/19%3AqiNEscP-fIdfQ8CH72cfswzrdmwJ9Ay5sMd5YIuun9M1%40thread.tacv2/Test%20team%201%20updated?groupId=4f694c90-2dff-4c23-b1c8-91b1a70aef3b&tenantId=cbd5fb36-dd24-4d23-8d01-2f11df085a52&allowXTenantAccess=True&ngc=True",
"membershipType": "standard",
"isArchived": false
}
]
}

Create a Team

Action: POST

URL: teams

Body example:

{  "template@odata.bind": "https://graph.microsoft.com/v1.0/teamsTemplates('standard')",  "displayName": "Example Team 1",  "description": "Team for the example project",  "members": [    {      "@odata.type": "#microsoft.graph.aadUserConversationMember",      "roles": ["owner"],      "user@odata.bind": "https://graph.microsoft.com/v1.0/users('{user-id}')"    }  ] } 

Microsoft documentation for API


Update a Team

Action: PATCH

URL: teams/{team-id}

Body example:

{  "funSettings": {    "allowGiphy": true,    "giphyContentRating": "moderate"  },  "guestSettings": {    "allowCreateUpdateChannels": false  } } 

Microsoft documentation for API


Archive a Team

Action: POST

URL: teams/{id}/archive

Body example: {"shouldSetSpoSiteReadOnlyForMembers": true}

Microsoft documentation for API


Add Member(s) to a Team

Action: POST

URL: /teams/{team-id}/members

Body example:

{ "@odata.type": "#microsoft.graph.aadUserConversationMember",    "roles": ["owner"],    "user@odata.bind": "https://graph.microsoft.com/v1.0/users('8b081ef6-4792-4def-b2c9-c363a1bf41d5')" }

Microsoft documentation for API


Remove Member from a Team

Action: DELETE

URL: /teams/{team-id}/members/{membership-id}

Body: (none)

https://learn.microsoft.com/en-us/graph/api/team-delete-members?view=graph-rest-1.0&tabs=http

 
 

Microsoft Application permissions for Teams and channels

Add correct permissions based on your use case need.

User scope type Application:

Operation Type Permission Notes
Discover teams Application Team.ReadBasic.All Enumerate all teams in tenant.
Manage team settings Application TeamSettings.ReadWrite.All

Read/update team settings; 

not supported for personal 

Microsoft accounts.

Create channels (any team) Application Channel.Create

Create standard/private channels in 

any team.

Read channels (metadata) Application Channel.ReadBasic.All

Read channel lists and basic info 

across tenant.

Read channel settings Application ChannelSettings.Read.All Read all channel properties/settings.
Edit channel settings Application ChannelSettings.ReadWrite.All

Modify channel name, description, 

moderation settings.

Manage team membership Application TeamMember.ReadWrite.All

Add/remove members and change 

roles (guest add not supported).

Read channel membership Application ChannelMember.Read.All

Read membership of all standard/

private/shared channels.

Manage channel membership Application ChannelMember.ReadWrite.All

Add/remove/update members in 

private/shared channels.

Read channel messages Application ChannelMessage.Read.All

Read all channel messages tenant-wide

 (compliance/audit).

 
 

Known restrictions

Restrictions in 2025.2 and older versions

More than 1 level of subqueries are not supported, for performance reasons.

More than 1 subquery is not supported.

Connector doesn't yet support marking Teams/channel objects deleted to Matrix42 Core,Pro,IGA when object is deleted from Microsoft Teams.

 
 

 

 

 

teams graph api channels microsoft teams

Was this article helpful?

Yes
No
Give feedback about this article

Table of Contents

Related Articles

  • Connector Workflow activities
  • Configure: EPE for reading data from SCIM with Entra
  • Configure: EPE Create data card to target ESM
  • Configure: EPE Delete data card from target ESM
  • Connectors - general functionalities

Copyright 2026 – Matrix42 Professional.

Matrix42 homepage


Knowledge Base Software powered by Helpjuice

0
0
Expand