メインコンテンツまでスキップ

Microsoft Teams

Microsoft Teams を Squid に接続して、AI を活用したメッセージングを有効化する

Teams コネクタの機能

Teams コネクタは現在、以下をサポートしています。

  • AI を活用したナレッジベース検索を使用して、チームやチャネルを横断して会話を検索する。
    • これらの機能を AI エージェントに提供することで、ユーザーは AI エージェントに関連する会話の検索を依頼でき、エージェントはインテリジェントな結果を返します。
  • ユーザーは Teams から(@mentions またはダイレクトメッセージ経由で)AI エージェントにメッセージを送信でき、Teams コネクタはエージェントの応答を Teams 内に直接中継します。
  • チームおよびチャネルのすべての会話をナレッジベースに読み込み、ユーザーが AI エージェントに対してインテリジェントな検索や要約を依頼できるようにする。
  • コネクタは現在、"Single Tenant" アプリケーション設定のみをサポートしており、"Multitenant" には対応していません。Multitenant のサポートが必要な場合は、ご連絡ください!

Teams コネクタの設定

Squid は Microsoft Teams application(Azure App Registration 経由)に接続して、メッセージを読み取り、Teams ワークスペースと連携します。

Teams application と Azure App Registration の作成

  1. Azure Portal に移動し、App registrations を開きます。
  2. New registration をクリックし、分かりやすいアプリ名を入力します。
  3. Supported account typesSingle Tenant を選択します。
  4. 作成後、Application (client) IDDirectory (tenant) ID を控えておきます。
  5. Certificates & secrets に移動し、新しい client secret を作成します。この値は再表示されないため、安全に保管してください。
  6. API permissions に移動し、必要な Microsoft Graph permissions を追加します。
    • Team.ReadBasic.All - チーム情報を読み取るため
    • Channel.ReadBasic.All - チャネル情報を読み取るため
    • ChannelMessage.Read.All - チャネルのメッセージを読み取るため
    • Chat.Read.All - チャットメッセージを読み取るため(DM をサポートする場合)
  7. これらの permissions に対して admin consent を付与します。

Squid アプリケーションへの Teams コネクタの追加

  1. Squid Console に移動し、Connectors タブを選択します。

  2. Available Connectors タブに切り替え、Microsoft Teams コネクタを追加します。

  3. 設定の詳細は、Azure App Registration から確認できます。

    Connector ID: コード内でコネクタを一意に識別する、分かりやすい文字列。この ID は後で必要になるため控えてください。

    Client ID: Azure App Registration の Overview タブにある Application (client) ID。

    Tenant ID: Azure App Registration の Overview タブにある Directory (tenant) ID。

    Client Secret: Certificates & secrets セクションで作成した client secret の値。Microsoft Graph API へのリクエストを認証するために使用します。

    Index Channels: Squid が(ボットがアクセスできるチームとチャネルの)すべてのメッセージを読み取り、インテリジェントな検索と要約を提供するかどうか。

    Message History Limit: Teams 経由で Squid にメッセージを送る際、ユーザーに最適な回答を行うために、Squid が前のメッセージを何件読み取るか。

Teams で使用する対応する AI Agent を作成

  1. Squid Console に移動し、Agent Studio タブを選択します。
  2. Create New Agent をクリックしてエージェントを作成します。Agent ID は後で必要になるため控えてください。
  3. 新しいエージェントの Overview タブで Add Abilities をクリックし、Microsoft Teams エントリを展開して、先ほど作成した Teams コネクタを追加します。

Teams Bot の作成(対話型メッセージング用)

  1. Azure Portal に移動し、Azure Bot を検索します。
  2. 新しい Azure Bot リソースを作成します。
  3. Type of AppSingle Tenant に設定します。
  4. Use existing app registration を選択して、上で作成した App Registration にリンクします。
  5. ボットを作成します。
  6. Squid から Messaging endpoint URL を取得します。
    • Squid Console に移動します。
    • サイドバーの Backend タブを選択します。
    • Webhooks タブを選択します。
    • teamsNotification webhook の 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}
  7. 新しく作成した Azure Bot に移動し、SettingsConfiguration に進みます。
  8. Squid webhook URL を Messaging endpoint フィールドに貼り付けます。
  9. SettingsChannels に移動し、Available Channels から Microsoft Teams を見つけてボットに追加します。

app package を作成して Teams にアップロード

  1. Teams app package を作成します。これは 3 つのファイル(manifest.jsoncolor.pngoutline.png)を含む ZIP ファイルです。

    • この manifest.json から開始し、YOUR_APPLICATION_CLIENT_ID の出現箇所をすべて Application (client) ID に置き換えられます。
    • PNG アイコンも利用できます: color.pngoutline.png
    • これら 3 つのファイルが ZIP のトップレベルに来るように ZIP ファイルを作成してください。
  2. Teams にアップロードします。2 つの方法があります。

    Option A: Teams Client からアップロード

    1. Microsoft Teams を開きます
    2. AppsManage your apps に移動します
    3. Upload an appUpload a custom app をクリックします
    4. ZIP ファイルを選択します。
    5. Add をクリックして組織にインストールします。

    Option B: Teams Admin Center からアップロード

    1. Teams Admin CenterTeams appsManage apps に移動します
    2. Upload new app をクリックします
    3. ZIP ファイルを選択します。
    4. 必要に応じてアプリ設定と permissions を構成します。

アプリケーションで Teams コネクタを使用する

アプリケーションで Teams コネクタを使用する方法は 3 つあります。

  1. Agent Studio を使用: Agent Studio を使って AI エージェントを作成している場合、Add Abilities ボタンをクリックし、Microsoft Teams ability を追加することで Teams コネクタを追加できます。ability についての詳細はこちら。ability を追加した後は、Test Agent タブでエージェントに Teams メッセージの検索を依頼できます。注: Squid が Teams メッセージをインデックスするまで数時間かかる場合があります。

    メッセージ例:

    • Search Teams for conversations about the product launch
    • Show me all discussions in the Engineering team about API design
    • Find messages in the Finance channel about budget planning
  2. 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',
},
],
});
  1. 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',
});