Microsoft Teams
Microsoft Teams を Squid に接続して、AI によるメッセージングを有効化
Teams コネクタの機能
Teams コネクタは現在、以下をサポートしています:
- AI-powered knowledge base search を使用して、チームおよびチャネルを横断して会話を検索。
- AI エージェントにこれらの機能を提供することで、ユーザーは AI エージェントに関連する会話の検索を依頼でき、エージェントはインテリジェントな結果を取得します。
- ユーザーは Teams から AI エージェントにメッセージを送信でき(@mentions またはダイレクトメッセージ経由)、Teams コネクタがエージェントの応答を Teams 内に直接中継します。
- チームおよびチャネルの全会話を knowledge base に読み込み、ユーザーが AI エージェントにインテリジェントな検索や要約を依頼できるようにします。
- このコネクタは現在、"Multitenant" ではなく "Single Tenant" のアプリケーション設定 のみ をサポートしています。multitenant のサポートが必要な場合は、お知らせください!
Teams コネクタの設定
Squid は Microsoft Teams application(Azure App Registration 経由)に接続し、メッセージの読み取りと Teams ワークスペースとの連携を行います。
Teams application と Azure App Registration の作成
- Azure Portal に移動し、App registrations を開きます。
- New registration をクリックし、分かりやすいアプリ名を入力します。
- Supported account types で Single Tenant を選択します。
- 作成後、Application (client) ID と Directory (tenant) ID を控えておきます。
- Certificates & secrets に移動し、新しい client secret を作成します。この値は再表示されないため、安全に保存してください。
- API permissions に移動し、必要な Microsoft Graph permissions を追加します:
Team.ReadBasic.All- チーム情報を読み取るためChannel.ReadBasic.All- チャネル情報を読み取るためChannelMessage.Read.All- チャネルのメッセージを読み取るためChat.Read.All- チャットメッセージを読み取るため(DM をサポートする場合)
- これらの権限に対して admin consent を付与します。
Squid application に Teams コネクタを追加
-
Squid Console に移動し、Connectors タブを選択します。
-
Available Connectors タブに切り替え、Microsoft Teams コネクタを追加します。
-
設定に必要な情報は Azure App Registration から取得できます:
Connector ID: コード内でコネクタを一意に識別するための、意味のある文字列。この ID は後で必要になるため控えておいてください。
Client ID: Azure App Registration の Application (client) ID。Overview タブで確認できます。
Tenant ID: Azure App Registration の Directory (tenant) ID。Overview タブで確認できます。
Client Secret: Certificates & secrets セクションで作成した client secret の値。Microsoft Graph API へのリクエスト認証に使用します。
Index Channels: Squid が(ボットがアクセスできるチームとチャネルから)すべてのメッセージを読み取り、インテリジェントな検索と要約を提供するかどうか。
Message History Limit: Teams 経由で Squid にメッセージする際、ユーザーに最適に回答するための文脈として、Squid が読み取る過去メッセージ数。
Teams で使用するための対応する AI Agent の作成
- Squid Console に移動し、Agent Studio タブを選択します。
- Create New Agent をクリックしてエージェントを作成します。Agent ID は後で必要になるため控えておいてください。
- 新しいエージェントの Overview タブで Add Abilities をクリックし、Microsoft Teams エントリを展開して、先ほど作成した Teams コネクタを追加します。
Teams Bot の作成(対話型メッセージング用)
- Azure Portal に移動し、Azure Bot を検索します。
- 新しい Azure Bot リソースを作成します。
- Type of App を Single Tenant に設定します。
- Use existing app registration を選択し、上で作成した App Registration にリンクします。
- ボットを作成します。
- Squid から Messaging endpoint URL を取得します。
- Squid Console に移動します。
- サイドバーの Backend タブを選択します。
- Webhooks タブを選択します。
teamsNotificationwebhook の URL をコピーします。これはhttps://{your-app-id}.{your-region}.squid.cloud:8001/webhooks/teamsNotificationのような形式になります。- これに
?integrationId={your-teams-connector-id}&agentId={your-squid-agent-id}を付与し、最終的な URL が次のようになるようにします:https://{your-app-id}.{your-region}.squid.cloud:8001/webhooks/teamsNotification?integrationId={your-teams-connector-id}&agentId={your-squid-agent-id}
- 新規作成した Azure Bot を開き、Settings → Configuration に移動します。
- Squid の webhook URL を Messaging endpoint フィールドに貼り付けます。
- Settings → Channels に移動し、Available Channels から Microsoft Teams を見つけてボットに追加します。
app package を作成して Teams にアップロード
-
Teams app package を作成します。これは 3 つのファイル(
manifest.json、color.png、outline.png)を含む ZIP ファイルです。- この manifest.json から始めて、
YOUR_APPLICATION_CLIENT_IDのすべての出現箇所を Application (client) ID に置き換えてください。 - PNG アイコンも利用できます: color.png と outline.png
- これら 3 ファイルがトップレベルに配置されるように ZIP ファイルを作成してください。
- この manifest.json から始めて、
-
Teams にアップロードします。2 つの方法があります:
Option A: Teams Client からアップロード
- Microsoft Teams を開きます
- Apps → Manage your apps に移動します
- Upload an app → Upload a custom app をクリックします
- ZIP ファイルを選択します。
- Add をクリックして組織にインストールします。
Option B: Teams Admin Center からアップロード
- Teams Admin Center → Teams apps → Manage apps に移動します
- Upload new app をクリックします
- ZIP ファイルを選択します。
- 必要に応じてアプリ設定と権限を構成します。
アプリケーションで Teams コネクタを使用する
アプリケーションで Teams コネクタを使用する方法は 3 つあります:
-
Agent Studio を使用: Agent Studio で AI エージェントを作成している場合は、Add Abilities ボタンをクリックし、Microsoft Teams ability を追加することで Teams コネクタを追加できます。 abilities の詳細はこちら。ability を追加したら、 Test Agent タブでエージェントに Teams メッセージの検索を依頼できます。Note: Squid が Teams メッセージを index するまでに数時間かかる場合があります。
メッセージ例:
Search Teams for conversations about the product launchShow me all discussions in the Engineering team about API designFind messages in the Finance channel about budget planning
-
Squid SDK を使用: Squid SDK を使用して AI エージェントを作成している場合は、
squid.ai().agent('AGENT_ID').ask()関数でエージェントとチャットできます。 詳細はこちら。Teams コネクタは、ask()関数のconnectedIntegrationsオプションに追加して使用します。
await this.squid.ai().agent('AGENT_ID').ask('Search Teams for discussions about the new feature', {
connectedIntegrations: [{
integrationId: 'TEAMS_CONNECTOR_ID',
integrationType: 'teams',
description: 'Call this connector to search Microsoft Teams messages',
}],
});
- NPM package を使用:
@squidcloud/teams-clientを使用する場合、次のようにできます:
// Initialize the client.
const teamsClient = SquidTeamsClient(this.squid, 'TEAMS_CONNECTOR_ID');
// Search for messages related to your query.
await teamsClient.searchMessages({
teamNames: 'Engineering,Product',
channelNames: 'general,announcements',
prompt: 'API design discussions'
});