コミュニケーション

自律型エージェントをSlackに接続する

Atakoのエージェントは、Slack上でチャンネルを監視したり、インシデント用のスペースを作成したり、放置されたスレッドにフォローアップしたりできます。人が一つひとつのアクションを起動する必要はありません。

Atakoのエージェントが執筆 · 確認・承認者 Romain Laodicina · Atako CTO

想定されるワークフロー

未解決Slackスレッドの日次サマリー

毎朝、エージェントはget_conversation_historyでサポートチャンネルの履歴を確認し、get_thread_repliesで各スレッドを確認して、最終返信や解決を示すリアクションのないものを特定します。post_messageで経過時間順にまとめた要約を投稿するか、schedule_messageでスケジュール投稿します。チームは、会話を一つずつ開いたり履歴を検索したりすることなく、保留中の話題の正確なリストとともに1日を始められます。

インシデントチャンネルの自動作成と情報投入

他のAtako連携チャネルからインシデントの通知が届くと、エージェントはcreate_channelで専用チャンネルを作成し、set_channel_topicで話題を設定し、lookup_user_by_emailで適切な担当者を特定してinvite_to_channelで招待します。pin_messageでチケットやランブックへのリンクを固定表示します。最初の一人がSlackを開く前に、チャンネルはすでに準備・情報投入が完了しており、招集にかかる時間が短縮されます。

非アクティブなチャンネルの整理

月に一度、エージェントはlist_channelsでワークスペースのチャンネルを一覧表示し、get_channel_infoで最終アクティビティを突き合わせて、数週間動きのないチャンネルを特定します。post_messageでメンバーに通知し、archive_channelでアーカイブするまでに猶予期間を設けます。ワークスペースは手作業を繰り返すことなく見やすい状態を保ち、事前の通知なしにチャンネルがアーカイブされることはありません。

コネクタのアクション

  • get_conversation_history

    読み取り:チャンネルのメッセージ履歴。

  • get_thread_replies

    読み取り:スレッドの返信を確認し、解決済みかどうかを判断する。

  • list_channels

    読み取り:ワークスペースのチャンネル一覧。

  • get_channel_info

    読み取り:チャンネルの詳細と最終アクティビティ。

  • lookup_user_by_email

    読み取り:メールアドレスからSlackユーザーを検索する。

  • post_message

    書き込み:チャンネルにメッセージを投稿する。

  • create_channel

    書き込み:チャンネルを作成する。例えばインシデント対応用。

  • set_channel_topic

    書き込み:チャンネルの話題を設定する。

  • invite_to_channel

    書き込み:チャンネルにユーザーを追加する。

  • pin_message

    書き込み:チケットへのリンクなどのメッセージを固定表示する。

  • archive_channel

    書き込み:非アクティブなチャンネルをアーカイブする。

前提条件

  • api.slack.com/appsのOAuth & Permissionsセクションでappを作成する。
  • 必要なbot scope(最低限chat:writeとchannels:read)を追加する。
  • appをワークスペースにインストールし、prefixがxoxb-のBot User OAuth Tokenを生成する。
  • そのトークンをAtakoの設定、続いて連携に貼り付け、エージェントごとに具体的なgrantを付与する。

接続方法

  1. 1

    Slack appとscopeを作成する

    api.slack.com/appsでappを作成し、必要なbot scopeを追加する。

  2. 2

    appをインストールしてトークンを取得する

    ワークスペースにappをインストールする。Slackがxoxb-トークンを生成する。

  3. 3

    トークンをAtakoに接続する

    設定、続いて連携で、トークンを貼り付ける。

  4. 4

    エージェントにgrantを付与する

    このエージェントの連携から、許可するアクションとその範囲を選択する。

自律型エージェントをSlackに接続する理由

インシデントや顧客からの質問が最初に可視化される場所は、多くの場合Slackです。ここに自律型エージェントを接続すると、作業の性質が変わります。トリガーのたびに自動化を実行するツールではなく、エージェントは専用の実行環境で継続的に稼働し、次に何をすべきかを自ら判断します。チャンネルの履歴を読み、スレッドが解決済みかどうかを評価し、フォローアップするかインシデントチャンネルを作成するかを選び、本当に自分の手に負えない判断だけを人間にエスカレーションします。

この違いは、トリガー起点のワークフローツール(Zapier、Make、n8n)と比べると際立ちます。Atakoのエージェントは、観察した内容に応じて複数のSlackアクションを連鎖させながら、時間をかけて一つの目標を追い続けます。

技術的には、この接続はツールコーリングによって実現します。エージェントは、許可されたSlackアクションの中から状況に合ったものを、適切なパラメータとともに選びます。意図を実際のSlack API呼び出しに変換するのがこのコネクタです。典型的な活用例はインシデントの仕分けです。エージェントは受信するシグナルを監視し、専用チャンネルを開き、適切なメンバーを招待し、人間を待つことなくタイムラインを記録します。

この自律性にはコストが伴い、Atakoの料金表で確認できますが、誰も手作業で正確にはこなせない反復的な監視作業を省くことができます。

制限とベストプラクティス

Slackのすべてのアクションは既定で無効です。特定のエージェント、特定の接続に対して、正確なアクションのリストと読み取りまたは読み書きの範囲を伴う明示的なgrantが設定されるまで、何にもアクセスできません。これがdeny-by-default(デフォルト拒否)の原則です。ワークフローに本当に必要なものだけを、必要であればチャンネルごとに付与してください。

Slack側では、ボットのscopeがAtako側に届く前の可能性を決めます。channels:historyを持たないボットは、その後どのようなgrantを与えられても履歴を読むことはできません。Slack appに追加するscopeは、実際に使用するアクションと一致させてください。

Slack APIには独自のレート制限もあり、メソッドによって複数のティアに分かれています。メッセージ送信については、1チャンネルあたり1秒に1メッセージに近い制限があります。ループでメッセージを投稿するエージェントは、Atakoとは無関係にSlack自身によって速度を落とされる可能性があります。

最後に、xoxb-トークンは、そのscopeが許可するすべての範囲でワークスペース全体へのアクセスを与えます。取り消せば即座にアクセスは遮断されますが、トークンが流通している間は漏洩のリスクが残ります。Atako内だけで保持し、他所と共有しないことでこのリスクを抑えられます。

関連するユースケース

関連する連携機能

よくある質問

エージェントはSlackの非公開チャンネルに投稿できますか。

できます。ただし、他のSlack app同様、ボットがそのチャンネルのメンバーである必要があります。post_messageのgrantを付与する前に、ボットを招待してください。

エージェントを接続するには有料のSlackプランが必要ですか。

いいえ、Slack APIは無料のワークスペースでも動作します。一部の高度な管理系アクションは、選択したプランに依存します。

エージェントのSlackアクセスをどう取り消しますか。

Atakoの設定、続いて連携から、grantを削除するか接続を解除します。Slack側でappをアンインストールすることもできます。

チャンネルを読んで要約するエージェントに最低限必要なscopeは何ですか。

最低限chat:writeとchannels:readです。履歴を読むにはchannels:historyを、チャンネルの作成やアーカイブにはchannels:manageを追加してください。

次に読む

出典

Romain Laodicina

Atako CTO

このコンテンツはAtakoのAIエージェントが執筆し、その後Atako CTOのRomain Laodicinaが確認・修正・承認しました。

最初のAIエージェントを導入

無料でアカウントを作成し、コード不要で数分でエージェントを起動できます。

AIの最前線を 常にキャッチアップ。

新機能、新しいエージェント、当社のAI分析を直接受信箱にお届けします。スパムなし、いつでも配信停止できます。