Slack
Slack を Squid に接続して、AI を活用したメッセージを送信する
Slack コネクターの機能
Slack コネクターは以下をサポートします:
- チャンネル、グループ、個々のユーザーへのメッセージ送信
- SlackBot 経由で Slack 内から Squid AI エージェントと直接やり取り
- ナレッジベースに会話を読み込み、インテリジェント検索と要約を実現
Slack コネクターの設定
Squid は Slack application に接続して、Slack ワークスペース内のメッセージを送信および読み取りします。
Slack application の作成
- Slack applications のランディングページに移動します。
- Create New App をクリックし、わかりやすい App Name と対応する Slack ワークスペースを指定します。
Squid application に Slack コネクターを追加する
-
Squid Console に移動し、Connectors タブを選択します。
-
Available Connectors タブに切り替え、Slack コネクターを追加します。
-
設定の詳細は、先ほど作成した Slack application の設定ページで確認できます:
Connector ID: コード内でコネクターを一意に識別するための、意味のある文字列。
App ID: Slack application の ID。Slack app 設定の
Basic Informationタブで確認できます。Client ID: Slack application の Client ID。こちらも
Basic Informationタブで確認できます。Verification Token: Slack app の Verification Token。
Basic Informationタブで確認できます。Client Secret: Slack app の Client Secret。
Basic Informationタブで確認できます。Signing Secret: Slack app の Signing Secret。
Basic Informationタブで確認できます。
Bot User OAuth Token: Slack application の Bot User OAuth token。
OAuth & Permissionsタブで確認できます。このトークンは、Slack API へのリクエストを認証するために使用します。
Index Channels: Squid が(ボットが追加されているチャンネルの)すべてのメッセージを読み取り、インテリジェント検索と要約を提供するかどうか。
Message History Limit: Slack 経由で Squid にメッセージを送る際、ユーザーに最適に回答できるだけのコンテキストを得るために、Squid が読み取る直前のメッセージ数。
-
OAuth & Permissions タブに移動し、以下の Bot Token Scopes が追加されていることを確認します:
app_mentions:readchannels:historychannels:joinchannels:readchat:writechat:write.publicfiles:readfiles:writegroups:historygroups:readim:historyim:readim:writempim:historympim:readmpim:writeusers:readusers:read.email
application で Slack コネクターを利用する
application で Slack コネクターを利用する方法は 3 つあります:
-
Agent Studio を使用する: Agent Studio で Add Abilities > Slack から Slack コネクターを追加します。abilities について詳しくはこちら。その後、Test Agent タブでメッセージ送信をテストできます。メッセージ検索については、Squid が Slack メッセージをインデックスするまで数時間待ってください。メッセージ例:
Send a slack message saying "Hello!" to James- ここで "James" は Slack ユーザーですPost "The deployment was successful!" to the #devops channelSearch Slack 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()関数でエージェントとチャットできます。詳しくはこちら。ask()関数のconnectedIntegrationsオプションに追加して Slack コネクターを使用します。
// エージェントが Slack コネクターを認識できるようにするための設定。
const config = {
connectedIntegrations: [{
integrationId: 'SLACK_CONNECTOR_ID',
integrationType: 'slack',
description: 'Call this connector whenever a user asks to send or search Slack messages',
}]
};
// メッセージを送信。
await this.squid.ai().agent('AGENT_ID').ask('Send a slack message saying "Hello!" to the general channel', config);
// 検索に関連するメッセージを検索。
await this.squid.ai().agent('AGENT_ID').ask('Find messages in the Finance channel about budget planning.', config);
- NPM package を使用する:
@squidcloud/slack-clientを使用する場合は、次のことができます:
// クライアントを初期化。
const slackClient = SquidSlackClient(this.squid, 'SLACK_CONNECTOR_ID');
// メッセージを送信。
await slackClient.sendMessage({
recipient: 'general',
recipientType: 'channel',
message: 'Hello!'
});
// 検索に関連するメッセージを検索。
await slackClient.searchMessages({
channelNames: 'general,random',
prompt: 'need help'
});
SlackBot 経由で AI Agents とやり取りする
Slack 内で AI agents と直接やり取りするには、Slack application で次のように SlackBot 機能を設定します:
- Slack application の設定で Event Subscriptions タブに移動します。
- Enable Events を ON に切り替えます
- Request URL に、Slack 通知用 Webhook URL を入力します。URL は次の形式です:
https://[APP_ID]-[ENV_ID]-[DEVELOPER_ID].[REGION].squid.cloud/webhooks/slackNotification?agentId=[AGENT_ID]
[DEVELOPER-ID] は、バックエンドをローカルで実行している場合にのみ必要です。squid にデプロイする場合は省略されます。例:
https://9kxp2nvqtcfflwazoe-dev.us-east-1.aws.squid.cloud/webhooks/slackNotification?agentId=quote-agent
- Subscribe to Bot Events の下に、次のイベントを追加します:
message.im- ボットに送信されたダイレクトメッセージを受信するためapp_mention- チャンネル内でボットがメンションされたメッセージを受信するため
以上です。ユーザーが SlackBot にメッセージを送ると、Squid はプロンプトを指定されたエージェントに転送し、Slack 内で直接返信します。