YingClaw Notification Setup Guide: Auto-Push Task Results to WeChat and DingTalk
A digital worker is only as useful as its last mile. If the result never reaches a human, the work is invisible. One of the capabilities that makes YingClaw practical for non-technical teams is notification push: the moment a task finishes, a file is generated, or an exception fires, the result lands in the IM channel your team already lives in.
This guide walks you through pushing YingClaw task results to WeChat and DingTalk, in the order "why → which channels → how to configure → how to use." If you just installed YingClaw, by the end of this article you should be able to run your first push end-to-end.
Why Notification Push Is the Last Mile of a Digital Worker
The single most common reason AI agent deployments fail in real companies is that results never loop back to people. The agent quietly generates a daily report, cleans a folder, or scrapes a dashboard — meanwhile the sales rep is still waiting for an email and the operations team is still digging through files. The efficiency black hole starts right here.
The team at YingYu Intelligence (营域智能) designed notification push as a standard organ of the digital worker, not an optional plugin. YingClaw supports five mainstream IM channels out of the box, and any task can push to one or more of them at completion:
| Channel | Best For | Setup Difficulty | Note |
|---|---|---|---|
| DingTalk | Team collaboration, ops alerting, daily reports | ⭐⭐ | Recommended first choice; custom robot is the simplest path |
| WeCom (Enterprise WeChat) | Companies that have standardized on WeCom | ⭐⭐ | Linking to personal WeChat requires enterprise verification |
| Feishu (Lark) | Internet/technical teams, doc-heavy workflows | ⭐⭐ | Webhook flow mirrors DingTalk |
| Personal WeChat | Personal reminders, ad-hoc notifications | ⭐⭐⭐ | Requires WeCom bridge or third-party gateway; not recommended for enterprise use |
| Small internal teams, low-sensitivity notices | ⭐ | Rarely used in modern enterprise settings |
Practical tip: get either DingTalk or WeCom working first — that single channel covers roughly 90% of Chinese enterprise collaboration scenarios. Personal WeChat push is constrained by Tencent's policies; it is more complex and less stable, so this guide focuses on DingTalk and WeCom.
Three Things to Prepare Before Configuring
Before any push, prepare three items. The whole process takes about 10–15 minutes.
1. A machine (local or server) running YingClaw
- Recommended: 4-core CPU, 8 GB RAM, 50 GB disk — enough for typical small and mid-sized team workloads
- OS: Windows, macOS, or Linux. Examples below use Linux / macOS shell syntax
2. A DingTalk or WeCom account with group-admin or bot-management rights
- Regular members need to ask the group owner to grant the right
- Custom robots do not require approval, but the group owner must enable "Group Robots" in the group settings
3. Write access to YingClaw's config directory
- Default config path:
~/.YingClaw/config/notifications.yaml(auto-created on first push)
Once those three are in place, you are ready to configure.
DingTalk Robot Configuration (Recommended, 5 Minutes)
The DingTalk custom robot is the most stable push channel for enterprise use — set it up once and it runs indefinitely.
Step 1: Create the robot
- Open the DingTalk desktop client → enter the target group (tip: create a dedicated "Digital Worker Notifications" group and add the people who need to receive alerts)
- Group Settings → Smart Group Assistant → Add Robot → Custom
- Set the robot name (e.g., "YingClaw Digital Worker"), avatar, and security (recommended: signing)
Step 2: Grab the webhook URL
DingTalk generates a webhook URL of the form:
https://oapi.dingtalk.com/robot/send?access_token=xxxxxxxxxxxx
Copy this URL — you will paste it into the YingClaw config in the next step.
Step 3: Write the YingClaw config
Open a terminal and edit the notification config:
nano ~/.YingClaw/config/notifications.yaml
Add the following content (the file will be created automatically on first push if it does not exist):
notifications:
channels:
- name: dingtalk-sales-alert # internal ID; YingClaw references this name
type: dingtalk
webhook: "https://oapi.dingtalk.com/robot/send?access_token=xxxxxxxxxxxx"
secret: "SECxxxxxxxxxxxxxxxxx" # signing key; only present if you enabled signing
at_mobiles: # optional: @ specific mobile numbers
- "13800000000"
default_channel: dingtalk-sales-alert
Save and exit.
Step 4: Test the push
Run a plain-language command in the terminal:
yingclaw notify --channel dingtalk-sales-alert --message "YingClaw notification push test successful 🎉"
If you see the message arrive in the DingTalk group, the link is live. Every subsequent task can reuse this channel.
WeCom and Personal WeChat Configuration
WeCom (Enterprise WeChat — recommended)
WeCom's robot configuration mirrors DingTalk almost exactly:
- In a group chat → right-click → Add Group Robot → create a "Group Robot"
- Copy the webhook URL (format:
https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=xxx) - Add it to
notifications.yaml:
notifications:
channels:
- name: wecom-ops-alert
type: wecom
webhook: "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=xxxxxxxx"
default_channel: wecom-ops-alert
Personal WeChat (not recommended for enterprise use)
Personal WeChat has no official push API. There are only two workarounds:
- Option A (compliant): bind your personal WeChat to WeCom first, then use a WeCom robot to push to yourself — the message still arrives in WeCom, not the personal WeChat app.
- Option B (not recommended): route through a third-party gateway (e.g., Server酱, WxPusher). Stability is poor, messages are subject to third-party moderation, and user data leaves the local machine, which conflicts with YingClaw's on-premise philosophy.
The official YingClaw team's guidance is straightforward: for enterprise scenarios, always use a DingTalk or WeCom group robot; for personal reminders, use your phone's native push or email.
Three Ways to Trigger a Push from a Task
Once the channel is configured, how do you make YingClaw automatically call it when a task finishes? Three patterns:
Pattern 1: Say "push to DingTalk" in plain language
yingclaw run "Every day at 9 AM, summarize yesterday's GitHub commits and push the result to DingTalk"
YingClaw parses the phrase "push to DingTalk" and automatically maps it to the default channel, then sends the result as soon as the task completes.
Pattern 2: Specify the channel in a scheduled task
yingclaw schedule add \
--cron "0 9 * * *" \
--task "Summarize yesterday's sales leads grouped by source" \
--push-to dingtalk-sales-alert,dingtalk-lead-team
This creates a daily 9 AM task whose result is fanned out to two DingTalk groups (sales alerts and the lead team).
Pattern 3: Use the YingClaw SDK from a Python script
If your task is itself a script, YingClaw ships a Python SDK:
from yingclaw import notify
result = run_my_custom_task() # your business logic
notify.send(
channel="dingtalk-sales-alert",
title="Daily report ready",
content=result.summary,
at_all=False
)
All three patterns hit the same push engine — the only difference is where they are triggered. In practice, Pattern 1 covers about 80% of daily use cases; complex scheduled jobs use Pattern 2; in-house systems integrate via Pattern 3.
Four Real Push Scenarios
The most common push setups after a team goes live with YingClaw:
| Scenario | Pushed Content | Recipient | Frequency |
|---|---|---|---|
| Sales daily report | New leads, follow-up completion, open todos | Sales lead's DingTalk group | Every day 9:00 |
| Ops exception alert | Service down, disk > 80%, backup failure | Ops DingTalk group @oncall | Real-time |
| Finance invoice cleanup | Invoices recognized, anomaly list | Finance WeCom | Every workday 18:00 |
| Content production | WeChat article draft ready + preview link | Content owner WeCom | Trigger-based |
Important: every one of these tasks runs and pushes on the local machine. Customer data, push content, and group robot webhooks never touch a third-party cloud. That is the "data stays with you" principle YingYu Intelligence has insisted on from day one.
Common Questions, Answered
Q1: My DingTalk robot is being rate-limited. What now? Each custom robot is capped at 20 messages per minute. YingClaw has built-in throttling that automatically merges pushes that fire close together. If your business volume is high, split by topic into multiple robots (e.g., a daily-report robot and an alerting robot with two separate webhooks).
Q2: Can the message format be customized?
Yes. YingClaw supports Markdown, link cards, and ActionCard (with buttons). Either say "send it in Markdown" in plain language, or set message_type: markdown in the config.
Q3: Does YingClaw retry a failed push? Yes. Default behavior is 3 retries with exponential backoff (1s / 4s / 16s). If all retries fail, the failure is written to the local log — nothing is silently dropped.
Q4: Can YingClaw pick the push channel based on the task result? Yes. Use a conditional in plain language:
yingclaw run "Watch the order database. If there are failed payments, alert ops on DingTalk; otherwise, just send a daily report to WeCom."
YingClaw's multi-agent collaboration handles the branching automatically.
Q5: Could push content leak sensitive data? The push text itself is under your control, but if a task result contains customer phone numbers, ID numbers, or bank card details, redact at the output stage — YingClaw will not auto-mask for you. YingYu Intelligence's standing security guidance: redact first, push second.
Run Your First Push Today
If you already have YingClaw installed, you can have a working push link by the end of this session:
- Create a 3-person test group (you + 1 colleague + 1 admin)
- Follow Section 3 to add a DingTalk custom robot
- Run
yingclaw notify --channel your-channel-name --message "hello" - Mark a "Push capability ✓" the moment the message lands
- Wire that capability into your first real task
Notification push is not a "nice-to-have" feature of YingClaw. It is the line that separates a digital worker from a black box. Without push, the AI does invisible work; with push, the AI actually embeds itself into the team's daily collaboration.