--- title: "Integrate with Microsoft Teams" slug: "integrating-with-microsoft-teams" description: "Microsoft Teams provides its users a collaborative online platform to chat by text, have a video chat, share documents, and other tools. Using Microsoft Teams with Microsoft's Azure Cloud system, users can integrate with a Microsoft Teams app or channel within a Flow that is configured as a REST integration." updated: 2026-07-13T17:36:36Z published: 2026-07-13T17:36:36Z canonical: "documentation.decisions.com/integrating-with-microsoft-teams" --- > ## Documentation Index > Fetch the complete documentation index at: https://documentation.decisions.com/llms.txt > Use this file to discover all available pages before exploring further. # Integrate with Microsoft Teams ## Overview **Microsoft** **Teams** provides its users a collaborative online platform to chat by text, have a video chat, share documents, and other tools. Using Microsoft Teams with Microsoft's Azure Cloud system, users can integrate with a Microsoft Teams app or channel within a Flow that is configured as a REST integration. ### Prerequisites - Microsoft Teams Account and channel - [Registered application in Azure](https://docs.microsoft.com/en-us/graph/auth-register-app-v2) ## Example ### Configuring Microsoft Teams as an OAuth Provider and Creating a Token 1. Following [Establishing an OAuth Provider](/v8/docs/establishing-an-oauth-provider), enter "https://login.microsoftonline.com/common/oauth2/v2.0/token" for the **Token Request URL** and "https://login.microsoftonline.com/common/oauth2/v2.0/authorize" for **Authorize URL**. 2. Provide the **Default** **Consumer** **Key**, **Callback** **URL**, and the **Default Consumer Secret Key**. Click SAVE.  | Field Name | Value | | --- | --- | | Callback URL | Redirect URI for the application | | Default Consumer Key | The Application Client ID (under the Overview page for the application in Azure) | | Default Secret Key | Secret Key (under the Certificates & Secrets page of the application in Azure) | ![](https://cdn.document360.io/6ef8bcc1-6489-4486-9ad1-83acff7e5df0/Images/Documentation/image-1783004309831.png) 3. Following [Creating OAuth Tokens](/v8/docs/creating-oauth-tokens), under **OAuth** **Flow**, select **Authorization** **Code**. Provide the **Scope** for the Token by entering "https://graph.microsoft.com/User.Read https://graph.microsoft.com/Group.Read.All https://graph.microsoft.com/Group.ReadWrite.All https://graph.microsoft.com/ChannelMessage.Send offline_access". 4. Click **Request****Token** and click OK.![](https://cdn.document360.io/6ef8bcc1-6489-4486-9ad1-83acff7e5df0/Images/Documentation/image-1783004327099.png) --- ### Setting up REST Integration 1. Following [REST Service Integration Overview](/v8/docs/rest-service-integration-overview), under **Service URL**, enter "https://graph.microsoft.com/v1.0". Under the AUTHENTICATION category, select **Use** **OAuth**. Select the **Use Custom Tag in Auth Header** option. In the **Custom Tag for Auth Header** box, enter "Bearer" and click SAVE INTEGRATION. ![](https://cdn.document360.io/6ef8bcc1-6489-4486-9ad1-83acff7e5df0/Images/Documentation/image-1783004345960.png) 2. From the newly created REST Service's Folder, select **All > Add Method to Service**. From the **New REST Service Method** window, under **URL (Relative to Base)**, enter "/teams/{teamid}/channels/{channelid}/messages". 3. Under the **HTTP Method field**, select POST. Under the **Content Type** field, select JSON. Under the **Request Body Format** field, select **Get String From Flow**. For **Step Output Type**, select **Raw Value**. Click OK.![](https://cdn.document360.io/6ef8bcc1-6489-4486-9ad1-83acff7e5df0/Images/Documentation/image-1783004368549.png)Note on URL The Team and Channel ID's represent the unique value belonging to the integrated channel. To obtain the **Team** **ID**, navigate to Microsoft Teams, click the ellipses beside the **Team** **Name** and select **Get link to team**. Copy the **Group** **ID** from the URL.![](https://cdn.document360.io/6ef8bcc1-6489-4486-9ad1-83acff7e5df0/Images/Documentation/2021-05-20_10h46_00.png) ![](https://cdn.document360.io/6ef8bcc1-6489-4486-9ad1-83acff7e5df0/Images/Documentation/2021-05-20_10h58_58.png) To get the **Channel** **ID**, select the ellipses beside the Channel Name and click the **Get link to channel.** Copy the text between "channel/" and "/{CHANNELNAME}" from the URL. --- ### Using Integration Steps 1. In a Designer Project, [create a new Flow](/v8/docs/create-flows). 2. Attach a **Custom Merge [NVelocity]** step to the **Start** step by navigating to **DATA > TEXT** in the **Toolbox** panel. On the **Properties** panel of the Custom Merge step, enter in the below JSON text into the **Template** field. Enter "This is a test message." in the **Message** field.   ```json { "body": { "content": "$Message" } } ``` ![](https://cdn.document360.io/6ef8bcc1-6489-4486-9ad1-83acff7e5df0/Images/Documentation/image-1780416013493.png) 3. In the Toolbox, navigate to **INTEGRATION > REST SERVICES > [REST SERVICE NAME]**, and attach the REST Service method step to the Custom Merge step. From the Properties panel, , set the **OAuth Token** field to Constant and select the respective **Token** from the dropdown. Then, **Select From Flow** map **MergedString** to **Request** **Body**.![](https://cdn.document360.io/6ef8bcc1-6489-4486-9ad1-83acff7e5df0/Images/Documentation/image-1780416084954.png) 4. Connect both the **Done** and **Error** paths to the **End** step. Click **Save** to save the Flow.![](https://cdn.document360.io/6ef8bcc1-6489-4486-9ad1-83acff7e5df0/Images/Documentation/image-1780416105018.png) ### Debug 1. On the top action bar, click **Debug.** 2. Click START DEBUGGING. 3. After the Flow runs, verify that the message was sent by navigating to the Channel in Microsoft Teams and checking the Posts tab.![](https://cdn.document360.io/6ef8bcc1-6489-4486-9ad1-83acff7e5df0/Images/Documentation/2021-05-20_12h11_35.png)