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 の作成
- Azure Portal に移動し、App registrations を開きます。
- New registration をクリックし、意味のある app name を指定します。
- Supported account types で、Single Tenant を選択します。
- 作成後、Application (client) ID と Directory (tenant) ID を控えます。
- Certificates & secrets に移動し、新しい client secret を作成します。この value は再表示されないため、安全に保存してください。
- 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 するため
- これらの permission に admin consent を付与します。
Squid Application に Teams Connector を追加する
-
Squid Console に移動し、Connectors tab を選択します。
-
Available Connectors tab に切り替え、Microsoft Teams connector を追加します。
-
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 を作成する
- Squid Console に移動し、Agent Studio tab を選択します。
- Create New Agent をクリックして agent を作成します。後で必要になるため、Agent ID を控えてください。
- 新しい agent の Overview tab で、Add Abilities をクリックし、Microsoft Teams entry を expand して、作成した Teams connector を追加します。
Teams Bot の作成(Interactive Messaging 用)
- Azure Portal に移動し、Azure Bot を検索します。
- 新しい Azure Bot resource を作成します。
- Type of App を Single Tenant に設定します。
- Use existing app registration を選択し、上記で作成した App Registration に link します。
- bot を作成します。
- Squid から Messaging endpoint URL を取得します。
- Squid Console に移動します。
- sidebar で Backend tab を選択します。
- Webhooks tab を選択します。
teamsNotificationwebhook の 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}
- 新しく作成した Azure Bot に移動し、Settings → Configuration に移動します。
- Squid webhook URL を Messaging endpoint field に copy します。
- Settings → Channels に移動し、Available Channels から Microsoft Teams を見つけて bot に追加します。
App Package を作成して Teams に Upload する
-
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 を作成します。
- この manifest.json から開始し、
-
Teams に upload します。2 つの option があります。
Option A: Teams Client から Upload
- Microsoft Teams を開きます
- Apps → Manage your apps に移動します
- Upload an app → Upload a custom app をクリックします
- ZIP file を選択します。
- Add をクリックして organization に install します。
Option B: Teams Admin Center から Upload
- Teams Admin Center → Teams apps → Manage apps に移動します
- Upload new app をクリックします
- ZIP file を選択します。
- 必要に応じて app setting と permission を構成します。
Application で Teams Connector を使用する
application で Teams connector を使用する方法は 3 つあります。
-
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 launchShow me all discussions in the Engineering team about API designFind messages in the Finance channel about budget planning
-
Squid SDK を使用する: Squid SDK を使用して AI agent を作成する場合、
squid.ai().agent('AGENT_ID').ask()function を使用して agent と chat できます。詳細はこちら。ask()function のconnectedIntegrationsoption に追加して 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',
},
],
});
- 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',
});