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

Microsoft Teams

Microsoft Teams を Squid に接続し、AI-powered messaging を有効にします​

Teams Connector の Functionality​

Teams connector は現在、以下をサポートします。

  • AI-powered knowledge base search を使用して、team と channel 全体の conversation を検索する。
    • AI agent にこれらの capability を提供することで、user は AI agent に relevant conversation の検索を依頼でき、agent は intelligent result を retrieve します。
  • user は Teams から AI agent に message を送信でき(@mention または direct message)、Teams connector は agent の response を Teams 内で直接 relay します。
  • team および channel のすべての conversation を knowledge base に読み込み、user が AI agent に intelligent search や summary を依頼できるようにする。
  • connector は現在、"Multitenant" ではなく "Single Tenant" application setup のみをサポートします。multitenant support が必要な場合は、お知らせください。

Teams Connector の構成​

Squid は、Microsoft Teams application(Azure App Registration 経由)に接続し、message の read と Teams workspace との interaction を行います。

Teams Application と Azure App Registration の作成​

  1. Azure Portal に移動し、App registrations を開きます。
  2. New registration をクリックし、意味のある app name を指定します。
  3. Supported account types で、Single Tenant を選択します。
  4. 作成後、Application (client) ID と Directory (tenant) ID を控えます。
  5. Certificates & secrets に移動し、新しい client secret を作成します。この value は再表示されないため、安全に保存してください。
  6. API permissions に移動し、必要な Microsoft Graph permission を追加します。
    • Team.ReadBasic.All - team information を read するため
    • Channel.ReadBasic.All - channel information を read するため
    • ChannelMessage.Read.All - channel から message を read するため
    • Chat.Read.All - chat message を read するため(DM をサポートする場合)
    • User.Read.All - name で指定された user に message を送信するよう instruction された場合に user を lookup するため
  7. これらの permission に admin consent を付与します。

Squid Application に Teams Connector を追加する​

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

  2. Available Connectors tab に切り替え、Microsoft Teams connector を追加します。

  3. configuration detail は Azure App Registration で確認できます。

    Connector ID: code 内で connector を一意に識別する、意味のある string。後で必要になるため、この ID を控えてください。

    Client ID: Azure App Registration の Application (client) ID。Overview tab で確認できます。

    Tenant ID: Azure App Registration の Directory (tenant) ID。Overview tab で確認できます。

    Client Secret: Certificates & secrets section で作成した client secret value。Microsoft Graph API への request の authentication に使用されます。

    Index Channels: Squid が(bot が access できる team と channel から)すべての message を read し、intelligent search と summary を提供するかどうか。

    Message History Limit: Teams 経由で Squid に message を送信する際、Squid が user に最適な answer を提供するのに十分な context を得るために read する prior message 数。

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

  1. Squid Console に移動し、Agent Studio tab を選択します。
  2. Create New Agent をクリックして agent を作成します。後で必要になるため、Agent ID を控えてください。
  3. 新しい agent の Overview tab で、Add Abilities をクリックし、Microsoft Teams entry を expand して、作成した Teams connector を追加します。

Teams Bot の作成(Interactive Messaging 用)​

  1. Azure Portal に移動し、Azure Bot を検索します。
  2. 新しい Azure Bot resource を作成します。
  3. Type of App を Single Tenant に設定します。
  4. Use existing app registration を選択し、上記で作成した App Registration に link します。
  5. bot を作成します。
  6. Squid から Messaging endpoint URL を取得します。
    • Squid Console に移動します。
    • sidebar で Backend tab を選択します。
    • Webhooks tab を選択します。
    • teamsNotification webhook の URL を copy します。URL は https://{your-app-id}.{your-region}.squid.cloud:8001/webhooks/teamsNotification のようになります。
    • URL に ?integrationId={your-teams-connector-id}&agentId={your-squid-agent-id} を append し、final 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 に移動し、Settings → Configuration に移動します。
  8. Squid webhook URL を Messaging endpoint field に copy します。
  9. Settings → Channels に移動し、Available Channels から Microsoft Teams を見つけて bot に追加します。

App Package を作成して Teams に Upload する​

  1. manifest.json、color.png、outline.png の 3 file を含む ZIP file である Teams app package を作成します。

    • この manifest.json から開始し、YOUR_APPLICATION_CLIENT_ID のすべての出現箇所を Application (client) ID に置き換えます。
    • PNG icon も利用できます: color.png と outline.png
    • これら 3 file を top level に含む ZIP file を作成します。
  2. Teams に upload します。2 つの option があります。

    Option A: Teams Client から Upload

    1. Microsoft Teams を開きます
    2. Apps → Manage your apps に移動します
    3. Upload an app → Upload a custom app をクリックします
    4. ZIP file を選択します。
    5. Add をクリックして organization に install します。

    Option B: Teams Admin Center から Upload

    1. Teams Admin Center → Teams apps → Manage apps に移動します
    2. Upload new app をクリックします
    3. ZIP file を選択します。
    4. 必要に応じて app setting と permission を構成します。

Application で Teams Connector を使用する​

application で Teams connector を使用する方法は 3 つあります。

  1. Agent Studio を使用する: Agent Studio を使用して AI agent を作成する場合、Add Abilities button をクリックして Microsoft Teams ability を追加することで、Teams connector を追加できます。ability の詳細はこちら。ability を追加後、Test Agent tab で agent に Teams message の search を依頼できます。注記: Squid が Teams message を index 化するまで数時間かかる場合があります。

    message の例:

    • 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 agent を作成する場合、squid.ai().agent('AGENT_ID').ask() function を使用して agent と chat できます。詳細はこちら。ask() function の connectedIntegrations option に追加して Teams connector を使用します。

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',
});