> ## Documentation Index
> Fetch the complete documentation index at: https://docs.cloudthinker.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Microsoft Teams Integration

> Microsoft TeamsからCloudThinkerエージェントとのインタラクション・Adaptive Cardアラートの受信・インシデントの調整によりクラウドオペレーションを実行します。

Microsoft TeamsワークスペースをCloudOperationのコマンドセンターに変えます。CloudThinkerエージェントとのインタラクション・アラートの受信・オペレーションの実行をTeamsを離れずに行えます。

***

## 前提条件

<Warning>
  初期セットアップは、**以下のいずれかのAzure ADロールを持つユーザーが実行する必要があります**：

  * **Global Administrator** — すべてのMicrosoft 365サービスにわたる完全な管理者アクセス
  * **Teams Administrator** — Microsoft Teamsにスコープされた管理者アクセス

  通常のMicrosoft 365ユーザーはセットアップを**完了できません**。これらのロールのいずれかを持っていない場合は、ITチームに初期接続（以下のステップ1〜3）の実行を依頼してください。ボットが公開されると、任意のユーザーがTeamsチャンネルでやり取りできます。
</Warning>

### 必要なAzure ADパーミッション

OAuthフロー中、CloudThinkerは以下のMicrosoft Graph APIパーミッションをリクエストします：

| パーミッション                                           | タイプ       | 目的                         |
| ------------------------------------------------- | --------- | -------------------------- |
| `User.Read`                                       | ユーザー同意    | サインイン済みユーザーのプロファイルを読み取る    |
| `Channel.ReadBasic.All`                           | ユーザー同意    | チームのチャンネルを一覧表示する           |
| `Team.ReadBasic.All`                              | ユーザー同意    | ユーザーが所属するチームを一覧表示する        |
| `TeamsAppInstallation.ReadWriteForTeam`           | **管理者同意** | ボットをチームにインストールする           |
| `TeamsAppInstallation.ReadWriteAndConsentForTeam` | **管理者同意** | ボットをインストールしてリソース固有の同意を付与する |
| `TeamsAppInstallation.ReadWriteSelfForTeam`       | **管理者同意** | ボット自身のインストールを管理する          |
| `AppCatalog.ReadWrite.All`                        | **管理者同意** | 組織のアプリカタログにボットを公開する        |
| `Organization.Read.All`                           | **管理者同意** | 組織情報を読み取る                  |

**管理者同意**とマークされたパーミッションは、Global AdministratorまたはTeams Administratorのみが付与できます。OAuthフロー中、管理者には\*\*「Consent on behalf of your organization」\*\*チェックボックスが表示されます：

* **チェック済み** — パーミッションはAzure ADテナント内のすべてのユーザーにテナント全体で付与されます。後で接続する他の管理者は再同意する必要がありません。
* **未チェック** — パーミッションは管理者自身のアカウントのみに付与されます。管理者はボットを公開するために必要なロールを個人的に持っているため、セットアップの完了には十分です。

### セットアップを実行する人

| ロール                            | 実施内容                                                                                       |
| ------------------------------ | ------------------------------------------------------------------------------------------ |
| **Global AdminまたはTeams Admin** | フルセットアップを自分で完了できます—以下のステップ1に進んでください                                                        |
| **一般ユーザー**                     | Global AdminまたはTeams AdminにステップSteps 1〜3の完了を依頼してください。ボットが公開されると、インストールされている任意のチャンネルで使用できます |

***

## セットアップ

