dws

Manage DingTalk products and workflows through the dws command-line interface.

2.0k|291|Updated Jul 24, 2026
One-click install
npx skills add https://github.com/Pinvou/pinvou-agent --skill dws-pinvou
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: dws
Source: https://github.com/Pinvou/pinvou-agent/tree/main/pinvou3-app/src-tauri/resources/common/bundle/dingtalk-skills/dws
Command: npx skills add https://github.com/Pinvou/pinvou-agent --skill dws-pinvou

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires openpyxl, requests, Pillow, and includes scripts (resource) and references (resource) components.

What problem does it solve? Operating DingTalk products such as docs, calendars, approvals, attendance, and AI tables normally requires manual clicks across many apps; this Skill lets an agent perform those operations programmatically through the dws CLI with structured JSON output. ## Core Features & Use Cases - Full DingTalk product coverage: Manage AI tables, docs, calendar, chat and bot messages, approvals, attendance, todos, mail, wiki, drive, minutes, and more via unified dws commands with schema-driven command discovery. - Safe write operations: Dangerous operations require explicit user confirmation before adding --yes, with structured error handling and retry semantics. - Batch and composite scripts: Python scripts handle AI table import/export, attendance report generation to Excel, and personal attendance queries. - Use Case: Ask the agent to export this month's attendance report for a department, and it resolves user IDs, queries check-in records in batches, and produces a formatted Excel file. ## Quick Start Ask the agent to list my DingTalk calendar events for this week using the dws skill.

Frequently Asked Questions about dws

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I manage DingTalk docs and tables from the command line?

Use the dws CLI with product subcommands like `dws doc read` or `dws aitable record list`, always adding `--format json` for parseable output. Command parameters and constraints are discovered via `dws schema "<cli path>" --compact`.

How to export DingTalk attendance records to Excel?

Run the attendance report scripts with user IDs and a date range, such as `python3 scripts/attendance_report_checkin.py --users id1,id2 --start 2026-04-01 --end 2026-04-07`. The script batches API calls and writes a styled xlsx file using openpyxl.

Does the dws CLI require authentication before use?

Yes, you must run `dws auth login` first. Scripts read the authenticated corp_id and user_id from `dws auth status --format json`, and multi-org accounts are selected with stable `corpId:userId` profiles.

Why does a dws write command fail with confirmation_required?

In non-interactive environments, write commands without `--yes` fail with `confirmation_required` instead of prompting. Show the operation summary to the user, and only retry with `--yes` appended after explicit consent.

What are the limitations of DingTalk automation with dws?

Direct HTTP API calls are forbidden except for presigned upload/download URLs and the documented `dws api` escape hatch. Batch record operations cap at 100 items per call, and some known unsupported operations must be done in the DingTalk client.