Skip to main content
Transform your Microsoft Teams workspace into a cloud operations command center. Interact with CloudThinker agents, receive alerts, and run operations without leaving Teams.

Prerequisites

The initial setup must be performed by a user with one of the following Azure AD roles:
  • Global Administrator — full admin access across all Microsoft 365 services
  • Teams Administrator — admin access scoped to Microsoft Teams
A regular Microsoft 365 user cannot complete the setup. If you don’t have one of these roles, ask your IT team to perform the initial connection (Steps 1–3 below). Once the bot is published, any user can interact with it in Teams channels.

Required Azure AD Permissions

During the OAuth flow, CloudThinker requests the following Microsoft Graph API permissions:
PermissionTypePurpose
User.ReadUser consentRead the signed-in user’s profile
Channel.ReadBasic.AllUser consentList channels in teams
Team.ReadBasic.AllUser consentList teams the user belongs to
TeamsAppInstallation.ReadWriteForTeamAdmin consentInstall the bot into teams
TeamsAppInstallation.ReadWriteAndConsentForTeamAdmin consentInstall the bot and grant resource-specific consent
TeamsAppInstallation.ReadWriteSelfForTeamAdmin consentManage the bot’s own installation
AppCatalog.ReadWrite.AllAdmin consentPublish the bot to the organization’s app catalog
Organization.Read.AllAdmin consentRead organization information
Permissions marked Admin consent can only be granted by a Global Administrator or Teams Administrator. During the OAuth flow, admins will see a “Consent on behalf of your organization” checkbox:
  • Checked — permissions are granted tenant-wide for all users in the Azure AD tenant. Other admins who connect later won’t need to re-consent.
  • Unchecked — permissions are granted only for the admin’s own account. This is sufficient to complete the setup since the admin personally has the required role to publish the bot.

Who Should Perform the Setup?

Your roleWhat to do
Global Admin or Teams AdminYou can complete the full setup yourself — proceed to Step 1 below
Regular userAsk your Global Admin or Teams Admin to complete Steps 1–3. Once the bot is published, you can use it in any channel where it’s installed

Setup

1

Navigate to Integrations

Go to Admin Settings → Integrations and find Microsoft Teams
2

Connect with Teams

Click Connect with Teams and authenticate via Microsoft OAuth.
You must be signed in with a Global Administrator or Teams Administrator account. If you are a regular user, this step will either:
  • Block you at the Microsoft consent screen, or
  • Appear to succeed but fail silently when publishing the bot to your organization’s app catalog
If you are not an admin, share this page with your IT team and ask them to perform this step.
3

Install the Bot

Select which Teams to add the CloudThinker bot to and confirm the installation. The bot is published to your organization’s Teams app catalog — this is a one-time action.
4

Map Teams to Workspaces

Map your Microsoft Teams to CloudThinker workspaces so agents know which cloud accounts to operate on
5

Configure Notifications

Optionally select channels for each notification type (cost alerts, security findings, incident updates)
6

Test

Try @CloudThinker alex show AWS costs in a channel to verify the connection

Syntax

In Teams, prefix all commands with @CloudThinker:
@CloudThinker alex analyze EC2 spending trends
@CloudThinker oliver audit security groups for public access
@CloudThinker tony check database performance
@CloudThinker kai review EKS cluster health
All CloudThinker Language syntax works in Teams — just add the @CloudThinker prefix.

Examples

Quick Queries

@CloudThinker alex what's our AWS spending this week?
@CloudThinker oliver any critical security findings?
@CloudThinker tony why are queries slow on production?
@CloudThinker kai check pod status in payment namespace

With Tools

@CloudThinker alex #dashboard cost trends by service
@CloudThinker oliver #report weekly security summary
@CloudThinker tony #recommend index optimizations
@CloudThinker kai #alert on pod OOMKilled events

Multi-Agent

@CloudThinker anna coordinate investigation of latency spike
@CloudThinker alex and tony analyze database infrastructure costs

Alerts

Configure agents to send alerts to Teams channels:
@CloudThinker alex #alert daily spend exceeds $5,000 → #cloud-ops
@CloudThinker oliver #alert security group changes → #security
@CloudThinker kai #alert pod failures in production → #k8s-alerts

Code Review Notifications

When an AI code review completes, CloudThinker sends an Adaptive Card notification to your configured Teams channel. The card includes:
  • Severity FactSet — structured table showing counts by severity level (🔴 Critical, 🟠 High, 🟡 Medium, 🟢 Low)
  • Finding details — up to 5 unresolved findings with title, severity label, file path, and line number
  • Resolved count — number of previously identified findings that have been resolved
  • View Code Review button — direct link to the review dashboard
  • Clean pass — when no issues are found, a simple “No issues found” message
Configure which Teams channel receives code review notifications and set severity thresholds in Settings > Notifications > Code Review / Pipeline Monitoring. See Notifications Center for details.

Channel Patterns

ChannelUse Case
#cloud-opsGeneral infrastructure operations and cost alerts
#securitySecurity findings and compliance updates
#incidentsActive incident investigation and coordination
#code-reviewsCode review findings and pipeline monitoring
#reportsScheduled reports and summaries

Troubleshooting

  • Check if the CloudThinker bot is installed in the team
  • Verify you’re using @CloudThinker agent syntax (not just agent)
  • Confirm agents are configured in the CloudThinker console
  • Check Azure AD admin consent status
  • Check alert configuration in CloudThinker Settings
  • Verify Teams channel notification settings
  • Ensure the bot has permission to post in the target channel
  • “Missing required permissions” — The user who connected does not have the Global Administrator or Teams Administrator role. Ask your IT team to perform the initial connection instead.
  • “Consent on behalf of your organization” — During OAuth, an admin can check this box to grant permissions tenant-wide. This is optional — if the connecting user is already an admin, their personal consent is sufficient.
  • Connection appears successful but bot doesn’t work — This can happen if a non-admin user completes the OAuth flow. The user’s personal authentication succeeds, but publishing the bot to the app catalog fails silently. Ask a Global Administrator or Teams Administrator to reconnect.
  • For any other permission errors, check workspace admin permissions in CloudThinker, or try removing and re-adding the bot to the team.
You need a Global Administrator or Teams Administrator from your organization to complete the initial connection. Here’s what to share with them:
  1. Sign in to CloudThinker (they need a CloudThinker account with admin access to the organization)
  2. Go to Admin Settings → Integrations → Microsoft Teams
  3. Click Connect with Teams and complete the Microsoft OAuth flow
  4. The bot will be published to your organization’s Teams app catalog
This is a one-time setup. Once the admin completes it, any user in the Teams workspace can interact with the bot by mentioning @CloudThinker in channels where the bot is installed.

Permissions

Azure AD Permissions

The initial connection requires a Global Administrator or Teams Administrator in Azure AD. This is because CloudThinker needs to publish a bot to your organization’s Teams app catalog, which is an admin-level action. This setup is a one-time operation — once the bot is published, no further admin actions are required. During OAuth, the admin can optionally check “Consent on behalf of your organization” to grant permissions tenant-wide. If unchecked, permissions are granted only for the admin’s own account, which is still sufficient to complete the setup. See the Required Azure AD Permissions table above for the full list of requested scopes.

CloudThinker Permissions

Within Teams, users can only access agents and cloud connections that their CloudThinker account permits. CloudThinker workspace roles apply the same way as they do in the web console.

CloudThinker Language

Complete syntax reference for all commands

Slack Integration

Set up CloudThinker in Slack