受信チャネル

受信チャネルは、Slack / Discord / LINE WORKS など外部チャットの人間メッセージを起点にAIワーカーを起動する入口です。トリガー画面とは別画面で、設計が「接続プロファイル(OAuth 認証)」と「Channel Route(どの投稿でどのワーカーを動かすか)」の2層に分かれている点が最初の関門です。

概要

接続プロファイルとChannel Routeの2層構造、起動条件マトリクス、複数ルート一致時の優先順位、Slackユーザー単位のスレッド分離など、外部チャット連携で詰まりやすい挙動を整理します。

基本

3プロバイダ + 2層構造(接続プロファイル / Channel Route)

画面上部のタブで Slack / Discord / LINE WORKS の3プロバイダを切り替えます。各プロバイダの下は2層構造で管理します。

  1. 接続プロファイル:外部システムへの OAuth 認証。複数ワークスペース・複数アカウントを使う場合は接続プロファイルを複数作る
  2. Channel Route:そのプロファイル経由で受信した投稿のうち、どの条件でどのワーカーを動かすかを定義

注意:OAuth 接続が成功してプロファイルができても、その下に Channel Route が無いとメッセージは受信されても誰も起動しません。「Slack 接続したのに動かない」と感じたら、Channel Route が紐づいているか確認してください。

Channel Route の設定項目(DM/チャンネル/メンション)

Channel Route を追加するときに決める項目:

  • 起動するWorker:どのワーカーに渡すか
  • 通知言語:処理中・失敗・振り分け確認など Zemu システム通知の言語(ワーカー本文の回答言語ではない
  • 実行モデル:このルート経由で起動したときに使うモデル
  • DMからの起動:すべてのDM/allowlist/pairing/無効
  • チャンネル投稿からの起動:すべてのチャンネル/選択チャンネル/無効
  • @メンションされた時だけ起動:通常投稿に反応するか、メンション必須か
  • この受信ルートを有効化:on/off スイッチ

通知言語と実行モデルはルートごとの設定なので、同じ Slack ワークスペースでも 業務別に 別ワーカー × 別モデル × 別言語 を組めます。なお Slack/Discord はサービスから取得したチャンネル一覧から選択する運用で、channel ID の手入力は前提にしていません。

同じプロファイルに複数 Route があるときの優先順位

1つの接続プロファイルに 複数の Channel Route を紐づけられます。上の画像では 問い合わせ対応AIオペレーションAI が同じ LINE WORKS 接続にぶら下がっている状態です。

同じ投稿に複数のルートが一致した場合の挙動:

  1. 本文に Worker 名が含まれていれば、そのワーカーを優先
  2. 決まらない場合は候補を1件に絞ろうとする
  3. 曖昧なまま勝手に複数起動はしない(候補ワーカー名を返してユーザーに選び直してもらう)

これは「同じチャンネルでも依頼内容によって担当ワーカーを切り替えたい」運用を想定した仕様です。1チャンネル=1ワーカーに固定したいときは、メンション必須+ワーカー名指定で揃えると意図通りに動きます。

ユーザーリンクとSlackユーザー単位のスレッド分離

外部チャットから Worker を起動するには、Slack/Discord/LINE WORKS のユーザーと Zemu のユーザーが紐付いている必要があります。各プロバイダ画面に表示されているとおり、@Zemu /link をチャンネルに投げる、または DM で /link を送ってリンクを開くと紐付きます(Slack ではアプリ追加チャンネル経由でも可)。

さらに重要:Slack スレッドと Zemu プロジェクト/スレッドの対応は Slack ユーザーごと に保持されます。

  • 同じ Slack ユーザーが同じ Slack スレッドに再投稿 → 既存の Zemu プロジェクト/スレッドを再利用
  • 別の Slack ユーザーが同じスレッドに参加 → そのユーザー専用 の Zemu プロジェクトが新規作成

「同じスレッドなのに別の会話扱いになる」のはこの仕様によるもので、想定通りの挙動です。新規プロジェクト作成時には、Slack スレッドの直近履歴を一度だけ前提文脈として参照します。

確認ポイント

  1. 起動したい外部チャット(Slack/Discord/LINE WORKS)の 接続プロファイル が作られていますか?

  2. プロファイルの下に Channel Route が紐づいていますか?OAuth だけ済んでいてもRouteが無いと起動しません。

  3. 同じプロファイルに複数 Route があるとき、本文ワーカー名で優先される仕様を利用者にも共有していますか?