Back to Skills

dingtalk-message

钉钉消息发送。当用户提到"钉钉消息"、"发消息"、"发通知"、"群通知"、"群消息"、"Webhook"、"机器人消息"、"机器人发消息"、"工作通知"、"单聊消息"、"群聊消息"、"撤回消息"、"消息已读"、"发送Markdown"、"发卡片消息"、"ActionCard"、"@某人"、"@员工"、"at某人"、"提醒某人"、"dingtalk message"、"send message"、"robot message"、"work notification"时使用此技能。支持:群自定义 Webhook 机器人(文本/Markdown/ActionCard/Link/FeedCard + 加签 + @某人)、企业内部应用机器人单聊和群聊发送、消息撤回、已读查询、工作通知等全部消息类操作。

99stars8forksUpdated 8/17/2026

Security Assessment

Safe(92/100)
Security Score92/100

About dingtalk-message

Dingtalk-message is an integration skill for sending DingTalk (钉钉) messages across all of the platform's messaging channels. It solves the problem of the fragmented DingTalk messaging surface by routing a request to the correct channel and handling the request formats, credentials, and identity conversions each one needs. It covers custom group Webhook robots (text, Markdown, ActionCard, Link, FeedCard, with signed-security mode and @-mentions), enterprise internal application robots for one-to-one and group chat (including message recall and read-status queries), work notifications pushed to users or departments, and session-webhook replies inside callbacks.

The SKILL.md is a strategy guide backed by a detailed API reference and a helper script (`dt_helper.sh`). Its per-execution workflow identifies the channel via a scenario router, validates and collects required configuration, obtains the appropriate access token (new-style for robots, legacy for work notifications, none for webhooks), and executes the API call by writing multi-line logic to a temp script rather than using heredocs. Configuration and credentials (webhook URL and secret, app key and secret, agent ID, user IDs) are read and written through the helper script, and the skill enforces safe credential hygiene: secrets are never printed in full and are masked to their first four characters, and it converts unionId to userId since the message APIs require staff IDs.

It targets developers and operations teams who need to send notifications, alerts, cards, or work notices into DingTalk from automation. Behaviorally it calls official DingTalk endpoints with credentials sourced from local config via official tooling, masks secrets, and performs no exfiltration.

FAQ

Which DingTalk messaging channels does it support?

Four: custom group Webhook robots, enterprise internal application robots (single and group chat, with recall and read queries), work notifications to users or departments, and session-webhook replies within callbacks.

What message formats can it send?

Text, Markdown, ActionCard (single and multi-button), Link, and FeedCard messages, with optional @-mentions and signed-security mode for webhooks.

What configuration and credentials are needed?

Depending on the channel: a webhook URL (and secret if signing), app key and secret, and an agent ID for work notifications, plus user IDs — all read and stored through the `dt_helper.sh` helper script.

How are credentials handled?

Tokens are obtained via the helper (new-style for robots, legacy for work notifications, none for webhooks), and secrets are never printed in full — only the first four characters are shown when confirming.

Why does it convert unionId to userId?

The DingTalk message APIs accept only userId (staffId), not unionId, so the helper provides a conversion step before sending.

All Files

3 files
scripts/dt_helper.sh9.7 KB
View
SKILL.md3.5 KB
View
references/api.md15.0 KB
View

Install dingtalk-message

Download and extract the skill files to your .claude/skills/ directory.

Quick Setup:

  1. Copy the skill folder to .claude/skills/
  2. Claude will automatically detect and use the skill