Skip to content

Conversation

@Aviatorscode2
Copy link
Contributor

@Aviatorscode2 Aviatorscode2 commented Dec 3, 2025

Summary by CodeRabbit

  • Documentation
    • Replaced webhook-based MS Teams guide with a Bot-based, multi-tenant Azure AD setup and retained webhook fallback.
    • Added step-by-step onboarding for app identity, client secret/OAuth, Graph permissions, bot creation, Teams app configuration, and publishing.
    • Documented new bot-based delivery for channel and direct-message notifications and updated endpoint usage for ms_teams_channel and ms_teams_user.

✏️ Tip: You can customize this high-level summary in your review settings.

@linear
Copy link

linear bot commented Dec 3, 2025

MRK-1164 MS teams

@netlify
Copy link

netlify bot commented Dec 3, 2025

Deploy Preview for docs-novu ready!

Name Link
🔨 Latest commit 6e1ded7
🔍 Latest deploy log https://app.netlify.com/projects/docs-novu/deploys/6932006d2768ee000870a16c
😎 Deploy Preview https://deploy-preview-1017--docs-novu.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Dec 3, 2025

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately summarizes the main change in the pull request, which involves documentation content updates for MS Teams chat integration.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch MRK-1164

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 6

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 6648ba1 and 6907826.

⛔ Files ignored due to path filters (11)
  • public/images/channels-and-providers/chat/msteams/add-permissions.png is excluded by !**/*.png
  • public/images/channels-and-providers/chat/msteams/add-redirect-uri.png is excluded by !**/*.png
  • public/images/channels-and-providers/chat/msteams/app-registrations.png is excluded by !**/*.png
  • public/images/channels-and-providers/chat/msteams/azure-bot.png is excluded by !**/*.png
  • public/images/channels-and-providers/chat/msteams/certificates-and-secret.png is excluded by !**/*.png
  • public/images/channels-and-providers/chat/msteams/client-secret.png is excluded by !**/*.png
  • public/images/channels-and-providers/chat/msteams/create-app.png is excluded by !**/*.png
  • public/images/channels-and-providers/chat/msteams/create-azure-bot.png is excluded by !**/*.png
  • public/images/channels-and-providers/chat/msteams/create-incoming-webhook.gif is excluded by !**/*.gif
  • public/images/channels-and-providers/chat/msteams/go-to-resource.png is excluded by !**/*.png
  • public/images/channels-and-providers/chat/msteams/register-application.png is excluded by !**/*.png
📒 Files selected for processing (1)
  • content/docs/platform/integrations/chat/(providers)/ms-teams.mdx (1 hunks)
🧰 Additional context used
🪛 LanguageTool
content/docs/platform/integrations/chat/(providers)/ms-teams.mdx

[style] ~72-~72: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...rs/chat/msteams/add-permissions.png) 4. Click Application permissions. 4. Search ...

(ENGLISH_WORD_REPEAT_BEGINNING_RULE)


[style] ~112-~112: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...ssection, click Microsoft Teams. 5. In the menu that appears, accept the terms...

(ENGLISH_WORD_REPEAT_BEGINNING_RULE)


[style] ~113-~113: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...pears, accept the terms of services. 6. In the Messaging section, choose the a...

(ENGLISH_WORD_REPEAT_BEGINNING_RULE)


[style] ~122-~122: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...+ New app and then enter a name. 4. Click Add. 5. In the basic information pa...

(ENGLISH_WORD_REPEAT_BEGINNING_RULE)


[grammar] ~128-~128: Ensure spelling is correct
Context: ...ication” 9. Enable scopes based on your usecase: - team (for channel messages) - `personal...

(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)


[style] ~136-~136: The adverb “publically” isn’t commonly used. Consider using the shorter “publicly”.
Context: ...p to a Teams store, if you want the app publically available in the store or publish to or...

(PUBLICALLY)

⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (4)
  • GitHub Check: Redirect rules - docs-novu
  • GitHub Check: Header rules - docs-novu
  • GitHub Check: Pages changed - docs-novu
  • GitHub Check: Build and Lint

Aviatorscode2 and others added 3 commits December 4, 2025 12:06
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 3

♻️ Duplicate comments (3)
content/docs/platform/integrations/chat/(providers)/ms-teams.mdx (3)

111-111: Fix typo: "channelssection" → "channels section".

-4. In the available channelssection, click **Microsoft Teams**.
+4. In the available channels section, click **Microsoft Teams**.

128-128: Fix spelling: "usecase" → "use case".

-9. Enable scopes based on your usecase:
+9. Enable scopes based on your use case:

86-86: Fix double comma in step.

-1. In the Azure portal left menu,, click **Create a resource**.
+1. In the Azure portal left menu, click **Create a resource**.
📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 6907826 and 8ff940b.

⛔ Files ignored due to path filters (1)
  • public/images/channels-and-providers/chat/msteams/novu-msteams-integration.png is excluded by !**/*.png
