コンテンツにスキップ

OpenClawとSynology Chatを連携:Webhook設定ガイド

社内で Synology Chat を利用していると、「特定のシステム通知を自動化したい」「Bot を使って業務を効率化したい」と感じる場面が多いですよね。しかし、独自の Gateway を構築したり、セキュアな連携設定をゼロから行ったりするのは、意外と手間がかかる作業です。

OpenClaw を使えば、Synology Chat をダイレクトメッセージ(DM)チャネルとしてスムーズに統合できます。今回は、プラグインを使用して Synology Chat と OpenClaw を連携させる方法を詳しく解説します。

Synology Chat はプラグインベースで提供されており、標準のコアチャネルには含まれていません。

ローカルのチェックアウトからインストールする場合は、以下のコマンドを実行してください。

Terminal window
openclaw plugins install ./path/to/local/synology-chat-plugin

詳細は Plugins を参照してください。

  1. Synology Chat プラグインをインストールして有効化します。
    • openclaw onboard を実行すると、openclaw channels add と同様のチャネル設定リストに Synology Chat が表示されます。
    • 非対話形式でのセットアップを行う場合: openclaw channels add --channel synology-chat --token <token> --url <incoming-webhook-url>
  2. Synology Chat の統合設定で以下を行います:
    • incoming webhook を作成し、その URL をコピーします。
    • secret token を使用して outgoing webhook を作成します。
  3. outgoing webhook の URL を OpenClaw の Gateway に向けます:
    • デフォルトは https://gateway-host/webhook/synology です。
    • または、カスタム設定した channels.synology-chat.webhookPath を使用してください。
  4. OpenClaw 側でセットアップを完了させます。
    • ガイド付き設定: openclaw onboard
    • 直接設定: openclaw channels add --channel synology-chat --token <token> --url <incoming-webhook-url>
  5. Gateway を再起動し、Synology Chat の Bot に DM を送信して動作を確認してください。

最小構成の例:

{
channels: {
"synology-chat": {
enabled: true,
token: "synology-outgoing-token",
incomingUrl: "https://nas.example.com/webapi/entry.cgi?api=SYNO.Chat.External&method=incoming&version=2&token=...",
webhookPath: "/webhook/synology",
dmPolicy: "allowlist",
allowedUserIds: ["123456"],
rateLimitPerMinute: 30,
allowInsecureSsl: false,
},
},
}

デフォルトのアカウントでは、以下の環境変数を使用できます。

  • SYNOLOGY_CHAT_TOKEN
  • SYNOLOGY_CHAT_INCOMING_URL
  • SYNOLOGY_NAS_HOST
  • SYNOLOGY_ALLOWED_USER_IDS (カンマ区切り)
  • SYNOLOGY_RATE_LIMIT
  • OPENCLAW_BOT_NAME

Config ファイルの値は、環境変数よりも優先されます。

  • dmPolicy: "allowlist" をデフォルトの設定として推奨します。
  • allowedUserIds には、Synology のユーザー ID のリスト(またはカンマ区切りの文字列)を指定します。
  • allowlist モードにおいて allowedUserIds が空の場合、設定ミスとみなされ、webhook ルートは起動しません(すべてのユーザーを許可する場合は dmPolicy: "open" を使用してください)。
  • dmPolicy: "open" は、すべての送信者を許可します。
  • dmPolicy: "disabled" は、DM をブロックします。
  • 返信先の紐付けは、デフォルトで不変の数値 ID である user_id が使用されます。channels.synology-chat.dangerouslyAllowNameMatching: true は、変更可能なユーザー名やニックネームによるルックアップを有効にする互換モードです。
  • ペアリングの承認は、以下のコマンドで行います:
    • openclaw pairing list synology-chat
    • openclaw pairing approve synology-chat <CODE>

送信先(target)には、Synology Chat の数値ユーザー ID を使用してください。

例:

Terminal window
openclaw message send --channel synology-chat --target 123456 --text "Hello from OpenClaw"
openclaw message send --channel synology-chat --target synology-chat:123456 --text "Hello again"

URL ベースのファイル配信によるメディア送信もサポートされています。

channels.synology-chat.accounts を設定することで、複数の Synology Chat アカウントをサポートできます。 各アカウントごとに、token、incoming URL、webhook path、DM ポリシー、制限値を個別に上書き可能です。

DM セッションはアカウントおよびユーザーごとに隔離されています。そのため、異なる Synology アカウント間で同じ数値の user_id が存在しても、会話履歴の状態が共有されることはありません。 有効にする各アカウントには、それぞれ一意の webhookPath を割り当ててください。OpenClaw はパスの重複を拒否し、マルチアカウント設定で共有パスを継承しようとする名前付きアカウントの起動を停止します。

意図的に継承が必要な場合は、そのアカウントまたは channels.synology-chat で dangerouslyAllowInheritedWebhookPath: true を設定してください。ただし、パスが完全に一致する場合は安全のために拒否されます。アカウントごとに明示的なパスを設定するのがベストな方法です。

{
channels: {
"synology-chat": {
enabled: true,
accounts: {
default: {
token: "token-a",
incomingUrl: "https://nas-a.example.com/...token=...",
},
alerts: {
token: "token-b",
incomingUrl: "https://nas-b.example.com/...token=...",
webhookPath: "/webhook/synology-alerts",
dmPolicy: "allowlist",
allowedUserIds: ["987654"],
},
},
},
},
}
  • token は秘密情報として扱い、漏洩した場合はすぐに更新してください。
  • ローカル NAS の自己署名証明書を明示的に信頼する場合を除き、allowInsecureSsl: false の設定を維持してください。
  • 受信した webhook リクエストは token で検証され、送信者ごとにレート制限が適用されます。
  • 本番環境では dmPolicy: "allowlist" の使用を推奨します。
  • ユーザー名ベースの返信配信がどうしても必要な場合を除き、dangerouslyAllowNameMatching はオフのままにしてください。
  • マルチアカウント設定で共有パスによるルーティングのリスクを許容する場合を除き、dangerouslyAllowInheritedWebhookPath はオフにしてください。
  • Channels Overview — サポートされている全チャネル
  • Pairing — DM 認証とペアリングの流れ
  • Groups — グループチャットの動作とメンション制御
  • Channel Routing — メッセージのセッションルーティング
  • Security — アクセスモデルとセキュリティ強化

AI Setup Assistant

OpenClaw

OpenClaw Expert

まだ解決しませんか?

このページで解決しない場合は、OpenClaw Expertに直接質問してください。