Skip to main content

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:

ChannelBest ForSetup DifficultyNote
DingTalkTeam 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 WeChatPersonal reminders, ad-hoc notifications⭐⭐⭐Requires WeCom bridge or third-party gateway; not recommended for enterprise use
QQSmall internal teams, low-sensitivity noticesRarely 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.

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

  1. 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)
  2. Group Settings → Smart Group Assistant → Add Robot → Custom
  3. 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:

  1. In a group chat → right-click → Add Group Robot → create a "Group Robot"
  2. Copy the webhook URL (format: https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=xxx)
  3. 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:

ScenarioPushed ContentRecipientFrequency
Sales daily reportNew leads, follow-up completion, open todosSales lead's DingTalk groupEvery day 9:00
Ops exception alertService down, disk > 80%, backup failureOps DingTalk group @oncallReal-time
Finance invoice cleanupInvoices recognized, anomaly listFinance WeComEvery workday 18:00
Content productionWeChat article draft ready + preview linkContent owner WeComTrigger-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:

  1. Create a 3-person test group (you + 1 colleague + 1 admin)
  2. Follow Section 3 to add a DingTalk custom robot
  3. Run yingclaw notify --channel your-channel-name --message "hello"
  4. Mark a "Push capability ✓" the moment the message lands
  5. 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.