dingtalk-aitable

Manage DingTalk AI Table bases, tables, fields, records, views, and dashboards via the dws CLI.

2.8k|221|Updated Mar 21, 2026
One-click install
npx skills add https://github.com/DingTalk-Real-AI/dingtalk-workspace-cli --skill dingtalk-aitable
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: dingtalk-aitable
Source: https://github.com/DingTalk-Real-AI/dingtalk-workspace-cli/tree/main/skills/multi/dingtalk-aitable
Command: npx skills add https://github.com/DingTalk-Real-AI/dingtalk-workspace-cli --skill dingtalk-aitable

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) and references (resource) components.

What problem does it solve?

Working with DingTalk AI Tables (multi-dimensional tables) through the web UI is slow for bulk operations, automation, and agent-driven workflows. This Skill lets an AI agent create bases and tables, define typed fields, query and filter records, import CSV/JSON data, upload attachments, build dashboards, and manage permissions entirely through the dws command line.

Core Features & Use Cases

  • Full table lifecycle: Create and copy bases, bootstrap tables with typed fields (text, number, singleSelect, currency, formula, link, lookup), and manage views, sections, forms, and dashboards with charts.
  • Record operations at scale: Query with server-side filters, sorting, and field projection; create, update, upsert by business key, and bulk-patch records with automatic batching and read-back verification.
  • Data import/export and attachments: Import CSV/XLSX files via task-based scripts, batch-import records from CSV/JSON, export bases with task polling and download, and upload attachments through pre-signed URLs.
  • Use Case: A user says "import this CSV into my sales table and build a dashboard." The agent resolves the base by name, runs the import script, verifies the records, then creates a dashboard with charts.

Quick Start

Ask the agent to find your AI table by name and show the first ten records, for example: "Use the dingtalk-aitable skill to find my sales base and list the latest 10 records."

Frequently Asked Questions about dingtalk-aitable

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

FAQPage Schema
How do I import a CSV file into a DingTalk AI Table?

Run the bundled script: python scripts/aitable_import_via_task.py <baseId> <filePath>. It requests an upload credential, PUTs the file with an empty Content-Type, and triggers the import task. For writing rows into an existing table, use scripts/import_records.py with a CSV or JSON file.

How do I query and filter records in a DingTalk AI Table from the command line?

Use dws aitable +record-query with --base-id and --table-id, plus --filters as a JSON object like {"operator":"and","operands":[...]} referencing real fieldIds. Add --sort for ordering and --field-ids to return only specific columns.

Can I upload attachments to AI Table records?

Yes, but you must not paste image URLs into cells. Run scripts/upload_attachment.py <baseId> <filePath> to get a fileToken via pre-signed PUT upload, then write {"fileToken":"ft_xxx"} into the attachment field during record create or update.

What is the difference between DingTalk AI Table and the online spreadsheet?

AI Table is a record-based multi-dimensional database with typed fields, views, and dashboards, handled by this skill. Excel-style cell, range, and worksheet operations belong to the online spreadsheet (sheet) product, which is handled by the dingtalk-misc skill instead.

Why does my record update report partial success or unknown status?

Batch shortcuts shard writes and verify each batch; partial_success means some batches failed and the checkpoint must be resumed. For unknown write results, read back by the real recordId once instead of replaying the batch, since select fields may return {id,name} objects instead of plain strings.

What permissions are needed to manage AI Table roles and advanced permissions?

Reading roles works for normal members, but enabling advanced permissions or creating, updating, and deleting custom roles requires the current dws user to be a base administrator. System roles cannot be modified via CLI, and role-to-member binding must be done in the AI Table web UI.