<Steps>
  <Step title="Integrationsに移動する">
    [**Admin Settings → Integrations**](https://app.cloudthinker.io/admin-settings/integrations) に移動して **Microsoft Teams** を見つけます
  </Step>

  <Step title="Teamsで接続する">
    **Connect with Teams** をクリックしてMicrosoft OAuthで認証します。

    <Warning>
      **Global Administrator** または **Teams Administrator** アカウントでサインインしている必要があります。一般ユーザーの場合、このステップは：

      * MicrosoftのConsent画面でブロックされるか、
      * 一見成功するが、ボットを組織のアプリカタログに公開する際にサイレントに失敗することがあります

      管理者でない場合は、このページをITチームに共有してこのステップを実行するよう依頼してください。
    </Warning>
  </Step>

  <Step title="ボットをインストールする">
    CloudThinkerボットを追加するTeamsを選択してインストールを確認します。ボットは組織のTeamsアプリカタログに公開されます—これは一回限りのアクションです。
  </Step>

  <Step title="Teamsをワークスペースにマッピングする">
    Microsoft TeamsをCloudThinkerワークスペースにマッピングして、エージェントが操作するクラウドアカウントを認識できるようにします
  </Step>

  <Step title="通知を設定する">
    オプションで各通知タイプ（コストアラート・セキュリティの調査結果・インシデントの更新）のチャンネルを選択します
  </Step>

  <Step title="テストする">
    チャンネルで `@CloudThinker alex show AWS costs` を試して接続を確認します
  </Step>
</Steps>

***

## 構文

Teamsでは、すべてのコマンドに `@CloudThinker` プレフィックスを付けます：

```text theme={null}
@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
```

すべての[CloudThinker Language](/ja/guide/language)構文はTeamsで機能します—`@CloudThinker` プレフィックスを追加するだけです。

***

## 使用例

### クイッククエリ

```text theme={null}
@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
```

### ツールを使用する場合

```text theme={null}
@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
```

### マルチエージェント

```text theme={null}
@CloudThinker anna coordinate investigation of latency spike
@CloudThinker alex and tony analyze database infrastructure costs
```

***

## アラート

エージェントがTeamsチャンネルにアラートを送信するよう設定します：

```text theme={null}
@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通知

AIのCode Reviewが完了すると、CloudThinkerは設定されたTeamsチャンネルにAdaptive Card通知を送信します。カードには以下が含まれます：

* **重大度FactSet** — 重大度レベル別の件数を示す構造化テーブル（🔴 Critical、🟠 High、🟡 Medium、🟢 Low）
* **調査結果の詳細** — タイトル・重大度ラベル・ファイルパス・行番号付きの未解決調査結果（最大5件）
* **解決済み数** — 以前に特定された調査結果のうち解決された件数
* **View Code Review** ボタン — レビューダッシュボードへの直接リンク
* **クリーンパス** — 問題が見つからない場合の「No issues found」メッセージ

<Info>
  Code Review通知を受信するTeamsチャンネルと重大度しきい値は **Settings > Notifications > Code Review / Pipeline Monitoring** で設定します。詳細は[Notifications Center](/ja/guide/notifications)を参照してください。
</Info>

***

## チャンネルパターン

| チャンネル           | ユースケース                    |
| --------------- | ------------------------- |
| `#cloud-ops`    | 一般的なインフラオペレーションとコストアラート   |
| `#security`     | セキュリティの調査結果とコンプライアンスの更新   |
| `#incidents`    | アクティブなインシデントの調査と調整        |
| `#code-reviews` | Code Reviewの調査結果とパイプライン監視 |
| `#reports`      | スケジュールされたレポートとサマリー        |

***

## トラブルシューティング

<Accordion title="エージェントが応答しない">
  * CloudThinkerボットがチームにインストールされているか確認する
  * `@CloudThinker agent` 構文を使用しているか確認する（`agent` だけでなく）
  * CloudThinkerコンソールでエージェントが設定されているか確認する
  * Azure ADの管理者同意ステータスを確認する
</Accordion>

<Accordion title="アラートが届かない">
  * CloudThinker SettingsのアラートConditionを確認する
  * Teamsチャンネルの通知設定を確認する
  * ボットがターゲットチャンネルに投稿するパーミッションを持っているか確認する
</Accordion>

<Accordion title="パーミッションエラー">
  * **「Missing required permissions」** — 接続したユーザーがGlobal AdministratorまたはTeams Administratorのロールを持っていません。代わりにITチームに初期接続を実行するよう依頼してください。
  * **「Consent on behalf of your organization」** — OAuth中、管理者はこのボックスにチェックを入れてテナント全体にパーミッションを付与できます。これはオプションです—接続するユーザーがすでに管理者であれば、個人の同意で十分です。
  * **接続は成功しているがボットが動作しない** — 管理者以外のユーザーがOAuthフローを完了した場合に発生することがあります。ユーザーの個人認証は成功しますが、ボットをアプリカタログに公開する際にサイレントに失敗します。Global AdministratorまたはTeams Administratorに再接続を依頼してください。
  * その他のパーミッションエラーについては、CloudThinkerのワークスペース管理者パーミッションを確認するか、チームからボットを削除して再追加してみてください。
</Accordion>

<Accordion title="管理者でない場合—どうセットアップするか？">
  初期接続を完了するには、組織の **Global Administrator** または **Teams Administrator** が必要です。以下を共有してください：

  1. CloudThinkerにサインインする（組織の管理者アクセス権を持つCloudThinkerアカウントが必要）
  2. [**Admin Settings → Integrations → Microsoft Teams**](https://app.cloudthinker.io/admin-settings/integrations) に移動する
  3. **Connect with Teams** をクリックしてMicrosoft OAuthフローを完了する
  4. ボットが組織のTeamsアプリカタログに公開されます

  これは**一回限りのセットアップ**です。管理者がセットアップを完了すると、ボットがインストールされているチャンネルで `@CloudThinker` をメンションすることで、Teamsワークスペースの任意のユーザーがボットとやり取りできます。
</Accordion>

***

## パーミッション

### Azure ADパーミッション

初期接続にはAzure ADの **Global Administrator** または **Teams Administrator** が必要です。これはCloudThinkerが組織のTeamsアプリカタログにボットを公開する必要があるためです。これは管理者レベルのアクションです。このセットアップは一回限りの操作です—ボットが公開されると、それ以上の管理者アクションは不要です。

OAuth中、管理者はオプションで\*\*「Consent on behalf of your organization」\*\*にチェックを入れてテナント全体にパーミッションを付与できます。未チェックの場合、パーミッションは管理者自身のアカウントにのみ付与されますが、セットアップの完了には十分です。リクエストされるスコープの完全なリストは上記の[必要なAzure ADパーミッション](#必要なazure-adパーミッション)テーブルを参照してください。

### CloudThinkerパーミッション

Teams内では、ユーザーはCloudThinkerアカウントが許可するエージェントとクラウド接続にのみアクセスできます。CloudThinkerワークスペースのロールはWebコンソールと同様に適用されます。

***

## 関連ドキュメント

<CardGroup cols={2}>
  <Card title="CloudThinker Language" icon="code" href="/ja/guide/language">
    すべてのコマンドの完全な構文リファレンス
  </Card>

  <Card title="Slack Integration" icon="slack" href="/ja/guide/slack-integration">
    SlackでCloudThinkerをセットアップする
  </Card>
</CardGroup>