📒 Files selected for processing (1)
  • content/docs/platform/integrations/chat/(providers)/ms-teams.mdx (1 hunks)
🧰 Additional context used
🪛 LanguageTool
content/docs/platform/integrations/chat/(providers)/ms-teams.mdx

[style] ~72-~72: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...rs/chat/msteams/add-permissions.png) 4. Click Application permissions. 5. Search ...

(ENGLISH_WORD_REPEAT_BEGINNING_RULE)


[style] ~112-~112: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...ssection, click Microsoft Teams. 5. In the menu that appears, accept the terms...

(ENGLISH_WORD_REPEAT_BEGINNING_RULE)


[style] ~113-~113: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...pears, accept the terms of services. 6. In the Messaging section, choose the a...

(ENGLISH_WORD_REPEAT_BEGINNING_RULE)


[style] ~122-~122: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...+ New app and then enter a name. 4. Click Add. 5. In the basic information pa...

(ENGLISH_WORD_REPEAT_BEGINNING_RULE)


[grammar] ~128-~128: Ensure spelling is correct
Context: ...ication” 9. Enable scopes based on your usecase: - team (for channel messages) - `personal...

(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)


[grammar] ~162-~162: Use a hyphen to join words.
Context: ...messages, they must grant your app a one time admin consent. This authorizes your...

(QB_NEW_EN_HYPHEN)


[style] ~196-~196: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...onsent page listing the permissions. 4. They clicks Accept. When this is done, ...

(ENGLISH_WORD_REPEAT_BEGINNING_RULE)


[style] ~207-~207: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...st be installed in the specific Team. - For direct messages (DMs): The app must be ...

(ENGLISH_WORD_REPEAT_BEGINNING_RULE)

⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
  • GitHub Check: Build and Lint
🔇 Additional comments (5)
content/docs/platform/integrations/chat/(providers)/ms-teams.mdx (5)

284-284: Remove stray comma after integrationIdentifier.

 {
   "identifier": "msteams-main-notifications",
   "integrationIdentifier": "ms-teams-bot-1",
-  "providerId": "msteams",
+  "providerId": "msteams",

Actually, looking more carefully, this appears to be valid JSON. Let me verify the structure by checking line 284:

   "integrationIdentifier": "ms-teams-bot-1",
   "providerId": "msteams",

This is correct JSON.


1-50: Comprehensive bot-based integration setup is well-structured.

The introduction and Azure AD app registration steps are clear and logically sequenced. Multi-tenant setup, client secret management, redirect URI configuration, and Graph permissions are thoroughly documented. Good use of images and field explanations.


142-198: Novu configuration and customer tenant authorization flow is comprehensive.

The OAuth consent flow, bot installation instructions, and distinction between admin consent and app installation are explained well. The section on channel vs. DM delivery contexts is helpful.


219-354: Channel and user endpoint registration is detailed and accurate.

The guidance on discovering Team/Channel IDs via Microsoft Graph, registering endpoints in Novu, and using the Bot Framework API for user roster lookups is thorough. The JSON examples for ms_teams_channel and ms_teams_user endpoint creation are clear.


356-389: Webhook fallback workflow for simplified Teams integration is a good addition.

Providing users with a simplified webhook-based alternative for channel-only scenarios without app registration is practical and lowers the barrier to entry for simpler use cases.


## Let your customers connect their tenant

Each of your customers has their own Microsoft 365 tenant. Before you can send them messages, they must grant your app a one time admin consent. This authorizes your bot to act within their environment.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Hyphenate "one time" to "one-time".

-Before you can send them messages, they must grant your app a one time admin consent.
+Before you can send them messages, they must grant your app a one-time admin consent.
🧰 Tools
🪛 LanguageTool

[grammar] ~162-~162: Use a hyphen to join words.
Context: ...messages, they must grant your app a one time admin consent. This authorizes your...

(QB_NEW_EN_HYPHEN)

🤖 Prompt for AI Agents
content/docs/platform/integrations/chat/(providers)/ms-teams.mdx around line
162: the phrase "one time admin consent" should be hyphenated as "one-time admin
consent"; update the sentence to replace "one time" with "one-time" so it reads
"they must grant your app a one-time admin consent."

"channel": "chat",
"subscriberId": "689c4a87c5bdaa96aaef0cfd",
"workspace": {
"id": "e6633b86-ef94-4416-863f-f0f409700ca0" // this
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Remove incomplete comment.

Line 250 contains a dangling comment // this. Please clarify or remove:

-    "workspace": {
-      "id": "e6633b86-ef94-4416-863f-f0f409700ca0" // this
+    "workspace": {
+      "id": "e6633b86-ef94-4416-863f-f0f409700ca0" // the customer's tenant workspace ID
🤖 Prompt for AI Agents
In content/docs/platform/integrations/chat/(providers)/ms-teams.mdx around line
250, the JSON-like line contains a dangling inline comment "// this"; remove the
incomplete comment (or replace it with a clear explanatory comment or text if
intended) so the line becomes valid and unambiguous (e.g., keep only the id
field value or add a full sentence explaining the purpose of the id).


Checkout step by step instructions on microsoft team's documentation on how to [create an incoming webhook url](https://docs.microsoft.com/en-us/microsoftteams/platform/webhooks-and-connectors/how-to/add-incoming-webhook?tabs=newteams%2Cjavascript).
Before you can configure Novu, you must create the infrastructure that hosts your bot. This involves two distinct portals:
- Azure portal: To create the identity (App Registration) and infrastructure (Bot Service).
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bold text before the colon.

Checkout step by step instructions on microsoft team's documentation on how to [create an incoming webhook url](https://docs.microsoft.com/en-us/microsoftteams/platform/webhooks-and-connectors/how-to/add-incoming-webhook?tabs=newteams%2Cjavascript).
Before you can configure Novu, you must create the infrastructure that hosts your bot. This involves two distinct portals:
- Azure portal: To create the identity (App Registration) and infrastructure (Bot Service).
- Teams developer Portal: To create the "App Package" that your customers will install.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- Teams developer Portal: To create the "App Package" that your customers will install.
- Teams Developer Portal: To create the app package that your customers will install.

### Create the app identity (Azure AD)

## Storing webhook url on subscriber entity
First, we need to create a multi-tenant identity for your bot.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do not write to "we." Write to "you".


The URL generated above will be the target channel of a subscriber that you want to integrate with. To make this connection, you have to:
1. Log in to the <a href="https://portal.azure.com/" target="_blank" rel="noopener noreferrer">Azure Portal</a>.
2. In the left menu, select **Microsoft Entra ID** (formerly Azure Active Directory).
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Unless there is more than one of these options, "In the left menu" is not necessary. Same for next step.

The URL generated above will be the target channel of a subscriber that you want to integrate with. To make this connection, you have to:
1. Log in to the <a href="https://portal.azure.com/" target="_blank" rel="noopener noreferrer">Azure Portal</a>.
2. In the left menu, select **Microsoft Entra ID** (formerly Azure Active Directory).
3. In the left menu, under the **Manage** section, select **App registrations**.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
3. In the left menu, under the **Manage** section, select **App registrations**.
3. In the Manage section, click **App registrations**.


These permissions lets your app list teams and channels to determine where messages should be sent.

1. In the app sidebar, go to **API permissions**.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
1. In the app sidebar, go to **API permissions**.
1. In the app sidebar, click **API permissions**.

3. Click **Microsoft Graph**.
![Add permissions](/images/channels-and-providers/chat/msteams/add-permissions.png)
4. Click **Application permissions**.
5. Search for and check the following permissions:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

By "check" do you mean "select"? Are they checkboxes?

- `TeamsAppInstallation.ReadWriteSelfForTeam.All` (optional, for automation)
- `TeamsAppInstallation.ReadWriteSelfForUser.All` (optional, for automation)
5. Click **Add permissions**.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change

### Create an Azure Bot resource

Now you register your bot with the Azure AI Bot Service and link it to the app registration you just created.
In the Azure portal, click Create a resource.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This should be a step, with bold for the clicked item.


Now you register your bot with the Azure AI Bot Service and link it to the app registration you just created.
In the Azure portal, click Create a resource.
1. In the Azure portal left menu,, click **Create a resource**.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
1. In the Azure portal left menu,, click **Create a resource**.
1. In the Azure portal left menu, click **Create a resource**.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This should have been caught by a linter or a grammar and spelling check. I'm going to stop the review here, please go through the document thoroughly and then let me know when it is ready for me to review.

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 3

♻️ Duplicate comments (8)
content/docs/platform/integrations/chat/(providers)/ms-teams.mdx (8)

72-79: Fix duplicate step numbering.

Line 79 repeats step 5 when it should be step 6.

4. Click **Application permissions**.
5. Search for and check the following permissions:
    - `Team.ReadBasic.All`
    - `Channel.ReadBasic.All`
    - `AppCatalog.Read.All`
    - `TeamsAppInstallation.ReadWriteSelfForTeam.All` (optional, for automation)
    - `TeamsAppInstallation.ReadWriteSelfForUser.All` (optional, for automation)
-5. Click **Add permissions**.
+6. Click **Add permissions**.

111-111: Fix typo: "channelssection" → "channels section".

-4. In the available channelssection, click **Microsoft Teams**.
+4. In the available channels section, click **Microsoft Teams**.

128-128: Fix spelling: "usecase" → "use case".

-9. Enable scopes based on your usecase:
+9. Enable scopes based on your use case:

162-162: Hyphenate compound modifier: "one time" → "one-time".

-Before you can send them messages, they must grant your app a one time admin consent.
+Before you can send them messages, they must grant your app a one-time admin consent.

249-251: Replace incomplete comment with descriptive text.

The comment // this is unclear. Replace it with a meaningful description.

    "workspace": {
-      "id": "e6633b86-ef94-4416-863f-f0f409700ca0" // this
+      "id": "e6633b86-ef94-4416-863f-f0f409700ca0" // the customer's tenant workspace ID
    },

20-20: Use imperative voice: "we need" → "you need".

Technical documentation should use "you" to address the reader directly.

-First, we need to create a multi-tenant identity for your bot.
+First, create a multi-tenant identity for your bot.

Or alternatively:

-First, we need to create a multi-tenant identity for your bot.
+You need to create a multi-tenant identity for your bot.

85-86: Remove double comma.

Line 86 contains a double comma that should be corrected.

-1. In the Azure portal left menu,, click **Create a resource**.
+1. In the Azure portal left menu, click **Create a resource**.

47-47: Improve sentence clarity.

The first sentence (line 47) is a sentence fragment and could be more complete.

-After your customers go through the admin consent page. Microsoft must know where to send the result (Novu).
+After your customers go through the admin consent page, Microsoft must know where to send the result (Novu).
🧹 Nitpick comments (1)
content/docs/platform/integrations/chat/(providers)/ms-teams.mdx (1)

111-114: Vary sentence structure to improve readability.

Multiple consecutive steps begin with "In the...". Rephrase to reduce repetition.

4. In the available channels section, click **Microsoft Teams**.
-5. In the menu that appears, accept the terms of services.
-6. In the **Messaging** section, choose the appropriate environment (typically **Microsoft Teams Commercial**).
+5. Accept the terms of services in the menu that appears.
+6. Choose the appropriate environment (typically **Microsoft Teams Commercial**) in the **Messaging** section.
📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 8ff940b and 6e1ded7.

📒 Files selected for processing (1)
  • content/docs/platform/integrations/chat/(providers)/ms-teams.mdx (1 hunks)
🧰 Additional context used
🪛 LanguageTool
content/docs/platform/integrations/chat/(providers)/ms-teams.mdx

[style] ~72-~72: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...rs/chat/msteams/add-permissions.png) 4. Click Application permissions. 5. Search ...

(ENGLISH_WORD_REPEAT_BEGINNING_RULE)


[style] ~112-~112: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...ssection, click Microsoft Teams. 5. In the menu that appears, accept the terms...

(ENGLISH_WORD_REPEAT_BEGINNING_RULE)


[style] ~113-~113: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...pears, accept the terms of services. 6. In the Messaging section, choose the a...

(ENGLISH_WORD_REPEAT_BEGINNING_RULE)


[style] ~122-~122: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...+ New app and then enter a name. 4. Click Add. 5. In the basic information pa...

(ENGLISH_WORD_REPEAT_BEGINNING_RULE)


[grammar] ~128-~128: Ensure spelling is correct
Context: ...ication” 9. Enable scopes based on your usecase: - team (for channel messages) - `personal...

