はじめに
IBM watsonx Orchestrate で作成した AI エージェントを、Microsoft Teams 上のユーザーとやりとりさせる環境を構築しました。
全体構成
今回の構成では、2つのテナントと3つのサービスを連携させています。
Teams ユーザー (Developer テナント)
→ Teams アプリ (Developer Portal で定義)
→ Azure Bot Service (個人テナント)
→ watsonx Orchestrate (IBM Cloud)
→ AI エージェントが応答を生成
← 応答を Azure Bot に返却
← Azure Bot が Teams に返却
← ユーザーに表示
テナント構成
| テナント | 用途 |
|---|---|
| 個人 Microsoft アカウントのテナント | Azure リソース(App Registration、Azure Bot Service)の作成 |
| M365 Developer テナント | Teams ユーザーアカウントの作成、Teams アプリの定義・配布 |
各サービスの役割
| サービス | 役割 |
|---|---|
| App Registration (Entra ID) | ボットの認証情報(Client ID / Tenant ID / Client Secret)を発行 |
| Azure Bot Service | Teams と wxo の間でメッセージを中継 |
| watsonx Orchestrate | AI エージェントの実行環境。メッセージを受けて応答を生成 |
| Teams Developer Portal | Teams にインストール可能なアプリパッケージを定義 |
| Teams | ユーザーがボットとチャットする画面 |
認証情報の流れ
App Registration で生成した3つの値が、各サービスに設定されています。
| 値 | 生成場所 | 設定先 |
|---|---|---|
| Client ID | App Registration | Azure Bot の構成、wxo の Teams チャネル設定、Developer Portal の Bot ID |
| Tenant ID | App Registration | Azure Bot の構成、wxo の Teams チャネル設定 |
| Client Secret | App Registration | wxo の Teams チャネル設定 |
| Messaging Endpoint URL | wxo が生成 | Azure Bot の構成 |
手順
1. M365 Developer Program に登録
Teams のテスト用アカウントを作るため、Microsoft 365 Developer Program に登録します。
- Microsoft 365 Developer Program にアクセス
- サインイン(Visual Studio サブスクリプション保持者や MAICPP パートナー企業であれば自動的に資格あり)
- 国、会社名、開発対象の分野などを入力
- Instant sandbox を選択して E5 サブスクリプションをセットアップ
- 管理者ユーザー名とパスワードを設定
Instant sandbox を選ぶと、16人の架空ユーザーとサンプルデータ(Teams のチームやチャット含む)が事前に作成された状態で即利用開始できます。
主な制限事項:
- 25ユーザー + 1管理者まで
- 90日間有効(開発活動があれば自動更新)
- Azure サブスクリプションは含まれない(別途必要)
- 開発目的のみ(本番利用不可)
2. Teams へのログイン確認
-
https://teams.microsoft.com に管理者アカウント(
admin@{ドメイン}.onmicrosoft.com)でログイン - サンプルのチームやチャネルが表示されることを確認
- 別ブラウザ(シークレットウィンドウ等)でテストユーザーでもログインできることを確認
3. Security Defaults の無効化(任意)
デフォルトでは MFA(多要素認証)が強制されています。テスト用途であれば無効化すると楽です。
- https://entra.microsoft.com に管理者アカウントでログイン(初回は MFA 設定が必要)
- ID → 概要 → プロパティ
- 「セキュリティの既定値群の管理」 → 無効 に変更
- 理由を選択して保存
4. Azure 無料アカウントの作成
Azure Bot Service の作成に Azure サブスクリプションが必要です。
- https://azure.microsoft.com/free/ にアクセス
- 個人の Microsoft アカウント(Outlook.com 等)でサインアップ
- クレジットカード情報を入力(無料枠内であれば課金なし)
5. App Registration の作成
Azure Portal でボットの認証情報を作成します。
- Azure Portal に個人アカウントでログイン
- 上部の検索バーで「アプリの登録」を検索 → 「新規登録」
- 以下を入力:
-
名前:
wxo-teams-bot - サポートされているアカウントの種類: 「この組織ディレクトリのみに含まれるアカウント」
- リダイレクト URI: 空欄
-
名前:
- 「登録」 をクリック
- 概要画面で アプリケーション (クライアント) ID と ディレクトリ (テナント) ID をメモ
6. Client Secret の作成
- 左メニューの 「証明書とシークレット」
- 「新しいクライアントシークレット」 をクリック
- 説明と有効期限を設定して「追加」
- 表示された 「値」(Value) をコピーしてメモ
7. Azure Bot リソースの作成
- Azure Portal で「Azure Bot」を検索 → 「作成」
- 以下を入力:
-
Bot handle:
wxo-hello-bot(任意) - サブスクリプション: 無料サブスクリプション
- リソースグループ: 新規作成
- Pricing tier: 「Change plan」で Free に変更(Standard だと従量課金が発生)
- Type of App: Single Tenant
- Creation type: Use existing app registration
- App ID: 手順5で取得した Client ID
- App tenant ID: 手順5で取得した Tenant ID
-
Bot handle:
- 「確認と作成」 → 「作成」
8. Azure Bot の設定
Messaging Endpoint の設定
- 作成した Bot リソースを開く
- 左メニューの 「構成」(Configuration)
- Messaging endpoint に wxo の URL を貼り付けて 「適用」
Messaging Endpoint の URL は、後述する wxo の Teams チャネル設定ウィザードの「Create your bot」ステップで表示されます。
Teams チャネルの有効化
- 左メニューの 「チャネル」(Channels)
- Microsoft Teams を選択
- Microsoft Teams Commercial を選んで有効化
9. watsonx Orchestrate でエージェントを作成
- wxo の管理画面でエージェントを作成(または既存のエージェントを使用)
- エージェントを Live(公開状態)にする
10. wxo の Teams チャネル設定
wxo の管理画面でエージェントの Channels → Teams を開くと設定ウィザードが表示されます。
Step 1: App Registration
以下を入力:
- Application (client) ID: 手順5の Client ID
- Tenant ID: 手順5の Tenant ID
- Client secret: 手順6の Client Secret の値
Step 2: Create your bot
画面に表示される Messaging Endpoint URL をコピーし、手順8で Azure Bot の構成に設定します。
Step 3: Create your Teams app
後述する Developer Portal でのアプリ作成手順が案内されます。
「Finish」 を押して設定を完了します。
Draft 環境と Live 環境それぞれで設定が必要です。
11. Teams Developer Portal でアプリを作成
- https://dev.teams.microsoft.com に Developer テナントの管理者アカウントでログイン
- Apps → New App → アプリ名を入力して Add
-
Basic information を入力:
-
Short description: 任意(例:
Hello agent) - Full description: 任意
- Developer name: 自分の名前
-
Website URL:
https://example.com(テスト用のダミーでOK) -
Privacy URL:
https://example.com/privacy -
Terms of use URL:
https://example.com/terms
-
Short description: 任意(例:
- Configure → App features → Bot
- 「Enter a bot ID」 を選択し、手順5の Client ID を入力
- Scopes: Personal と Group chat にチェック
- Save
12. Teams 管理センターでカスタムアプリを許可
Developer Portal からアプリをインストールするには、Teams 管理センターでカスタムアプリの許可が必要です。
- https://admin.teams.microsoft.com に管理者アカウントでログイン
- Teams apps → Manage apps → Actions → Org-wide app settings
- Custom apps を オン に設定
- Setup policies → Global → Upload custom apps を オン に設定
設定反映には数分〜最大24時間かかる場合があります。
13. Teams にアプリをインストール
- Developer Portal でアプリを開く
- 右上の 「Preview in Teams」 をクリック
- Teams が開き、アプリの追加ダイアログが表示される
- 「追加」 をクリック
14. 動作確認
ボットとのチャット画面が開いたら、メッセージを送信します。wxo のエージェントから応答が返れば成功です。
Azure Portal の 「Web チャットでテスト」 でも事前に確認できます。
まとめ
watsonx Orchestrate のエージェントを Teams に接続するには、Azure Bot Service を中継役として、App Registration の認証情報で3つのサービス(Azure Bot、wxo、Developer Portal)を紐付ける必要があります。テナントの統一と認証情報の整合性が肝で、ここさえ押さえれば設定自体はウィザードに沿って進められます。