🤖HermesBlog
Hermes Messaging Platforms · Part 168/9/2026

DingTalk — AI for Chinese Workplaces

DingTalk — AI for Chinese Workplaces — easy-to-understand guide based on official docs

Imagine walking into an office in Shanghai where the water cooler conversations happen inside a bright blue app icon—DingTalk. It’s part Slack, part Trello, part HR portal, and for hundreds of millions of users, it is the workplace. Now imagine your AI agent, Hermes, quietly living inside that app—answering queries, triaging tasks, and firing off follow-ups without ever leaving the chat thread. That’s the promise of DingTalk integration in Hermes Agent.

DingTalk: the water pipe

Why DingTalk Matters for AI Agents

Most AI agent tutorials assume English-speaking, Western tooling. But in China, DingTalk is the default operating system for business communication. If you’re building an open-source agent for a team in Shenzhen or a factory in Chengdu, you need a native bridge. Hermes Agent now provides exactly that—a clean, config-driven integration that turns any DingTalk group into a command center for your agent.

Setting Up the DingTalk Bot

The bot connects via DingTalk’s Stream Mode — a long-lived WebSocket connection that requires no public URL or webhook server — and replies using markdown-formatted messages through DingTalk’s session webhook API. Here’s the flow:

  1. Create a bot in the DingTalk Developer Console.
  2. Get your AppKey and AppSecret.
  3. Configure the bot’s outbound session webhook for replies.

In Hermes, you define this in config.yaml:

channels:
  dingtalk:
    enabled: true
    app_key: "your_app_key"
    app_secret: "your_app_secret"
    webhook_url: "https://oapi.dingtalk.com/robot/send?access_token=xxx"  # for replies
    agent_id: "your_agent_id"
    verify_token: "random_string_for_signature"

Receiving Messages

Once the Stream Mode connection is live, DingTalk pushes every group message to Hermes. The agent parses the JSON payload, extracts the sender, chat ID, and text, then routes it to your skill pipeline. You can filter by keyword, mention, or even specific groups. For example, only respond when the bot is @mentioned:

channels:
  dingtalk:
    filters:
      require_mention: true
      allow_groups:
        - "ops-alerts"
        - "ai-assistant"

Sending Replies

Replies go back through DingTalk’s session webhook API. Hermes automatically wraps the response in the correct DingTalk message format—markdown-formatted messages. Here’s a minimal skill that echoes back a greeting:

@agent.skill
async def greet(ctx, text):
    return f"Hello from Hermes! You said: {text}"

No manual HTTP calls. Hermes handles the signature, timestamp, and JSON envelope for you.

Summary

DingTalk integration turns Hermes from a terminal-only toy into a workplace citizen for Chinese teams. With a few lines in config.yaml, you get bidirectional messaging, mention filtering, and automatic reply formatting. Whether you’re building a QA bot for a factory floor or a personal assistant for a busy manager, Hermes + DingTalk means your AI speaks the language of the modern Chinese office—fluently, reliably, and without a single Chinese character in your codebase.

📖 Official Docs

This article is based on the official Hermes Agent documentation:Official docs › user-guide/messaging/dingtalk