by kaillliu · v0.1.0
DingTalk Multi-dimensional (AI) Table, requires the following permissions (Notable.Base., qyapi_get_member ,qyapi_get_member_by_mobile )
This community listing does not yet include every recommended support, privacy, pricing, and permission disclosure. Review the available package permissions before installing.
Available inside your emploidai workspace after installation.
Available inside your emploidai workspace after installation.
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.
Using this plugin requires the following DingTalk permissions:
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
The following credentials need to be configured to use this plugin:
app_key: The AppKey of the DingTalk applicationapp_secret: The AppSecret of the DingTalk applicationGet the DingTalk user's operator ID through their phone number or user ID.
Parameters:
user_id: The user ID of the operator (optional, choose one between user_id and mobile)mobile: User's phone number, such as "+86 13800138000" (optional, choose one between user_id and mobile)Example:
# Get the DingTalk user's operator ID through their phone number
{
"mobile": "+86 13800138000"
}
Returns:
Create a new data table in AI table.
Parameters:
operator_id: The unionId of the operatorbase_id: The ID of the AI Table (baseId)name: The name of the sheet to be createdfields: JSON array of field definitions (optional)Example:
# Create a new data table named "Sales Data"
{
"operator_id": "your_operator_id",
"base_id": "jb9Y4gmKWr3DdqP5u3PMmjDLVGXn6lpz",
"name": "Sales Data",
"fields": "[{\"name\":\"Field1\",\"type\":\"text\"},{\"name\":\"Field2\",\"type\":\"number\"}]"
}
Returns:
Get all data tables in an AI table document.
Parameters:
operator_id: The unionId of the operatorbase_id: The ID of the AI Table (baseId)Example:
# Get all data tables in the AI table
{
"operator_id": "your_operator_id",
"base_id": "jb9Y4gmKWr3DdqP5u3PMmjDLVGXn6lpz"
}
Returns:
Get basic information about a specific data table.
Parameters:
operator_id: The unionId of the operatorbase_id: The ID of the AI Table (baseId)sheet_id_or_name: The ID or name of the sheetExample:
# Get information about the data table named "Sales Data"
{
"operator_id": "your_operator_id",
"base_id": "jb9Y4gmKWr3DdqP5u3PMmjDLVGXn6lpz",
"sheet_id_or_name": "Sales Data"
}
Returns:
Update the name of a data table.
Parameters:
operator_id: The unionId of the operatorbase_id: The ID of the AI Table (baseId)sheet_id_or_name: The ID or name of the sheetname: The new name of the sheetExample:
# Update the data table name
{
"operator_id": "your_operator_id",
"base_id": "jb9Y4gmKWr3DdqP5u3PMmjDLVGXn6lpz",
"sheet_id_or_name": "Sales Data",
"name": "Updated Sales Data"
}
Returns:
Delete a data table.
Parameters:
operator_id: The unionId of the operatorbase_id: The ID of the AI Table (baseId)sheet_id_or_name: The ID or name of the sheetExample:
# Delete the data table
{
"operator_id": "your_operator_id",
"base_id": "jb9Y4gmKWr3DdqP5u3PMmjDLVGXn6lpz",
"sheet_id_or_name": "Sales Data"
}
Returns:
Create a new field in a data table.
Parameters:
operator_id: The unionId of the operatorbase_id: The ID of the AI Table (baseId)sheet_id_or_name: The ID or name of the sheetname: The name of the fieldtype: The type of the field (text, number, singleSelect, multipleSelect, date, user, department, attachment, unidirectionalLink, bidirectionalLink, url)property: JSON object of field properties (optional)Example:
# Create a new text field
{
"operator_id": "your_operator_id",
"base_id": "jb9Y4gmKWr3DdqP5u3PMmjDLVGXn6lpz",
"sheet_id_or_name": "Sales Data",
"name": "Product Name",
"type": "text"
}
Returns:
Get all fields in a data table.
Parameters:
operator_id: The unionId of the operatorbase_id: The ID of the AI Table (baseId)sheet_id_or_name: The ID or name of the sheetExample:
# Get all fields in the data table
{
"operator_id": "your_operator_id",
"base_id": "jb9Y4gmKWr3DdqP5u3PMmjDLVGXn6lpz",
"sheet_id_or_name": "Sales Data"
}
Returns:
Update a field in a data table.
Parameters:
operator_id: The unionId of the operatorbase_id: The ID of the AI Table (baseId)sheet_id_or_name: The ID or name of the sheetfield_id_or_name: The ID or name of the fieldname: The new name of the fieldproperty: JSON object of field properties (optional)Example:
# Update the field name
{
"operator_id": "your_operator_id",
"base_id": "jb9Y4gmKWr3DdqP5u3PMmjDLVGXn6lpz",
"sheet_id_or_name": "Sales Data",
"field_id_or_name": "Product Name",
"name": "Updated Product Name"
}
Returns:
Delete a field from a data table.
Parameters:
operator_id: The unionId of the operatorbase_id: The ID of the AI Table (baseId)sheet_id_or_name: The ID or name of the sheetfield_id_or_name: The ID or name of the fieldExample:
# Delete the field
{
"operator_id": "your_operator_id",
"base_id": "jb9Y4gmKWr3DdqP5u3PMmjDLVGXn6lpz",
"sheet_id_or_name": "Sales Data",
"field_id_or_name": "Product Name"
}
Returns:
Insert multiple records into a data table.
Parameters:
operator_id: The unionId of the operatorbase_id: The ID of the AI Table (baseId)sheet_id_or_name: The ID or name of the sheetrecords: JSON array of records to insertExample:
# Insert multiple records
{
"operator_id": "your_operator_id",
"base_id": "jb9Y4gmKWr3DdqP5u3PMmjDLVGXn6lpz",
"sheet_id_or_name": "Sales Data",
"records": "[{\"fields\":{\"Product Name\":\"Product A\",\"Price\":100}},{\"fields\":{\"Product Name\":\"Product B\",\"Price\":200}}]"
}
Returns:
List records in a data table with optional filtering and pagination.
Parameters:
operator_id: The unionId of the operatorbase_id: The ID of the AI Table (baseId)sheet_id_or_name: The ID or name of the sheetfilter: Filter conditions for listing records (optional)max_results: Maximum number of records to return (default 100, max 100)next_token: Token for pagination (optional)Example:
# List records with filtering
{
"operator_id": "your_operator_id",
"base_id": "jb9Y4gmKWr3DdqP5u3PMmjDLVGXn6lpz",
"sheet_id_or_name": "Sales Data",
"filter": "{\"combination\":\"and\",\"conditions\":[{\"field\":\"Product Name\",\"operator\":\"equal\",\"value\":[\"Product A\"]}]}",
"max_results": 50
}
Returns:
Get a specific record by its ID.
Parameters:
operator_id: The unionId of the operatorbase_id: The ID of the AI Table (baseId)sheet_id_or_name: The ID or name of the sheetrecord_id: The ID of the recordExample:
# Get a specific record
{
"operator_id": "your_operator_id",
"base_id": "jb9Y4gmKWr3DdqP5u3PMmjDLVGXn6lpz",
"sheet_id_or_name": "Sales Data",
"record_id": "recG70uhxh"
}
Returns:
Update multiple records in a data table.
Parameters:
operator_id: The unionId of the operatorbase_id: The ID of the AI Table (baseId)sheet_id_or_name: The ID or name of the sheetrecords: JSON array of records to update (must include record IDs)Example:
# Update multiple records
{
"operator_id": "your_operator_id",
"base_id": "jb9Y4gmKWr3DdqP5u3PMmjDLVGXn6lpz",
"sheet_id_or_name": "Sales Data",
"records": "[{\"id\":\"recG70uhxh\",\"fields\":{\"Product Name\":\"Updated Product A\",\"Price\":150}}]"
}
Returns:
Delete multiple records from a data table.
Parameters:
operator_id: The unionId of the operatorbase_id: The ID of the AI Table (baseId)sheet_id_or_name: The ID or name of the sheetrecord_ids: JSON array of record IDs to deleteExample:
# Delete multiple records
{
"operator_id": "your_operator_id",
"base_id": "jb9Y4gmKWr3DdqP5u3PMmjDLVGXn6lpz",
"sheet_id_or_name": "Sales Data",
"record_ids": "[\"recG70uhxh\",\"recG70uhxi\"]"
}
Returns:
The plugin supports the following field types in AI tables:
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