Skip to Content
ユーザーガイド機能チャンネルDingTalk Webhook 送信

DingTalk Webhook 送信

DingTalk カスタムロボットを使用して、通知やタスク結果をグループに投稿します。 この送信モードでは、アプリケーションボット、ロングコネクション、 パブリックコールバックサーバー、会話IDは必要ありません。エージェントとの会話には、 代わりに DingTalk アプリケーションボット を使用してください。

ロボットの作成

  1. 目的の DingTalk グループにカスタムロボットを追加します。
  2. https://oapi.dingtalk.com/robot/send?access_token=... で始まる webhook URL をコピーします。
  3. ロボットのセキュリティ設定を構成します。署名が有効な場合は、署名シークレットもコピーします。キーワードと IP 制限はすべてのメッセージに引き続き適用されます。

webhook URL には認証情報が含まれています。スケジュールタスクのプロンプトや配信ターゲットではなく、シークレットまたは環境参照として保存してください。

チャネルの設定

ワークスペースのチャネル設定に名前付きインスタンスを追加します:

{ "channels": { "team-notices": { "type": "dingtalk-webhook", "webhookUrl": "$DINGTALK_WEBHOOK_URL", "signingSecret": "$DINGTALK_WEBHOOK_SECRET" } } }

Qwen Code の起動に使用される環境で、参照される変数を設定します。ロボットが署名を必要としない場合は signingSecret を省略します。このシークレットはカスタムロボットの署名シークレットであり、アプリケーションの Client Secret ではありません。

そのワークスペースでデーモンを実行します:

qwen serve --channel team-notices

1つの名前付きインスタンスは1つの設定されたグループを表します。他のグループには追加のインスタンスを作成します。インスタンスの URL を更新すると、それを参照する将来の配信の宛先が変更されます。

明示的な API 配信

通知および明示的なプロンプト/スケジュール配信は、既存のチャネルターゲット形式を使用します。このアダプターは chat/default を唯一の論理宛先として定義します:

{ "text": "The daily report is ready.", "delivery": { "kind": "channel", "target": { "channelName": "team-notices", "type": "chat", "id": "default" } } }

これはワークスペースの通知リクエストボディです。default はアダプターが所有するエイリアスであり、DingTalk の会話 ID ではありません。他の ID やユーザーターゲットは拒否されます。アダプターは任意の要求された宛先を無視することはありません。webhook URL と署名シークレットはチャネル設定に保持されます。

配信の動作

  • メッセージを Markdown として送信します。タイトルは最初の行から派生した短いものが使用されます。プレーンテキストも受け付けられます。アダプターは提供された Markdown を保持します(テーブル構文を含む)。レンダリングは DingTalk クライアントによって処理されます。
  • メッセージの受信、受信 webhook タスクの実行、チャネルループの有効化は行いません。
  • HTTP ステータスと DingTalk のビジネスレスポンスの両方をチェックします。拒否された署名、認証情報、セキュリティルール、レート制限は、サニタイズされたエラーを持つ失敗として扱われます。
  • 自動再試行は行いません。タイムアウトにより、リモートの受け入れが不明になる可能性があります。
  • NO_PROXY バイパスを含むワークスペースのプロキシ設定を使用します。
  • チャネルが停止したときに送信中のメッセージをキャンセルします。リロード時は更新された保存設定が使用されます。
  • 切り詰められた結果をマークする共有配信サイズ保護を保持します。最初のリリースでは、その結果を1つのメッセージとして送信し、DingTalk にサイズ超過コンテンツを拒否させます。拒否は配信失敗として報告されます。アダプターは短縮コピーの送信、メッセージの分割、再試行は行いません。DingTalk の正確な Markdown サイズ制限とその単位は検証されていないため、共有サイズチェックを通過しても配信は保証されません。スケジュールされたレポートは簡潔に保ってください。
  • スケジュール配信は、既存のベストエフォート成功最終結果動作を保持します。これにより、失敗/キャンセルアラート、永続的な再試行キュー、添付ファイル、または汎用 webhook ペイロード契約は導入されません。

プラットフォームの要件については、DingTalk の 送信 API 、 メッセージタイプ 、 および セキュリティ設定  を参照してください。

Last updated on