(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)


[grammar] ~162-~162: Use a hyphen to join words.
Context: ...messages, they must grant your app a one time admin consent. This authorizes your...

(QB_NEW_EN_HYPHEN)


[style] ~196-~196: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...onsent page listing the permissions. 4. They clicks Accept. When this is done, ...

(ENGLISH_WORD_REPEAT_BEGINNING_RULE)


[style] ~207-~207: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...st be installed in the specific Team. - For direct messages (DMs): The app must be ...

(ENGLISH_WORD_REPEAT_BEGINNING_RULE)

⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (4)
  • GitHub Check: Redirect rules - docs-novu
  • GitHub Check: Header rules - docs-novu
  • GitHub Check: Pages changed - docs-novu
  • GitHub Check: Build and Lint
🔇 Additional comments (1)
content/docs/platform/integrations/chat/(providers)/ms-teams.mdx (1)

142-156: Configuration section is now complete.

The previously missing content has been properly added with clear setup instructions.

Comment on lines +15 to +16
- Azure portal: To create the identity (App Registration) and infrastructure (Bot Service).
- Teams developer Portal: To create the "App Package" that your customers will install.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Use consistent capitalization for "portal".

Lines 15 and 16 capitalize "portal" inconsistently.

-- Azure portal: To create the identity (App Registration) and infrastructure (Bot Service).
-- Teams developer Portal: To create the "App Package" that your customers will install.
+- Azure portal: To create the identity (App Registration) and infrastructure (Bot Service).
+- Teams developer portal: To create the app package that your customers will install.
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
- Azure portal: To create the identity (App Registration) and infrastructure (Bot Service).
- Teams developer Portal: To create the "App Package" that your customers will install.
- Azure portal: To create the identity (App Registration) and infrastructure (Bot Service).
- Teams developer portal: To create the app package that your customers will install.
🤖 Prompt for AI Agents
content/docs/platform/integrations/chat/(providers)/ms-teams.mdx lines 15-16:
the word "portal" is capitalized inconsistently ("Azure portal" vs "Teams
developer Portal"); change "Teams developer Portal" to "Teams developer portal"
so both lines use lowercase "portal" consistently.

Comment on lines +124 to +126
6. In the left menu, select **App feature**.
6. Add a **Bot** and choose “Enter a bot ID”
7. Set the **Bot ID** to your `BOT_APP_ID` (the same App ID you used for the Azure Bot).
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Fix duplicate step numbering.

Step 6 appears twice; line 125 should be step 7.

6. In the left menu, select **App feature**.
-6. Add a **Bot** and choose "Enter a bot ID"
-7. Set the **Bot ID** to your `BOT_APP_ID` (the same App ID you used for the Azure Bot).
+7. Add a **Bot** and choose "Enter a bot ID"
+8. Set the **Bot ID** to your `BOT_APP_ID` (the same App ID you used for the Azure Bot).

Also update subsequent steps accordingly:

-8. Enable "What can your bot do?" to at minimum "Only send notification"
-9. Enable scopes based on your use case:
+9. Enable "What can your bot do?" to at minimum "Only send notification"
+10. Enable scopes based on your use case:

Committable suggestion skipped: line range outside the PR's diff.

🤖 Prompt for AI Agents
In content/docs/platform/integrations/chat/(providers)/ms-teams.mdx around lines
124 to 126, the ordered list has duplicate step number 6; change the second "6."
(line 125) to "7." and then renumber all following steps to increment by one so
the sequence is continuous (e.g., 7→8, 8→9, etc.) to correct the ordering.

Comment on lines +194 to +196
2. They clicks your **Connect Microsoft Teams** button.
3. They see a Microsoft consent page listing the permissions.
4. They clicks **Accept**.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Fix subject-verb agreement.

Line 196 has incorrect verb conjugation.

3. They see a Microsoft consent page listing the permissions.
-4. They clicks your **Connect Microsoft Teams** button.
+4. They click **Accept**.

Note: This appears to be a copy-paste issue. The original text suggests "They click Accept" based on context in line 196.

Committable suggestion skipped: line range outside the PR's diff.

🧰 Tools
🪛 LanguageTool

[style] ~196-~196: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...onsent page listing the permissions. 4. They clicks Accept. When this is done, ...

(ENGLISH_WORD_REPEAT_BEGINNING_RULE)

🤖 Prompt for AI Agents
In content/docs/platform/integrations/chat/(providers)/ms-teams.mdx around lines
194–196, the verb in line 196 is mis-conjugated ("They clicks **Accept**");
change it to the correct plural form "They click **Accept**" so it matches the
surrounding steps and subject-verb agreement.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants