DingTalk AI Table Plugin
Introduction
The DingTalk AI Table Plugin is a collection of tools for operating on AI tables (multi-dimensional tables) in DingTalk documents. Through this plugin, you can read, write, and modify DingTalk AI tables on the Dify platform without manually opening DingTalk documents to complete data processing. This plugin supports CRUD operations on Sheets, Fields, and Records within AI tables.
Prerequisites
Using this plugin requires the following DingTalk permissions:
- AI表格应用读权限 (AI Table Application Read Permission: Notable.Base.Read.All )
- AI表格应用写权限 (AI Table Application Write Permission: Notable.Base.Write.All )
- 成员信息读权限 (Personal Information Permission: qyapi_get_member )
- 根据手机号获取成员基本信息权限 (Permission to obtain member basic information by phone number: qyapi_get_member_by_mobile )
Configuration method: Log in to the DingTalk developer backend > Enterprise internal development > Find the application that needs to add permissions > Permission management > Address book management page, check enterprise employee phone number information and email and other personal information, click Apply for permission.
AI Table Reference Documentation: https://open.dingtalk.com/document/orgapp/notable-data-structure
Credential Configuration
The following credentials need to be configured to use this plugin:
- : The AppKey of the DingTalk application
- : The AppSecret of the DingTalk application
Feature List
1. Get Operator ID (get_operator_id)
Get the DingTalk user's operator ID through their phone number or user ID.
Parameters:
- : The user ID of the operator (optional, choose one between user_id and mobile)
- : User's phone number, such as "+86 13800138000" (optional, choose one between user_id and mobile)
Example:
Returns:
- User's operator ID (unionId)
2. Create Sheet (create_sheet_ai)
Create a new data table in AI table.
Parameters:
- : The unionId of the operator
- : The ID of the AI Table (baseId)
- : The name of the sheet to be created
- : JSON array of field definitions (optional)
Example:
Returns:
- JSON data of the creation result
3. Get All Sheets (get_all_sheets_ai)
Get all data tables in an AI table document.
Parameters:
- : The unionId of the operator
- : The ID of the AI Table (baseId)
Example:
Returns:
- JSON array of all data tables
4. Get Sheet (get_sheet_ai)
Get basic information about a specific data table.
Parameters:
- : The unionId of the operator
- : The ID of the AI Table (baseId)
- : The ID or name of the sheet
Example:
Returns:
- JSON data of data table information
5. Update Sheet (update_sheet_ai)
Update the name of a data table.
Parameters:
- : The unionId of the operator
- : The ID of the AI Table (baseId)
- : The ID or name of the sheet
- : The new name of the sheet
Example:
Returns:
- JSON data of the update result
6. Delete Sheet (delete_sheet_ai)
Delete a data table.
Parameters:
- : The unionId of the operator
- : The ID of the AI Table (baseId)
- : The ID or name of the sheet
Example:
Returns:
- JSON data of the deletion result
7. Create Field (create_field_ai)
Create a new field in a data table.
Parameters:
- : The unionId of the operator
- : The ID of the AI Table (baseId)
- : The ID or name of the sheet
- : The name of the field
- : The type of the field (text, number, singleSelect, multipleSelect, date, user, department, attachment, unidirectionalLink, bidirectionalLink, url)
- : JSON object of field properties (optional)
Example:
Returns:
- JSON data of the field creation result
8. Get All Fields (get_all_fields_ai)
Get all fields in a data table.
Parameters:
- : The unionId of the operator
- : The ID of the AI Table (baseId)
- : The ID or name of the sheet
Example:
Returns:
9. Update Field (update_field_ai)
Update a field in a data table.
Parameters:
- : The unionId of the operator
- : The ID of the AI Table (baseId)
- : The ID or name of the sheet
- : The ID or name of the field
- : The new name of the field
- : JSON object of field properties (optional)
Example:
Returns:
- JSON data of the field update result
10. Delete Field (delete_field_ai)
Delete a field from a data table.
Parameters:
- : The unionId of the operator
- : The ID of the AI Table (baseId)
- : The ID or name of the sheet
- : The ID or name of the field
Example:
Returns:
- JSON data of the field deletion result
11. Insert Records (insert_records_ai)
Insert multiple records into a data table.
Parameters:
- : The unionId of the operator
- : The ID of the AI Table (baseId)
- : The ID or name of the sheet
- : JSON array of records to insert
Example:
Returns:
- JSON array of created record IDs
12. List Records (list_records_ai)
List records in a data table with optional filtering and pagination.
Parameters:
- : The unionId of the operator
- : The ID of the AI Table (baseId)
- : The ID or name of the sheet
- : Filter conditions for listing records (optional)
- : Maximum number of records to return (default 100, max 100)
- : Token for pagination (optional)
Example:
Returns:
- JSON object with records array and pagination information
13. Get Record (get_record_ai)
Get a specific record by its ID.
Parameters:
- : The unionId of the operator
- : The ID of the AI Table (baseId)
- : The ID or name of the sheet
- : The ID of the record
Example:
Returns:
14. Update Records (update_records_ai)
Update multiple records in a data table.
Parameters:
- : The unionId of the operator
- : The ID of the AI Table (baseId)
- : The ID or name of the sheet
- : JSON array of records to update (must include record IDs)
Example:
Returns:
- JSON array of updated record IDs
15. Delete Records (delete_records_ai)
Delete multiple records from a data table.
Parameters:
- : The unionId of the operator
- : The ID of the AI Table (baseId)
- : The ID or name of the sheet
- : JSON array of record IDs to delete
Example:
Returns:
- JSON data of the deletion result
Supported Field Types
The plugin supports the following field types in AI tables:
- text: Text fields
- number: Numeric fields with various formatters (INT, FLOAT, THOUSAND, PRESENT, CNY, USD, etc.)
- singleSelect: Single selection fields with predefined choices
- multipleSelect: Multiple selection fields with predefined choices
- date: Date fields with various formatters (YYYY-MM-DD, YYYY/MM/DD, etc.)
- user: User fields supporting single or multiple selections
- department: Department fields supporting single or multiple selections
- attachment: File attachment fields
- unidirectionalLink: One-way link fields to other sheets
- bidirectionalLink: Two-way link fields to other sheets
- url: URL fields with text and link properties
Contact Us
If you have any questions or suggestions about this, please contact us through the following methods:
AI Table Reference Documentation: https://open.dingtalk.com/document/orgapp/notable-data-structure