メインコンテンツへスキップ
バグ報告や機能要望、質問が届いたら、すぐに Microsoft Teams で @Devin をメンションしてください。タグ付けされると、Devin がスレッド内で更新内容や確認事項を返信します。

はじめに

インストール

  1. Settings > Integrations に移動し、Microsoft Teams を選択します
  2. 「Connect」をクリックします
  3. テナントや対象のチームに Devin アプリをインストールするよう求められます
  4. 必ず自分のユーザーを連携してください。組織内のすべてのユーザーが Devin を利用するには、この手順を各自で完了する必要があります
  5. チームのチャネルまたはチャットで @Devin とメンションしてセッションを開始します
注: Devin を各ユーザーに対して動作させるには、すべてのユーザーが Devin ダッシュボード (Settings > Integrations) で自分のアカウントを連携する必要があります。これにより、Devin はそのユーザーの Microsoft Teams のユーザー ID と Devin ユーザーを関連付けることができます。

Microsoft Teams から Devin を使う方法

Microsoft Teams 連携をインストールしたら、任意の Teams チャンネルで @Devin とメンションするだけで Devin を呼び出せます。 Devin は、そのスレッド内であなたのセッションに返信します。通常の Devin チャットインターフェースと同様に、双方向にやりとりできます。 なお、Devin が誤った回答をする可能性があります。必ず回答内容を再確認してください。

Teams インラインキーワードと機能

KeywordFunction
!askメッセージを !ask で始めると、Devin をフル起動せずにコードベースに関する簡潔な回答を取得します
!deep高度な検索を使って、より深く踏み込んだ調査結果を取得します
muteそのスレッド内で、以降のメッセージを Devin が見ないようにします
unmute上記の状態を解除します
(aside), !asideDevin にそのメッセージを無視させます(スレッド内での Devin の実行に関するコメントに便利です)
sleepDevin をスリープ状態にします。Devin を起こすには、そのスレッドで任意のメッセージを送信してください
archiveDevin をスリープ状態にし、さらにセッションをアーカイブします
EXITセッションを終了します
help利用可能なキーワードと機能のヘルプメッセージを表示します

料金

まだDevinアカウントをお持ちでない場合は、料金とプランの詳細をこちらからご確認いただけます。

プライバシー

当社のプライバシーポリシーはこちらをご覧ください。

認証フロー

以下の図は、Microsoft Teams 連携における認証アーキテクチャの全体像を示しており、Teams から各レイヤーを通って Devin の認証済みセッションが確立されるまでの認証フローを表しています。

権限の詳細

以下は、本連携で必要となる Microsoft Teams および Microsoft Graph の権限の概要です。それぞれが何を許可するのか、なぜ必要なのか、どこで使用されるのかを示します。
概要
  • Graph(アプリケーション権限、テナント全体):検出およびインストールのオーケストレーションに使用します。
  • Teams ボット RSC(チーム/チャット単位):ボットがインストールまたは参加している場所に限定して、メッセージ/メンバー/設定へのアクセスを許可します。

テナント全体の Microsoft Graph (アプリケーション) パーミッション

