概要
Channels API を使用すると、Shannon を外部メッセージングプラットフォームと統合できます。Channel を作成して Slack ワークスペースや LINE アカウントに接続すると、Shannon が Agent システムを通じて受信メッセージを自動的に処理します。機能
- Slack 統合 — イベントサブスクリプションと Bot メッセージングに対応
- LINE 統合 — Webhook ベースのメッセージ処理
- HMAC 署名検証 — インバウンド Webhook のセキュリティを確保
- Agent ルーティング —
agent_name設定でメッセージを特定の Agent に転送 - ユーザー分離 — ユーザーごとに type + name の組み合わせがユニーク
- 認証情報の保護 — 認証情報は API レスポンスに含まれません
Channel の作成
新しいメッセージング Channel を作成します。リクエストボディ
レスポンス
セキュリティのため、
credentials フィールドは API レスポンスに含まれません。認証情報はご自身のシステムで安全に保管してください。Channel の一覧取得
認証済みユーザーの全 Channel を一覧表示します。レスポンス
Channel の取得
特定の Channel の詳細を取得します。レスポンス
Channel の更新
既存の Channel を更新します。すべてのフィールドはオプションです — 指定されたフィールドのみ更新されます。リクエストボディ
レスポンス
更新された Channel オブジェクトを返します(Channel の取得と同じスキーマ)。Channel の削除
Channel を完全に削除します。レスポンス
Response
インバウンド Webhook
外部プラットフォームからのメッセージを受信します。ユーザーが Slack や LINE でメッセージを送信すると、プラットフォームがこのエンドポイントを呼び出します。レスポンス
認証情報のフォーマット
Slack 認証情報
LINE 認証情報
Webhook の動作
Slack
- 署名検証:Channel の
signing_secretを使用して HMAC-SHA256 でX-Slack-Request-TimestampとX-Slack-Signatureヘッダーを検証 - クロックスキュー:5 分以上経過したリクエストは拒否されます
- URL 検証:アプリ設定時に Slack の
url_verificationチャレンジに自動応答 - Bot フィルタリング:ループ防止のため Bot からのメッセージは無視されます
- 対応イベント:
messageとapp_mention
LINE
- 署名検証:Channel の
channel_secretを使用して HMAC-SHA256(base64 エンコード)でX-Line-Signatureヘッダーを検証 - 返信動作:Reply Token を使用して即座に “Thinking…” 返信を送信
- メッセージ処理:イベントペイロードの最初のテキストメッセージを処理
Agent ルーティング
Channel のconfig で agent_name フィールドを設定して、受信メッセージを特定の Agent にルーティングします:
agent_name が未設定の場合、メッセージは Shannon のデフォルト Agent ルーティングで処理されます。
Channel レスポンスオブジェクト
エラーレスポンス
すべてのエラーは標準フォーマットに従います:
次のステップ
タスクの送信
API から直接タスクを送信
エージェント
Channel ルーティング用の Agent を設定