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

# Microsoft TeamsをCognoに接続する

> Microsoft TeamsでCognoを利用可能にし、選択したTeamとチャットを接続して、エージェントが読める範囲を管理します。

![Microsoft Teams](https://mintcdn.com/genaxis/oMT3YnoHFDqPiaPK/images/integrations/teams.svg?fit=max\&auto=format\&n=oMT3YnoHFDqPiaPK\&q=85\&s=1c788a17465a8582e2d9b0878d8a0675)

## 概要

| | |
| - | - |
| **方向** | 双方向—選択したソースを読み取り、明示的なエージェントツール権限で送信します。 |
| **接続方法** | Microsoftの職場または学校アカウント、管理者の承認、Teamの選択。 |
| **設定できる人** | Microsoft 365管理者がアプリを利用可能にし、権限のあるTeamまたはチャットのメンバーがアプリを追加し、連携管理権限を持つCognoメンバーが接続します。 |
| **必要なもの** | 対象Cogno Workspaceへのアクセス権と、接続する各Teamまたはチャットへの参加。 |

CognoはMicrosoft Teamsのリソース固有の同意（RSC）を使用します。Cognoを追加すると、そのTeam、グループチャット、または会議チャットだけが許可され、組織内のすべての会話が許可されるわけではありません。その後、取り込むチャネルと含める対象チャットを選びます。Projectへの割り当てはあとから行えます。

> [!NOTE]
>
> 人同士の1対1チャットには対応していません。2名以上のグループチャットと会議チャットは、その会話にCognoを追加すると利用できます。

## 始める前に

* Microsoft 365管理者に、組織内でCognoをどの方法で配布するか確認します。組織のアプリカタログから利用できる場合と、限定導入用にCogno提供のパッケージを管理者がアップロードする場合があります。
* 対象Microsoftテナントのメンバーである職場または学校アカウントを使用します。個人用Microsoftアカウントとゲストのみのアカウントでは本人確認を完了できません。
* 対象Cogno Workspaceで連携を管理できることを確認します。
* 接続する各Teamまたはチャットに現在参加していることを確認します。

## Microsoft TeamsでCognoを利用可能にする

Microsoft 365管理者が次のいずれかを実施します。自社で利用できる方法が分からない場合は、Cogno担当者へお問い合わせください。確認できない提供元のパッケージはアップロードしないでください。

### 方法1：組織のアプリカタログを使う

**1. Teamsのアプリ一覧を開く**

Microsoft Teams管理センターで**Teams apps**→**Manage apps**を開きます。

**2. Cognoを探す**

**Cogno**を検索します。**App status**が**Unblocked**で、対象ユーザーが**Available to**に含まれることを確認します。

**3. 必要に応じてアクセスを調整する**

Cognoがブロックされている、または対象ユーザーが利用できない場合は、組織のTeamsアプリ設定を更新してから続けます。

### 方法2：限定導入用のCognoパッケージをアップロードする

**1. Cognoからパッケージをダウンロードする**

Cognoで**Integrations**→**Microsoft Teams**を開き、**Download Teams app**を選びます。接続済みのWorkspaceでは\*\*⋯\*\*メニューにもあります。パッケージはサインイン中のCogno環境向けに作られるため、接続するWorkspaceと必ず一致します。**Open Teams admin center**で次の手順の画面を開けます。

**2. アプリをアップロードする**

**Teams apps**→**Manage apps**で**Actions**を開き、**Upload new app**を選んでパッケージを指定します。

![Microsoft Teams管理センターのManage apps画面でActionsメニューとUpload new appが表示されている状態](https://mintcdn.com/genaxis/K_V1QYXlQBQiDlXy/images/teams/admin-upload-package.webp?fit=max\&auto=format\&n=K_V1QYXlQBQiDlXy\&q=85\&s=c05f7789e8eda545eaa37979dbb96a8e)

**3. 利用可能な状態を確認する**

**Cogno**を検索し、**App status**が**Unblocked**で、対象ユーザーが**Available to**に含まれることを確認します。Microsoftによると、アップロードしたアプリが利用可能になるまで数時間かかる場合があります。

![Microsoft Teams管理センターでCognoアプリがTeams対応かつUnblockedと表示されている状態](https://mintcdn.com/genaxis/K_V1QYXlQBQiDlXy/images/teams/admin-cogno-available.webp?fit=max\&auto=format\&n=K_V1QYXlQBQiDlXy\&q=85\&s=bcc99a4a56b6316a1a80f3a815661d74)

アプリはmanifestで次のRSC権限を要求します。

| 範囲 | 権限 | 目的 |
| - | - | - |
| Team | `ChannelMessage.Read.Group` | Cognoを追加したTeamのメッセージを読みます。 |
| チャット | `ChatMessage.Read.Chat` | Cognoを追加したチャットのメッセージを読みます。 |
| チャット | `ChatMember.Read.Chat` | そのチャットへの現在の参加状況を確認します。 |

Teamの所有者またはチャットのメンバーは、アプリ追加時に要求権限を確認できます。これらの権限でテナント全体へのアクセスが許可されることはありません。

## CognoでMicrosoft Teamsを接続する

Cognoはサインイン結果を処理する前に、1,000個を超えるフィールドや1 MiBを超えるフィールドを含むサインインコールバックフォームを拒否します。

**1. Microsoft Teamsの設定を開く**

Cognoで対象Workspaceを開き、**Integrations**へ移動して**Microsoft Teams**の**Connect**を選びます。設定途中の場合は**Resume**を選びます。

**2. Microsoftへサインインする**

メンバーの職場または学校アカウントでMicrosoftへのサインインを完了します。Cogno Desktopでは既定のブラウザが開き、完了後にアプリへ戻ります。自動で戻らない場合は完了ページの**Open Cogno**を選びます。

**3. 管理者の承認を完了する**

**Admin approval required**が表示されたら**Open admin approval**を選びます。別の人がMicrosoftテナント管理者の場合は**Copy approval link**を選び、有効期限の短いリンクをその人へ送ります。Cognoが結果を自動確認します。

**4. Teamを選ぶ**

**Team selection pending**で**Select a Team**を開き、Teamを1つ選んで**Connect Team**を選びます。必要に応じて**Load more Teams**を使用します。

**5. 接続を確認する**

Teamの行にTeam名、Microsoftテナント名、**Connected**が表示されることを確認します。Microsoft TeamsでそのTeamにCognoを追加済みなら、行に**Cogno app added**も表示されます。同じWorkspaceに別のTeamを接続するには**Add Team**を使用します。

行に**Cogno app not added to this Team**と表示される場合、チャネルの取り込みは動きますが、そのTeamでCognoは@メンションに答えたり投稿したりできません。Microsoft Teamsで**Apps**→**Cogno**→**Add to a team**を選び、**⋯**メニューの**Refresh channels and chats**を選びます。

1つのTeamに設定できる有効なWorkspace接続は1つだけです。すでに別のWorkspaceへ接続されている場合は別のTeamを選ぶか、既存のWorkspace接続を先に解除します。

![CognoのMicrosoft Teams設定に、接続済みTeam、チャネル取り込み操作、対象チャットが表示され、識別名がマスクされている状態](https://mintcdn.com/genaxis/K_V1QYXlQBQiDlXy/images/teams/connected-team-and-chats.webp?fit=max\&auto=format\&n=K_V1QYXlQBQiDlXy\&q=85\&s=17284a43aa30c8cdcba73395350f99f2)

## チャネルの取り込みを開始または停止する

**Channels**で、新しいメッセージをWorkspaceイベントにする各チャネルのスイッチをオンにします。ほかのチャネルへ影響を与えずに1つのチャネルを停止するにはスイッチをオフにします。

| スイッチ | 意味 | 次の操作 |
| - | - | - |
| オフ | 有効な取り込みがありません。 | スイッチをオンにします。 |
| オン、**Waiting to start** | リクエストは保存されましたが、Microsoftサブスクリプションの準備が完了していません。 | 開始を待つか、スイッチをオフにしてからオンに戻して再試行します。 |
| オン | チャネルのサブスクリプションが有効です。 | テストメッセージを送るか、スイッチをオフにします。 |

チャネルが8つを超えると**Search channels**で検索できます。一覧を再読み込みするには\*\*⋯**メニューの**Refresh channels and chats\*\*、追加のチャネルを取得するには**Load more channels**を使用します。状態の閲覧にはWorkspaceへのアクセス権、取り込みの変更には連携管理権限が必要です。

## グループチャットまたは会議チャットを含める

**1. 会話にCognoを追加する**

Microsoft Teamsでグループチャットまたは会議チャットを開き、アプリを追加して**Cogno**を選びます。RSC権限を確認し、追加を完了します。接続コードは不要です。Cognoが設定手順つきの短いあいさつを投稿します。どの会話でも **@Cogno help** と送ると、もう一度表示されます。チャットをIncludeする前にCognoへメンションすると、Includeの手順を1回だけ返します。それ以降のメンションには、Includeするまで返事をしません。

![Microsoft TeamsのグループチャットでCognoを追加したシステム確認が表示され、参加者情報がマスクされている状態](https://mintcdn.com/genaxis/K_V1QYXlQBQiDlXy/images/teams/chat-app-installed.webp?fit=max\&auto=format\&n=K_V1QYXlQBQiDlXy\&q=85\&s=78cc55ca90d378098583352c3a154c90)

**2. Microsoftアカウントを確認する**

CognoのMicrosoft Teams設定へ戻ります。求められた場合は**Verify Microsoft account**を選び、対象チャットに参加しているアカウントでサインインします。Cognoが保存するのは確認済みアカウントの識別子で、Microsoftのアクセストークンやリフレッシュトークンではありません。

**3. 対象チャットを更新する**

**⋯**メニューの**Refresh channels and chats**を選びます。**Chats**には、アプリが追加され、確認済みアカウントが現在参加しているチャットだけが表示されます。

**4. チャットを含める**

チャットのスイッチをオンにします。以後の新しいメッセージをWorkspaceイベントとして扱え、そのチャットはTeamのチャンネルと並んで各Projectに提示されます。新規メッセージイベントを停止するにはスイッチをオフにします。そのチャットを選択していたProjectは同時に利用できなくなります。

![CognoのMicrosoft Teams設定に、対象チャットのIncludeとExclude操作および5つのエージェント読み取りツールが表示され、チャット名がマスクされている状態](https://mintcdn.com/genaxis/K_V1QYXlQBQiDlXy/images/teams/chat-inclusion-and-tools.webp?fit=max\&auto=format\&n=K_V1QYXlQBQiDlXy\&q=85\&s=0d4a853f101ca6bfbb586f989302d6a1)

別のTeamやチャットにCognoを追加しても、この会話は許可されません。チャットから退出するかアプリが削除されると、Cognoはそのチャットを対象として扱わなくなります。

## Projectで使うソースを選ぶ

Workspaceへの追加とProjectからのアクセスは別々に設定します。チャンネルもチャットも同じ仕組みです。

* Cognoが参照してよい範囲はWorkspaceが決めます。**連携 → Microsoft Teams**でチャンネルを取り込み、アプリを追加したチャットを含めます。
* そのうちどれを使うかは各Projectが決めます。Projectの**連携**設定でMicrosoft Teamsを有効にし、同じ一覧からチャンネルと含めたチャットを選びます。同じチャットを複数のProjectが選択できます。
* あるProjectでチャットの選択を外しても、他のProjectには影響しません。Workspaceで**外す**を選ぶと、すべてのProjectから同時に利用できなくなります。

## エージェントの読み取りアクセスを管理する

接続の**Agent tools**セクションにある**Read Microsoft Teams**で、次の7つの読み取り専用ツールを管理します。

* `teams_search_messages`は最近保存されたチャネルメッセージを検索します。
* `teams_read_file`は、その`message_id`と`attachment_id`でファイルを1つ読みます。SharePointまたはOneDriveにリンクされたファイルはテキスト（プレーンテキスト、CSV、JSON、XMLなどとPDFのページテキスト）または画像そのものを返し、メッセージに貼り付けた画像は画像を返します。テキストは20,000文字、画像は1 MB、PDFは5 MBで打ち切り、それを超えるファイルやその他の種類は、内容を読まなかった旨の注記付きでメタデータだけを返します。リンクされたファイルを読むには、Teamを接続したMicrosoftアプリケーションに`Files.Read.All`または`Sites.Read.All`のアプリケーション権限が必要です。権限がない場合、ツールは空の結果を返さず、Microsoftがファイルの提供を拒否したことを報告します。読めるのは現在のProjectが選択したチャネルで共有されたファイルだけで、読んだ内容は保存されません。
* `teams_list_channels`は現在のProjectが選択したチャネルとチャットを一覧表示します。
* `teams_read_channel`は一覧内の1つのソースをMicrosoftから直接、件数を制限して読みます。
* `teams_read_thread`は、ソースとスレッドの親メッセージを指定してMicrosoftからスレッドを直接読みます。チャネルでは親投稿と返信、チャットではそのメッセージとその前のメッセージを返します。検索結果には必要なソースと親メッセージが含まれます。
* `teams_get_user`はメッセージ系ツールが投稿者として返すIDから1人のTeamsユーザーを引き、表示名、対応づけたmember、その人をメンションする`@名前`のテキストを返します。
* `teams_search_users`はTeamsの表示名またはCognoのメンバー名の一部からTeamsユーザーを探します。

保存済みメッセージを読む2つのツールは、各メッセージに共有されたファイルを`attachment_id`、名前、種類で列挙します。コメントなしで投稿されたファイルは`[attachment: 名前]`、メッセージに貼り付けた画像は`[attachment: image]`として表示されます。

確認なしで利用可能にするには**Allow**、立ち会い実行時に許可を求めるには**Ask**、無効にするには**Block**を選びます。3つのlive toolと`teams_read_file`はToolCall時にMicrosoftへ問い合わせます。ユーザー系の2つのツールは**メンバーの対応づけ**から答えるため、その接続で投稿またはメンションされたことのある人しか知りません。Microsoftのディレクトリは検索しません。すべてのツールは現在のProjectで選択したソースに制限され、テナント全体のチャット検索は提供しません。

## メッセージを投稿・返信する

**Microsoft Teamsに送信**は、読み取り権限とは別に`teams_send_message`と`teams_send_file`を制御します。初期設定は**許可**で、Cognoはメンションされると返信できます。立ち会い実行時に承認するには**確認**、送信を止めるには**ブロック**を選びます。Projectではさらに厳しい設定にできます。

送信を有効にするには、対象TeamまたはチャットにCognoアプリが追加されている必要があります。ツールを有効にするためだけに既存アプリを更新する必要はありません。Projectで選択したチャンネルまたはグループ・会議チャットへCogno botとして投稿します。返信にはlive読み取りツールが返したルートメッセージを使います。本文の上限は10,000文字です。スレッドへの返信はチャンネルで利用できます。投稿にはTaskのファイルを1つ付けられます。1 MB以下のPNG・JPEG・GIFは投稿の中に表示され、それ以外のファイルは名前・サイズと**Cognoで開く**ボタンのカードになり、ファイルのあるTaskが開きます。テナント全体のSharePointへの書き込み権限が必要になるため、チャンネルの**ファイル**タブには置きません。リアクション、編集、削除には対応していません。チャットへの返信は短く保たれます。12行を超える投稿は、全文を求められた場合を除き拒否され、何も送信されません。そのためCognoは結論を先に書き、長い一覧は画像または上位3件にまとめ、詳細はTaskに残します。

本文の`@名前`は、その接続の**メンバーの対応づけ**でその名前（Teamsの表示名またはCognoのメンバー名）を持つユーザーがちょうど1人のとき、Teams上の実際のメンションになります。誰も持たない名前や複数人が持つ名前は、そのままテキストとして送られます。使うべき`@名前`は`teams_get_user`と`teams_search_users`が返します。

チャンネルの読み取りはTeam接続時に承認されたMicrosoftアプリケーションを使い、別途botを追加する必要はありません。チャットの読み取りには、そのチャットへのアプリ追加とWorkspaceへの追加が必要です。**接続済み**、**取り込み中**、**含める**だけではProjectからのアクセスは許可されず、Project自身の選択が必要です。

選択したチャンネルは、そのTeamにCognoアプリが追加されていなくても、保存済みメッセージを検索するソースとしてエージェントに表示されます。live会話ツールとメッセージ送信には、引き続き有効なアプリ追加が必要です。

Microsoftが送信を確認できなかった場合、Cognoは結果不明として自動再送を拒否します。別の送信を試す前にTeamsを確認してください。

## チャットでCognoに依頼する

ワークスペースに追加され、Projectで選択されたグループチャットまたは会議チャットで\*\*@Cogno**をメンションすると、その会話で回答を依頼できます。CognoはTeamsのメンション自体を認識し、文字として入力した`@Cogno`は依頼として扱いません。Cognoは会話を読むためのProject Runをキューに入れます。Cognoはメンションに対して、その会話で必ず短くても返信します。**Microsoft Teamsに送信**の初期設定は**許可**です。接続またはProjectで**ブロック\*\*にした場合、CognoはTeamsで返信できません。メンションが届いたことが分かるよう、Cognoはすぐに「👀 確認しています。」(Teamsクライアントの言語)と返し、回答はRunが終わってから続きます。Runは利用可能なEnvironmentを待つ場合もあります。個人との1対1チャットには対応していません。誰もCognoをメンションしていなくても、会話で共有された計画・ToDo・質問にはCognoが応答することがあり、ルーティンを止める・変える依頼は必ず処理されます。同じスレッドへのフォローアップは、2つ目の応答を始めずに、進行中の応答に加わります。Graph通知経由で受信したメッセージでは、新しく送信したメッセージ(チャネルのメッセージや返信を含む)へのメンションが依頼になります。既存メッセージの編集でメンションを追加しても、リアクションでも、新しい依頼にはなりません。

## 接続を検証する

**1. 識別しやすいメッセージを送る**

取り込み中のチャネルまたは含めたチャットに、機密情報を含まない固有のテストメッセージを送ります。顧客の機密情報をテストに使わないでください。

**2. ソースが有効か確認する**

CognoのMicrosoft Teams設定で、チャネルが**Importing**またはチャットが**Included**であることを確認します。

**3. エージェントのアクセスを試す**

ソースをテスト用Projectへ割り当て、**Read Microsoft Teams**を**Allow**または**Ask**にして、そのProjectのエージェントへ直近のTeamsメッセージを読むよう依頼します。エージェントには、そのProjectで選んだソースだけが表示されます。

## 接続を解除する

**Connected Teams**でTeamを選び、その行の\*\*⋯**メニューから**Disconnect\*\*を選んでTeam名を確認します。Cognoはその接続の取り込みを停止します。ほかの接続済みTeamは有効なままです。

## よくある状態

| 状態または症状 | 意味 | 次の操作 |
| - | - | - |
| TeamsにCognoが表示されない | このユーザーはまだアプリを利用できません。 | Microsoft 365管理者へ**Manage apps**、アプリの状態、**Available to**の確認を依頼します。新規アップロード後は数時間待ちます。 |
| Cognoにチャットが表示されない | その会話にアプリがない、確認済みユーザーが現在の参加者ではない、または一覧が古い状態です。 | その会話にCognoを追加し、正しいMicrosoftアカウントを確認してから\*\*⋯**メニューの**Refresh channels and chats\*\*を選びます。 |
| **Setup pending** | 接続設定が途中です。 | **Resume**を選びます。 |
| **Admin approval required** | Microsoftサインインは完了しましたが、テナントの承認が必要です。 | **Open admin approval**または**Copy approval link**を選びます。 |
| **Team selection pending** | 承認は確認済みですが、Teamが未接続です。 | **Select a Team**、**Connect Team**の順に選びます。 |
| ゲストまたは個人用アカウントが拒否された | そのアカウントはテナントのメンバーである職場または学校アカウントではありません。 | テナントのメンバーアカウントでサインインし直します。 |
| Microsoft Graphでアカウントを確認できない | Microsoftアプリケーションがサインイン済みユーザーのプロフィールを読めませんでした。 | 管理者に委任された`User.Read`権限を確認してもらい、再試行します。 |
| **Could not load connections.** | Cognoが現在の状態を取得できませんでした。 | **Retry**を選びます。 |
| **メンバーの対応づけ** が空 | この接続で取り込み中のチャネルや含めたチャットで、まだ誰も投稿もメンションもされていません。 | そこでメッセージを送ってから **メンバーの対応づけ** を開き直します。 |
| 提案タスクでTeamsの投稿者やメンション先が割り当てられない | そのTeamsユーザーがmemberに対応付けられていません。 | **メンバーの対応づけ** で対応付けます。 |

## 参照URL

* [Microsoft：Teams管理センターでアプリを管理する](https://learn.microsoft.com/ja-jp/microsoftteams/manage-apps)
* [Microsoft：カスタムアプリをアップロードして管理する](https://learn.microsoft.com/ja-jp/microsoftteams/teams-custom-app-policies-and-settings)
* [Microsoft：Teamsにアプリを追加する](https://support.microsoft.com/ja-jp/teams/apps-service/add-an-app-to-microsoft-teams)
* [Microsoft：リソース固有の同意権限](https://learn.microsoft.com/ja-jp/microsoftteams/platform/graph-api/app-permissions/teams-app-permissions)
* [Microsoft：アプリへの同意を管理する](https://learn.microsoft.com/ja-jp/microsoftteams/manage-consent-app-permissions)

## 関連ドキュメント

* [連携](/docs/ja/integrations.md)
* [トラブルシューティング](/docs/ja/troubleshooting.md)

## チャネルを検索する

一覧はスクロールに合わせて続きを読み込みます。戻ると前の範囲も読み込めます。検索は一覧全体が対象です。


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.