これらには Entra ID (Azure AD) での管理者の同意が必要です。アプリケーションのみの権限であり、ユーザーによる委任はありません。
Permission許可される内容必要な理由
Organization.Read.All基本的な組織プロファイルの読み取りアプリをインストールしているテナントを検証するため
User.ReadBasic.Allすべてのユーザーの基本プロファイルの読み取りメンバーの ID をマッピングし、リンクされた Teams 内のメンションを解決するため
AppCatalog.Read.AllTeams アプリカタログの読み取り本アプリを特定し、インストールに必要な teamsAppId を取得するため
TeamsAppInstallation.ReadWriteAndConsentSelfForTeam.All本アプリのインストール/アンインストールと RSC 付与Devin ダッシュボードから選択した Teams のチームにボットをインストール/削除するため
注: テナント全体スコープの Graph を使用してメッセージ内容を読み取ることはありません。メッセージへのアクセスは、ボットがインストールされ存在しているチームに対してのみ、RSC によって付与されます。
これらの権限は、インストール時にチーム / チャットごとに付与されます(テナント全体には適用されません)。
PermissionScopeWhat it allowsWhy we need it
ChannelMessage.Read.GroupTeam/Channelアプリがインストールされているチャネルのメッセージを読み取るチャネルでの会話を処理する(要約、トリガー、同期など)
ChannelMessage.Send.GroupTeam/Channelアプリがインストールされているチャネルでメッセージを送信する(新規投稿およびスレッド返信)チャネルのスレッド内のメッセージに返信し、チャンネルに積極的に更新を投稿する
Member.Read.GroupTeam/Channelチームのメンバーシップを読み取るID の対応付け、権限チェック、メンションのルーティング
TeamSettings.Read.GroupTeam/Channelチーム設定を読み取るチームレベルのポリシーを尊重し、動作を最適化する
ChatMember.Read.ChatChatチャット参加者を読み取る適切に宛先指定して応答し、監査証跡をサポートする
ChatMessage.Read.ChatChatBot が参加しているチャット内のメッセージを読み取るプロンプト、コンテキスト、およびフォローアップを処理する
ChatMessage.Send.ChatChatBot が参加している 1:1 およびグループチャット(DM)でメッセージを送信する(チャネルには送信しない)DM およびグループチャットでユーザーに返信し、通知やインタラクティブな返信をチャットスレッドに投稿する
ChatSettings.Read.ChatChatチャット設定(例: モデレーション)を読み取るチャットのポリシー(レート制限、投稿可能なユーザーなど)に動作を合わせる
RSC の制限事項: アクセスは、アプリがインストールされている、または参加している特定のチーム / チャットに限定されます。チーム / チャットからアプリを削除すると、そのアクセスは失効します。

例: Teams 検出のための証明書ベースの認証

下の図は、Microsoft Graph に対するアプリケーション専用の証明書ベース認証を示しています。X.509 クライアント証明書を使用してサービスがアクセストークンを取得し、その後 Graph を呼び出して Teams の一覧を取得します (GET /v1.0/teams)。この例は、Devin がユーザー コンテキストなしでテナント検出を安全に行う方法を示しています。
資格情報に関する注意: サービス間認証にはクライアント シークレットではなく、X.509 証明書(クライアント アサーション)を使用します。これは、Microsoft Graph への呼び出し、Bot Framework アダプターとのボット通信、この連携から行われるアプリ単独(app-only)の API 呼び出しに適用されます。

メッセージ処理フロー全体(Teams → Cognition)

次の図は、ユーザーが Microsoft Teams から Devin にメッセージを送信した際の、トークン検証およびボット処理を含むエンドツーエンドのメッセージ処理フローを示しています。
認証情報に関する注意: サービス間認証では、クライアント シークレットではなく X.509 証明書(クライアント アサーション)を使用します。これは、Microsoft Graph の呼び出し、Bot Framework アダプターとのボット通信、およびこの連携からのアプリのみの API 呼び出しすべてに適用されます。
  1. 管理者同意 (テナント全体)
    • Entra ID の管理者が、上記の Graph Application 権限を付与します。
  2. アプリ検出
    • この連携機能が Teams アプリ カタログをクエリし、当社アプリを特定して teamsAppId を取得します。
  3. 対象指定インストール
    • ダッシュボードから、特定の Team にボットをインストールします。
    • インストール時、RSC スコープはその Team(またはチャットで呼び出された場合はその特定の Chat)にのみ付与されます。
  4. 運用
    • 検出処理(組織 / Teams / チャネル / アプリ カタログ)は Graph Application 権限を使用します。
    • メッセージの読み取り / 送信、およびメンバー / 設定の読み取りは、インストール先サーフェス内での RSC に依存します。

最小権限に関する注意事項

  • 基本リーダーのみ: User.ReadBasic.All(テナント全体のメッセージは読み取りません)。
  • メッセージコンテンツへのアクセスは、RSC を通じてのみ行われ、ボットがインストールされている/存在する場所に限定されます。
  • メールボックス、ファイル、カレンダーの権限は一切要求しません。

取り消しとアンインストール

  • 管理者同意の取り消し: テナント管理者は、Entra ID でこのアプリのエンタープライズ アプリ権限を削除できます。
  • Teams からのアンインストール: 対象のリソースに対する RSC を取り消すには、その Team/Chat からアプリを削除します。
  • データ処理: アンインストール時、当社の連携機能はその Team/Chat に対するイベントの処理を停止し、関連するサブスクリプションやリンクを削除します。