#9444: feat(channels): add DingTalk channel
docs
stale
Cluster:
Messaging Channel Integrations
Adds first-party DingTalk (钉钉) channel support via the DingTalk Stream API.
- New extension: `extensions/dingtalk` (`@openclaw/dingtalk`)
- Docs: `docs/channels/dingtalk.md` (+ channel/plugin index updates)
- Labeler: `channel: dingtalk`
- Backward compatibility: reads legacy config key `channels.clawdbot-dingtalk` and keeps `clawdbot-dingtalk` as a channel alias
- Media: supports uploads + `[DING:IMAGE ...]` / `[DING:FILE ...]` tags for outbound attachments over `sessionWebhook`
Tests:
- `pnpm lint`
- `pnpm vitest run --config vitest.extensions.config.ts extensions/dingtalk/src`
Note: includes a tiny lint-only fix on `main` (`src/cron/isolated-agent/run.ts`) removing an unused import so CI stays green.
<!-- greptile_comment -->
<h2>Greptile Overview</h2>
<h3>Greptile Summary</h3>
This PR adds first-party DingTalk channel support as a plugin under `extensions/dingtalk`, including Stream API monitoring, proactive message sending (text/markdown/image/file/actionCard), token management, media upload/download helpers, and docs/labeler/index updates.
The new plugin wires into the existing OpenClaw channel plugin system (`openclaw/plugin-sdk`) by exposing channel metadata/capabilities, account resolution (including legacy key compatibility), and gateway start/probe/status hooks.
<h3>Confidence Score: 3/5</h3>
- This PR is close to mergeable, but has a couple of concrete issues that can break CI/runtime.
- I found one formatting issue likely to fail lint/format checks, and one runtime-compatibility hazard (`toReversed()`) that can throw depending on the JS runtime target. The rest of the changes appear internally consistent based on diff review.
- extensions/dingtalk/src/api/send-message.test.ts, extensions/dingtalk/src/media-protocol.ts
<!-- greptile_other_comments_section -->
<sub>(2/5) Greptile learns from your feedback when you react with thumbs up/down!</sub>
<!-- /greptile_comment -->
Most Similar PRs
#10347: DingTalk: add channel support
by dimaginexus · 2026-02-06
92.7%
#13291: feat(ddingtalk): add DingTalk(dingtalk) channel extension
by largezhou · 2026-02-10
82.4%
#22260: feat(extensions/deltachat): add Delta.Chat channel extension
by alanz · 2026-02-20
80.1%
#17361: feat(channels): add Tuitui (推推) channel support
by haomehaode · 2026-02-15
76.2%
#9199: feat: Add Cisco Webex Teams channel plugin
by chrharri · 2026-02-05
75.8%
#15051: feat: Zulip channel plugin with concurrent message processing
by FtlC-ian · 2026-02-12
74.6%
#12619: Add Synology Chat channel integration
by MikeWang0316tw · 2026-02-09
74.4%
#9594: feat: add SimpleX messaging channel
by dangoldbj · 2026-02-05
74.4%
#20348: Add support for Keybase as a channel
by xgess · 2026-02-18
73.9%
#17157: feat(messenger): add Facebook Messenger channel integration
by gmjuhasz · 2026-02-15
73.4%