{ "version": 1, "source": "mcp-tools-list+cli-registry", "source_revision": "4574f7022c32cf4c033e9b7b4156e2fec815fed8", "source_hash": "sha256:17251f74a4f76142457cc0e87251ecb86c1e3bda0cdf2edc02f351589716ecbc", "coverage": { "surface_scope": "source_revision", "source_services": 54, "snapshot_services": 53, "missing_services": [ "notify" ], "source_tools": 969, "surface_tools": 504, "matched_tools": 419, "aliased_tools": 178, "unmatched_tools": 85 }, "tools": { "aisearch.enterprise_person_search": { "title": "enterprise_person_search", "description": "企业内找人搜索工具,支持按姓名、部门、职位、技能、工作职责等多维度搜索企业内人员。\\n\\n**适用场景示例**:\\n- 找一下负责智能化的人\\n- 帮我找产品经理\\n- 技术部有哪些人\\n- 张三的领导是谁\\n- 李四手下有哪些人\\n- 帮我找下王芳\\n- 谁在做大模型相关的工作\\n- 公司有哪些架构师\\n- 市场部的同事有谁\\n- 有没有会Java的同事\\n- 研发部的负责人是谁\\n- 帮我找一下跟智能客服有关的人\\n- 做设计的同事有谁\\n- 谁是技术总监\\n- 张三在哪个部门\\n\\n", "parameters": { "dimension": { "type": "array", "description": "查询维度,根据用户意图自动映射。可选值:\\n- all: 默认,全部维度\\n- name: 姓名(用户提到'姓名'、'叫什么'、'是谁'时使用)\\n- department: 部门(用户提到'部门'、'团队'时使用)\\n- position: 职位(用户提到'职位'、'岗位'时使用)\\n- duty: 职责/技能(用户提到'负责'、'职责'、'技能'时使用)\\n- supervisor: 上级(用户提到'上级'、'领导'、'主管'时使用)\\n- subordinate: 下级(用户提到'下级'、'下属'时使用)\\n- phone: 手机号(用户提到'手机号'、'电话'、'手机'时使用)\\n- jobNumber: 工号(用户提到'工号'、'员工编号'时使用)\\n\\n【重要】:从用户问题中识别维度词并映射到此字段,不要将维度词放入keyword中。", "required": true }, "keyword": { "type": "string", "description": "搜索关键词。仅填入实际的搜索目标(人名、技能关键词等),不包含查询维度词。 【关键词提取规则】: 以下维度词必须从keyword中排除,改为映射到dimension: - '上级'、'领导'、'主管' → dimension: ['supervisor'] - '下级'、'下属'、'团队成员' → dimension: ['subordinate'] - '部门'、'团队'、'组织' → dimension: ['department'] - '职位'、'岗位'、'职级' → dimension: ['position'] - '职责'、'负责'、'技能' → dimension: ['duty'] - '姓名'、'叫什么' → dimension: ['name'] 【示例】: - 用户问'五道的上级是谁' → keyword: '五道', dimension: ['supervisor'] - 用户问'张三负责什么' → keyword: '张三', dimension: ['duty'] - 用户问'AI搜问的负责人是谁' → keyword: 'AI搜问', dimension: ['duty'] - 用户问'产品部有谁' → keyword: '产品部', dimension: ['department'] - 用户问'李四是哪个部门的' → keyword: '李四', dimension: ['department']- 用户问'手机号13800138000是谁' → keyword: '13800138000', dimension: ['phone']\\n- 用户问'工号A12345是谁' → keyword: 'A12345', dimension: ['jobNumber']", "required": true } }, "interface_ref": { "product_id": "aisearch", "rpc_name": "enterprise_person_search" } }, "aisearch.search_enterprise": { "title": "search_enterprise", "description": "企业内部知识搜索工具。用于检索企业内部的文档、消息、日程、会议纪要、工作日志、多维表、企业百科等知识内容,基于关键词语义匹配返回相关资料。支持自然语言时间表达式(如\"最近\"、\"上周\"、\"本季度\")。适用场景:查找某个主题的资料、搜索包含特定关键词的文档、了解某项目/产品相关信息、准备汇报材料等内容检索需求。", "parameters": { "queries": { "type": "array", "description": "搜索关键词列表,只放**内容关键词**。 **排除规则**: - 时间信息 放到 timeRange 字段 - 类型关键词(日志/文档/消息/会议/日程/纪要等) 放到 searchTypes 字段 - 汇总类词汇(工作总结/日报总结/周报总结/月报总结) 不作为关键词,通过searchTypes=['all']触发全量搜索 示例: - '2025-12-06 ~ 2025-12-19工作总结' queries=[](时间走timeRange,工作总结触发all类型) - '智能化方案' queries=['智能化方案']", "required": true }, "searchTypes": { "type": "array", "description": "搜索类型列表,支持同时搜索多种类型。可选值:all-全部, document-文档, im-消息, calendar-日程, todo-待办, minute-会议纪要/闪记/听记, report-日志, image-图片, link-链接, notable-多维表/ai表格, baike-百科, mail-邮件。 **特殊规则**: 1. report类型仅在用户query中**显式且仅限出现'日志'**一词时触发,'周报/日报/月报/工作汇报'等不触发report 2. mail类型仅在用户query中**显式出现'邮件/邮箱/mail/email'**等词汇时触发 3. '工作总结'、'日报总结'、'周报总结'、'月报总结'等汇总类场景,需要聚合所有工作内容,应使用['all'] 示例: - '本周的日志' searchTypes=['report'] - '我收到的邮件' searchTypes=['mail'] - '工作总结' searchTypes=['all'](需汇总所有内容) - '周报总结' searchTypes=['all'](需汇总所有内容) - 不填或['all'] 搜索全部类型,默认是['all']", "required": true }, "timeRange": { "type": "string", "description": "时间范围。**提取规则**:仅当用户query中**显式出现**时间词汇时才填写,否则**必须留空**。**可识别的时间词汇**:- 相对时间:今天、昨天、本周、上周、这周、本月、上个月、最近、近期- 具体时间:9月、10月份、Q3、本季度、上半年、2024年- 时间范围:过去一周、最近三天**重要**:不要根据语义推测时间。如果用户没有使用上述时间词汇,即使语境暗示是近期,也**不填写**此字段。**示例**:- '本周的OKR文档' → timeRange='本周'- '9月的项目方案' → timeRange='9月'- '智能化相关文档' → timeRange不填写(无时间词),默认不填写", "required": true } }, "interface_ref": { "product_id": "aisearch", "rpc_name": "search_enterprise" } }, "aisearch.search_enterprise_behavior": { "title": "search_enterprise_behavior", "description": "业内部行为记录搜索工具。用于检索用户的操作行为记录,如文档的发送、创建、分享、编辑等历史操作,支持按人员、动作类型进行精确查询。适用场景:\"我给某人发过什么\"、\"我创建过哪些文档\"、\"某人发给我的消息\"、\"我分享过的资料\"等行为追溯需求。与知识搜索的区别:本工具关注\"谁对什么做了什么\",而非内容本身。", "parameters": { "behaviorType": { "type": "string", "description": "行为类型(可选):all-全部, send-发送, create-创建, share-分享, edit-编辑, receive-接收", "enum": [ "all", "send", "create", "share", "edit", "receive" ] }, "chatScope": { "type": "string", "description": "消息所在的会话/群范围(可选),仅用于IM类型搜索。当用户指定群名/会话名时填写,系统会自动搜索群获取cid。 **填写条件**:用户query中出现具体群名/会话名 **不填写情况**:无明确会话范围时留空 **示例**: - '我在scrum群里发了什么' chatScope='scrum群' - '产品群里讨论了什么' chatScope='产品群' - '我发给汐峰的消息' chatScope不填写(用direction处理人际关系) - '我今天发了什么消息' chatScope不填写(无具体群名)" }, "direction": { "type": "string", "description": "交互方向(可选),仅当用户query中**明确指定了交互对象(人名)**时填写。**格式**:'发起者-\u003e接收者' 或 '双向交互者\u003c-\u003e另一方','我'代表当前用户。**填写条件**:用户query中必须出现具体人名/对象**不填写情况**:无明确交互对象时留空,由behaviorType控制行为筛选**重要**:direction描述的是**内容流向**(谁发给谁),而非谁执行了动作。当用户没有指定具体人名时,即使behaviorType有方向性(如receive/send),也**不要**填写direction,更**不要**使用'我-\u003e*'或'*-\u003e我'这类通配符形式。**示例**:- '我发给汐峰的消息' direction='我-\u003e汐峰'- '汐峰发给我的文档' direction='汐峰-\u003e我'- '我和汐峰的聊天记录' direction='我\u003c-\u003e汐峰'- '帮我总结今天干了什么' direction不填写(无具体对象)- '我今天发的消息' direction不填写(无具体对象)- '我接受了哪些日程' direction不填写(无具体对象,用behaviorType=receive筛选)- '我创建了哪些文档' direction不填写(无具体对象,用behaviorType=create筛选)" }, "queries": { "type": "array", "description": "搜索关键词列表,只放**内容关键词**。 **排除规则**: - 时间信息 放到 timeRange 字段 - 类型关键词(日志/文档/消息/会议/日程/纪要等) 放到 searchTypes 字段 - 汇总类词汇(工作总结/日报总结/周报总结/月报总结) 不作为关键词,通过searchTypes=['all']触发全量搜索 示例: - '2025-12-06 ~ 2025-12-19工作总结' queries=[](时间走timeRange,工作总结触发all类型) - '智能化方案' queries=['智能化方案']" }, "searchTypes": { "type": "array", "description": "searchTypes" }, "timeRange": { "type": "string", "description": "时间范围。**提取规则**:仅当用户query中**显式出现**时间词汇时才填写,否则**必须留空**。**可识别的时间词汇**:- 相对时间:今天、昨天、本周、上周、这周、本月、上个月、最近、近期- 具体时间:9月、10月份、Q3、本季度、上半年、2024年- 时间范围:过去一周、最近三天**重要**:不要根据语义推测时间。如果用户没有使用上述时间词汇,即使语境暗示是近期,也**不填写**此字段。**示例**:- '本周的OKR文档' timeRange='本周'- '9月的项目方案' timeRange='9月'- '智能化相关文档' timeRange不填写(无时间词),默认不填写" } }, "interface_ref": { "product_id": "aisearch", "rpc_name": "search_enterprise_behavior" } }, "aitable.advperm_disable": { "title": "set_advanced_permission", "description": "开启或关闭指定 Base 的高级权限总开关。必填 baseId、enabled(true=开启,false=关闭)。\r\n返回切换后的状态 {baseId, enabled};只有显式开启后,后续 list_roles / get_role 等角色配置才会真正生效。", "parameters": { "baseId": { "type": "string", "description": "所属 Base 的唯一标识,可通过 list_bases / search_bases 获取", "required": true }, "enabled": { "type": "boolean", "description": "必填,true=开启高级权限,false=关闭", "required": true } }, "interface_ref": { "product_id": "aitable-helper", "rpc_name": "set_advanced_permission" } }, "aitable.advperm_enable": { "title": "set_advanced_permission", "description": "开启或关闭指定 Base 的高级权限总开关。必填 baseId、enabled(true=开启,false=关闭)。\r\n返回切换后的状态 {baseId, enabled};只有显式开启后,后续 list_roles / get_role 等角色配置才会真正生效。", "parameters": { "baseId": { "type": "string", "description": "所属 Base 的唯一标识,可通过 list_bases / search_bases 获取", "required": true }, "enabled": { "type": "boolean", "description": "必填,true=开启高级权限,false=关闭", "required": true } }, "interface_ref": { "product_id": "aitable-helper", "rpc_name": "set_advanced_permission" } }, "aitable.advperm_role_create": { "title": "create_role", "description": "在指定 Base 下创建自定义角色;系统角色无法通过本工具创建。必填 baseId、name;可选 roleType、flowType、subRoles。\r\nsubRoles[].authLevel 取值:manage / edit-own / edit-custom-field / edit-field-range / read / none。\r\n返回新建角色的完整配置(同 get_role 出参格式)。\r\n自动兜底:caller 可以传稀疏 subRoles(只列关心的资源),或 subRoles 留空。MCP 会自动枚举 Base 下所有 sheet/dashboard,caller 未列的资源补 authLevel=none + bizType 对应默认 config;caller 列了但 config=null 的 sheet/dashboard 也填默认 config(避免前端 JSON.parse null 白屏)。app(bizType=3)需 caller 显式传,不自动枚举。\r\n约束:name 建议 ≤ 30 字;roleType 禁止以 system_ 开头(保留给系统角色);调用者 uid 必须是该 Base 的管理员,否则 UNAUTHORIZED。\r\n失败码:ILLEGAL_ARGUMENT / UNAUTHORIZED / SERVER_ERROR。", "parameters": { "baseId": { "type": "string", "description": "所属 Base 的唯一标识,可通过 list_bases / search_bases 获取", "required": true }, "flowType": { "type": "string", "description": "可选,流程类型字符串;按业务需要填写,留空表示无流程绑定" }, "name": { "type": "string", "description": "必填,角色名称", "required": true }, "roleType": { "type": "string", "description": "可选,角色类型字符串(如 custom);留空由下游决定默认值" }, "subRoles": { "type": "array", "description": "可选,子角色配置列表;每项 {targetId, targetType, authLevel, appId, config}。\r\ntargetType 取值:sheet / dashboard / app;authLevel 取值:manage / edit-own / edit-custom-field / edit-field-range / read / none。\r\npatch 场景:不传=保留现有 subRoles 不变;传入则按 (targetId, targetType) 合并到现有 subRoles 上,只动入参覆盖到的项,其他项保留。" } }, "interface_ref": { "product_id": "aitable-helper", "rpc_name": "create_role" } }, "aitable.advperm_role_delete": { "title": "delete_role", "description": "删除指定 Base 下的自定义角色;系统角色禁止删除,下游会返回业务错误。必填 baseId、roleId。\r\n返回被删除的 roleId。删除操作不可逆。", "parameters": { "baseId": { "type": "string", "description": "所属 Base 的唯一标识,可通过 list_bases / search_bases 获取", "required": true }, "roleId": { "type": "string", "description": "目标角色 ID(字符串形态的 long 数字)", "required": true } }, "interface_ref": { "product_id": "aitable-helper", "rpc_name": "delete_role" } }, "aitable.advperm_role_get": { "title": "get_role", "description": "获取指定 Base 下单个角色的完整配置,含 subRoles 与字段/行级权限。\r\n\r\n参数:必填 baseId、roleId。\r\n\r\n返回 {roleId, name, roleType, flowType, isSystem, subRoles:[{targetId, targetType, authLevel, appId, config}]}。", "parameters": { "baseId": { "type": "string", "description": "所属 Base 的唯一标识,可通过 list_bases / search_bases 获取", "required": true }, "roleId": { "type": "string", "description": "目标角色 ID(字符串形态的 long 数字)", "required": true } }, "interface_ref": { "product_id": "aitable-helper", "rpc_name": "get_role" } }, "aitable.advperm_role_list": { "title": "list_roles", "description": "列出指定 Base 下的全部角色,含系统角色与自定义角色,并标注 isSystem 与默认角色信息。\r\n\r\n参数:必填 baseId。\r\n\r\n返回 {enabled, defaultRole:{mode, roleId}, roles:[{roleId, name, roleType, flowType, isSystem, subRoles}]}。\r\n\r\n不返回角色成员列表;若需要添加/移除角色成员,请使用其他专用工具。", "parameters": { "baseId": { "type": "string", "description": "所属 Base 的唯一标识,可通过 list_bases / search_bases 获取", "required": true } }, "interface_ref": { "product_id": "aitable-helper", "rpc_name": "list_roles" } }, "aitable.advperm_role_update": { "title": "patch_role", "description": "增量更新自定义角色配置。必填 baseId、roleId;可选 name、roleType、flowType、subRoles。\r\nsubRoles 行为:不传=完全不动现有 subRoles;传入则按 (targetId, targetType) 与现有 subRoles 合并——入参中的 sub 整体替换该 sub,入参未提及的 sub 保留不变。MCP 已在内部做 get→merge,caller 无需先调 get_role。\r\n自动兜底:caller 传非空 subRoles 时,MCP 会对其中 sheet/dashboard 项里 config=null 的自动填默认 config(避免前端崩),不会额外枚举 Base 资源(与 create 不同,patch 保持\"只动调用方列的项\"语义)。\r\n系统角色禁止更新。\r\n约束:roleType 禁止以 system_ 开头;调用者 uid 必须是该 Base 的管理员,否则 UNAUTHORIZED。\r\n失败码:ILLEGAL_ARGUMENT / UNAUTHORIZED / SERVER_ERROR。", "parameters": { "baseId": { "type": "string", "description": "所属 Base 的唯一标识,可通过 list_bases / search_bases 获取", "required": true }, "flowType": { "type": "string", "description": "可选,流程类型字符串;按业务需要填写,留空表示无流程绑定" }, "name": { "type": "string", "description": "可选,角色名称;不传则不修改" }, "roleId": { "type": "string", "description": "目标角色 ID(字符串形态的 long 数字)", "required": true }, "roleType": { "type": "string", "description": "可选,角色类型字符串(如 custom);留空由下游决定默认值" }, "subRoles": { "type": "array", "description": "可选,子角色配置列表;每项 {targetId, targetType, authLevel, appId, config}。\r\ntargetType 取值:sheet / dashboard / app;authLevel 取值:manage / edit-own / edit-custom-field / edit-field-range / read / none。\r\npatch 场景:不传=保留现有 subRoles 不变;传入则按 (targetId, targetType) 合并到现有 subRoles 上,只动入参覆盖到的项,其他项保留。" } }, "interface_ref": { "product_id": "aitable-helper", "rpc_name": "patch_role" } }, "aitable.attachment_upload": { "title": "准备附件上传", "description": "为单个 attachment 字段文件申请带容量校验的 OSS 直传地址。\r\n该工具仅适用于“需要先上传本地文件,再将其写入 attachment 字段”的场景,不是通用文件上传入口,也不适用于后续导入类任务上传。\r\n如果已经有可直接下载的在线文件 URL,不要先下载文件再调用本工具;可直接在 create_records / update_records 的 attachment 字段中传入 [{\"url\":\"https://...\"}],由服务端自动代拉外链并转存为内部附件。\r\n该工具只负责准备上传,不直接接收文件二进制内容;实际文件字节流应由客户端在 MCP 外上传到返回的 uploadUrl。\r\n上传文件时,向 uploadUrl 发起的 PUT 请求必须携带 Content-Type header,且其值必须是该文件的具体 MIME type。\r\n上传成功后,请在 create_records / update_records 的 attachment 字段中写入 [{\"fileToken\":\"...\"}]。", "parameters": { "baseId": { "type": "string", "description": "Base ID,可通过 list_bases 或 search_bases 获取", "required": true }, "fileName": { "type": "string", "description": "待写入 attachment 字段的文件名,必须包含扩展名(如 report.xlsx、photo.png)。服务端会基于扩展名和 mimeType 推断资源类型。", "required": true }, "mimeType": { "type": "string", "description": "可选,文件 MIME type(如 application/pdf、image/png)。不传时服务端会根据 fileName 扩展名推断。若传入该值,则上传文件到 uploadUrl 时,PUT 请求必须携带 Content-Type header,且其值必须与这里完全一致。该字段只影响附件资源识别,不会把该工具升级为通用上传接口。" }, "size": { "type": "number", "description": "文件大小(字节),必须大于 0。prepare 阶段会用它向下游申请带容量校验的 attachment 上传地址。", "required": true } }, "interface_ref": { "product_id": "aitable", "rpc_name": "prepare_attachment_upload" } }, "aitable.base_copy": { "title": "copy_base", "description": "复制当前AI表格到指定的路径下,支持传入目标地址以及是否需要复制元数据还是只是复制表的结构不复制数据,三个参数都是必填的,如果用户传的是链接的话则需要根据实际去调用文档的DWS去获取dentryuuid信息,并且传入", "parameters": { "baseId": { "type": "string", "description": "源 Base 标识(必填),支持以下格式:dentryUuid / baseId:32 位字母数字字符串文档/文件夹的 dentryUuid", "required": true }, "onlyCopyMeta": { "type": "boolean", "description": "是否仅复制基础元数据(必选,默认 false)当设置为true}时,仅复制 Base 的结构信息(如表、字段定义等),不复制实际记录数据;当设置为 false 或未提供时,将完整复制 Base 的全部内容与结构。", "required": true }, "targetFolderId": { "type": "string", "description": "目标父节点标识(必填),该字段最终生效值必须为 dentryUuid 类型(32 位字母数字字符串)若直接传入 dentryUuid 字符串,则直接使用该值", "required": true } }, "interface_ref": { "product_id": "aitable", "rpc_name": "copy_base" } }, "aitable.base_create": { "title": "创建 AI 表格", "description": "创建一个新的 AI 表格 Base。当前仅要求 baseName,服务端按默认模板创建并返回 baseId/baseName,如果需要创建的特定的文件夹路径下,则需要传递folderId,这个是知识库节点的ID,调用文档的相关服务可以获取", "parameters": { "baseName": { "type": "string", "description": "Base 名称,1-50 字符;会去除首尾空格后校验", "required": true }, "folderId": { "type": "string", "description": "对外协议字段名固定为folderId,表示目标父节点的 dentryUuid。 层会进一步兼容同字段传入的标准节点 URL,并在创建前解析出实际生效的节点 ID。" }, "templateId": { "type": "string", "description": "创建 Base 模板 ID,默认创建一个空 Base。可通过 search_templates 获取模板。" } }, "interface_ref": { "product_id": "aitable", "rpc_name": "create_base" } }, "aitable.base_delete": { "title": "删除 AI 表格", "description": "删除指定 Base(高风险、不可逆)。成功后应无法通过 get_base/search_bases 读取到该 Base", "parameters": { "baseId": { "type": "string", "description": "待删除 Base ID。建议先通过 get_base 确认目标", "required": true }, "reason": { "type": "string", "description": "一句话描述删除的原因" } }, "interface_ref": { "product_id": "aitable", "rpc_name": "delete_base" } }, "aitable.base_get": { "title": "获取 AI 表格信息", "description": "获取指定 Base 的资源目录级信息,返回 baseName、tables、dashboards 的 summary 信息(不含字段与记录详情)。\r\n这是当前 Base 级目录入口:后续如需 tableId 或 dashboardId,优先从这里读取;table 详情再调用 get_tables,dashboard 详情再调用 get_dashboard", "parameters": { "baseId": { "type": "string", "description": "Base 唯一标识。优先使用 search_bases/list_bases 返回值", "required": true } }, "interface_ref": { "product_id": "aitable", "rpc_name": "get_base" } }, "aitable.base_get_primary_doc_id": { "title": "获取AI表格中主键即文档字段的文档ID", "description": "根据 baseId、tableId 和 recordId 获取主键文档对应的文档信息,会返回对应的文档的dentryuuid,然后利用该uuid去获取文档的内容以及做其他操作", "parameters": { "baseId": { "type": "string", "description": "Base ID,可通过 list_bases 或 search_bases 获取", "required": true }, "recordId": { "type": "string", "description": "记录Id", "required": true }, "tableId": { "type": "string", "description": "Table ID,可通过 list_tables 或 get_base 获取", "required": true } }, "interface_ref": { "product_id": "aitable", "rpc_name": "get_base_primary_doc_id" } }, "aitable.base_list": { "title": "获取 AI 表格列表", "description": "列出当前用户可访问的 AI 表格 Base。默认返回最近访问结果,支持分页游标续取。返回 baseId 与 baseName,后续可直接用于 get_base。\r\nAI 表格访问地址可按 baseId 拼接为:https://docs.dingtalk.com/i/nodes/{baseId}", "parameters": { "cursor": { "type": "string", "description": "首次不传;传入上次返回的游标继续获取下一页" }, "limit": { "type": "number", "description": "每页数量,默认 10,最大 10" } }, "interface_ref": { "product_id": "aitable", "rpc_name": "list_bases" } }, "aitable.base_search": { "title": "搜索 AI 表格", "description": "按名称关键词搜索 AI 表格 Base。返回 baseId/baseName,结果按相关性排序。返回的 baseId 可直接用于 get_base 等后续工具。\r\nAI 表格访问地址可按 baseId 拼接为:https://docs.dingtalk.com/i/nodes/{baseId}", "parameters": { "cursor": { "type": "string", "description": "分页游标,首次不传" }, "query": { "type": "string", "description": "Base 名称关键词,建议至少 2 个字符", "required": true } }, "interface_ref": { "product_id": "aitable", "rpc_name": "search_bases" } }, "aitable.base_update": { "title": "更新 AI 表格", "description": "更新 Base 名称(可选备注)。当前不支持修改主题、封面等扩展属性", "parameters": { "baseId": { "type": "string", "description": "目标 Base ID", "required": true }, "description": { "type": "string", "description": "备注文本" }, "newBaseName": { "type": "string", "description": "新名称,1-50 字符", "required": true } }, "interface_ref": { "product_id": "aitable", "rpc_name": "update_base" } }, "aitable.chart_create": { "title": "更新图表", "description": "在指定 dashboard 下创建 chart。调用前必须先调用 get_dashboard_widgets_example 了解 config 入参结构和要求。返回新创建的 chart 详情。", "parameters": { "baseId": { "type": "string", "description": "必传参数,所属 Base 的唯一标识,可通过 list_bases / search_bases 获取", "required": true }, "config": { "type": "object", "description": "必传参数,图表配置对象,必须按 get_dashboard_widgets_example 返回的 JSONC 结构和注释构造符合要求的 JSON,仅需将占位值替换为真实值" }, "dashboardId": { "type": "string", "description": "必传参数,所属 dashboard 的唯一标识,可通过 get_base 获取;若需进一步确认该 dashboard 下的 chart summary,可先调用 get_dashboard", "required": true }, "layout": { "type": "object", "description": "必传参数,图表在 dashboard 中的位置和大小。x/y 表示横纵坐标,w/h 表示宽度/高度,单位是列数或行数。仪表盘是网格布局共 12 列、行数无明确限制,设置布局时一定注意。添加图表时同一行的图表保持高度一致,每行的图表宽度相加需要正好将整行填满,以避免出现空白。总计类的图表排在上部,以方便用户快速查看,下方再放置更具体的图表。通过 get_dashboard 获取当前已有图表的布局信息,新增图表时请合理安排布局以避免与现有图表重叠,如有必要也可以通过 update_chart 调整已有图表的布局以适应新增图表。" } }, "interface_ref": { "product_id": "aitable", "rpc_name": "create_chart" } }, "aitable.chart_delete": { "title": "删除图表", "description": "删除指定 chart,并同步删除其在 dashboard 中对应的布局项。删除操作不可逆。", "parameters": { "baseId": { "type": "string", "description": "所属 Base 的唯一标识,可通过 list_bases / search_bases 获取", "required": true }, "chartId": { "type": "string", "description": "目标 chart 的唯一标识,可通过 get_dashboard 获取", "required": true }, "dashboardId": { "type": "string", "description": "所属 dashboard 的唯一标识,可通过 get_base 获取", "required": true }, "reason": { "type": "string", "description": "可先参数,删除原因" } }, "interface_ref": { "product_id": "aitable", "rpc_name": "delete_chart" } }, "aitable.chart_get": { "title": "获取图表信息", "description": "获取指定 chart 的详细信息。返回所属 dashboardId、chartName、chartType、widget.config 以及布局项。返回的 config 中 sheet 为该图表引用的数据表 tableId,view 为视图 viewId。", "parameters": { "baseId": { "type": "string", "description": "所属 Base 的唯一标识,可通过 list_bases / search_bases 获取", "required": true }, "chartId": { "type": "string", "description": "目标 chart 的唯一标识,可通过 get_dashboard 获取", "required": true }, "dashboardId": { "type": "string", "description": "所属 dashboard 的唯一标识,可通过 get_base 获取", "required": true } }, "interface_ref": { "product_id": "aitable", "rpc_name": "get_chart" } }, "aitable.chart_share_get": { "title": "获取图表的分享配置", "description": "查询指定 chart 的当前分享配置。返回分享是否已开启(enabled)、分享类型(shareType:PUBLIC / ORG)、分享链接(shareUrl)等信息。若分享尚未开启,enabled 为 false,shareUrl 为 null。", "parameters": { "baseId": { "type": "string", "description": "必填,所属 Base 的唯一标识,可通过 list_bases / search_bases 获取", "required": true }, "chartId": { "type": "string", "description": "必填,目标 chart 的唯一标识,可通过 get_dashboard 获取", "required": true }, "dashboardId": { "type": "string", "description": "必填,所属 dashboard 的唯一标识,可通过 get_base 获取", "required": true } }, "interface_ref": { "product_id": "aitable", "rpc_name": "get_chart_share" } }, "aitable.chart_share_update": { "title": "更新图表分享配置(开启或关闭或更新配置)", "description": "用于开启或关闭指定 chart 的分享,并设置分享类型。\\nenabled=true 时开启分享;enabled=false 时关闭分享(shareType 此时无意义)。\\nshareType 支持两种:PUBLIC(任何人均可访问)、ORG(仅限当前组织成员访问)。\\n返回更新后的分享配置,包括 shareUrl(可直接发送给他人)。", "parameters": { "allowBackToDoc": { "type": "boolean", "description": "可选,是否允许查看者通过分享页返回源 AI 表格文档。不传时保持原有配置" }, "baseId": { "type": "string", "description": "必填,所属 Base 的唯一标识,可通过 list_bases / search_bases 获取", "required": true }, "chartId": { "type": "string", "description": "必填,目标 chart 的唯一标识,可通过 get_dashboard 获取", "required": true }, "dashboardId": { "type": "string", "description": "必填,所属 dashboard 的唯一标识,可通过 get_base 获取", "required": true }, "enabled": { "type": "boolean", "description": "必填,分享开关。true 表示开启分享,false 表示关闭分享", "required": true }, "shareType": { "type": "string", "description": "可选,分享类型,仅在 enabled=true 时有意义。支持值:PUBLIC(任何人均可通过分享链接访问,无需鉴权)、ORG(仅限当前组织成员访问)。默认为 PUBLIC。" } }, "interface_ref": { "product_id": "aitable", "rpc_name": "update_chart_share" } }, "aitable.chart_update": { "title": "更新图表", "description": "更新指定 chart 的配置或布局。调用前必须先调用 get_dashboard_widgets_example 了解 config 入参结构和要求。返回更新后的 chart 详情。", "parameters": { "baseId": { "type": "string", "description": "所属 Base 的唯一标识,可通过 list_bases / search_bases 获取", "required": true }, "chartId": { "type": "string", "description": "目标 chart 的唯一标识,可通过 get_dashboard 获取", "required": true }, "config": { "type": "object", "description": "必传参数,图表配置对象,必须按 get_dashboard_widgets_example 返回的 JSONC 结构和注释构造符合要求的 JSON,仅需将占位值替换为真实值" }, "dashboardId": { "type": "string", "description": "所属 dashboard 的唯一标识,可通过 get_base 获取", "required": true }, "layout": { "type": "object", "description": "可选,不提供此参数代表不更改布局,图表在 dashboard 中的位置和大小。x/y 表示横纵坐标,w/h 表示宽度/高度,单位是列数或行数。仪表盘是网格布局共 12 列、行数无明确限制,更新布局时一定注意。同一行的图表保持高度一致,每行的图表宽度相加需要正好将整行填满,以避免出现空白。总计类的图表排在上部,以方便用户快速查看,下方再放置更具体的图表。通过 get_dashboard 获取当前已有图表的布局信息,更新图表布局时请合理安排布局以避免与现有图表重叠,如有必要也可以通过 update_chart 调整已有图表的布局以让新布局更合适。" } }, "interface_ref": { "product_id": "aitable", "rpc_name": "update_chart" } }, "aitable.chart_widgets_example": { "title": "获取图表配置示例", "description": "返回所有图表类型的 widget config 示例(JSONC 格式,含注释说明每个字段的含义和约束,请直接阅读理解)。可作为 create_chart / update_chart 的 config 参数结构参考,根据目标图表类型选取对应示例。", "interface_ref": { "product_id": "aitable", "rpc_name": "get_dashboard_widgets_example" } }, "aitable.dashboard_arrange": { "title": "自动对齐仪表盘布局", "description": "自动对齐仪表盘中的图表布局,对错乱的图表进行全局重排。根据仪表盘的网格列数(schemaVersion 为 2 时为 48 列,其他情况为 12 列),自动将 y 坐标相近的图表归为同一行,统一同行图表高度,按比例缩放宽度使每行精确填满全列,紧凑排列消除行间空隙,消除底部参差不齐。返回对齐后的完整布局信息。", "parameters": { "baseId": { "type": "string", "description": "所属 Base 的唯一标识,可通过 list_bases / search_bases / get_base 获取", "required": true }, "dashboardId": { "type": "string", "description": "目标 dashboard 的唯一标识,可通过 get_base 获取", "required": true } }, "interface_ref": { "product_id": "aitable-helper", "rpc_name": "align_dashboard" } }, "aitable.dashboard_config_example": { "title": "获取仪表盘配置示例", "description": "返回 dashboard config 的完整结构示例(JSONC 格式,含注释说明每个字段的含义和约束,请直接阅读理解)。可作为 create_dashboard / update_dashboard 的 config 参数结构参考。", "interface_ref": { "product_id": "aitable", "rpc_name": "get_dashboard_config_example" } }, "aitable.dashboard_create": { "title": "创建仪表盘", "description": "在指定 Base 下创建 dashboard。调用前必须先调用 get_dashboard_config_example 了解 config 入参结构和要求。返回新创建的 dashboard 详情。", "parameters": { "baseId": { "type": "string", "description": "必传参数,所属 Base 的唯一标识,可通过 list_bases / search_bases 获取", "required": true }, "config": { "type": "object", "description": "必传参数,Dashboard 配置对象,必须按 get_dashboard_config_example 返回的 JSONC 结构和注释构造符合要求的 JSON" } }, "interface_ref": { "product_id": "aitable", "rpc_name": "create_dashboard" } }, "aitable.dashboard_delete": { "title": "删除仪表盘", "description": "删除指定 dashboard,会级联删除该 dashboard 下的所有 chart;删除操作不可逆。", "parameters": { "baseId": { "type": "string", "description": "所属 Base 的唯一标识,可通过 list_bases / search_bases 获取", "required": true }, "dashboardId": { "type": "string", "description": "目标 dashboard 的唯一标识,可通过 get_base 获取", "required": true }, "reason": { "type": "string", "description": "可选,删除原因" } }, "interface_ref": { "product_id": "aitable", "rpc_name": "delete_dashboard" } }, "aitable.dashboard_get": { "title": "获取仪表盘信息", "description": "获取指定 dashboard 的详细信息。\\r\\n返回 dashboardName、filters、layout,以及该 dashboard 下的 charts summary(chartId、chartName、chartType)。", "parameters": { "baseId": { "type": "string", "description": "所属 Base 的唯一标识,可通过 list_bases / search_bases / get_base 获取", "required": true }, "dashboardId": { "type": "string", "description": "目标 dashboard 的唯一标识,可通过 get_base 获取", "required": true } }, "interface_ref": { "product_id": "aitable", "rpc_name": "get_dashboard" } }, "aitable.dashboard_share_get": { "title": "查询仪表盘分享配置", "description": "查询指定 dashboard 的当前分享配置。返回分享是否已开启(enabled)、分享类型(shareType:PUBLIC / ORG)、分享链接(shareUrl)等信息。若分享尚未开启,enabled 为 false,shareUrl 为 null。", "parameters": { "baseId": { "type": "string", "description": "所属 Base 的唯一标识,可通过 list_bases / search_bases / get_base 获取", "required": true }, "dashboardId": { "type": "string", "description": "目标 dashboard 的唯一标识,可通过 get_base 获取", "required": true } }, "interface_ref": { "product_id": "aitable", "rpc_name": "get_dashboard_share" } }, "aitable.dashboard_share_update": { "title": "设置仪表盘分享配置(开启或关闭或更新配置)", "description": "用于开启或关闭指定 dashboard 的分享,并设置分享类型。enabled=true 时开启分享;enabled=false 时关闭分享(shareType 此时无意义)。shareType 支持两种:PUBLIC(任何人均可访问)、ORG(仅限当前组织成员访问)。返回更新后的分享配置,包括 shareUrl(可直接发送给他人)。", "parameters": { "allowBackToDoc": { "type": "boolean", "description": "可选,是否允许查看者通过分享页返回源 AI 表格文档。不传时保持原有配置" }, "baseId": { "type": "string", "description": "必填,所属 Base 的唯一标识,可通过 list_bases / search_bases / get_base 获取", "required": true }, "dashboardId": { "type": "string", "description": "必填,目标 dashboard 的唯一标识,可通过 get_base 获取", "required": true }, "enabled": { "type": "boolean", "description": "必填,分享开关。true 表示开启分享,false 表示关闭分享", "required": true }, "shareType": { "type": "string", "description": "可选,分享类型,仅在 enabled=true 时有意义。支持值:PUBLIC(任何人均可通过分享链接访问,无需鉴权)、ORG(仅限当前组织成员访问)。默认为 PUBLIC。" } }, "interface_ref": { "product_id": "aitable", "rpc_name": "update_dashboard_share" } }, "aitable.dashboard_update": { "title": "更新仪表盘", "description": "更新指定 dashboard 的配置。调用前必须先调用 get_dashboard_config_example 了解 config 入参结构和要求。返回更新后的 dashboard 详情。", "parameters": { "baseId": { "type": "string", "description": "必传参数,所属 Base 的唯一标识,可通过 list_bases / search_bases 获取", "required": true }, "config": { "type": "object", "description": "必传参数,Dashboard 配置对象,必须按 get_dashboard_config_example 返回的 JSONC 结构和注释构造符合要求的 JSON。传入需要更新的字段,未传入的字段保持原值" }, "dashboardId": { "type": "string", "description": "必传参数,目标 dashboard 的唯一标识,可通过 get_base 获取", "required": true } }, "interface_ref": { "product_id": "aitable", "rpc_name": "update_dashboard" } }, "aitable.export_data": { "title": "导出数据", "description": "导出 AI 表格数据的统一入口。\r\n不传 taskId 时,会根据 scope / format 创建一个新的导出任务,并在 timeoutMs 时间内同步等待结果;若在等待窗口内完成,则直接返回 downloadUrl 和 fileName。\r\n传入 taskId 时,不会重新创建任务,而是继续等待该任务;若仍未完成,则继续返回同一个 taskId,供下一次调用继续等待。\r\n当前稳定支持的 scope:all、table、view;暂不开放按字段导出。\r\n当前稳定支持的 format:excel、attachment、excel_and_attachment、excel_with_inline_images。", "parameters": { "baseId": { "type": "string", "description": "Base ID,可通过 list_bases 或 search_bases 获取", "required": true }, "format": { "type": "string", "description": "可选,导出格式。创建新任务时必填。\n支持值:excel、attachment、excel_and_attachment、excel_with_inline_images。" }, "scope": { "type": "string", "description": "可选,导出范围。创建新任务时必填。\n支持值:all(整个 Base)、table(指定数据表)、view(指定视图)。\nscope=table 时必须传 tableId;scope=view 时必须传 tableId 和 viewId。" }, "tableId": { "type": "string", "description": "可选,Table ID。scope=table 或 scope=view 时必填;可通过 get_base 获取。" }, "taskId": { "type": "string", "description": "可选,已有导出任务 ID。传入后表示继续等待该任务;此时不要再传 scope、format、tableId、viewId。" }, "timeoutMs": { "type": "number", "description": "可选,单次等待超时时间(毫秒)。默认 30000,最小 200,最大 30000。超时后会返回 taskId,供下一次继续等待。" }, "viewId": { "type": "string", "description": "可选,View ID。scope=view 时必填;可通过 list_views 或 get_views 获取。" } }, "interface_ref": { "product_id": "aitable", "rpc_name": "export_data" } }, "aitable.field_create": { "title": "create_fields", "description": "在已有表格中批量新增字段。适用于建表后补充一批字段,或一次性添加多个关联、流转等复杂类型字段。单次最多创建 15 个字段;若超过该数量,请拆分多次调用。允许部分成功,返回结果会逐项说明每个字段是否创建成功;失败项会返回 reason 说明失败原因。", "parameters": { "baseId": { "type": "string", "description": "Base ID(通过 list_bases 获取)", "required": true }, "fields": { "type": "array", "description": "待新增字段列表,至少包含 1 个字段,单次最多 15 个。系统会按数组顺序依次创建,返回结果顺序与入参保持一致,并逐项标明成功/失败状态。", "required": true }, "tableId": { "type": "string", "description": "Table ID(通过 get_base 获取)", "required": true } }, "interface_ref": { "product_id": "aitable", "rpc_name": "create_fields" } }, "aitable.field_delete": { "title": "删除字段", "description": "删除指定 Table 中的一个字段(Field),删除操作不可逆。禁止删除主字段,且禁止删除最后一个字段\r\n\r\n此操作不可逆,会永久删除字段及其所有数据。\r\n必须提供准确的 baseId、tableId 和 fieldId,不得使用名称代替 ID。\r\n若字段不存在或无权限,将返回错误。", "parameters": { "baseId": { "type": "string", "description": "Base ID(通过 list_bases 获取)", "required": true }, "fieldId": { "type": "string", "description": "待删除字段 ID(通过 get_tables 获取)", "required": true }, "tableId": { "type": "string", "description": "Table ID(通过 get_base 获取)", "required": true } }, "interface_ref": { "product_id": "aitable", "rpc_name": "delete_field" } }, "aitable.field_get": { "title": "获取字段详情", "description": "批量获取指定字段的详细信息,包括 fieldId、名称、类型、description 以及类型相关完整配置(如格式化、选项、AI 配置等)。\r\n传 fieldIds 时单次最多获取 10 个字段;若需更多字段,请拆分多次调用。\r\n适用于在 get_tables 拿到字段目录后,按需展开少量字段的完整配置,避免大 options 字段放大 get_tables 返回值。\r\nAI 字段的返回结果中,config 仅包含字段物理配置,aiConfig 作为同级字段单独返回,结构与 create_fields 写入参数一致。", "parameters": { "baseId": { "type": "string", "description": "Base ID(可通过 list_bases 获取)", "required": true }, "fieldIds": { "type": "array", "description": "待获取详情的字段 ID 列表,可通过 get_tables 获取;建议只传真正需要展开完整配置的字段,单次最多 10 个;不传则默认返回当前表下全部字段。建议优先显式传入,以控制返回体大小,避免上下文突增" }, "tableId": { "type": "string", "description": "Table ID(可通过 get_base 获取)", "required": true } }, "interface_ref": { "product_id": "aitable", "rpc_name": "get_fields" } }, "aitable.field_list": { "title": "获取字段详情", "description": "批量获取指定字段的详细信息,包括 fieldId、名称、类型、description 以及类型相关完整配置(如格式化、选项、AI 配置等)。\r\n传 fieldIds 时单次最多获取 10 个字段;若需更多字段,请拆分多次调用。\r\n适用于在 get_tables 拿到字段目录后,按需展开少量字段的完整配置,避免大 options 字段放大 get_tables 返回值。\r\nAI 字段的返回结果中,config 仅包含字段物理配置,aiConfig 作为同级字段单独返回,结构与 create_fields 写入参数一致。", "parameters": { "baseId": { "type": "string", "description": "Base ID(可通过 list_bases 获取)", "required": true }, "fieldIds": { "type": "array", "description": "待获取详情的字段 ID 列表,可通过 get_tables 获取;建议只传真正需要展开完整配置的字段,单次最多 10 个;不传则默认返回当前表下全部字段。建议优先显式传入,以控制返回体大小,避免上下文突增" }, "tableId": { "type": "string", "description": "Table ID(可通过 get_base 获取)", "required": true } }, "interface_ref": { "product_id": "aitable", "rpc_name": "get_fields" } }, "aitable.field_search_options": { "title": "搜索字段选项", "description": "搜索指定单选/多选字段的 options 列表,支持按关键词模糊匹配(大小写不敏感、contains 模式)。\r\n目标字段必须是 singleSelect 或 multipleSelect 类型,否则返回错误。\r\n不传 keyword 时返回该字段全部 options。\r\n适用于 options 较多时按关键词缩小范围,避免通过 get_fields 拉取完整字段配置。", "parameters": { "baseId": { "type": "string", "description": "Base ID(可通过 list_bases 获取)", "required": true }, "fieldId": { "type": "string", "description": "目标字段 ID,必须是 singleSelect 或 multipleSelect 类型的字段", "required": true }, "keyword": { "type": "string", "description": "模糊搜索关键词,大小写不敏感,按 contains 匹配 option name;不传时返回全部 options" }, "limit": { "type": "number", "description": "返回的最大 option 数量,默认 3000(即全量返回),最大 3000。传入较小值可减少响应体积、提升性能" }, "tableId": { "type": "string", "description": "Table ID(可通过 get_base 获取)", "required": true } }, "interface_ref": { "product_id": "aitable", "rpc_name": "search_field_options" } }, "aitable.field_update": { "title": "更新字段", "description": "更新指定字段的名称或配置。不可变更字段类型(type 不可修改)。\r\nnewFieldName、config、aiConfig 至少传入一项", "parameters": { "aiConfig": { "type": "object", "description": "更新后的 AI 配置。传入时为整体替换,outputType 与 prompt 均为必填。不修改 AI 配置时省略。" }, "baseId": { "type": "string", "description": "Base ID(可通过 list_bases 获取)", "required": true }, "config": { "type": "object", "description": "更新后的字段物理配置,结构与 create_fields.fields[].config 完全一致。\n不修改配置时省略。\n注意:更新 singleSelect/multipleSelect 的 options 时,需传入完整列表(含已有选项),系统以新列表整体覆盖,不是追加。\n注意:为避免已有单元格因 option id 变化而丢数据,更新时已有选项应尽量回传原 id;新增选项无需传 id。\n注意:如果请求中传入的 option id 在当前字段配置中不存在,系统会丢弃该 id,并按新增选项处理;若 id 合法但 name 改了,属于正常更新,会保留该 id。" }, "fieldId": { "type": "string", "description": "Field ID(可通过 get_tables 获取)", "required": true }, "newFieldName": { "type": "string", "description": "更新后的字段名称,最大100字。不修改名称时省略" }, "tableId": { "type": "string", "description": "Table ID(可通过 get_base 获取)", "required": true } }, "interface_ref": { "product_id": "aitable", "rpc_name": "update_field" } }, "aitable.import_data": { "title": "导入数据", "description": "将已通过 prepare_import_upload 上传完成的文件导入 AI 表格。支持两种模式:\r\n1. 新建表导入(默认):不传 tableId,文件中的每个工作表新建为独立的数据表。导入成功时返回新增数据表的 tableIds。\r\n2. 追加导入:传入 tableId,数据追加到该已有数据表的末尾,不会新建表。可通过 fieldMapping 指定文件列名与目标表字段的映射关系;不传 fieldMapping 则按列名自动匹配。多 Sheet 文件可通过 srcSheetName 指定源 Sheet。\r\n工具内部会等待导入完成,大多数情况下一次调用即可拿到最终结果。若在 timeout 内未完成,再次传入相同 importId 继续等待,无需重新提交任务,也不要重新上传同一文件。", "parameters": { "fieldMapping": { "type": "object", "description": "可选,字段映射关系。key 为目标表的字段名,value 为源文件中的列名。仅追加导入模式生效。不传则按列名自动匹配" }, "headerRow": { "type": "number", "description": "可选,表头所在行号(从 1 开始,1 表示第一行)。数据将从 headerRow 的下一行开始读取。不传则自动识别表头行" }, "importId": { "type": "string", "description": "prepare_import_upload 返回的 importId", "required": true }, "srcSheetName": { "type": "string", "description": "可选,源文件中的 Sheet 名称。当文件包含多个 Sheet 时,用于指定从哪个 Sheet 导入数据。不传则默认使用第一个 Sheet" }, "tableId": { "type": "string", "description": "可选,目标数据表 ID。传入后数据将作为新行追加到该已有表中,而非新建表。不传则默认新建表导入" }, "timeout": { "type": "number", "description": "可选,本次调用的最长等待时间(秒),默认且推荐使用最大值 30。最小 5,最大 30。超时后若任务仍未完成,再次传入相同 importId 继续等待" } }, "interface_ref": { "product_id": "aitable", "rpc_name": "import_data" } }, "aitable.import_upload": { "title": "准备导入文件上传", "description": "为导入任务申请 OSS 直传地址。返回 uploadUrl 和 importId。\r\n客户端应通过 HTTP PUT 将原始文件字节流上传至 uploadUrl;除非 uploadUrl 对应的存储服务明确要求,否则不要额外附带 Content-Type 等自定义请求头。上传完成后将 importId 传入 import_data 即可触发导入,无需再传其他参数。", "parameters": { "baseId": { "type": "string", "description": "Base ID,可通过 list_bases 或 search_bases 获取", "required": true }, "fileName": { "type": "string", "description": "文件名,须带扩展名,例如 data.xlsx。扩展名将作为导入格式依据", "required": true }, "fileSize": { "type": "number", "description": "文件大小(字节数)", "required": true } }, "interface_ref": { "product_id": "aitable", "rpc_name": "prepare_import_upload" } }, "aitable.info": { "title": "获取 AI 表格信息", "description": "获取指定 Base 的资源目录级信息,返回 baseName、tables、dashboards 的 summary 信息(不含字段与记录详情)。\r\n这是当前 Base 级目录入口:后续如需 tableId 或 dashboardId,优先从这里读取;table 详情再调用 get_tables,dashboard 详情再调用 get_dashboard", "parameters": { "baseId": { "type": "string", "description": "Base 唯一标识。优先使用 search_bases/list_bases 返回值", "required": true } }, "interface_ref": { "product_id": "aitable", "rpc_name": "get_base" } }, "aitable.list": { "title": "获取 AI 表格列表", "description": "列出当前用户可访问的 AI 表格 Base。默认返回最近访问结果,支持分页游标续取。返回 baseId 与 baseName,后续可直接用于 get_base。\r\nAI 表格访问地址可按 baseId 拼接为:https://docs.dingtalk.com/i/nodes/{baseId}", "parameters": { "cursor": { "type": "string", "description": "首次不传;传入上次返回的游标继续获取下一页" }, "limit": { "type": "number", "description": "每页数量,默认 10,最大 10" } }, "interface_ref": { "product_id": "aitable", "rpc_name": "list_bases" } }, "aitable.query_records": { "title": "query_records", "description": "查询指定表格中的记录,支持两种模式:\r\n- 按 ID 取:传入 recordIds(单次最多 100 个),直接获取指定记录。\r\n- 条件查:通过 filters 过滤、sort 排序、cursor 分页遍历全表。\r\n两种模式均可通过 fieldIds(单次最多 100 个)限制返回字段以节省 token。\r\n如果需要获取计算、查找引用等字段则必须传fieldIds的列ID或者列名称才会返回", "parameters": { "baseId": { "type": "string", "description": "Base ID(通过 list_bases / search_bases 获取)", "required": true }, "cursor": { "type": "string", "description": "可选。分页游标,首次查询不传。当返回结果包含 cursor 字段时,将其传入下一次请求以获取后续数据;\ncursor 为空表示已取完全部记录。" }, "fieldIds": { "type": "array", "description": "可选。指定要返回的字段 ID 列表。省略则返回所有字段(不包括计算字段、查找引用字段、其他引用关联字段)。建议在字段较多时按需传入,可显著减少响应体积;单次最多 100 个,如果当前表里有公式、查找引用、关联引用等计算字段,则必须传具体的字段 ID,否则默认不传获取所有字段的时候不会获取计算相关字段。" }, "filters": { "type": "object", "description": "结构化过滤条件,不传则返回全部记录(受 limit 限制)" }, "keyword": { "type": "string", "description": "全文关键词。将对整表内容做文本匹配搜索,并返回符合条件的记录。" }, "limit": { "type": "number", "description": "可选。单次返回的最大记录数,默认 100,最大 100。" }, "recordIds": { "type": "array", "description": "可选。指定要获取的记录 ID 列表,单次最多 100 个。传入时直接按 ID 返回,忽略 filters 和 sort。\n适用于已知 recordId(如关联字段中的 linkedRecordIds)时的精准取数。" }, "sort": { "type": "array", "description": "可选。排序条件列表,按数组顺序依次生效。\n\n每个元素:{\"fieldId\": \"\u003cfieldId\u003e\", \"direction\": \"asc\" | \"desc\"}\n\n示例(先按优先级升序,再按截止日期降序):\n[\n {\"fieldId\": \"fldPriorityId\", \"direction\": \"asc\"},\n {\"fieldId\": \"fldDueDateId\", \"direction\": \"desc\"}\n]" }, "tableId": { "type": "string", "description": "Table ID(通过 get_base 获取)", "required": true } }, "interface_ref": { "product_id": "aitable", "rpc_name": "query_records" } }, "aitable.record_create": { "title": "新增记录", "description": "在指定表格中批量新增记录", "parameters": { "baseId": { "type": "string", "description": "Base ID,可通过 list_bases 或 search_bases 获取", "required": true }, "records": { "type": "array", "description": "待创建的记录列表,单次最多 100 条", "required": true }, "tableId": { "type": "string", "description": "Table ID,可通过 get_base 获取", "required": true } }, "interface_ref": { "product_id": "aitable", "rpc_name": "create_records" } }, "aitable.record_delete": { "title": "删除行记录", "description": "在指定 Table 中批量删除记录(不可逆,数据将永久丢失)。\r\n单次最多删除 100 条;超出请拆分多次调用。\r\n调用前建议先通过 query_records 确认目标记录 ID 与内容,避免误删。", "parameters": { "baseId": { "type": "string", "description": "Base ID,可通过 list_bases 或 search_bases 获取", "required": true }, "recordIds": { "type": "array", "description": "待删除的记录 ID 列表,最多 100 条", "required": true }, "tableId": { "type": "string", "description": "Table ID,可通过 get_base 获取", "required": true } }, "interface_ref": { "product_id": "aitable", "rpc_name": "delete_records" } }, "aitable.record_get": { "title": "query_records", "description": "查询指定表格中的记录,支持两种模式:\r\n- 按 ID 取:传入 recordIds(单次最多 100 个),直接获取指定记录。\r\n- 条件查:通过 filters 过滤、sort 排序、cursor 分页遍历全表。\r\n两种模式均可通过 fieldIds(单次最多 100 个)限制返回字段以节省 token。\r\n如果需要获取计算、查找引用等字段则必须传fieldIds的列ID或者列名称才会返回", "parameters": { "baseId": { "type": "string", "description": "Base ID(通过 list_bases / search_bases 获取)", "required": true }, "cursor": { "type": "string", "description": "可选。分页游标,首次查询不传。当返回结果包含 cursor 字段时,将其传入下一次请求以获取后续数据;\ncursor 为空表示已取完全部记录。" }, "fieldIds": { "type": "array", "description": "可选。指定要返回的字段 ID 列表。省略则返回所有字段(不包括计算字段、查找引用字段、其他引用关联字段)。建议在字段较多时按需传入,可显著减少响应体积;单次最多 100 个,如果当前表里有公式、查找引用、关联引用等计算字段,则必须传具体的字段 ID,否则默认不传获取所有字段的时候不会获取计算相关字段。" }, "filters": { "type": "object", "description": "结构化过滤条件,不传则返回全部记录(受 limit 限制)" }, "keyword": { "type": "string", "description": "全文关键词。将对整表内容做文本匹配搜索,并返回符合条件的记录。" }, "limit": { "type": "number", "description": "可选。单次返回的最大记录数,默认 100,最大 100。" }, "recordIds": { "type": "array", "description": "可选。指定要获取的记录 ID 列表,单次最多 100 个。传入时直接按 ID 返回,忽略 filters 和 sort。\n适用于已知 recordId(如关联字段中的 linkedRecordIds)时的精准取数。" }, "sort": { "type": "array", "description": "可选。排序条件列表,按数组顺序依次生效。\n\n每个元素:{\"fieldId\": \"\u003cfieldId\u003e\", \"direction\": \"asc\" | \"desc\"}\n\n示例(先按优先级升序,再按截止日期降序):\n[\n {\"fieldId\": \"fldPriorityId\", \"direction\": \"asc\"},\n {\"fieldId\": \"fldDueDateId\", \"direction\": \"desc\"}\n]" }, "tableId": { "type": "string", "description": "Table ID(通过 get_base 获取)", "required": true } }, "interface_ref": { "product_id": "aitable", "rpc_name": "query_records" } }, "aitable.record_history_list": { "title": "查询行记录变更历史", "description": "查询指定行记录的变更历史列表。返回该记录的字段变更、操作人(unionId)、操作时间等信息。\r\n操作人已完成身份脱敏,仅透出 unionId。", "parameters": { "baseId": { "type": "string", "description": "目标 Base ID(通过 list_bases / search_bases 获取)", "required": true }, "limit": { "type": "number", "description": "每页获取数量,默认 20,最大 50" }, "offset": { "type": "number", "description": "分页偏移量,默认 0" }, "recordId": { "type": "string", "description": "要查询变更历史的目标记录 ID", "required": true }, "tableId": { "type": "string", "description": "目标 Table ID(通过 get_base / list_tables 获取)", "required": true } }, "interface_ref": { "product_id": "aitable-helper", "rpc_name": "query_record_history" } }, "aitable.record_primary_doc_create": { "title": "创建主键文档", "description": "为指定记录创建主键文档(幂等:若该记录已有主键文档则直接返回已有文档的 nodeId)。\\n必填 baseId、tableId、fieldId、recordId。\\n返回创建或已存在的主键文档 nodeId,可直接用于钉钉文档 MCP 的 nodeId 参数。", "parameters": { "baseId": { "type": "string", "description": "目标 Base ID(通过 list_bases / search_bases 获取)", "required": true }, "fieldId": { "type": "string", "description": "主键字段 ID,必须是 primaryDoc 类型(通过 get_tables / get_fields 获取)", "required": true }, "recordId": { "type": "string", "description": "目标记录 ID", "required": true }, "tableId": { "type": "string", "description": "目标 Table ID(通过 get_base 获取)", "required": true } }, "interface_ref": { "product_id": "aitable-helper", "rpc_name": "create_primary_doc" } }, "aitable.record_primary_doc_get": { "title": "查询主键文档信息", "description": "查询指定记录的主键文档信息。根据 baseId、tableId、recordId 返回该记录关联的主键文档 nodeId。若记录尚未创建主键文档,nodeId 为 null。返回的 nodeId 可直接用于钉钉文档 MCP 的 nodeId 参数。", "parameters": { "baseId": { "type": "string", "description": "目标 Base ID(通过 list_bases / search_bases 获取)", "required": true }, "recordId": { "type": "string", "description": "目标记录 ID", "required": true }, "tableId": { "type": "string", "description": "目标 Table ID(通过 get_base 获取)", "required": true } }, "interface_ref": { "product_id": "aitable-helper", "rpc_name": "get_primary_doc" } }, "aitable.record_query_empty": { "title": "查询空行", "description": "查询指定表格中\"完全没填用户字段\"的空行。\r\n- 按表内顺序扫描一页(limit 默认 100,最大 100),内存中过滤出空行返回。\r\n- 空行定义:除系统字段(recordId / 创建人 / 创建时间 / 修改人 / 修改时间)外,\r\n 所有 cell 都是 null、空字符串、空集合或空 Map。\r\n- cursor 行为同 query_records:若返回的 nextCursor 非空,需要把它传回继续翻页。\r\n- 注意:本页 records 为空数组不代表全表无空行;只有当 nextCursor 也为空时才表示扫完全表。", "parameters": { "baseId": { "type": "string", "description": "Base ID(通过 list_bases / search_bases 获取)", "required": true }, "cursor": { "type": "string", "description": "可选。分页游标,首次查询不传。当返回结果包含 cursor 字段时,将其传入下一次请求以获取后续数据;cursor 为空表示已取完全部记录。" }, "limit": { "type": "number", "description": "可选。单次扫描的最大记录数,默认 100,最大 100。该值是扫描预算而非返回数,可能扫到 100 条但全部非空。" }, "tableId": { "type": "string", "description": "Table ID(通过 get_base 获取)", "required": true } }, "interface_ref": { "product_id": "aitable-helper", "rpc_name": "query_empty_records" } }, "aitable.record_share_url": { "title": "get_record_share_url", "description": "获取指定行记录的分享链接,可用于将记录分享给他人。", "parameters": { "baseId": { "type": "string", "description": "目标 Base ID(通过 list_bases / search_bases 获取)", "required": true }, "recordIds": { "type": "array", "description": "目标记录 ID 列表,单次最多 20 条", "required": true }, "tableId": { "type": "string", "description": "目标 Table ID(通过 get_base / list_tables 获取)", "required": true }, "viewId": { "type": "string", "description": "可选,视图 ID,用于生成带视图上下文的分享链接" } }, "interface_ref": { "product_id": "aitable-helper", "rpc_name": "get_record_share_url" } }, "aitable.record_update": { "title": "更新记录", "description": "批量更新指定记录的字段值,只需传入需修改的字段,未传入的字段保持原值", "parameters": { "baseId": { "type": "string", "description": "Base ID,可通过 list_bases 或 search_bases 获取", "required": true }, "records": { "type": "array", "description": "待更新的记录内容列表,单次最多 100 条", "required": true }, "tableId": { "type": "string", "description": "Table ID,可通过 get_base 获取", "required": true } }, "interface_ref": { "product_id": "aitable", "rpc_name": "update_records" } }, "aitable.record_upsert": { "title": "record_upsert", "description": "批量创建或更新记录(Upsert 语义)。传入一批记录,带 recordId 的走更新逻辑,不带 recordId 的走创建逻辑,服务端自动拆分并分别执行。\r\n单次请求的记录总数(创建 + 更新)不得超过 100 条。", "parameters": { "baseId": { "type": "string", "description": "目标 Base ID(通过 list_bases / search_bases 获取)", "required": true }, "records": { "type": "array", "description": "待 upsert 的记录列表,单次最多 100 条。带 recordId 的记录走更新,不带的走创建", "required": true }, "tableId": { "type": "string", "description": "目标 Table ID(通过 get_base / list_tables 获取)", "required": true } }, "interface_ref": { "product_id": "aitable-helper", "rpc_name": "record_upsert" } }, "aitable.search": { "title": "搜索 AI 表格", "description": "按名称关键词搜索 AI 表格 Base。返回 baseId/baseName,结果按相关性排序。返回的 baseId 可直接用于 get_base 等后续工具。\r\nAI 表格访问地址可按 baseId 拼接为:https://docs.dingtalk.com/i/nodes/{baseId}", "parameters": { "cursor": { "type": "string", "description": "分页游标,首次不传" }, "query": { "type": "string", "description": "Base 名称关键词,建议至少 2 个字符", "required": true } }, "interface_ref": { "product_id": "aitable", "rpc_name": "search_bases" } }, "aitable.section_create": { "title": "创建分组", "description": "在指定 Base 下创建分区(用于在导航树中组织 table / dashboard,类似文件夹)。\r\n\r\n必填:\r\n- baseId\r\n- name\r\n\r\n可选:\r\n- parentSectionId:不传或空字符串表示创建在 Base 根目录下\r\n- index:0-based,不传则追加到末尾\r\n\r\n返回新建分区的 sectionId 与 name。", "parameters": { "baseId": { "type": "string", "description": "所属 Base 的唯一标识,可通过 list_bases / search_bases 获取", "required": true }, "index": { "type": "number", "description": "可选,在父分区下的目标位置(0-based);不传则追加到末尾" }, "name": { "type": "string", "description": "必填,分区名称", "required": true }, "parentSectionId": { "type": "string", "description": "可选,父分区 ID;不传或空字符串表示创建在 Base 根目录下" } }, "interface_ref": { "product_id": "aitable-helper", "rpc_name": "create_section" } }, "aitable.section_delete": { "title": "删除分组", "description": "删除指定分区。\r\n\r\n必填 baseId、sectionId。\r\n\r\n注意删除操作不可逆;若分区下仍有 table / dashboard,下游会按既有规则处理。\r\n\r\n返回被删除的 sectionId。", "parameters": { "baseId": { "type": "string", "description": "所属 Base 的唯一标识,可通过 list_bases / search_bases 获取", "required": true }, "sectionId": { "type": "string", "description": "目标分区 ID", "required": true } }, "interface_ref": { "product_id": "aitable-helper", "rpc_name": "delete_section" } }, "aitable.section_list_empty": { "title": "查询空分组", "description": "列出指定 Base 下所有没有任何子节点的分区(空文件夹),用于清理或诊断导航树。\r\n\r\n必填 baseId。\r\n\r\n返回按 name 升序排列的 [{sectionId, name, parentSectionId}] 列表与总数;parentSectionId 为空串表示该分区在 Base 根目录下。", "parameters": { "baseId": { "type": "string", "description": "所属 Base 的唯一标识,可通过 list_bases / search_bases 获取", "required": true } }, "interface_ref": { "product_id": "aitable-helper", "rpc_name": "list_empty_sections" } }, "aitable.section_list_nodes": { "title": "查询AI表格节点", "description": "列出指定 Base 当前版本下的全部 nsheet 节点,包括分区、AI 表格、表单视图、仪表盘、文档、查询视图等。\r\n\r\n必填 baseId。\r\n\r\n返回按 name 升序排列的 [{nodeId, nodeType, parentSectionId, name}] 列表与总数;parentSectionId 为空串表示该节点在 Base 根目录下。\r\n\r\n适合在 move_nsheet_node、reorder_section 等操作前用来定位节点 ID 与父级关系。", "parameters": { "baseId": { "type": "string", "description": "所属 Base 的唯一标识,可通过 list_bases / search_bases 获取", "required": true } }, "interface_ref": { "product_id": "aitable-helper", "rpc_name": "list_nsheet_nodes" } }, "aitable.section_move_node": { "title": "移动AI表格节点", "description": "把任意 nsheet 节点(分区 / 多维表 / 表单视图 / 仪表盘 / 文档 / 查询视图)移动到目标分区下,可选同时调整全局位置。\r\n\r\n必填:\r\n- baseId\r\n- nodeId\r\n- newParentSectionId:传空字符串表示移动到 Base 根目录\r\n\r\n可选:\r\n- targetIndex:0-based 全局下标;对分区节点会先 move 再调 reorder,中间步骤失败时会返回 MOVE_OK_REORDER_FAILED,可用 reorder_section 重试\r\n\r\n服务端会自动识别节点类型,调用方无需区分分区与非分区。\r\n\r\n返回被移动节点的 id、type、目标父级与下标。", "parameters": { "baseId": { "type": "string", "description": "所属 Base 的唯一标识,可通过 list_bases / search_bases 获取", "required": true }, "newParentSectionId": { "type": "string", "description": "目标父分区 ID;空字符串表示移到 Base 根目录", "required": true }, "nodeId": { "type": "string", "description": "要移动的节点 ID,可以是分区、AI表格、表单视图、仪表盘、文档或查询视图", "required": true }, "targetIndex": { "type": "number", "description": "可选,Base 内节点的全局位置(0-based);文件夹节点会触发额外的位置调整调用" } }, "interface_ref": { "product_id": "aitable-helper", "rpc_name": "move_nsheet_node" } }, "aitable.section_rename": { "title": "重命名分组", "description": "重命名指定分区。\r\n\r\n必填 baseId、sectionId、newName。\r\n\r\n返回重命名后的 sectionId 与新的 name。", "parameters": { "baseId": { "type": "string", "description": "所属 Base 的唯一标识,可通过 list_bases / search_bases 获取", "required": true }, "newName": { "type": "string", "description": "必填,新的分区名称", "required": true }, "sectionId": { "type": "string", "description": "目标分区 ID", "required": true } }, "interface_ref": { "product_id": "aitable-helper", "rpc_name": "rename_section" } }, "aitable.section_reorder": { "title": "调整分组顺序", "description": "在当前父分区下调整分区的展示顺序。\r\n\r\n必填 baseId、sectionId、targetIndex(0-based)。\r\n\r\n返回被调整的 sectionId。", "parameters": { "baseId": { "type": "string", "description": "所属 Base 的唯一标识,可通过 list_bases / search_bases 获取", "required": true }, "sectionId": { "type": "string", "description": "目标分区 ID", "required": true }, "targetIndex": { "type": "number", "description": "必填,目标位置(0-based)", "required": true } }, "interface_ref": { "product_id": "aitable-helper", "rpc_name": "reorder_section" } }, "aitable.table_create": { "title": "创建数据表", "description": "在指定 Base 中新建表格,并可在创建时附带初始化一批基础字段。\r\n建表时单次最多附带 15 个字段;若 fields 为空,服务会自动补一个名为“标题”的 primaryDoc 首列。\r\n若 tableName 与当前 Base 下已有表重名,服务会自动续号为“原名 1 / 原名 2 ...”,并在 summary 中返回当前表名。\r\n如需添加更多字段,或在已有表中增加字段,请使用 create_fields。", "parameters": { "baseId": { "type": "string", "description": "目标 Base ID(通过 list_bases 获取)", "required": true }, "fields": { "type": "array", "description": "建表时随附创建的初始字段列表,至少包含 1 个字段,单次最多 15 个。若传空数组,系统会自动补一个名为“标题”的 primaryDoc 首列。\n建议在此处定义结构清晰的基础字段(如文本、数字、日期、单选等);\n复杂字段(关联、流转等)建议建表完成后通过 create_fields 单独添加。\n\n每个字段对象包含:\n fieldName(必填): 字段名称\n type(必填): 字段类型,可选值与 config 结构详见本工具说明末尾的字段参考\n config(可选): 字段配置,结构因 type 而异,详见字段参考\n\n示例:\n[\n {\"fieldName\":\"任务名称\",\"type\":\"text\"},\n {\"fieldName\":\"优先级\",\"type\":\"singleSelect\",\"config\":{\"options\":[{\"name\":\"高\"},{\"name\":\"中\"},{\"name\":\"低\"}]}},\n {\"fieldName\":\"截止日期\",\"type\":\"date\",\"config\":{\"formatter\":\"YYYY-MM-DD\"}},\n {\"fieldName\":\"负责人\",\"type\":\"user\",\"config\":{\"multiple\":false}}\n]", "required": true }, "tableName": { "type": "string", "description": "表格名称,1~100 个字符;不能包含 / \\ ? * [ ] : 等字符。", "required": true } }, "interface_ref": { "product_id": "aitable", "rpc_name": "create_table" } }, "aitable.table_delete": { "title": "删除数据表", "description": "删除指定 tableId 的数据表(不可逆,数据将永久丢失),该操作为高风险写入。\r\n调用前请先通过 get_base / get_tables 确认目标表 ID 与名称。", "parameters": { "baseId": { "type": "string", "description": "目标 Base ID(通过 list_bases 获取)", "required": true }, "reason": { "type": "string", "description": "一句话描述一下删除该数据表的原因,用于审计" }, "tableId": { "type": "string", "description": "将被删除的 Table ID(通过 get_base / get_tables 获取)", "required": true } }, "interface_ref": { "product_id": "aitable", "rpc_name": "delete_table" } }, "aitable.table_get": { "title": "获取数据表", "description": "批量获取指定 Tables(数据表)的表级信息、字段目录与视图目录。\r\n会返回 tables 列表;每个 table 直接包含 tableId、tableName、description、fields、views;字段列表仅包含 fieldId、fieldName、type、description;views 仅包含 viewId、viewName、type。\r\n若需读取字段的完整配置,请再调用 get_fields。", "parameters": { "baseId": { "type": "string", "description": "所属 Base ID(通过 list_bases / search_bases 获取)", "required": true }, "tableIds": { "type": "array", "description": "待获取详情的 Table ID 列表(通过 get_base 获取),单次最多 10 个;不传则默认返回当前 Base 下全部表。建议优先显式传入,以控制返回体大小,避免上下文突增" } }, "interface_ref": { "product_id": "aitable", "rpc_name": "get_tables" } }, "aitable.table_list": { "title": "获取数据表", "description": "批量获取指定 Tables(数据表)的表级信息、字段目录与视图目录。\r\n会返回 tables 列表;每个 table 直接包含 tableId、tableName、description、fields、views;字段列表仅包含 fieldId、fieldName、type、description;views 仅包含 viewId、viewName、type。\r\n若需读取字段的完整配置,请再调用 get_fields。", "parameters": { "baseId": { "type": "string", "description": "所属 Base ID(通过 list_bases / search_bases 获取)", "required": true }, "tableIds": { "type": "array", "description": "待获取详情的 Table ID 列表(通过 get_base 获取),单次最多 10 个;不传则默认返回当前 Base 下全部表。建议优先显式传入,以控制返回体大小,避免上下文突增" } }, "interface_ref": { "product_id": "aitable", "rpc_name": "get_tables" } }, "aitable.table_update": { "title": "update_table", "description": "重命名指定 Table(数据表)。若新名称不符合命名要求、与同一 Base 下其他表重名或无权限,将返回错误。", "parameters": { "baseId": { "type": "string", "description": "所属 Base ID(用于定位目标表)。", "required": true }, "description": { "type": "string", "description": "可选,更新后的数据表备注说明。不修改时省略" }, "newTableName": { "type": "string", "description": "新表名,不能包含 / \\ ? * [ ] : 等特殊字符,newTableName、description、recordNameKey 至少传入一项。" }, "recordNameKey": { "type": "string", "description": "设置行命名规则:recordNameKey 枚举键。注意该值不是字段 ID,而是一组固定枚举字符串(如 question、task、project、event)。不修改时省略。" }, "tableId": { "type": "string", "description": "目标 Table ID(通过 get_base 获取)。", "required": true } }, "interface_ref": { "product_id": "aitable", "rpc_name": "update_table" } }, "aitable.template_search": { "title": "搜索模板", "description": "按名称关键词搜索 AI 表格模板,支持分页。\r\n返回每个模板的 templateId、name、description,以及分页信息 hasMore / nextCursor。\r\n返回的 templateId 可直接用于 create_base。\r\n模板预览链接可通过 https://docs.dingtalk.com/table/template/{templateId} 拼接得到", "parameters": { "cursor": { "type": "string", "description": "分页游标。首次请求不传;后续请原样传入上次返回的 nextCursor" }, "limit": { "type": "number", "description": "每页返回数量。默认 10,最大 30" }, "query": { "type": "string", "description": "模板名称关键词", "required": true } }, "interface_ref": { "product_id": "aitable", "rpc_name": "search_templates" } }, "aitable.view_create": { "title": "创建视图", "description": "在指定数据表(Table)下创建一个新视图(View)。\r\n当前稳定支持的 viewType:Grid、FormDesigner、Gantt、Calendar、Kanban、Gallery。\r\n若未传 viewName,则会按视图类型自动生成不重名名称。\r\n首列字段是每条数据的索引,不支持删除、移动或隐藏。", "parameters": { "baseId": { "type": "string", "description": "所属 Base 的唯一标识。", "required": true }, "config": { "type": "object", "description": "可选,创建视图时附带的配置。" }, "tableId": { "type": "string", "description": "所属数据表(Table)的唯一标识。", "required": true }, "viewDescription": { "type": "object", "description": "可选,视图描述,结构与前端 ViewDTO.description 保持一致。" }, "viewName": { "type": "string", "description": "可选,新视图名称;未传时自动生成。" }, "viewSubType": { "type": "string", "description": "可选,视图子类型。" }, "viewType": { "type": "string", "description": "新视图类型。当前支持:Grid、FormDesigner、Gantt、Calendar、Kanban、Gallery。", "required": true } }, "interface_ref": { "product_id": "aitable", "rpc_name": "create_view" } }, "aitable.view_delete": { "title": "删除视图", "description": "删除指定视图(View)。该操作不可逆。\r\n已知保护:禁止删除数据表中的最后一个视图;锁定视图不允许删除。", "parameters": { "baseId": { "type": "string", "description": "所属 Base 的唯一标识。", "required": true }, "tableId": { "type": "string", "description": "所属数据表(Table)的唯一标识。", "required": true }, "viewId": { "type": "string", "description": "要删除的视图(View)的唯一标识。", "required": true } }, "interface_ref": { "product_id": "aitable", "rpc_name": "delete_view" } }, "aitable.view_duplicate": { "title": "复制视图", "description": "复制指定视图(View),生成一个与源视图结构一致的新视图(包含列顺序、筛选、排序、分组、自定义配置等)。\r\n\r\n通过 baseId / tableId / sourceViewId 三元组定位源视图;未传 newViewName 时自动生成\"原视图名 (副本)\"风格的不重名名称。\r\n\r\n表单视图复制时会重置分享态,不会带过源视图的分享配置。", "parameters": { "baseId": { "type": "string", "description": "所属 Base 的唯一标识。", "required": true }, "newViewName": { "type": "string", "description": "可选,复制出的新视图名称;未传时自动生成\"原视图名 (副本)\"风格的不重名名称。" }, "sourceViewId": { "type": "string", "description": "要复制的源视图(View)的唯一标识。", "required": true }, "tableId": { "type": "string", "description": "所属数据表(Table)的唯一标识。", "required": true } }, "interface_ref": { "product_id": "aitable-helper", "rpc_name": "duplicate_view" } }, "aitable.view_get_aggregate": { "title": "get_views", "description": "获取指定数据表(Table)中的视图(View)完整信息,包括列顺序、筛选、排序、分组、条件格式、自定义配置等。\r\n支持两种模式:\r\n- 显式选择:传入 viewIds,按入参顺序返回这些视图;单次最多 10 个。\r\n- 默认全量:省略 viewIds,返回当前表下全部视图,顺序与当前表视图目录一致。\r\n对 Kanban / Gantt / Gallery 视图,会在返回上额外提供 kanbanCard / ganttTimebar / galleryCard 三个类型化卡片配置块,其他视图类型为 null。", "parameters": { "baseId": { "type": "string", "description": "所属 Base 的唯一标识。", "required": true }, "tableId": { "type": "string", "description": "所属数据表(Table)的唯一标识。", "required": true }, "viewIds": { "type": "array", "description": "可选,待获取详情的视图(View)ID 列表。显式传入时单次最多 10 个;省略时默认返回当前表下全部视图。" } }, "interface_ref": { "product_id": "aitable", "rpc_name": "get_views" } }, "aitable.view_get_card": { "title": "get_views", "description": "获取指定数据表(Table)中的视图(View)完整信息,包括列顺序、筛选、排序、分组、条件格式、自定义配置等。\r\n支持两种模式:\r\n- 显式选择:传入 viewIds,按入参顺序返回这些视图;单次最多 10 个。\r\n- 默认全量:省略 viewIds,返回当前表下全部视图,顺序与当前表视图目录一致。\r\n对 Kanban / Gantt / Gallery 视图,会在返回上额外提供 kanbanCard / ganttTimebar / galleryCard 三个类型化卡片配置块,其他视图类型为 null。", "parameters": { "baseId": { "type": "string", "description": "所属 Base 的唯一标识。", "required": true }, "tableId": { "type": "string", "description": "所属数据表(Table)的唯一标识。", "required": true }, "viewIds": { "type": "array", "description": "可选,待获取详情的视图(View)ID 列表。显式传入时单次最多 10 个;省略时默认返回当前表下全部视图。" } }, "interface_ref": { "product_id": "aitable", "rpc_name": "get_views" } }, "aitable.view_get_field_widths": { "title": "get_views", "description": "获取指定数据表(Table)中的视图(View)完整信息,包括列顺序、筛选、排序、分组、条件格式、自定义配置等。\r\n支持两种模式:\r\n- 显式选择:传入 viewIds,按入参顺序返回这些视图;单次最多 10 个。\r\n- 默认全量:省略 viewIds,返回当前表下全部视图,顺序与当前表视图目录一致。\r\n对 Kanban / Gantt / Gallery 视图,会在返回上额外提供 kanbanCard / ganttTimebar / galleryCard 三个类型化卡片配置块,其他视图类型为 null。", "parameters": { "baseId": { "type": "string", "description": "所属 Base 的唯一标识。", "required": true }, "tableId": { "type": "string", "description": "所属数据表(Table)的唯一标识。", "required": true }, "viewIds": { "type": "array", "description": "可选,待获取详情的视图(View)ID 列表。显式传入时单次最多 10 个;省略时默认返回当前表下全部视图。" } }, "interface_ref": { "product_id": "aitable", "rpc_name": "get_views" } }, "aitable.view_get_fill_color_rule": { "title": "get_views", "description": "获取指定数据表(Table)中的视图(View)完整信息,包括列顺序、筛选、排序、分组、条件格式、自定义配置等。\r\n支持两种模式:\r\n- 显式选择:传入 viewIds,按入参顺序返回这些视图;单次最多 10 个。\r\n- 默认全量:省略 viewIds,返回当前表下全部视图,顺序与当前表视图目录一致。\r\n对 Kanban / Gantt / Gallery 视图,会在返回上额外提供 kanbanCard / ganttTimebar / galleryCard 三个类型化卡片配置块,其他视图类型为 null。", "parameters": { "baseId": { "type": "string", "description": "所属 Base 的唯一标识。", "required": true }, "tableId": { "type": "string", "description": "所属数据表(Table)的唯一标识。", "required": true }, "viewIds": { "type": "array", "description": "可选,待获取详情的视图(View)ID 列表。显式传入时单次最多 10 个;省略时默认返回当前表下全部视图。" } }, "interface_ref": { "product_id": "aitable", "rpc_name": "get_views" } }, "aitable.view_get_filter": { "title": "get_views", "description": "获取指定数据表(Table)中的视图(View)完整信息,包括列顺序、筛选、排序、分组、条件格式、自定义配置等。\r\n支持两种模式:\r\n- 显式选择:传入 viewIds,按入参顺序返回这些视图;单次最多 10 个。\r\n- 默认全量:省略 viewIds,返回当前表下全部视图,顺序与当前表视图目录一致。\r\n对 Kanban / Gantt / Gallery 视图,会在返回上额外提供 kanbanCard / ganttTimebar / galleryCard 三个类型化卡片配置块,其他视图类型为 null。", "parameters": { "baseId": { "type": "string", "description": "所属 Base 的唯一标识。", "required": true }, "tableId": { "type": "string", "description": "所属数据表(Table)的唯一标识。", "required": true }, "viewIds": { "type": "array", "description": "可选,待获取详情的视图(View)ID 列表。显式传入时单次最多 10 个;省略时默认返回当前表下全部视图。" } }, "interface_ref": { "product_id": "aitable", "rpc_name": "get_views" } }, "aitable.view_get_frozen_cols": { "title": "获取视图冻结列数", "description": "查询指定视图(View)当前的冻结列数(左侧固定列)。\r\n\r\n通过 baseId / tableId / viewId 三元组定位目标视图。\r\n\r\n视图未显式设置时返回 null(前端实际显示会回落到默认 1),由调用方根据业务约定决定如何兜底。", "parameters": { "baseId": { "type": "string", "description": "所属 Base 的唯一标识。", "required": true }, "tableId": { "type": "string", "description": "所属数据表(Table)的唯一标识。", "required": true }, "viewId": { "type": "string", "description": "目标视图(View)的唯一标识。", "required": true } }, "interface_ref": { "product_id": "aitable-helper", "rpc_name": "get_frozen_columns_of_view" } }, "aitable.view_get_group": { "title": "get_views", "description": "获取指定数据表(Table)中的视图(View)完整信息,包括列顺序、筛选、排序、分组、条件格式、自定义配置等。\r\n支持两种模式:\r\n- 显式选择:传入 viewIds,按入参顺序返回这些视图;单次最多 10 个。\r\n- 默认全量:省略 viewIds,返回当前表下全部视图,顺序与当前表视图目录一致。\r\n对 Kanban / Gantt / Gallery 视图,会在返回上额外提供 kanbanCard / ganttTimebar / galleryCard 三个类型化卡片配置块,其他视图类型为 null。", "parameters": { "baseId": { "type": "string", "description": "所属 Base 的唯一标识。", "required": true }, "tableId": { "type": "string", "description": "所属数据表(Table)的唯一标识。", "required": true }, "viewIds": { "type": "array", "description": "可选,待获取详情的视图(View)ID 列表。显式传入时单次最多 10 个;省略时默认返回当前表下全部视图。" } }, "interface_ref": { "product_id": "aitable", "rpc_name": "get_views" } }, "aitable.view_get_lock": { "title": "获取视图锁定状态", "description": "查询指定视图(View)当前的锁定状态。\r\n\r\n通过 baseId / tableId / viewId 三元组定位目标视图,返回 locked 字段(true 表示已锁定)。", "parameters": { "baseId": { "type": "string", "description": "所属 Base 的唯一标识。", "required": true }, "tableId": { "type": "string", "description": "所属数据表(Table)的唯一标识。", "required": true }, "viewId": { "type": "string", "description": "目标视图(View)的唯一标识。", "required": true } }, "interface_ref": { "product_id": "aitable-helper", "rpc_name": "get_view_lock_status" } }, "aitable.view_get_row_height": { "title": "获取视图行高", "description": "查询指定视图(View)当前的单元格行高,单位为像素。\r\n\r\n通过 baseId / tableId / viewId 三元组定位目标视图。\r\n\r\n视图未显式设置时返回 null(前端实际显示会回落到默认 32px),由调用方根据业务约定决定如何兜底。", "parameters": { "baseId": { "type": "string", "description": "所属 Base 的唯一标识。", "required": true }, "tableId": { "type": "string", "description": "所属数据表(Table)的唯一标识。", "required": true }, "viewId": { "type": "string", "description": "目标视图(View)的唯一标识。", "required": true } }, "interface_ref": { "product_id": "aitable-helper", "rpc_name": "get_cell_height_of_view" } }, "aitable.view_get_sort": { "title": "get_views", "description": "获取指定数据表(Table)中的视图(View)完整信息,包括列顺序、筛选、排序、分组、条件格式、自定义配置等。\r\n支持两种模式:\r\n- 显式选择:传入 viewIds,按入参顺序返回这些视图;单次最多 10 个。\r\n- 默认全量:省略 viewIds,返回当前表下全部视图,顺序与当前表视图目录一致。\r\n对 Kanban / Gantt / Gallery 视图,会在返回上额外提供 kanbanCard / ganttTimebar / galleryCard 三个类型化卡片配置块,其他视图类型为 null。", "parameters": { "baseId": { "type": "string", "description": "所属 Base 的唯一标识。", "required": true }, "tableId": { "type": "string", "description": "所属数据表(Table)的唯一标识。", "required": true }, "viewIds": { "type": "array", "description": "可选,待获取详情的视图(View)ID 列表。显式传入时单次最多 10 个;省略时默认返回当前表下全部视图。" } }, "interface_ref": { "product_id": "aitable", "rpc_name": "get_views" } }, "aitable.view_get_timebar": { "title": "get_views", "description": "获取指定数据表(Table)中的视图(View)完整信息,包括列顺序、筛选、排序、分组、条件格式、自定义配置等。\r\n支持两种模式:\r\n- 显式选择:传入 viewIds,按入参顺序返回这些视图;单次最多 10 个。\r\n- 默认全量:省略 viewIds,返回当前表下全部视图,顺序与当前表视图目录一致。\r\n对 Kanban / Gantt / Gallery 视图,会在返回上额外提供 kanbanCard / ganttTimebar / galleryCard 三个类型化卡片配置块,其他视图类型为 null。", "parameters": { "baseId": { "type": "string", "description": "所属 Base 的唯一标识。", "required": true }, "tableId": { "type": "string", "description": "所属数据表(Table)的唯一标识。", "required": true }, "viewIds": { "type": "array", "description": "可选,待获取详情的视图(View)ID 列表。显式传入时单次最多 10 个;省略时默认返回当前表下全部视图。" } }, "interface_ref": { "product_id": "aitable", "rpc_name": "get_views" } }, "aitable.view_get_visible_fields": { "title": "get_views", "description": "获取指定数据表(Table)中的视图(View)完整信息,包括列顺序、筛选、排序、分组、条件格式、自定义配置等。\r\n支持两种模式:\r\n- 显式选择:传入 viewIds,按入参顺序返回这些视图;单次最多 10 个。\r\n- 默认全量:省略 viewIds,返回当前表下全部视图,顺序与当前表视图目录一致。\r\n对 Kanban / Gantt / Gallery 视图,会在返回上额外提供 kanbanCard / ganttTimebar / galleryCard 三个类型化卡片配置块,其他视图类型为 null。", "parameters": { "baseId": { "type": "string", "description": "所属 Base 的唯一标识。", "required": true }, "tableId": { "type": "string", "description": "所属数据表(Table)的唯一标识。", "required": true }, "viewIds": { "type": "array", "description": "可选,待获取详情的视图(View)ID 列表。显式传入时单次最多 10 个;省略时默认返回当前表下全部视图。" } }, "interface_ref": { "product_id": "aitable", "rpc_name": "get_views" } }, "aitable.view_list": { "title": "get_views", "description": "获取指定数据表(Table)中的视图(View)完整信息,包括列顺序、筛选、排序、分组、条件格式、自定义配置等。\r\n支持两种模式:\r\n- 显式选择:传入 viewIds,按入参顺序返回这些视图;单次最多 10 个。\r\n- 默认全量:省略 viewIds,返回当前表下全部视图,顺序与当前表视图目录一致。\r\n对 Kanban / Gantt / Gallery 视图,会在返回上额外提供 kanbanCard / ganttTimebar / galleryCard 三个类型化卡片配置块,其他视图类型为 null。", "parameters": { "baseId": { "type": "string", "description": "所属 Base 的唯一标识。", "required": true }, "tableId": { "type": "string", "description": "所属数据表(Table)的唯一标识。", "required": true }, "viewIds": { "type": "array", "description": "可选,待获取详情的视图(View)ID 列表。显式传入时单次最多 10 个;省略时默认返回当前表下全部视图。" } }, "interface_ref": { "product_id": "aitable", "rpc_name": "get_views" } }, "aitable.view_lock": { "title": "锁定或解锁视图", "description": "锁定或解锁指定视图(View)。\r\n\r\n- lock:锁定后视图不再允许被修改或删除\r\n- unlock:解锁后恢复可编辑状态\r\n\r\n操作幂等:对已锁定视图再次 lock 或对未锁定视图再次 unlock 不会报错。", "parameters": { "action": { "type": "string", "description": "操作类型,取 \"lock\" 表示锁定视图,取 \"unlock\" 表示解锁视图。", "required": true }, "baseId": { "type": "string", "description": "所属 Base 的唯一标识。", "required": true }, "tableId": { "type": "string", "description": "所属数据表(Table)的唯一标识。", "required": true }, "viewId": { "type": "string", "description": "目标视图(View)的唯一标识。", "required": true } }, "interface_ref": { "product_id": "aitable-helper", "rpc_name": "lock_or_unlock_view" } }, "aitable.view_update_aggregate": { "title": "update_view", "description": "更新指定视图(View)的名称、描述或配置。\r\n当前稳定支持更新:newViewName、viewDescription、visibleFieldIds、filter、sort、group;fieldWidths 和 aggregate 仅支持 Grid 视图。\r\n首列字段是每条数据的索引,不支持删除、移动或隐藏。\r\n对 Kanban / Gantt / Gallery 视图,config 入参支持 kanbanCard / ganttTimebar / galleryCard 三个类型化配置块进行局部更新(传谁更新谁);若视图类型与块不匹配会返回 INVALID_UPDATE_VIEW_REQUEST。", "parameters": { "baseId": { "type": "string", "description": "所属 Base 的唯一标识。", "required": true }, "config": { "type": "object", "description": "可选,视图配置更新项。" }, "newViewName": { "type": "string", "description": "可选,新的视图名称。" }, "tableId": { "type": "string", "description": "所属数据表(Table)的唯一标识。", "required": true }, "viewDescription": { "type": "object", "description": "可选,新的视图描述。若不传则不修改;如需清空,可传 {\"content\": []}。" }, "viewId": { "type": "string", "description": "目标视图(View)的唯一标识。", "required": true } }, "interface_ref": { "product_id": "aitable", "rpc_name": "update_view" } }, "aitable.view_update_card": { "title": "update_view", "description": "更新指定视图(View)的名称、描述或配置。\r\n当前稳定支持更新:newViewName、viewDescription、visibleFieldIds、filter、sort、group;fieldWidths 和 aggregate 仅支持 Grid 视图。\r\n首列字段是每条数据的索引,不支持删除、移动或隐藏。\r\n对 Kanban / Gantt / Gallery 视图,config 入参支持 kanbanCard / ganttTimebar / galleryCard 三个类型化配置块进行局部更新(传谁更新谁);若视图类型与块不匹配会返回 INVALID_UPDATE_VIEW_REQUEST。", "parameters": { "baseId": { "type": "string", "description": "所属 Base 的唯一标识。", "required": true }, "config": { "type": "object", "description": "可选,视图配置更新项。" }, "newViewName": { "type": "string", "description": "可选,新的视图名称。" }, "tableId": { "type": "string", "description": "所属数据表(Table)的唯一标识。", "required": true }, "viewDescription": { "type": "object", "description": "可选,新的视图描述。若不传则不修改;如需清空,可传 {\"content\": []}。" }, "viewId": { "type": "string", "description": "目标视图(View)的唯一标识。", "required": true } }, "interface_ref": { "product_id": "aitable", "rpc_name": "update_view" } }, "aitable.view_update_field_widths": { "title": "update_view", "description": "更新指定视图(View)的名称、描述或配置。\r\n当前稳定支持更新:newViewName、viewDescription、visibleFieldIds、filter、sort、group;fieldWidths 和 aggregate 仅支持 Grid 视图。\r\n首列字段是每条数据的索引,不支持删除、移动或隐藏。\r\n对 Kanban / Gantt / Gallery 视图,config 入参支持 kanbanCard / ganttTimebar / galleryCard 三个类型化配置块进行局部更新(传谁更新谁);若视图类型与块不匹配会返回 INVALID_UPDATE_VIEW_REQUEST。", "parameters": { "baseId": { "type": "string", "description": "所属 Base 的唯一标识。", "required": true }, "config": { "type": "object", "description": "可选,视图配置更新项。" }, "newViewName": { "type": "string", "description": "可选,新的视图名称。" }, "tableId": { "type": "string", "description": "所属数据表(Table)的唯一标识。", "required": true }, "viewDescription": { "type": "object", "description": "可选,新的视图描述。若不传则不修改;如需清空,可传 {\"content\": []}。" }, "viewId": { "type": "string", "description": "目标视图(View)的唯一标识。", "required": true } }, "interface_ref": { "product_id": "aitable", "rpc_name": "update_view" } }, "aitable.view_update_fill_color_rule": { "title": "设置视图填色规则", "description": "设置指定表格视图(Grid View)的条件填色规则(全量覆盖)。传空数组 [] 表示清空当前视图的填色规则。单次最多设置 40 条规则;超出会被拒绝。注意:每条规则的 filters 数组只能有 1 条(filters[0])。如需多条件,请拆成多条规则。仅支持 Grid 视图;锁定视图不允许修改。", "parameters": { "baseId": { "type": "string", "description": "所属 Base 的唯一标识。", "required": true }, "conditionalFormats": { "type": "array", "description": "填色规则列表。传空数组 [] 表示清空当前视图的填色规则。调用后会全量覆盖原先的填色规则。单次最多 40 条。\n\n每个数组项是一个对象,必须包含以下四个核心字段:\n\n1. type (string, 必填): 填色规则作用范围。\n - 枚举值: \"cell\" (单元格), \"row\" (行), \"column\" (列), \"preRow\" (行头)\n\n2. formatFieldId (string, 必填): 填色规则所关联的字段 ID。\n\n3. format (object, 必填): 填色样式配置。\n - 结构: { \"color\": string }\n - color (string, 必填): 填色代号。严禁使用 'red'/'green' 等裸颜色名或 '#RRGGBB' hex 值。必须从以下集合选取:\n A. 深底色(推荐默认): \"firstLine1\"(红), \"firstLine2\"(橙), \"firstLine3\"(黄), \"firstLine4\"(青柠), \"firstLine5\"(绿), \"firstLine6\"(青), \"firstLine7\"(浅蓝), \"firstLine8\"(蓝), \"firstLine9\"(紫), \"firstLine10\"(粉), \"firstLine11\"(灰)\n B. 仅文字色: \"text_red_5\", \"text_orange_5\", \"text_yellow_5\", \"text_lime_5\", \"text_green_5\", \"text_teal_5\", \"text_lightblue_5\", \"text_blue_5\", \"text_purple_5\", \"text_pink_5\", \"text_grey_5\"\n C. 文字色+浅背景: \"text_red_6_bg_0\", \"text_orange_6_bg_0\", \"text_yellow_6_bg_0\", \"text_lime_6_bg_0\", \"text_green_6_bg_0\", \"text_teal_6_bg_0\", \"text_lightblue_6_bg_0\", \"text_blue_6_bg_0\", \"text_purple_6_bg_0\", \"text_pink_6_bg_0\", \"text_grey_6_bg_0\"\n D. 背景色深浅数字代号:\n - 最浅档: 40, 0, 1, \"lime1\", 3, 4, 5, 6, 7, 8, 9\n - 中间档: 41, 10, 11, \"lime2\", 13, 14, 15, 16, 17, 18, 19\n - 较深档: 42, 20, 21, \"lime3\", 23, 24, 25, 26, 27, 28, 29\n - 最深档: 43, 30, 31, \"lime4\", 33, 34, 35, 36, 37, 38, 39\n - 注意: 同一列表中尽量不要出现重复的 color 以便区分。\n\n4. filters (array, 必填): 填色规则的筛选条件。\n - 约束: 数组内有且仅有 1 条数据 (即 filters[0])。\n - 结构: [ { \"fieldId\": string, \"symbol\": string, \"value\": any, \"link\": string } ]\n - 字段详解:\n - fieldId (string, 必填): 筛选字段 ID。\n - symbol (string, 必填): 筛选符号。\n - 枚举值: \"GT\"(大于), \"LT\"(小于), \"GTE\"(大于等于), \"LTE\"(小于等于), \"EQ\"(等于), \"NE\"(不等于), \"CONTAIN\"(包含), \"EXCLUSIVE\"(不包含), \"EXIST\"(存在, value须为null), \"UN_EXIST\"(不存在, value须为null), \"ALL_OF\", \"ANY_OF\", \"NONE_OF\", \"BEFORE\"(日期之前), \"AFTER\"(日期之后), \"NOT_BEFORE\"(日期不早于), \"NOT_AFTER\"(日期不晚于), \"DATE_EQ\"(日期相等), \"FROM_NOW\"(相对当前), \"DATE_BETWEEN\"(日期区间)\n - value (any, 选填): 筛选值。\n - 当 symbol 为 \"EXIST\" 或 \"UN_EXIST\" 时,value 必须为 null。\n - 单选/多选字段请使用选项 ID。\n - 日期字段支持精确时间字符串或相对时间结构: { \"type\": \"relative\", \"period\": \"day\"|\"week\"|\"month\"|\"year\", \"offset\": number }\n - link (string, 选填): 筛选连接方式,默认为 \"AND\"。枚举值: \"AND\", \"OR\"。\n\n示例对象结构:\n{\n \"type\": \"row\",\n \"formatFieldId\": \"field_123\",\n \"format\": { \"color\": \"firstLine1\" },\n \"filters\": [\n {\n \"fieldId\": \"field_456\",\n \"symbol\": \"GT\",\n \"value\": 100,\n \"link\": \"AND\"\n }\n ]\n}", "required": true }, "tableId": { "type": "string", "description": "所属数据表(Table)的唯一标识。", "required": true }, "viewId": { "type": "string", "description": "目标视图(View)的唯一标识,必须是表格视图(Grid View)类型。", "required": true } }, "interface_ref": { "product_id": "aitable", "rpc_name": "set_view_fill_color_rule" } }, "aitable.view_update_filter": { "title": "update_view", "description": "更新指定视图(View)的名称、描述或配置。\r\n当前稳定支持更新:newViewName、viewDescription、visibleFieldIds、filter、sort、group;fieldWidths 和 aggregate 仅支持 Grid 视图。\r\n首列字段是每条数据的索引,不支持删除、移动或隐藏。\r\n对 Kanban / Gantt / Gallery 视图,config 入参支持 kanbanCard / ganttTimebar / galleryCard 三个类型化配置块进行局部更新(传谁更新谁);若视图类型与块不匹配会返回 INVALID_UPDATE_VIEW_REQUEST。", "parameters": { "baseId": { "type": "string", "description": "所属 Base 的唯一标识。", "required": true }, "config": { "type": "object", "description": "可选,视图配置更新项。" }, "newViewName": { "type": "string", "description": "可选,新的视图名称。" }, "tableId": { "type": "string", "description": "所属数据表(Table)的唯一标识。", "required": true }, "viewDescription": { "type": "object", "description": "可选,新的视图描述。若不传则不修改;如需清空,可传 {\"content\": []}。" }, "viewId": { "type": "string", "description": "目标视图(View)的唯一标识。", "required": true } }, "interface_ref": { "product_id": "aitable", "rpc_name": "update_view" } }, "aitable.view_update_frozen_cols": { "title": "设置视图冻结列数", "description": "设置指定视图(View)的冻结列数(左侧固定列),默认 1。\r\n\r\n通过 baseId / tableId / viewId 三元组定位目标视图。", "parameters": { "baseId": { "type": "string", "description": "所属 Base 的唯一标识。", "required": true }, "count": { "type": "number", "description": "冻结的左侧列数,默认 1。", "required": true }, "tableId": { "type": "string", "description": "所属数据表(Table)的唯一标识。", "required": true }, "viewId": { "type": "string", "description": "目标视图(View)的唯一标识。", "required": true } }, "interface_ref": { "product_id": "aitable-helper", "rpc_name": "set_frozen_columns_of_view" } }, "aitable.view_update_group": { "title": "update_view", "description": "更新指定视图(View)的名称、描述或配置。\r\n当前稳定支持更新:newViewName、viewDescription、visibleFieldIds、filter、sort、group;fieldWidths 和 aggregate 仅支持 Grid 视图。\r\n首列字段是每条数据的索引,不支持删除、移动或隐藏。\r\n对 Kanban / Gantt / Gallery 视图,config 入参支持 kanbanCard / ganttTimebar / galleryCard 三个类型化配置块进行局部更新(传谁更新谁);若视图类型与块不匹配会返回 INVALID_UPDATE_VIEW_REQUEST。", "parameters": { "baseId": { "type": "string", "description": "所属 Base 的唯一标识。", "required": true }, "config": { "type": "object", "description": "可选,视图配置更新项。" }, "newViewName": { "type": "string", "description": "可选,新的视图名称。" }, "tableId": { "type": "string", "description": "所属数据表(Table)的唯一标识。", "required": true }, "viewDescription": { "type": "object", "description": "可选,新的视图描述。若不传则不修改;如需清空,可传 {\"content\": []}。" }, "viewId": { "type": "string", "description": "目标视图(View)的唯一标识。", "required": true } }, "interface_ref": { "product_id": "aitable", "rpc_name": "update_view" } }, "aitable.view_update_name": { "title": "update_view", "description": "更新指定视图(View)的名称、描述或配置。\r\n当前稳定支持更新:newViewName、viewDescription、visibleFieldIds、filter、sort、group;fieldWidths 和 aggregate 仅支持 Grid 视图。\r\n首列字段是每条数据的索引,不支持删除、移动或隐藏。\r\n对 Kanban / Gantt / Gallery 视图,config 入参支持 kanbanCard / ganttTimebar / galleryCard 三个类型化配置块进行局部更新(传谁更新谁);若视图类型与块不匹配会返回 INVALID_UPDATE_VIEW_REQUEST。", "parameters": { "baseId": { "type": "string", "description": "所属 Base 的唯一标识。", "required": true }, "config": { "type": "object", "description": "可选,视图配置更新项。" }, "newViewName": { "type": "string", "description": "可选,新的视图名称。" }, "tableId": { "type": "string", "description": "所属数据表(Table)的唯一标识。", "required": true }, "viewDescription": { "type": "object", "description": "可选,新的视图描述。若不传则不修改;如需清空,可传 {\"content\": []}。" }, "viewId": { "type": "string", "description": "目标视图(View)的唯一标识。", "required": true } }, "interface_ref": { "product_id": "aitable", "rpc_name": "update_view" } }, "aitable.view_update_row_height": { "title": "set_cell_height_of_view", "description": "设置指定视图(View)的单元格高度(行高),单位为像素,默认 32。\r\n\r\n通过 baseId / tableId / viewId 三元组定位目标视图。\r\n\r\n工具层不做范围或枚举校验,超出下游允许范围的取值由下游回填错误。", "parameters": { "baseId": { "type": "string", "description": "所属 Base 的唯一标识。", "required": true }, "cellHeight": { "type": "number", "description": "行高像素值,合法档位为 32 / 56 / 88 / 128,与前端 CELL_HEIGHTS 约定保持一致。", "required": true }, "tableId": { "type": "string", "description": "所属数据表(Table)的唯一标识。", "required": true }, "viewId": { "type": "string", "description": "目标视图(View)的唯一标识。", "required": true } }, "interface_ref": { "product_id": "aitable-helper", "rpc_name": "set_cell_height_of_view" } }, "aitable.view_update_sort": { "title": "update_view", "description": "更新指定视图(View)的名称、描述或配置。\r\n当前稳定支持更新:newViewName、viewDescription、visibleFieldIds、filter、sort、group;fieldWidths 和 aggregate 仅支持 Grid 视图。\r\n首列字段是每条数据的索引,不支持删除、移动或隐藏。\r\n对 Kanban / Gantt / Gallery 视图,config 入参支持 kanbanCard / ganttTimebar / galleryCard 三个类型化配置块进行局部更新(传谁更新谁);若视图类型与块不匹配会返回 INVALID_UPDATE_VIEW_REQUEST。", "parameters": { "baseId": { "type": "string", "description": "所属 Base 的唯一标识。", "required": true }, "config": { "type": "object", "description": "可选,视图配置更新项。" }, "newViewName": { "type": "string", "description": "可选,新的视图名称。" }, "tableId": { "type": "string", "description": "所属数据表(Table)的唯一标识。", "required": true }, "viewDescription": { "type": "object", "description": "可选,新的视图描述。若不传则不修改;如需清空,可传 {\"content\": []}。" }, "viewId": { "type": "string", "description": "目标视图(View)的唯一标识。", "required": true } }, "interface_ref": { "product_id": "aitable", "rpc_name": "update_view" } }, "aitable.view_update_timebar": { "title": "update_view", "description": "更新指定视图(View)的名称、描述或配置。\r\n当前稳定支持更新:newViewName、viewDescription、visibleFieldIds、filter、sort、group;fieldWidths 和 aggregate 仅支持 Grid 视图。\r\n首列字段是每条数据的索引,不支持删除、移动或隐藏。\r\n对 Kanban / Gantt / Gallery 视图,config 入参支持 kanbanCard / ganttTimebar / galleryCard 三个类型化配置块进行局部更新(传谁更新谁);若视图类型与块不匹配会返回 INVALID_UPDATE_VIEW_REQUEST。", "parameters": { "baseId": { "type": "string", "description": "所属 Base 的唯一标识。", "required": true }, "config": { "type": "object", "description": "可选,视图配置更新项。" }, "newViewName": { "type": "string", "description": "可选,新的视图名称。" }, "tableId": { "type": "string", "description": "所属数据表(Table)的唯一标识。", "required": true }, "viewDescription": { "type": "object", "description": "可选,新的视图描述。若不传则不修改;如需清空,可传 {\"content\": []}。" }, "viewId": { "type": "string", "description": "目标视图(View)的唯一标识。", "required": true } }, "interface_ref": { "product_id": "aitable", "rpc_name": "update_view" } }, "aitable.view_update_visible_fields": { "title": "update_view", "description": "更新指定视图(View)的名称、描述或配置。\r\n当前稳定支持更新:newViewName、viewDescription、visibleFieldIds、filter、sort、group;fieldWidths 和 aggregate 仅支持 Grid 视图。\r\n首列字段是每条数据的索引,不支持删除、移动或隐藏。\r\n对 Kanban / Gantt / Gallery 视图,config 入参支持 kanbanCard / ganttTimebar / galleryCard 三个类型化配置块进行局部更新(传谁更新谁);若视图类型与块不匹配会返回 INVALID_UPDATE_VIEW_REQUEST。", "parameters": { "baseId": { "type": "string", "description": "所属 Base 的唯一标识。", "required": true }, "config": { "type": "object", "description": "可选,视图配置更新项。" }, "newViewName": { "type": "string", "description": "可选,新的视图名称。" }, "tableId": { "type": "string", "description": "所属数据表(Table)的唯一标识。", "required": true }, "viewDescription": { "type": "object", "description": "可选,新的视图描述。若不传则不修改;如需清空,可传 {\"content\": []}。" }, "viewId": { "type": "string", "description": "目标视图(View)的唯一标识。", "required": true } }, "interface_ref": { "product_id": "aitable", "rpc_name": "update_view" } }, "aitable.workflow_disable": { "title": "禁用自动化工作流", "description": "禁用指定 Base 中的自动化工作流。禁用后工作流将不再自动触发执行。", "parameters": { "baseId": { "type": "string", "description": "所属 Base ID(通过 list_bases / search_bases 获取)", "required": true }, "workflowId": { "type": "string", "description": "目标工作流 ID", "required": true } }, "interface_ref": { "product_id": "aitable-helper", "rpc_name": "disable_workflow" } }, "aitable.workflow_enable": { "title": "启用自动化工作流", "description": "启用指定 Base 中的自动化工作流。启用后工作流将按配置的触发条件自动执行。", "parameters": { "baseId": { "type": "string", "description": "所属 Base ID(通过 list_bases / search_bases 获取)", "required": true }, "workflowId": { "type": "string", "description": "目标工作流 ID", "required": true } }, "interface_ref": { "product_id": "aitable-helper", "rpc_name": "enable_workflow" } }, "aitable.workflow_get": { "title": "获取自动化工作流", "description": "获取指定 Base 中某个自动化工作流的详细信息,直接返回下游 getFlowDetail 的详情结构。", "parameters": { "baseId": { "type": "string", "description": "所属 Base ID(通过 list_bases / search_bases 获取)", "required": true }, "workflowId": { "type": "string", "description": "目标工作流 ID", "required": true } }, "interface_ref": { "product_id": "aitable-helper", "rpc_name": "get_workflow" } }, "aitable.workflow_list": { "title": "列出自动化工作流", "description": "列出指定 Base 中的自动化工作流,直接返回下游 searchFlows 的响应结构。支持分页,limit 默认 20,最大 100;offset 默认 0。", "parameters": { "baseId": { "type": "string", "description": "所属 Base ID(通过 list_bases / search_bases 获取)", "required": true }, "limit": { "type": "number", "description": "可选,分页大小。默认 20,最大 100", "required": true }, "offset": { "type": "number", "description": "可选,分页偏移量。默认 0,必须大于等于 0", "required": true } }, "interface_ref": { "product_id": "aitable-helper", "rpc_name": "list_workflows" } }, "attendance.batch_get_employee_shifts": { "title": "batch_get_employee_shifts", "description": "批量查询多个员工在指定日期的考勤班次信息,返回每条记录包含:用户 ID(userId)、工作日期(workDate,毫秒时间戳)、打卡类型(checkType,如 OnDuty 表示上班)、计划打卡时间(planCheckTime,毫秒时间戳)以及是否为休息日(isRest,\"Y\"/\"N\")。结果基于组织考勤配置生成,仅返回调用者有权限查看的员工数据,适用于排班核对、考勤预览等场景。", "parameters": { "fromDateTime": { "type": "number", "description": "起始日期,Unix时间戳,单位毫秒。 开始时间和结束时间的间隔不能超过7天。 查询时间限制距今180天内。", "required": true }, "toDateTime": { "type": "number", "description": "结束日期,Unix时间戳,单位毫秒。开始时间和结束时间的间隔不能超过7天。 查询时间限制距今180天内。", "required": true }, "userIds": { "type": "array", "description": "要查询的人员userId列表,多个userId用列表表示,一次最多可传50个。", "required": true } }, "interface_ref": { "product_id": "attendance", "rpc_name": "batch_get_employee_shifts" } }, "attendance.get_attendance_summary": { "title": "get_attendance_summary", "description": "获取考勤统计摘要", "parameters": { "QueryUserAttendVO": { "type": "object", "description": "QueryUserAttendVO" } }, "interface_ref": { "product_id": "attendance", "rpc_name": "get_attendance_summary" } }, "attendance.get_user_attendance_record": { "title": "查询指定用户某一天的考勤详情", "description": "查询指定用户在某一天的考勤详情,包括实际打卡记录(如上班/下班时间、是否正常打卡)、当日所排班次、所属考勤组信息、是否为休息日、出勤工时(如 \"0Hours\")、加班时长等。返回数据受组织权限和隐私策略限制,仅当调用者有权限查看该用户考勤信息时才返回有效内容。适用于员工自助查询、HR 核对出勤或审批关联场景。", "parameters": { "UserAttendDetailParam": { "type": "object", "description": "UserAttendDetailParam" }, "userId": { "type": "string", "description": "要查询的用户的userId", "required": true }, "workDate": { "type": "number", "description": "要查询的日期的Unix时间戳,仅保留日期信息,单位毫秒。", "required": true } }, "interface_ref": { "product_id": "attendance", "rpc_name": "get_user_attendance_record" } }, "attendance.query_attendance_group_or_rules": { "title": "query_attendance_group_or_rules", "description": "查询考勤组/考勤规则:\"我属于哪个考勤组\"\"我们的打卡范围是什么\"\"弹性工时是怎么算的\"", "parameters": { "date": { "type": "string", "description": "考勤日期 格式:yyyy-MM-dd HH:mm:ss", "required": true } }, "interface_ref": { "product_id": "attendance", "rpc_name": "query_attendance_group_or_rules" } }, "calendar.add_attachments": { "title": "添加日程附件", "description": "为日程添加附件。请先使用钉盘功能上传附件,得到文件id", "parameters": { "attachments": { "type": "array", "description": "attachments", "required": true }, "calendarId": { "type": "string", "description": "日历本id,可选,默认值为 \"primary\",表示 主日历本" }, "eventId": { "type": "string", "description": "日程id", "required": true } }, "interface_ref": { "product_id": "calendar", "rpc_name": "add_attachments" } }, "calendar.add_calendar_participant": { "title": "添加日程参与人", "description": "向已存在的指定日程添加参与者,支持批量添加多人,可设置参与者类型和通知方式", "parameters": { "attendeesToAdd": { "type": "array", "description": "需要添加的参与人uid列表。", "required": true }, "calendarId": { "type": "string", "description": "日历本id,可选,默认值为 \"primary\",表示主日历本。" }, "eventId": { "type": "string", "description": "日程ID,可调用创建日程接口或查询日程列表接口获取id参数值", "required": true }, "optional": { "type": "boolean", "description": "参会人可选。true - 可选参会人,false - 必选参会人。\n默认值:false" } }, "interface_ref": { "product_id": "calendar", "rpc_name": "add_calendar_participant" } }, "calendar.add_meeting_room": { "title": "添加会议室", "description": "为日程(event)添加 会议室,完成会议室的预定", "parameters": { "calendarId": { "type": "string", "description": "日历本id,可选,默认值为 \"primary\",表示 主日历本" }, "eventId": { "type": "string", "description": "日程ID,调用查询日程列表接口获取id参数值。", "required": true }, "roomIds": { "type": "array", "description": "需要预定的会议室roomId列表,可调用查询空闲会议室接口获取,一个日程最多添加5个会议室。", "required": true } }, "interface_ref": { "product_id": "calendar", "rpc_name": "add_meeting_room" } }, "calendar.create_calendar_event": { "title": "创建日程", "description": "创建新的日程,支持设置时间、参与者、提醒,以及预定会议室等功能。", "parameters": { "attendees": { "type": "array", "description": "日程参与人userId列表,最多支持500个参与人。" }, "calendarId": { "type": "string", "description": "日历本id,可选,默认值为 \"primary\",表示在 主日历本下创建日程。" }, "description": { "type": "string", "description": "日程描述,纯文本类型,最大不超过5000个字符。" }, "endDateTime": { "type": "string", "description": "日程结束时间,格式为ISO-8601的带时区的date-time格式,例如2025-11-14T10:00:00+08:00。", "required": true }, "freeBusy": { "type": "string", "description": "此日程的忙碌状态,默认值为busy。\nbusy - 在忙闲视图中,此日程时间段为忙碌。\nfree - 此日程不占用忙闲。" }, "location": { "type": "string", "description": "地点信息。" }, "openDingTalkIds": { "type": "array", "description": "openDingTalkId 和attendees至少传一个" }, "recurrence": { "type": "object", "description": "日程循环规则,支持按天、周、年循环发生" }, "reminders": { "type": "array", "description": "设置日程开始前提醒。默认日程开始前15分钟提醒。" }, "richTextDescription": { "type": "string", "description": "html格式的富文本类型日程描述,用于复杂内容的展示。" }, "roomIds": { "type": "array", "description": "需要预定的会议室roomId列表,可调用查询空闲会议室接口获取,先确认会议室在时间段内为空闲状态" }, "startDateTime": { "type": "string", "description": "日程开始时间,格式为ISO-8601的带时区的date-time格式,例如2025-11-14T10:00:00+08:00。", "required": true }, "summary": { "type": "string", "description": "日程标题,最大不超过2048个字符。", "required": true }, "timeZone": { "type": "string", "description": "IANA Time Zone Database name. 指定日程时区,比如:Asia/Shanghai. 默认值为Asia/Shanghai" } }, "interface_ref": { "product_id": "calendar", "rpc_name": "create_calendar_event" } }, "calendar.delete_calendar_event": { "title": "删除指定日程", "description": "删除指定日程,组织者删除将通知所有参与者,参与者删除仅从自己日历移除", "parameters": { "calendarId": { "type": "string", "description": "日历本id,可选,默认值为 \"primary\"。" }, "eventId": { "type": "string", "description": "日程ID,可调用创建日程接口或查询日程列表接口获取id参数值。", "required": true } }, "interface_ref": { "product_id": "calendar", "rpc_name": "delete_calendar_event" } }, "calendar.delete_meeting_room": { "title": "移除日程中的会议室", "description": "移除日程中预约的会议室。\r\n1. 从日程中移除该会议室\r\n2. 释放该会议室预定记录", "parameters": { "calendarId": { "type": "string", "description": "日历本id,可选,默认值为 \"primary\",表示 主日历本" }, "eventId": { "type": "string", "description": "日程ID,调用查询日程列表接口获取id参数值。", "required": true }, "roomIds": { "type": "array", "description": "需要删除的会议室roomId列表", "required": true } }, "interface_ref": { "product_id": "calendar", "rpc_name": "delete_meeting_room" } }, "calendar.get_calendar": { "title": "查询指定日历信息", "description": "根据日历id查询指定日历的信息。用户主日历本id固定为 \"primary\"", "parameters": { "calendarId": { "type": "string", "description": "日历id", "required": true } }, "interface_ref": { "product_id": "calendar", "rpc_name": "get_calendar" } }, "calendar.get_calendar_detail": { "title": "查询日程详情", "description": "根据eventId查询指定日程的明细。", "parameters": { "calendarId": { "type": "string", "description": "日历id。查询指定日历下的日程信息。默认值为primary (主日历);大部分场景无需传此值,仅当用户要求查询其他日历本时。calendarId可通过\"查询用户日历列表\"获取。" }, "eventId": { "type": "string", "description": "日程ID,可调用创建日程接口或查询日程列表接口获取id参数值", "required": true } }, "interface_ref": { "product_id": "calendar", "rpc_name": "get_calendar_detail" } }, "calendar.get_calendar_participants": { "title": "获取日程参与人", "description": "获取指定日程的所有参与者列表及其状态信息", "parameters": { "calendarId": { "type": "string", "description": "日历本id,可选,默认值为 \"primary\",表示主日历本。" }, "eventId": { "type": "string", "description": "日程ID,可调用创建日程接口或查询日程列表接口获取id参数值。", "required": true } }, "interface_ref": { "product_id": "calendar", "rpc_name": "get_calendar_participants" } }, "calendar.list_acls": { "title": "查询日历访问权限列表", "description": "调用本接口,获取用户主日历的访问控制列表。可查询用户的日历共享情况", "interface_ref": { "product_id": "calendar", "rpc_name": "list_acls" } }, "calendar.list_calendar_events": { "title": "查询当前用户日程列表", "description": "查询当前用户指定日历本下的日程列表,按起止时间检索。", "parameters": { "calendarId": { "type": "string", "description": "日历id。查询指定日历下的日程信息。默认值为primary (主日历);大部分场景无需传此值,仅当用户要求查询其他日历本时。calendarId可通过\"查询用户日历列表\"获取。" }, "cursor": { "type": "string", "description": "分页游标,可选。首次查询无需传入此值。" }, "endTime": { "type": "number", "description": "日程结束时间,时间戳(毫秒级)" }, "limit": { "type": "number", "description": "一次调用最多返回的日程数量,可选。默认值为100。\n注意:最大值为100,表示每次最多查询100条。" }, "startTime": { "type": "number", "description": "日程开始时间,时间戳(毫秒级)" } }, "interface_ref": { "product_id": "calendar", "rpc_name": "list_calendar_events" } }, "calendar.list_calendars": { "title": "查询用户日历列表", "description": "查询用户的所有日历,其中id = \"primary\"为主日历(name = \"我的日历\"),为固定值。", "interface_ref": { "product_id": "calendar", "rpc_name": "list_calendars" } }, "calendar.list_meeting_room_groups": { "title": "查询会议室分组列表", "description": "分页查询当前企业下的会议室分组列表,返回每个分组的名称(groupName)、唯一 ID(groupId)及其父分组 ID(parentId,0 表示根分组)。结果按组织架构权限过滤,仅包含调用者有权限查看的分组。", "parameters": { "pageIndex": { "type": "string", "description": "分页开始位置 ,不填默认 0" }, "pageSize": { "type": "string", "description": "页大小,不填默认 100。超过100的,按照100来处理" } }, "interface_ref": { "product_id": "calendar", "rpc_name": "list_meeting_room_groups" } }, "calendar.list_suggested_event_times": { "title": "建议日程时间", "description": "可根据参会人员的信息,推荐日程时间。用于日程时间未确定,解决会议时间协调问题。", "parameters": { "attendeeUserIds": { "type": "array", "description": "attendeeUserIds" }, "durationMinutes": { "type": "string", "description": "日程持续时间,单位:分钟。默认为30分钟" }, "end": { "type": "string", "description": "推荐时间范围:结束时间点\nISO8601 格式,如:2025-12-30T18:00:00+08:00\n默认为次日18点" }, "start": { "type": "string", "description": "推荐时间范围:开始时间点。\nISO8601 格式,如:2025-12-30T12:00:00+08:00。\n默认为当前时间。" }, "timeZone": { "type": "string", "description": "时区,IANA时区格式。默认为系统时区,即Asia/Shanghai。" } }, "interface_ref": { "product_id": "calendar", "rpc_name": "list_suggested_event_times" } }, "calendar.query_available_meeting_room": { "title": "查询空闲会议室", "description": "查询 [startTime, endTime] 时间段内所有可用的会议室。要求整个时间段内都空闲且当前用户可预定。适用于有明确时间段要求的查询。", "parameters": { "endTime": { "type": "string", "description": "结束时间,时间戳(毫秒级)", "required": true }, "groupId": { "type": "string", "description": "会议室分组ID。可选字段。若不填写,则默认查询根目录下的空闲会议室。\n建议使用方式:首次查询时请留空此字段;若因当前企业会议室数量超过100条而返回错误,请先调用分页查询当前企业下的会议室分组列表,再根据具体的分组ID分别查询各分组下的会议室数据。" }, "pageIndex": { "type": "string", "description": "分页开始位置 ,不填默认 0" }, "pageSize": { "type": "string", "description": "页大小,不填默认 100。超过100的,按照100来处理" }, "roomName": { "type": "string", "description": "会议室名,按会议室名称过滤(可选,服务端模糊匹配。调用方需先剔除用户口语后缀如「会议室/大会议室/小会议室」,仅传核心专名以提升命中率,例如用户说「永澄亭会议室」应传「永澄亭」)" }, "startTime": { "type": "string", "description": "开始时间,时间戳(毫秒级)", "required": true } }, "interface_ref": { "product_id": "calendar", "rpc_name": "query_available_meeting_room" } }, "calendar.query_busy_status": { "title": "获取用户闲忙信息", "description": "可查询指定用户或者会议室在给定时间范围内的闲忙状态,返回已占用时间段的信息(注意只有时间信息)。结果受组织可见性策略控制:仅当调用者有权限查看该用户日历时方可获取有效数据。适用于安排会议前快速确认他人可用时间,或者查看指定会议室的预订状态。", "parameters": { "endTime": { "type": "number", "description": "查询的结束时间,时间戳(毫秒级)格式。", "required": true }, "roomIds": { "type": "array", "description": "待查询的会议室id列表" }, "startTime": { "type": "number", "description": "查询的开始时间,时间戳(毫秒级)格式。", "required": true }, "userIds": { "type": "array", "description": "用户uid列表最大长度 20。" } }, "interface_ref": { "product_id": "calendar", "rpc_name": "query_busy_status" } }, "calendar.remove_calendar_participant": { "title": "删除日程参与人", "description": "从已存在的指定日程中移除参与者,支持批量移除多人", "parameters": { "attendeesToRemove": { "type": "array", "description": "需要被删除的日程参与者userId列表。", "required": true }, "calendarId": { "type": "string", "description": "日历本id,可选,默认值为 \"primary\",表示在 主日历本" }, "eventId": { "type": "string", "description": "日程ID,可调用创建日程接口或查询日程列表接口获取id参数值。", "required": true } }, "interface_ref": { "product_id": "calendar", "rpc_name": "remove_calendar_participant" } }, "calendar.respond": { "title": "响应日程", "description": "作为日程参会人,设置自己的响应状态(接受、拒绝、暂定)。", "parameters": { "calendarId": { "type": "string", "description": "日历本id,可选,默认值为 \"primary\",表示 主日历本" }, "eventId": { "type": "string", "description": "日程id", "required": true }, "responseStatus": { "type": "string", "description": "设置响应状态,可取值和对应说明如下:\n1. needsAction:未操作(默认值)\n2. accepted:接受\n3. declined:拒绝\n4. tentative:暂定", "required": true } }, "interface_ref": { "product_id": "calendar", "rpc_name": "respond" } }, "calendar.search_calendar": { "title": "搜索日历本列表", "description": "搜索当前用户拥有的日历本,支持按日历本名模糊搜索。获取全部日历请使用list_calendars", "parameters": { "query": { "type": "string", "description": "按日历本名称模糊检索", "required": true } }, "interface_ref": { "product_id": "calendar", "rpc_name": "search_calendar" } }, "calendar.update_calendar_event": { "title": "修改日程", "description": "修改现有日程的信息,支持更新标题、时间、地点等任意字段,需要组织者权限。(修改参与人需要使用给日程添加参与人或给日程删除参与人工具)", "parameters": { "calendarId": { "type": "string", "description": "日历本id,可选,默认值为 \"primary\"。" }, "description": { "type": "string", "description": "日程描述,最大不超过5000个字符。" }, "endDateTime": { "type": "string", "description": "日程结束时间,格式为ISO-8601的带时区的date-time格式,例如2025-11-14T10:00:00+08:00。" }, "eventId": { "type": "string", "description": "日程ID,可调用创建日程接口或查询日程列表接口获取id参数值", "required": true }, "freeBusy": { "type": "string", "description": "修改此日程的忙碌状态。busy - 在忙闲视图中,此日程时间段为忙碌。free - 此日程时间段不占用忙闲。" }, "location": { "type": "string", "description": "地点信息" }, "recurrence": { "type": "object", "description": "日程循环规则,支持按天、周、年循环发生。\n原日程为普通日程,设置该值后,将改为周期日程。\n原日程为周期日程,设置该值后,将修改周期规则。" }, "richTextDescription": { "type": "string", "description": "html格式的富文本类型日程描述,用于复杂内容的展示。" }, "startDateTime": { "type": "string", "description": "日程开始时间,格式为ISO-8601的带时区的date-time格式,例如2025-11-14T10:00:00+08:00。" }, "summary": { "type": "string", "description": "日程标题,最大不超过2048个字符。" }, "timeZone": { "type": "string", "description": "IANA Time Zone Database name. 指定日程时区,比如:Asia/Shanghai. 默认值为Asia/Shanghai" } }, "interface_ref": { "product_id": "calendar", "rpc_name": "update_calendar_event" } }, "chat.add_custom_group_role": { "title": "添加群身份", "description": "添加群身份", "parameters": { "name": { "type": "string", "description": "name", "required": true }, "openConversationId": { "type": "string", "description": "openConversationId", "required": true } }, "interface_ref": { "product_id": "im", "rpc_name": "add_custom_group_role" } }, "chat.add_emoji_reaction": { "title": "消息添加 emoji 回应", "description": "消息添加 emoji 回应", "parameters": { "emojiName": { "type": "string", "description": "emojiName", "required": true }, "openConversationId": { "type": "string", "description": "openConversationId", "required": true }, "openMsgId": { "type": "string", "description": "openMsgId", "required": true } }, "interface_ref": { "product_id": "im", "rpc_name": "add_emoji_reaction" } }, "chat.add_group_member": { "title": "add_group_member", "description": "添加群成员", "parameters": { "openDingtalkIds": { "type": "array", "description": "用户的openDingtalkId列表" }, "openconversation_id": { "type": "string", "description": "群Id,可以从根据关键词搜索群列表服务获取", "required": true }, "userId": { "type": "array", "description": "用户ID列表" } }, "interface_ref": { "product_id": "chat", "rpc_name": "add_group_member" } }, "chat.add_robot_to_group": { "title": "将企业机器人添加我有权限的群中", "description": "将自定义机器人添加到当前用户有管理权限的群聊中。如果没有权限则会报错", "parameters": { "openConversationId": { "type": "string", "description": "群会话Id,可通过关键词搜索群列表服务获取", "required": true }, "robotCode": { "type": "string", "description": "机器人code,可在开发者后台查看,或者调用创建机器人服务获取", "required": true } }, "interface_ref": { "product_id": "bot", "rpc_name": "add_robot_to_group" } }, "chat.add_text_emotion": { "title": "添加文字表情", "description": "添加文字表情", "parameters": { "backgroundId": { "type": "string", "description": "backgroundId", "required": true }, "emotionId": { "type": "string", "description": "emotionId", "required": true }, "emotionName": { "type": "string", "description": "emotionName", "required": true }, "openConversationId": { "type": "string", "description": "openConversationId", "required": true }, "openMsgId": { "type": "string", "description": "openMsgId", "required": true }, "text": { "type": "string", "description": "text", "required": true } }, "interface_ref": { "product_id": "im", "rpc_name": "add_text_emotion" } }, "chat.combine_forward_messages": { "title": "合并转发消息", "description": "合并转发消息", "parameters": { "destOpenCid": { "type": "string", "description": "destOpenCid", "required": true }, "srcOpenCid": { "type": "string", "description": "srcOpenCid", "required": true }, "srcOpenMessageIds": { "type": "array", "description": "srcOpenMessageIds", "required": true }, "uuid": { "type": "string", "description": "uuid" } }, "interface_ref": { "product_id": "im", "rpc_name": "combine_forward_messages" } }, "chat.create_and_send_card": { "title": "create_and_send_card", "description": "创建并推送流式卡片", "parameters": { "msgContent": { "type": "string", "description": "msgContent", "required": true }, "openConversationId": { "type": "string", "description": "openConversationId", "required": true }, "receiverOpenDingTalkId": { "type": "string", "description": "receiverOpenDingTalkId", "required": true } }, "interface_ref": { "product_id": "im", "rpc_name": "create_and_send_card" } }, "chat.create_group_conversation": { "title": "create_group_conversation", "description": "创建一个群聊,支持指定群名称、初始成员列表等参数。可选择内部群/外部群/普通群/内部话题圈/外部话题圈/普通话题圈。默认为内部群。当选择内部群时如果所选成员非组织内成员会创建失败,创建成功后会返回。", "parameters": { "convThreadEnabled": { "type": "boolean", "description": "convThreadEnabled" }, "groupMembers": { "type": "array", "description": "groupMembers", "required": true }, "groupName": { "type": "string", "description": "groupName", "required": true }, "groupType": { "type": "string", "description": "groupType", "required": true }, "ownerOpenDingTalkId": { "type": "string", "description": "ownerOpenDingTalkId" } }, "interface_ref": { "product_id": "im", "rpc_name": "create_group_conversation" } }, "chat.create_text_emotion": { "title": "创建文字表情", "description": "创建文字表情", "parameters": { "emotionName": { "type": "string", "description": "emotionName", "required": true }, "text": { "type": "string", "description": "text", "required": true } }, "interface_ref": { "product_id": "im", "rpc_name": "create_text_emotion" } }, "chat.dismiss_group": { "title": "解散群聊", "description": "解散群聊", "parameters": { "openConversationId": { "type": "string", "description": "openConversationId", "required": true } }, "interface_ref": { "product_id": "im", "rpc_name": "dismiss_group" } }, "chat.forward_message": { "title": "单条消息转发", "description": "单条消息转发", "parameters": { "destOpenCid": { "type": "string", "description": "destOpenCid", "required": true }, "srcOpenCid": { "type": "string", "description": "srcOpenCid", "required": true }, "srcOpenMessageId": { "type": "string", "description": "srcOpenMessageId", "required": true }, "uuid": { "type": "string", "description": "uuid" } }, "interface_ref": { "product_id": "im", "rpc_name": "forward_message" } }, "chat.forward_topic": { "title": "转发某个话题到其他会话", "description": "转发某个话题到其他会话", "parameters": { "destOpenConversationId": { "type": "string", "description": "目标开放会话id", "required": true }, "srcOpenConvThreadId": { "type": "string", "description": "源话题id", "required": true }, "srcOpenConversationId": { "type": "string", "description": "源开放会话id", "required": true }, "srcOpenMessageId": { "type": "string", "description": "源开放消息id", "required": true } }, "interface_ref": { "product_id": "im", "rpc_name": "forward_topic" } }, "chat.get_conv_info_by_group_id": { "title": "根据群号获取群聊信息", "description": "根据群号获取群聊信息", "parameters": { "groupId": { "type": "number", "description": "groupId", "required": true } }, "interface_ref": { "product_id": "im", "rpc_name": "get_conv_info_by_group_id" } }, "chat.get_conversation_info": { "title": "get_conversation_info", "description": "获取会话的基础信息", "parameters": { "openConversationId": { "type": "string", "description": "openConversationId" }, "openDingTalkId": { "type": "string", "description": "openDingTalkId" } }, "interface_ref": { "product_id": "chat", "rpc_name": "get_conversation_info" } }, "chat.get_group_invite_url": { "title": "获取群邀请链接", "description": "获取群邀请链接", "parameters": { "expiresSeconds": { "type": "number", "description": "expiresSeconds" }, "openConversationId": { "type": "string", "description": "openConversationId", "required": true } }, "interface_ref": { "product_id": "im", "rpc_name": "get_group_invite_url" } }, "chat.get_group_members": { "title": "get_group_members", "description": "查群成员列表", "parameters": { "cursor": { "type": "string", "description": "分页游标,首次从0开始" }, "openconversation_id": { "type": "string", "description": "群Id,可以从根据关键词搜索群列表服务获取", "required": true } }, "interface_ref": { "product_id": "chat", "rpc_name": "get_group_members" } }, "chat.list_conversation_message_v2": { "title": "list_conversation_message_v2", "description": "拉取指定群聊的会话消息内容", "parameters": { "forward": { "type": "boolean", "description": "方向,true是从老往新,false是新往老拉", "required": true }, "limit": { "type": "number", "description": "返回数量" }, "openconversation_id": { "type": "string", "description": "会话Id", "required": true }, "time": { "type": "string", "description": "开始时间,格式:yyyy-MM-dd HH:mm:ss,非必填", "required": true } }, "interface_ref": { "product_id": "chat", "rpc_name": "list_conversation_message_v2" } }, "chat.list_conversations_by_category": { "title": "list_conversations_by_category", "description": "拉取用户指定自定义会话分组下的会话", "parameters": { "categoryId": { "type": "string", "description": "categoryId", "required": true }, "excludeMuted": { "type": "boolean", "description": "excludeMuted" } }, "interface_ref": { "product_id": "im", "rpc_name": "list_conversations_by_category" } }, "chat.list_custom_group_roles": { "title": "拉取会话的群身份", "description": "拉取会话的群身份", "parameters": { "openConversationId": { "type": "string", "description": "openConversationId", "required": true } }, "interface_ref": { "product_id": "im", "rpc_name": "list_custom_group_roles" } }, "chat.list_group_bots": { "title": "list_group_bots", "description": "获取群内所有机器人", "parameters": { "openConversationId": { "type": "string", "description": "openConversationId", "required": true } }, "interface_ref": { "product_id": "bot", "rpc_name": "list_group_bots" } }, "chat.list_individual_chat_message": { "title": "list_individual_chat_message", "description": "拉取指定用户的单聊会话消息内容", "parameters": { "forward": { "type": "boolean", "description": "方向,true是从老往新,false是新往老拉", "required": true }, "limit": { "type": "number", "description": "返回数量" }, "openDingTalkId": { "type": "string", "description": "openDingTalkId,用于非同组织的普通好友" }, "time": { "type": "string", "description": "开始时间,格式:yyyy-MM-dd HH:mm:ss,非必填", "required": true }, "userId": { "type": "string", "description": "单聊用户ID" } }, "interface_ref": { "product_id": "chat", "rpc_name": "list_individual_chat_message" } }, "chat.list_messages_by_ids": { "title": "批量查消息", "description": "批量查消息", "parameters": { "openMsgIds": { "type": "array", "description": "openMsgIds", "required": true } }, "interface_ref": { "product_id": "im", "rpc_name": "list_messages_by_ids" } }, "chat.list_owned_or_admin_groups": { "title": "拉取我创建/管理的群", "description": "拉取我创建/管理的群", "parameters": { "excludeMuted": { "type": "boolean", "description": "excludeMuted" }, "limit": { "type": "number", "description": "limit", "required": true }, "roleFilter": { "type": "string", "description": "roleFilter", "required": true } }, "interface_ref": { "product_id": "im", "rpc_name": "list_owned_or_admin_groups" } }, "chat.list_pin_messages": { "title": "拉取会话中钉住的消息列表", "description": "拉取会话中钉住的(pin)消息列表", "parameters": { "count": { "type": "string", "description": "一次拉取的消息数量,默认20,最大100" }, "cursor": { "type": "string", "description": "拉取消息的时间位点(毫秒时间戳),默认当前时间" }, "forward": { "type": "boolean", "description": "拉取方向;true: 从老往新拉取、false: 从新往老拉取,默认false" }, "openConversationId": { "type": "string", "description": "开放会话id", "required": true } }, "interface_ref": { "product_id": "im", "rpc_name": "list_pin_messages" } }, "chat.list_special_focus_messages": { "title": "list_special_focus_messages", "description": "拉特别关注人的消息", "parameters": { "cursor": { "type": "number", "description": "分页游标,首次不传" }, "limit": { "type": "number", "description": "每页数量,必填", "required": true } }, "interface_ref": { "product_id": "chat", "rpc_name": "list_special_focus_messages" } }, "chat.list_top_conversations": { "title": "list_top_conversations", "description": "拉取用户的置顶会话", "parameters": { "cursor": { "type": "number", "description": "cursor" }, "excludeMuted": { "type": "boolean", "description": "excludeMuted" }, "limit": { "type": "string", "description": "limit" } }, "interface_ref": { "product_id": "chat", "rpc_name": "list_top_conversations" } }, "chat.list_topic_replies": { "title": "list_topic_replies", "description": "针对话题群中的单个话题,分页拉取话题的回复消息", "parameters": { "forward": { "type": "boolean", "description": "true是从老往新,false是新往老拉" }, "openconversationId": { "type": "string", "description": "群会话唯一标识", "required": true }, "pageSize": { "type": "number", "description": "返回数量" }, "startTime": { "type": "string", "description": "格式:yyyy-MM-dd HH:mm:ss,非必填" }, "topicId": { "type": "string", "description": "由 dws chat message list 指令 返回", "required": true } }, "interface_ref": { "product_id": "chat", "rpc_name": "list_topic_replies" } }, "chat.list_user_define_conv_categories": { "title": "获取用户自定义会话分组", "description": "获取用户自定义会话分组", "interface_ref": { "product_id": "im", "rpc_name": "list_user_define_conv_categories" } }, "chat.query_custom_user_roles": { "title": "查询群成员的群身份", "description": "根据用户提供的群和成员为在群里查询成员的群身份", "parameters": { "openConversationId": { "type": "string", "description": "openConversationId", "required": true }, "openDingTalkId": { "type": "string", "description": "openDingTalkId" }, "userId": { "type": "string", "description": "userId" } }, "interface_ref": { "product_id": "im", "rpc_name": "query_custom_user_roles" } }, "chat.query_message_send_status": { "title": "查询以当前用户的身份发送的消息的发送状态", "description": "查询以当前用户的身份发送的消息的发送状态", "parameters": { "openTaskId": { "type": "string", "description": "openTaskId", "required": true } }, "interface_ref": { "product_id": "im", "rpc_name": "query_message_send_status" } }, "chat.query_msg_read_status": { "title": "查询消息的已读/未读状态", "description": "查询消息的已读/未读状态", "parameters": { "openConversationId": { "type": "string", "description": "openConversationId", "required": true }, "openMessageId": { "type": "string", "description": "openMessageId", "required": true }, "targetOpenDingTalkIds": { "type": "array", "description": "targetOpenDingTalkIds" } }, "interface_ref": { "product_id": "im", "rpc_name": "query_msg_read_status" } }, "chat.quit_group": { "title": "用户退群", "description": "用户退群", "parameters": { "openConversationId": { "type": "string", "description": "openConversationId", "required": true } }, "interface_ref": { "product_id": "im", "rpc_name": "quit_group" } }, "chat.recall_message": { "title": "撤回用户发送的消息", "description": "撤回用户发送的消息", "parameters": { "openConversationId": { "type": "string", "description": "openConversationId", "required": true }, "openMessageId": { "type": "string", "description": "openMessageId" } }, "interface_ref": { "product_id": "im", "rpc_name": "recall_message" } }, "chat.remove_custom_group_role": { "title": "删除群身份", "description": "删除群身份", "parameters": { "openConversationId": { "type": "string", "description": "openConversationId", "required": true }, "openRoleId": { "type": "string", "description": "openRoleId", "required": true } }, "interface_ref": { "product_id": "im", "rpc_name": "remove_custom_group_role" } }, "chat.remove_custom_user_roles": { "title": "移除用户的群身份", "description": "移除用户的群身份", "parameters": { "openConversationId": { "type": "string", "description": "openConversationId", "required": true }, "openDingTalkId": { "type": "string", "description": "openDingTalkId", "required": true }, "openRoleIds": { "type": "array", "description": "openRoleIds", "required": true } }, "interface_ref": { "product_id": "im", "rpc_name": "remove_custom_user_roles" } }, "chat.remove_emoji_reaction": { "title": "消息删除emoji回应", "description": "消息删除emoji回应", "parameters": { "emojiName": { "type": "string", "description": "emojiName", "required": true }, "openConversationId": { "type": "string", "description": "openConversationId", "required": true }, "openMsgId": { "type": "string", "description": "openMsgId", "required": true } }, "interface_ref": { "product_id": "im", "rpc_name": "remove_emoji_reaction" } }, "chat.remove_group_member": { "title": "remove_group_member", "description": "移除群成员", "parameters": { "openConversationId": { "type": "string", "description": "会话Id", "required": true }, "openconversationId": { "type": "string", "description": "openconversationId" }, "userIdList": { "type": "array", "description": "需要被移除的成员userId列表", "required": true } }, "interface_ref": { "product_id": "chat", "rpc_name": "remove_group_member" } }, "chat.remove_robot_in_group": { "title": "remove_robot_in_group", "description": "从群内移除机器人", "parameters": { "openBotId": { "type": "string", "description": "openBotId", "required": true }, "openConversationId": { "type": "string", "description": "openConversationId", "required": true } }, "interface_ref": { "product_id": "bot", "rpc_name": "remove_robot_in_group" } }, "chat.remove_text_emotion": { "title": "删除文字表情", "description": "删除文字表情", "parameters": { "backgroundId": { "type": "string", "description": "backgroundId", "required": true }, "emotionId": { "type": "string", "description": "emotionId", "required": true }, "emotionName": { "type": "string", "description": "emotionName", "required": true }, "openConversationId": { "type": "string", "description": "openConversationId", "required": true }, "openMsgId": { "type": "string", "description": "openMsgId", "required": true }, "text": { "type": "string", "description": "text", "required": true } }, "interface_ref": { "product_id": "im", "rpc_name": "remove_text_emotion" } }, "chat.search_at_me_message": { "title": "search_at_me_message", "description": "搜索at自己的消息", "parameters": { "cursor": { "type": "string", "description": "cursor", "required": true }, "endTime": { "type": "string", "description": "endTime", "required": true }, "limit": { "type": "number", "description": "limit", "required": true }, "openConversationId": { "type": "string", "description": "openConversationId" }, "startTime": { "type": "string", "description": "startTime", "required": true } }, "interface_ref": { "product_id": "chat", "rpc_name": "search_at_me_message" } }, "chat.search_bots": { "title": "search_bots", "description": "搜索机器人", "parameters": { "cursor": { "type": "string", "description": "cursor" }, "keyword": { "type": "string", "description": "keyword", "required": true }, "limit": { "type": "number", "description": "limit", "required": true } }, "interface_ref": { "product_id": "bot", "rpc_name": "search_bots" } }, "chat.search_common_groups": { "title": "search_common_groups", "description": "通过人员名称搜索共同群聊", "parameters": { "cursor": { "type": "string", "description": "翻页偏移量,首次查询不传或传\"0\",后续传上一次返回的 nextCursor" }, "excludeMuted": { "type": "boolean", "description": "excludeMuted" }, "limit": { "type": "string", "description": "每页数量,默认20" }, "matchMode": { "type": "string", "description": "AND-所有nick对应的人都在群里。OR-任一nick对应的人在群里", "required": true }, "nicks": { "type": "array", "description": "字段名", "required": true } }, "interface_ref": { "product_id": "chat", "rpc_name": "search_common_groups" } }, "chat.search_groups": { "title": "search_groups_by_keyword", "description": "根据群名称关键词,搜索符合条件的群,返回群的openconversion_id、群名称等信息", "parameters": { "OpenSearchRequest": { "type": "object", "description": "OpenSearchRequest" } }, "interface_ref": { "product_id": "chat", "rpc_name": "search_groups_by_keyword" } }, "chat.search_messages": { "title": "搜索消息", "description": "搜索消息,支持多种维度:时间范围、关键词、发送者、at我的、at指定用户、会话", "parameters": { "atMe": { "type": "boolean", "description": "atMe" }, "atOpenDingTakIds": { "type": "array", "description": "atOpenDingTakIds" }, "cursor": { "type": "string", "description": "cursor" }, "endTime": { "type": "number", "description": "endTime" }, "keyword": { "type": "string", "description": "keyword" }, "limit": { "type": "number", "description": "limit" }, "messageType": { "type": "string", "description": "messageType" }, "onlyRobotMessages": { "type": "boolean", "description": "onlyRobotMessages" }, "openConversationIds": { "type": "array", "description": "openConversationIds" }, "searchConvType": { "type": "string", "description": "searchConvType" }, "senderOpenDingTakIds": { "type": "array", "description": "senderOpenDingTakIds" }, "startTime": { "type": "number", "description": "startTime" } }, "interface_ref": { "product_id": "im", "rpc_name": "search_messages" } }, "chat.search_messages_by_keyword": { "title": "search_messages_by_keyword", "description": "按关键词搜索消息", "parameters": { "cid": { "type": "string", "description": "cid" }, "cursor": { "type": "string", "description": "cursor", "required": true }, "endTime": { "type": "number", "description": "endTime", "required": true }, "keyword": { "type": "string", "description": "keyword", "required": true }, "limit": { "type": "number", "description": "limit", "required": true }, "openConversationId": { "type": "string", "description": "openConversationId" }, "startTime": { "type": "number", "description": "startTime", "required": true } }, "interface_ref": { "product_id": "chat", "rpc_name": "search_messages_by_keyword" } }, "chat.search_messages_by_sender": { "title": "search_messages_by_sender", "description": "根据发送者拉消息", "parameters": { "cursor": { "type": "string", "description": "cursor", "required": true }, "endTime": { "type": "number", "description": "endTime", "required": true }, "limit": { "type": "number", "description": "limit" }, "offset": { "type": "string", "description": "offset" }, "senderOpenDingTalkId": { "type": "string", "description": "发送者的openDingTalkId", "required": true }, "senderUserId": { "type": "string", "description": "发送者的userId", "required": true }, "startTime": { "type": "number", "description": "startTime", "required": true } }, "interface_ref": { "product_id": "chat", "rpc_name": "search_messages_by_sender" } }, "chat.search_messages_by_time_range": { "title": "search_messages_by_time_range", "description": "根据指定时间范围,分页搜索历史消息", "parameters": { "cursor": { "type": "string", "description": "cursor", "required": true }, "endTime": { "type": "string", "description": "结束时间,格式:yyyy-MM-dd HH:mm:ss,非必填", "required": true }, "limit": { "type": "number", "description": "limit", "required": true }, "offset": { "type": "string", "description": "游标" }, "size": { "type": "number", "description": "返回数量" }, "startTime": { "type": "string", "description": "开始时间,格式:yyyy-MM-dd HH:mm:ss,必填", "required": true } }, "interface_ref": { "product_id": "chat", "rpc_name": "search_messages_by_time_range" } }, "chat.search_my_robots": { "title": "搜索我创建的企业机器人", "description": "搜索我创建的机器人,可获取机器人robotCode等信息。", "parameters": { "currentPage": { "type": "number", "description": "页码,从1开始", "required": true }, "pageSize": { "type": "number", "description": "每页条数,默认50" }, "robotName": { "type": "string", "description": "要搜索的名称" } }, "interface_ref": { "product_id": "bot", "rpc_name": "search_my_robots" } }, "chat.send_message_by_custom_robot": { "title": "自定义机器人发送群消息", "description": "使用自定义机器人发送群消息,请注意自定义机器人与企业机器人的区别。", "parameters": { "atMobiles": { "type": "array", "description": "被@的群成员手机号" }, "atUserIds": { "type": "array", "description": "被@的群成员userId" }, "isAtAll": { "type": "boolean", "description": "是否@所有人" }, "robotToken": { "type": "string", "description": "自定义机器人Token,在创建自定义机器人时得到的webhook地址中的accessToken值", "required": true }, "text": { "type": "string", "description": "消息内容,Markdown格式", "required": true }, "title": { "type": "string", "description": "消息标题", "required": true } }, "interface_ref": { "product_id": "bot", "rpc_name": "send_message_by_custom_robot" } }, "chat.send_personal_message": { "title": "send_personal_message", "description": "以用户身份发消息,支持多种消息类型", "parameters": { "atAll": { "type": "boolean", "description": "是否@所有人" }, "atOpenDingTalkIds": { "type": "array", "description": "@的用户atOpenDingTalkIds列表" }, "clawType": { "type": "string", "description": "ai类型" }, "content": { "type": "string", "description": "消息内容", "required": true }, "msgType": { "type": "string", "description": "消息类型", "required": true }, "openConversationId": { "type": "string", "description": "群聊openConversationId,发送群聊消息时使用" }, "receiverOpenDingTalkId": { "type": "string", "description": "消息接收者的openDingTalkId,发送单聊消息时使用" }, "uuid": { "type": "string", "description": "uuid" } }, "interface_ref": { "product_id": "chat", "rpc_name": "send_personal_message" } }, "chat.set_custom_user_roles": { "title": "set_custom_user_roles", "description": "根据用户提供的群和身份为用户设置群身份", "parameters": { "openConversationId": { "type": "string", "description": "openConversationId", "required": true }, "openDingTalkId": { "type": "string", "description": "openDingTalkId" }, "openRoleIds": { "type": "array", "description": "openRoleIds", "required": true }, "userId": { "type": "string", "description": "userId" } }, "interface_ref": { "product_id": "im", "rpc_name": "set_custom_user_roles" } }, "chat.set_group_member_mute_list": { "title": "管理群禁言成员", "description": "管理群禁言成员", "parameters": { "mute": { "type": "boolean", "description": "mute", "required": true }, "muteTime": { "type": "number", "description": "muteTime" }, "openConversationId": { "type": "string", "description": "openConversationId", "required": true }, "openDingTalkIds": { "type": "array", "description": "openDingTalkIds", "required": true } }, "interface_ref": { "product_id": "im", "rpc_name": "set_group_member_mute_list" } }, "chat.set_group_mute": { "title": "设置/取消群全员禁言", "description": "设置/取消群全员禁言", "parameters": { "mute": { "type": "boolean", "description": "mute", "required": true }, "openConversationId": { "type": "string", "description": "openConversationId", "required": true } }, "interface_ref": { "product_id": "im", "rpc_name": "set_group_mute" } }, "chat.set_pin_message": { "title": "设置钉住(pin)消息", "description": "设置钉住(pin)某条消息", "parameters": { "openConversationId": { "type": "string", "description": "开放会话id", "required": true }, "openMessageId": { "type": "string", "description": "开放消息id", "required": true } }, "interface_ref": { "product_id": "im", "rpc_name": "set_pin_message" } }, "chat.set_top_conversation": { "title": "会话置顶/取消置顶", "description": "会话置顶/取消置顶", "parameters": { "openConversationId": { "type": "string", "description": "openConversationId", "required": true }, "top": { "type": "boolean", "description": "top", "required": true } }, "interface_ref": { "product_id": "im", "rpc_name": "set_top_conversation" } }, "chat.transfer_group_owner": { "title": "群主转让", "description": "群主转让", "parameters": { "newOwnerOpenDingTalkId": { "type": "string", "description": "newOwnerOpenDingTalkId", "required": true }, "openConversationId": { "type": "string", "description": "openConversationId", "required": true } }, "interface_ref": { "product_id": "im", "rpc_name": "transfer_group_owner" } }, "chat.unread_message_conversation_list": { "title": "unread_message_conversation_list", "description": "unread_message_conversation_list", "parameters": { "count": { "type": "number", "description": "总结会话条数,可不传" }, "excludeMuted": { "type": "boolean", "description": "excludeMuted" } }, "interface_ref": { "product_id": "chat", "rpc_name": "unread_message_conversation_list" } }, "chat.unset_pin_message": { "title": "取消钉住的消息", "description": "取消某条钉住的(pin)消息", "parameters": { "openConversationId": { "type": "string", "description": "开放会话id", "required": true }, "openMessageId": { "type": "string", "description": "开放消息id", "required": true } }, "interface_ref": { "product_id": "im", "rpc_name": "unset_pin_message" } }, "chat.update_conv_member_roles": { "title": "设置/取消群成员为管理员", "description": "设置/取消群成员为管理员", "parameters": { "admin": { "type": "boolean", "description": "admin", "required": true }, "openConversationId": { "type": "string", "description": "openConversationId", "required": true }, "openDingTalkIds": { "type": "array", "description": "目标用户openDingTalkIds" }, "uids": { "type": "array", "description": "目标用户userIds" } }, "interface_ref": { "product_id": "im", "rpc_name": "update_conv_member_roles" } }, "chat.update_custom_group_role": { "title": "更新群身份", "description": "更新群身份", "parameters": { "name": { "type": "string", "description": "name", "required": true }, "openConversationId": { "type": "string", "description": "openConversationId", "required": true }, "openRoleId": { "type": "string", "description": "openRoleId", "required": true } }, "interface_ref": { "product_id": "im", "rpc_name": "update_custom_group_role" } }, "chat.update_group_icon": { "title": "更新群头像", "description": "更新群头像", "parameters": { "iconMediaId": { "type": "string", "description": "iconMediaId", "required": true }, "openConversationId": { "type": "string", "description": "openConversationId", "required": true } }, "interface_ref": { "product_id": "im", "rpc_name": "update_group_icon" } }, "chat.update_group_name": { "title": "update_group_name", "description": "更新群名称", "parameters": { "group_name": { "type": "string", "description": "修改后的群名称", "required": true }, "openconversation_id": { "type": "string", "description": "群Id,可从根据关键词搜索群列表服务获取", "required": true } }, "interface_ref": { "product_id": "chat", "rpc_name": "update_group_name" } }, "chat.update_group_settings": { "title": "更新群设置", "description": "更新群设置", "parameters": { "openConversationId": { "type": "string", "description": "openConversationId", "required": true }, "settingKey": { "type": "string", "description": "settingKey", "required": true }, "status": { "type": "number", "description": "status", "required": true } }, "interface_ref": { "product_id": "im", "rpc_name": "update_group_settings" } }, "chat.update_notification_off": { "title": "群免打扰开关", "description": "群免打扰开关", "parameters": { "mute": { "type": "boolean", "description": "mute", "required": true }, "openConversationId": { "type": "string", "description": "openConversationId", "required": true } }, "interface_ref": { "product_id": "im", "rpc_name": "update_notification_off" } }, "chat.update_show_history_msg_option": { "title": "设置新成员入群可查看历史消息选项", "description": "设置新成员入群可查看历史消息选项", "parameters": { "openConversationId": { "type": "string", "description": "openConversationId", "required": true }, "option": { "type": "string", "description": "可选值: \"FORBIDDEN\"-禁止查看历史消息;\"RECENT_100\"-可查看最近100条消息;\"ALL\"-可查看全部历史消息", "required": true } }, "interface_ref": { "product_id": "im", "rpc_name": "update_show_history_msg_option" } }, "chat.update_streaming_card": { "title": "流式更新卡片内容", "description": "流式更新卡片内容", "parameters": { "bizId": { "type": "string", "description": "bizId", "required": true }, "flowStatus": { "type": "string", "description": "flowStatus", "required": true }, "msgContent": { "type": "string", "description": "msgContent", "required": true } }, "interface_ref": { "product_id": "im", "rpc_name": "update_streaming_card" } }, "contact.get_authorized_emp_rosterInfo": { "title": "查询员工花名册字段信息", "description": "查询员工花名册字段信息,根据当前用户指定员工和字段列表,查询相应管理范围内员工的字段值信息", "parameters": { "corpId": { "type": "string", "description": "企业ID", "required": true }, "fieldCodeList": { "type": "array", "description": "指定字段集合", "required": true }, "optUserId": { "type": "string", "description": "当前用户ID", "required": true }, "staffId": { "type": "string", "description": "查询员工ID", "required": true } }, "interface_ref": { "product_id": "hrmregister", "rpc_name": "get_authorized_emp_rosterInfo" } }, "contact.get_current_user_profile": { "title": "获取当前用户详情", "description": "获取当前登录用户的基本信息(如姓名、工号、手机号)、当前组织信息(corpId、组织名称)、直属主管信息、所属部门列表(含部门 ID 与名称)以及角色信息(如管理员类型、自定义角色标签等)。返回内容受组织隐私与权限策略控制:若某些字段(如主管、手机号)被设为不可见,则可能被过滤或省略。", "interface_ref": { "product_id": "contact", "rpc_name": "get_current_user_profile" } }, "contact.get_dept_info_by_dept_id": { "title": "查询部门详情", "description": "根据指定的部门 ID,获取部门详情。结果受组织架构可见性控制:仅返回调用者有权限查看的部门信息", "parameters": { "deptId": { "type": "number", "description": "部门Id", "required": true } }, "interface_ref": { "product_id": "contact", "rpc_name": "get_dept_info_by_dept_id" } }, "contact.get_dept_members_by_deptId": { "title": "获取部门下所有成员", "description": "获取指定部门下的所有成员,返回每位成员的用户 ID(userId)和显示名称(如真实姓名或昵称)。结果受组织可见性控制:若调用者无权查看某成员(例如该成员所在子部门被隐藏,或其个人信息设为私密),则该成员不会出现在返回列表中。适用于需要展示部门人员列表、选择协作成员等场景,仅支持调用者有权限访问的部门。", "parameters": { "deptIds": { "type": "array", "description": "需要获取部门的ID", "required": true } }, "interface_ref": { "product_id": "contact", "rpc_name": "get_dept_members_by_deptId" } }, "contact.get_sub_depts_by_dept_id": { "title": "获取部门的子部门", "description": "根据指定的部门 ID,获取其直接子部门列表,返回每个子部门的部门 ID、名称。结果受组织架构可见性控制:仅返回调用者有权限查看的子部门;若父部门不可见或无子部门,则返回空列表。", "parameters": { "deptId": { "type": "number", "description": "部门Id", "required": true } }, "interface_ref": { "product_id": "contact", "rpc_name": "get_sub_depts_by_dept_id" } }, "contact.get_user_info_by_user_ids": { "title": "get_user_info_by_user_ids", "description": "获取指定用户 ID 列表对应的员工详细信息,包括人员基本信息(ID、名称、主管名称、主管userId等)、所属角色信息、所在部门信息。返回结果受组织可见性规则限制:若调用者无权查看某员工(如部门隐藏、手机号设为私密等),则相应字段可能被过滤或不返回该员工。适用于需要批量获取同事信息的场景,如组织架构展示、审批人选择等。仅返回调用者权限范围内的有效数据。", "parameters": { "user_id_list": { "type": "array", "description": "user_id的列表。可能也叫userId", "required": true } }, "interface_ref": { "product_id": "contact", "rpc_name": "get_user_info_by_user_ids" } }, "contact.list_authorized_roster_fields": { "title": "查询花名册有权限字段列表", "description": "查询花名册有权限的字段列表,根据当前用户查询花名册有权限的字段列表", "parameters": { "corpId": { "type": "string", "description": "corpId", "required": true }, "optUserId": { "type": "string", "description": "optUserId", "required": true } }, "interface_ref": { "product_id": "hrmregister", "rpc_name": "list_authorized_roster_fields" } }, "contact.list_my_followings": { "title": "获取我的特别关注列表", "description": "获取我的特别关注列表", "interface_ref": { "product_id": "contact", "rpc_name": "list_my_followings" } }, "contact.query_dismission_employee_list": { "title": "query_dismission_employee_list", "description": "获取离职员工列表,支持按照员工姓名、离职时间范围、部门过滤", "parameters": { "pageNum": { "type": "number", "description": "页码,从1开始" }, "pageSize": { "type": "number", "description": "页大小,200以内" }, "searchVO": { "type": "object", "description": "查询参数", "required": true } }, "interface_ref": { "product_id": "hrmregister", "rpc_name": "query_dismission_employee_list" } }, "contact.search_contact_by_key_word": { "title": "根据关键词搜索好友和同事", "description": "根据关键词搜索好友和同事", "parameters": { "keyword": { "type": "string", "description": "搜索的关键词;按照关联性排序", "required": true } }, "interface_ref": { "product_id": "contact", "rpc_name": "search_contact_by_key_word" } }, "contact.search_dept_by_keyword": { "title": "搜索部门", "description": "根据关键词模糊搜索部门,返回匹配的部门列表,包含每个部门的 ID、名称。搜索范围限于调用者有权限查看的组织架构;若关键词无匹配结果或部门因可见性设置被隐藏,则相应部门不会出现在结果中。", "parameters": { "query": { "type": "string", "description": "搜索关键词", "required": true } }, "interface_ref": { "product_id": "contact", "rpc_name": "search_dept_by_keyword" } }, "contact.search_user_by_mobile": { "title": "通过手机号获取成员userId和名称", "description": "通过手机号搜索获取用户名称和userId。", "parameters": { "mobile": { "type": "string", "description": "搜索的手机号", "required": true } }, "interface_ref": { "product_id": "contact", "rpc_name": "search_user_by_mobile" } }, "devdoc.devdoc_rag_pretest": { "title": "devdoc_rag_pretest", "description": "按关键词检索钉钉开放平台文档,只返回参考资料、参考资料链接和RAG上下文,不生成AI分析答案。", "parameters": { "cursor": { "type": "string", "description": "翻页游标" }, "keyword": { "type": "string", "description": "搜索关键词,例如:机器人、文档权限、OAuth2 接入", "required": true }, "page": { "type": "number", "description": "分页页码,从 1 开始,默认 1" }, "size": { "type": "number", "description": "分页大小,默认 10" } }, "interface_ref": { "product_id": "devdoc", "rpc_name": "devdoc_rag_pretest" } }, "devdoc.search_dingtalk_open_docs": { "title": "search_dingtalk_open_docs", "description": "根据关键词搜索钉钉开放平台的开发文档,返回匹配的文档条目列表,包含标题、摘要、文档链接和相关标签。搜索结果按相关性排序。适用于开发者在集成或调试过程中快速查找 API 说明、接入指南、错误码解释等技术资料。", "parameters": { "keyword": { "type": "string", "description": "用户搜索关键词", "required": true } }, "interface_ref": { "product_id": "devdoc", "rpc_name": "search_dingtalk_open_docs" } }, "devdoc.search_open_error_code_rag": { "title": "search_open_error_code_rag", "description": "按原始问题、requestId/traceId、错误码或错误描述排查钉钉开放平台调用错误;只返回诊断事实、参考资料、参考资料链接和 RAG 上下文,不生成 AI 分析答案。", "parameters": { "cursor": { "type": "string", "description": "动态翻页字段" }, "errorCode": { "type": "string", "description": "开放平台错误码,例如 33012" }, "page": { "type": "number", "description": "分页页码,从 1 开始,默认 1" }, "query": { "type": "string", "description": "原始排查问题,可包含完整报错现象、失败场景、API 名称、错误描述或其他上下文" }, "requestId": { "type": "string", "description": "开放平台 requestId;如只有 traceId,也填入此字段" }, "size": { "type": "number", "description": "分页大小,默认 10" } }, "interface_ref": { "product_id": "devdoc", "rpc_name": "search_open_error_code_rag" } }, "devdoc.search_open_platform_docs": { "title": "search_open_platform_docs", "description": "根据关键词搜索钉钉开放平台的开发文档,返回匹配的文档条目列表,包含标题、摘要、文档链接和相关标签。搜索结果按相关性排序。适用于开发者在集成或调试过程中快速查找 API 说明、接入指南、错误码解释等技术资料。", "parameters": { "keyword": { "type": "string", "description": "搜索关键词", "required": true }, "page": { "type": "number", "description": "分页页码" }, "size": { "type": "number", "description": "分页大小" } }, "interface_ref": { "product_id": "devdoc", "rpc_name": "search_open_platform_docs" } }, "devdoc.search_open_platform_docs_rag": { "title": "search_open_platform_docs", "description": "根据关键词搜索钉钉开放平台的开发文档,返回匹配的文档条目列表,包含标题、摘要、文档链接和相关标签。搜索结果按相关性排序。适用于开发者在集成或调试过程中快速查找 API 说明、接入指南、错误码解释等技术资料。", "parameters": { "keyword": { "type": "string", "description": "搜索关键词", "required": true }, "page": { "type": "number", "description": "分页页码" }, "size": { "type": "number", "description": "分页大小" } }, "interface_ref": { "product_id": "devdoc", "rpc_name": "search_open_platform_docs" } }, "ding.recall_ding_message": { "title": "撤回已发送的DING消息", "description": "撤回已发送的DING消息", "parameters": { "openDingId": { "type": "string", "description": "要撤回的钉钉消息ID,可通过发送DING消息接口获取", "required": true }, "robotCode": { "type": "string", "description": "发送钉钉消息的机器人ID,必须与发送消息的机器人为同一个", "required": true } }, "interface_ref": { "product_id": "ding", "rpc_name": "recall_ding_message" } }, "ding.send_ding_message": { "title": "发送DING消息", "description": "使用企业内机器人发送DING消息,可发送应用内DING、短信DING、电话DING。", "parameters": { "callVoice": { "type": "string", "description": "电话语音内容\n- Standard_Female_Voice\n- Cantonese_Female_Voice\n- Gentine_Female_Voice\n- Overbearing_Female_Voice\n- Lovely_Girl_Voice\n- Standard_Male_Voice", "enum": [ "Standard_Female_Voice", "Cantonese_Female_Voice", "Gentine_Female_Voice", "Overbearing_Female_Voice", "Lovely_Girl_Voice", "Standard_Male_Voice" ] }, "content": { "type": "string", "description": "消息内容", "required": true }, "receiverUserIdList": { "type": "array", "description": "接收者用户ID列表", "required": true }, "remindType": { "type": "number", "description": "提醒类型,1:应用内钉钉,2:短信,3:电话", "required": true }, "robotCode": { "type": "string", "description": "机器人Code", "required": true } }, "interface_ref": { "product_id": "ding", "rpc_name": "send_ding_message" } }, "doc.add_permission": { "title": "添加节点成员", "description": "为知识库下的节点(文档、文件夹、文件)添加指定角色的企业用户成员(仅支持 USER 类型)。\r\n\r\n通过传入 userIds 列表批量授予企业用户对节点的访问权限,添加成功后即可按指定角色访问该节点及其子节点(若子节点继承权限)。\r\n\r\n注意事项:\r\n- OWNER 角色不可通过此接口添加。\r\n- **权限要求(业务规则)**:操作者必须在该节点上具备「可编辑(EDITOR)」及以上角色(OWNER / MANAGER / EDITOR)。\r\n- 单次请求 `userIds` 列表最多传 30 个,超出需分批调用。\r\n- 入参直接采用扁平的 `userIds: List\u003cString\u003e`,每个元素为钉钉 staffId(外部 userId 格式,由钉钉开放平台体系下颁发)。如果你只有 unionId,请先调用钉钉开放平台「根据 unionId 获取 userId」接口换取。", "parameters": { "nodeId": { "type": "string", "description": "目标节点的 nodeId(文档、文件夹或文件),可通过 list_nodes 工具获取。", "required": true }, "roleId": { "type": "string", "description": "授予成员的角色,取值:MANAGER、EDITOR、DOWNLOADER、READER。", "required": true }, "userIds": { "type": "array", "description": "被授权的用户 userId 列表(钉钉 staffId / 外部 userId 格式,由钉钉开放平台体系下颁发;通常为数字字符串),至少包含一个 userId,单次最多 30 个。如果你只有 unionId,请先调用钉钉开放平台「根据 unionId 获取 userId」接口换取 userId。", "required": true }, "workspaceId": { "type": "string", "description": "目标知识库的标识,选填。仅用于辅助构造返回的 docUrl,业务实际依赖 nodeId 定位节点;支持两种格式:1) 知识库 ID(纯字符串);2) 知识库 URL,如 https://alidocs.dingtalk.com/i/spaces/{workspaceId}/overview,系统自动提取其中的 workspaceId。" } }, "interface_ref": { "product_id": "doc", "rpc_name": "add_permission" } }, "doc.copy_document": { "title": "将指定节点复制到目标文件夹", "description": "将指定节点复制到目标文件夹。\r\n\r\n支持的节点类型:知识库节点(文档、文件夹)、钉盘文件/文件夹。\r\nnodeId 支持文档 URL 或 dentryUuid(32 位字母数字字符串)。\r\ntargetFolderId 为目标文件夹的 dentryUuid;workspaceId 为目标知识库标识,不传 targetFolderId 时复制到该知识库根目录,如果不传 targetFolderId 和 workspaceId,默认到当前用户所在组织的「我的文档」下\r\n\r\n权限要求:\r\n- 对源节点有可查看下载权限\r\n- 对目标文件夹有写入权限\r\n\r\n注意:复制操作底层可能异步执行,异步时操作已提交但新节点 ID 无法立即返回,请稍后查看目标文件夹确认结果。", "parameters": { "nodeId": { "type": "string", "description": "要复制的节点标识,支持以下格式:\\n1. 文档/文件夹 URL,如 https://alidocs.dingtalk.com/i/nodes/{dentryUuid}\\n2. dentryUuid(32 位字母数字字符串)", "required": true }, "targetFolderId": { "type": "string", "description": "目标文件夹的 dentryUuid(32 位字母数字字符串),复制后的节点将放置在此文件夹下。" }, "workspaceId": { "type": "string", "description": "目标知识库的标识,支持两种格式:1) 知识库 ID(纯字符串);2) 知识库 URL,如 https://alidocs.dingtalk.com/i/spaces/{workspaceId}/overview,系统自动提取其中的 workspaceId。当 targetFolderId 不传时,复制到该知识库的根目录下。与 targetFolderId 至少传一个。" } }, "interface_ref": { "product_id": "doc", "rpc_name": "copy_document" } }, "doc.create_comment": { "title": "创建全文评论", "description": "在钉钉文档中创建全文评论,评论不关联文档内具体位置,支持 @提及用户。\r\n\r\n通过 nodeId 定位文档,支持传入文档链接 URL 或文档 ID(dentryUuid)。\r\n- @提及用户:填写 mentionedUserIds,被提及用户会收到通知。\r\n如需创建划词评论(关联文档内指定文本范围),请使用 create_inline_comment 工具。\r\n如需回复已有评论,请使用 reply_comment 工具。\r\n操作受权限控制,仅当调用者对文档有评论权限时可创建评论。", "parameters": { "content": { "type": "string", "description": "评论的文字内容,纯文本格式。必填。", "required": true }, "mentionedUserIds": { "type": "array", "description": "被 @ 的用户 uid 列表,填写后评论内容中会插入 @mention 节点并发送通知。可通过「钉钉通讯录」相关 MCP tool(如 `search_user_by_key_word`、`search_user_by_mobile`)检索用户 uid,或使用 `dingtalk-workspace-cli` 提供的相关 skill 来检索。" }, "nodeId": { "type": "string", "description": "目标文档的标识,支持传入 URL 或 ID(dentryUuid)。必填。", "required": true } }, "interface_ref": { "product_id": "doc-comment", "rpc_name": "create_comment" } }, "doc.create_document": { "title": "创建钉钉文档", "description": "创建一篇文字类型的钉钉在线文档(扩展名=adoc)。\r\n支持创建空文档或带有初始 Markdown 内容的文档。(如需创建钉钉AI表格、钉钉表格、钉钉脑图等其他类型的文件,使用 create_file 工具)\r\n支持三种创建位置:\r\n1. 指定 folderId:在该文件夹下创建\r\n2. 指定 workspaceId(知识库 ID)但不传 folderId:在该知识库的根目录下创建\r\n3. 都不传:在用户\"我的文档\"根目录下创建\r\n操作受权限控制,仅当调用者对目标位置有写入权限时可成功创建。\r\n内容长度上限 10000 字符,超出请使用 update_document 工具分批追加写入。", "parameters": { "folderId": { "type": "string", "description": "目标文件夹的节点 ID(dentryUuid),支持传入文件夹链接 URL 或 ID。不传时:如果提供了 workspaceId 则创建在该知识库根目录下,否则创建在用户'我的文档'根目录下。" }, "markdown": { "type": "string", "description": "文档的初始 Markdown 内容。不传则创建空文档。注意:markdown 参数中的换行必须使用真实换行符(即实际的换行字符,Unicode U+000A),而不是字面量字符串 \\n(反斜杠加字母 n)。在通过程序或大模型构造此参数时,请确保字符串在发送前已正确反转义。如果传入的是两个字符的字面量 \\n,所有内容将渲染在同一行,导致标题、段落和表格格式全部错乱。" }, "name": { "type": "string", "description": "新文档的标题,必填。", "required": true }, "workspaceId": { "type": "string", "description": "目标知识库的 ID。如果同时传了 folderId,则以 folderId 为准。" } }, "interface_ref": { "product_id": "doc", "rpc_name": "create_document" } }, "doc.create_file": { "title": "创建节点", "description": "在指定位置创建一个新的文件(文档、表格、演示、白板、脑图、多维表或文件夹)。\r\n\r\n支持三种创建位置(按优先级):\r\n1. 指定 folderId:在该文件夹下创建\r\n2. 仅指定 workspaceId(不传 folderId):在该知识库的根目录下创建\r\n3. 都不传:在用户\"我的文档\"根目录下创建\r\n4. type 要创建的文件类型,必填。支持以下值:adoc(钉钉在线文档)、axls(钉钉表格)、appt(钉钉演示)、adraw(钉钉白板)、amind(钉钉脑图)、able(钉钉多维表)、folder(文件夹)\r\n操作受权限控制,仅当调用者对目标位置有写入权限时可成功创建。", "parameters": { "folderId": { "type": "string", "description": "目标文件夹的节点 ID(dentryUuid),支持传入文件夹链接 URL 或 ID。不传时:如果提供了 workspaceId 则创建在该知识库根目录下,否则创建在用户'我的文档'根目录下。" }, "name": { "type": "string", "description": "新文件的名称,必填。", "required": true }, "type": { "type": "string", "description": "要创建的文件类型,必填。支持:adoc(钉钉在线文档)、axls(钉钉表格)、appt(钉钉演示)、adraw(钉钉白板)、amind(钉钉脑图)、able(钉钉多维表)、folder(文件夹)。同时兼容旧版 accessType 数字字符串:\"0\"=adoc、\"1\"=axls、\"2\"=appt、\"3\"=adraw、\"6\"=amind、\"7\"=able、\"13\"=folder。", "required": true }, "workspaceId": { "type": "string", "description": "目标知识库的标识,支持知识库 ID 或知识库 URL。如果同时传了 folderId,则以 folderId 为准。" } }, "interface_ref": { "product_id": "doc", "rpc_name": "create_file" } }, "doc.create_folder": { "title": "创建文件夹", "description": "在指定位置创建一个新的文件夹。\r\n\r\n支持在文件夹下或知识库下创建子文件夹。\r\n创建后返回新文件夹的节点 ID,可用于后续在该文件夹下创建文档或子文件夹。\r\n操作受权限控制,仅当调用者对父节点有写入权限时可成功创建。", "parameters": { "folderId": { "type": "string", "description": "父文件夹的节点 ID,支持传入 URL 或 ID。不传时:如果提供了 workspaceId 则创建在该知识库根目录下,否则创建在用户'我的文档'根目录下。" }, "name": { "type": "string", "description": "新文件夹的名称,必填。", "required": true }, "workspaceId": { "type": "string", "description": "目标知识库的 ID。如果同时传了 folderId,则以 folderId 为准。" } }, "interface_ref": { "product_id": "doc", "rpc_name": "create_folder" } }, "doc.create_inline_comment": { "title": "创建划词评论", "description": "在钉钉文档中创建划词评论,评论关联文档内指定块的文本范围,支持 @提及用户。\r\n\r\n通过 nodeId 定位文档,支持传入文档链接 URL 或文档 ID(dentryUuid)。\r\n- blockId、start、end 均为必填,用于定位评论标记的文本范围。\r\n- selectedText 可选填,填写后评论列表中会展示「引用原文:xxx」。\r\n- @提及用户:填写 mentionedUserIds,被提及用户会收到通知。\r\n如需创建全文评论(不关联文档内具体位置),请使用 create_comment 工具。\r\n如需回复已有评论,请使用 reply_comment 工具。\r\n操作受权限控制,仅当调用者对文档有评论权限时可创建评论。", "parameters": { "blockId": { "type": "string", "description": "评论标记所在的块 ID。必填。", "required": true }, "content": { "type": "string", "description": "评论的文字内容,纯文本格式。必填。", "required": true }, "end": { "type": "number", "description": "评论标记在块内文本中的结束字符偏移量,必须大于 start。必填。", "required": true }, "mentionedUserIds": { "type": "array", "description": "填写后,评论内容中会插入 @mention 节点,并向对应用户发送通知。" }, "nodeId": { "type": "string", "description": "目标文档的标识,支持传入 URL 或 ID(dentryUuid)。必填。", "required": true }, "selectedText": { "type": "string", "description": "可选填。填写后,评论列表中会展示「引用原文:xxx」。建议传入选中文本的完整内容或前100个字符。" }, "start": { "type": "number", "description": "评论标记在块内文本中的起始字符偏移量(从 0 开始)。必填。", "required": true } }, "interface_ref": { "product_id": "doc-comment", "rpc_name": "create_inline_comment" } }, "doc.delete_document": { "title": "删除节点", "description": "将指定节点移入回收站,30 天内可从回收站恢复,超过 30 天将被永久删除。\r\n\r\n支持范围:\r\n- 知识库(workspace)下的文档节点、文件夹节点\r\n- 钉盘「我的文件」或「团队空间(space)」下的文件、文件夹节点(但钉盘操作仍建议走钉盘MCP服务)\r\n\r\n不支持的操作:\r\n- 不支持直接删除知识库本身(workspace)\r\n- 不支持直接删除团队空间(space)\r\n\r\n权限要求:\r\n- 对目标节点有管理权限(owner 或被授予管理权限的成员)\r\n\r\n注意事项:\r\n- 删除操作不可立即撤销,请在调用前向用户确认\r\n- 删除文件夹时,文件夹内的所有子节点也会一并移入回收站", "parameters": { "nodeId": { "type": "string", "description": "要删除的节点标识,支持以下格式:1) 文档/文件夹 URL,如 https://alidocs.dingtalk.com/i/nodes/{dentryUuid};2) dentryUuid(32 位字母数字字符串)。", "required": true } }, "interface_ref": { "product_id": "doc", "rpc_name": "delete_document" } }, "doc.delete_document_block": { "title": "删除块元素", "description": "在指定文档中删除指定块元素,需要提供文档ID(dentryUuid)与块元素ID(blockId)。操作受文档权限控制,仅当调用者拥有编辑权限时生效。", "parameters": { "blockId": { "type": "string", "description": "待删除块元素的唯一标识。可通过 list_document_blocks 工具查询获取(返回结果中的 blockId 字段)。目前仅支持根目录下的第一级块元素的 blockId。必填。", "required": true }, "nodeId": { "type": "string", "description": "目标文档的标识,支持传入文档链接 URL 或文档 ID(dentryUuid),系统自动识别。必填。", "required": true } }, "interface_ref": { "product_id": "doc", "rpc_name": "delete_document_block" } }, "doc.download_doc_attachment": { "title": "下载指定钉钉文档中的指定附件", "description": "获取钉钉文档中指定附件的临时下载 URL。\r\n传入文档标识 nodeId 和附件资源标识 resourceId,返回附件的 OSS 临时下载链接 downloadUrl。\r\n前置依赖:需先调用 list_document_blocks 获取文档块列表,从中找到 blockType 为 attachment 的块元素,提取其 resourceId 作为本工具的入参。", "parameters": { "nodeId": { "type": "string", "description": "文档nodeId,支持传入文档链接 URL 或文档 ID(dentryUuid),系统自动识别。必填。", "required": true }, "resourceId": { "type": "string", "description": "附件的资源ID", "required": true } }, "interface_ref": { "product_id": "doc", "rpc_name": "download_doc_attachment" } }, "doc.download_file": { "title": "获取文件下载凭证", "description": "获取文件下载凭证,供 AI Agent 自行发起 HTTP GET 请求下载文件内容。本工具是两步下载流程的第一步(也是唯一需要调用的 MCP Tool)。\r\n\r\n完整下载流程:\r\n Step 1:调用本工具,传入文件节点 ID(nodeId),获取下载 URL(resourceUrl)和签名请求头(headers)。\r\n Step 2:AI Agent 自行发起 HTTP GET 请求:\r\n - URL:使用 resourceUrl 中的第一个 URL(优先级最高)。\r\n - Headers:将 headers 中所有键值对作为请求头携带。\r\n - 期望响应:HTTP 200,Body 为文件二进制内容。\r\n - 注意:下载凭证有过期时间(expirationSeconds),请在过期前完成下载;若已过期,需重新调用本工具获取新凭证。", "parameters": { "nodeId": { "type": "string", "description": "支持两种格式:1) 文档链接 URL,如 https://alidocs.dingtalk.com/i/nodes/{dentryUuid};2) dentryUuid(32 位字母数字字符串)。必须指向文件节点(非文件夹)。", "required": true } }, "interface_ref": { "product_id": "doc", "rpc_name": "download_file" } }, "doc.get_document_content": { "title": "获取钉钉文档内容", "description": "获取钉钉文档的内容,以 Markdown 格式返回。\r\n\r\n通过 nodeId 定位文档,支持传入文档链接 URL 或文档 ID(dentryUuid),系统自动识别。\r\n\r\n仅限用户对文档具备\"可阅读\"权限时可获取。不支持跨组织查询。\r\n\r\n支持的文档类型:钉钉在线文档。\r\n文档链接格式:https://alidocs.dingtalk.com/i/nodes/{dentryUuid}\r\ndentryUuid 为 32 位字母数字字符串。", "parameters": { "format": { "type": "string", "description": "拉取数据的格式,支持 markdown | jsonml,默认为 markdown" }, "nodeId": { "type": "string", "description": "目标文档的标识,支持两种格式:1) 文档链接 URL,如 https://alidocs.dingtalk.com/i/nodes/{dentryUuid};2) 文档 ID(dentryUuid),32 位字母数字字符串。系统自动识别格式。", "required": true } }, "interface_ref": { "product_id": "doc", "rpc_name": "get_document_content" } }, "doc.get_document_info": { "title": "获取节点基本信息", "description": "获取存储在钉钉文档(含知识库)、钉盘相关文件的元信息,包括文档标题、类型、创建者、创建时间等。\r\n返回字段中的 contentType 和 extension 是后续工具路由的关键依据。\r\n\r\n⚠️ 重要:当用户需要获取任何钉钉文件的内容时,必须先调用本工具,\r\n再根据返回的 contentType 和 extension 字段按以下规则选择对应工具:\r\n\r\n- contentType=ALIDOC, extension=adoc → 调用 get_document_content(nodeId),返回 Markdown 内容\r\n- contentType=ALIDOC, extension=axls → 调用钉钉表格 MCP: get_all_sheets(nodeId) 获取工作表列表,再调用 get_range(nodeId, sheetId, range) 读取数据\r\n- contentType=ALIDOC, extension=able → 调用钉钉AI表格 MCP: get_tables(nodeId) 获取数据表列表(nodeId 即 baseId),再调用 query_records(nodeId, tableId) 查询记录\r\n- contentType≠ALIDOC 且 nodeType=file → 调用 download_file(nodeId),返回文件下载链接", "parameters": { "nodeId": { "type": "string", "description": "目标文档的标识,支持传入 URL 或 ID。必填。", "required": true } }, "interface_ref": { "product_id": "doc", "rpc_name": "get_document_info" } }, "doc.insert_document_block": { "title": "插入块元素", "description": "将一个新的块元素插入指定文档,需要提供文档ID(dentryUuid)与块元素内容(必须包含 blockType 及对应类型的属性对象)。可以支持在指定块元素(传入blockId或index)的头部或尾部插入块元素。操作受文档权限控制,仅当调用者拥有编辑权限时生效。\r\n\r\n【附件插入说明】\r\n若 blockType 为 \"attachment\":\r\n1. 必须先调用 get_doc_attachment_upload_info 工具获取该附件的属性(resourceId)。\r\n2. 将获取到的信息整合进 element 的 attachment 对象中,然后再调用此工具。\r\n\r\n【get_doc_attachment_upload_info 接口使用说明】\r\n获取向指定钉钉文档上传附件所需的 OSS 上传凭证信息。\r\n使用流程:\r\n1. 调用 get_doc_attachment_upload_info 接口,传入文档标识(nodeId)、文件名、文件大小和 MIME 类型,获取上传凭证。\r\n2. 使用返回的 uploadUrl 通过 HTTP PUT 请求将文件内容上传至 OSS,需设置以下请求头:\r\n Content-Type:与入参 mimeType 保持一致,例如 `application/pdf`\r\n Content-Length:与入参 fileSize 保持一致,单位为字节\r\n3. 上传成功后,使用返回的 resourceId 在文档中插入类型为附件的块元素。\r\n\r\n注意事项:\r\n1. uploadUrl 具有时效性,请在获取后尽快完成上传,避免凭证过期。\r\n2. fileSize 必须与实际文件大小一致,否则上传可能失败。\r\n3. mimeType 应与实际文件类型匹配,例如 PDF 文件传 application/pdf。", "parameters": { "element": { "type": "object", "description": "element 格式数据,待插入的块元素,必须包含 blockType 及对应类型的属性对象,详见块元素数据结构附录。最精简示例:{\"blockType\": \"paragraph\", \"paragraph\": {}}。" }, "format": { "type": "string", "description": "数据的格式,可选为 element 或 jsonml,默认为 element" }, "index": { "type": "number", "description": "当 referenceBlockId 未指定时,使用 index 查找文档第 index 个一级块元素作为参照位置(从 0 开始)。两者均未指定时,默认插入到文档末尾。" }, "jsonml": { "type": "string", "description": "jsonml 格式数据,适合无损编辑" }, "nodeId": { "type": "string", "description": "目标文档的标识,支持传入文档链接 URL 或文档 ID(dentryUuid),系统自动识别。必填。", "required": true }, "referenceBlockId": { "type": "string", "description": "参照块的唯一标识(由 list_document_blocks 返回的 blockId)。指定后以该块为插入参照位置,优先级高于 index。" }, "where": { "type": "string", "description": "插入方向:before(参照位置之前)或 after(参照位置之后)。默认为 after。" } }, "interface_ref": { "product_id": "doc", "rpc_name": "insert_document_block" } }, "doc.list_comments": { "title": "获取文档评论列表", "description": "获取钉钉文档的评论列表,支持分页查询、按评论类型和解决状态过滤。\r\n通过 nodeId 定位文档,支持传入文档链接 URL 或文档 ID(dentryUuid)。\r\n操作受权限控制,仅当调用者对文档有读取及以上权限时可获取评论。", "parameters": { "commentType": { "type": "string", "description": "按评论类型过滤。可选值:global(全文评论)、inline(划词评论)。不传返回所有评论。" }, "nextToken": { "type": "string", "description": "分页游标,从上一次请求的返回结果中获取 nextToken。首次请求不传。" }, "nodeId": { "type": "string", "description": "目标文档的标识,支持传入 URL 或 ID。必填。", "required": true }, "pageSize": { "type": "number", "description": "每页返回的评论数量,默认 50,最大 50。" }, "resolveStatus": { "type": "string", "description": "按解决状态过滤。可选值:resolved(已解决)、unresolved(未解决)。不传返回所有评论。" } }, "interface_ref": { "product_id": "doc-comment", "rpc_name": "list_comments" } }, "doc.list_document_blocks": { "title": "查询指定钉钉文档下的一级块元素列表", "description": "查询指定钉钉文档下的一级块元素列表,需要提供dentryUuid。支持按按起始位置、终止位置范围及块类型过滤。操作受文档权限控制,当调用者拥有编辑或查看或下载权限时生效。", "parameters": { "blockType": { "type": "string", "description": "按块类型过滤。不传时返回所有类型。" }, "endIndex": { "type": "number", "description": "终止位置(≥ 0 的整数)。表示查询到根节点 children 的第 endIndex 个块为止(含)。不传时默认查询到末尾。" }, "format": { "type": "string", "description": "数据的格式,可选为 element 或 jsonml,默认为 element" }, "nodeId": { "type": "string", "description": "目标文档的标识,支持两种格式:1) 文档链接 URL,如 https://alidocs.dingtalk.com/i/nodes/{dentryUuid};2) 文档 ID(dentryUuid),32 位字母数字字符串。系统自动识别格式。", "required": true }, "startIndex": { "type": "number", "description": "起始位置(≥ 0 的整数)。表示从根节点 children 的第 startIndex 个块开始查询。不传时默认从头开始。" } }, "interface_ref": { "product_id": "doc", "rpc_name": "list_document_blocks" } }, "doc.list_nodes": { "title": "列出指定文件夹或知识库下的直接子节点列表", "description": "列出指定文件夹或知识库下的直接子节点列表(文件夹/文档/文件等),支持分页。\r\n\r\n返回结果基于当前 MCP 会话用户的可访问权限进行过滤。\r\n返回的节点列表包含多种类型:在线文档、文件夹、PDF、docx、表格、脑图、白板等。\r\n\r\n定位方式(按优先级):\r\n1. 传 folderId:列出该文件夹下的直接子节点\r\n2. 仅传 workspaceId(不传 folderId):列出该知识库根目录下的直接子节点\r\n3. 都不传:列出用户\"我的文档\"根目录下的直接子节点\r\n\r\n返回的 nodeId 可直接用于其他工具(如 get_document_content、update_document、create_document 等)。\r\n若 nodeType=folder 且 hasChildren=true,可将该 nodeId 作为 folderId 再次调用本工具进行递归遍历。\r\n若 contentType=alidoc,可调用 get_document_content(nodeId=nodeId) 获取文档内容。", "parameters": { "folderId": { "type": "string", "description": "要遍历的文件夹的节点 ID(dentryUuid),支持传入文件夹链接 URL 或 ID。不传时:如果提供了 workspaceId 则列出该知识库根目录,否则列出用户'我的文档'根目录。" }, "pageSize": { "type": "number", "description": "每页返回的节点数量,默认 50,最大 50。" }, "pageToken": { "type": "string", "description": "分页游标,从上一次请求的返回结果中获取 nextPageToken。首次请求不传。" }, "workspaceId": { "type": "string", "description": "知识库 ID。当需要遍历某个知识库时使用。如果同时传了 folderId,则以 folderId 为准。" } }, "interface_ref": { "product_id": "doc", "rpc_name": "list_nodes" } }, "doc.list_permission": { "title": "查询节点成员列表", "description": "查询知识库节点当前的成员权限列表。", "parameters": { "filterRoleIds": { "type": "array", "description": "按角色过滤成员列表,选填。取值:OWNER、MANAGER、EDITOR、DOWNLOADER、READER。不传时返回所有角色的成员。" }, "maxResults": { "type": "number", "description": "期望返回的最大成员条数,默认 30,最大 200。底层一次性返回全量成员后在内存中按本字段截断;本接口不支持游标翻页,不存在 nextToken。若发生截断(出参 truncated=true),可通过出参 totalCount 感知全量成员数,并通过 filterRoleIds 收窄查询范围。" }, "nodeId": { "type": "string", "description": "目标节点的 nodeId。", "required": true }, "workspaceId": { "type": "string", "description": "目标知识库的标识,选填。仅用于辅助构造返回的 docUrl,业务实际依赖 nodeId 定位节点;支持两种格式:1) 知识库 ID(纯字符串);2) 知识库 URL,如 https://alidocs.dingtalk.com/i/spaces/{workspaceId}/overview,系统自动提取其中的 workspaceId。" } }, "interface_ref": { "product_id": "doc", "rpc_name": "list_permission" } }, "doc.move_document": { "title": "移动节点", "description": "将指定节点移动到目标文件夹。\r\n\r\n支持的节点类型:知识库节点(文档、文件夹)、钉盘文件/文件夹。\r\nnodeId 支持文档 URL 或 dentryUuid(32 位字母数字字符串)。\r\ntargetFolderId 为目标文件夹的 dentryUuid;workspaceId 为目标知识库标识,不传 targetFolderId 时移动到该知识库根目录,如果不传 targetFolderId 和 workspaceId,默认到当前用户所在组织的「我的文档」下\r\n\r\n权限要求:\r\n- 对源节点有编辑权限\r\n- 对目标文件夹有写入权限\r\n\r\n注意:移动操作底层可能异步执行,异步时操作已提交但无法立即确认完成,请稍后查看目标文件夹确认结果。", "parameters": { "nodeId": { "type": "string", "description": "要移动的节点标识,支持以下格式:\\n1. 文档/文件夹 URL,如 https://alidocs.dingtalk.com/i/nodes/{dentryUuid}\\n2. dentryUuid(32 位字母数字字符串)", "required": true }, "targetFolderId": { "type": "string", "description": "目标文件夹的 dentryUuid(32 位字母数字字符串),节点将被移动到此文件夹下。" }, "workspaceId": { "type": "string", "description": "目标知识库的标识,支持两种格式:1) 知识库 ID(纯字符串);2) 知识库 URL,如 https://alidocs.dingtalk.com/i/spaces/{workspaceId}/overview,系统自动提取其中的 workspaceId。当 targetFolderId 不传时,移动到该知识库的根目录下。如果同时传了 targetFolderId,则以 targetFolderId 为准。" } }, "interface_ref": { "product_id": "doc", "rpc_name": "move_document" } }, "doc.query_export_job": { "title": "查询文档导出任务状态", "description": "用于查询通过 submit_export_job 提交的文字文档导出任务的执行状态,任务完成时返回文件下载链接。", "parameters": { "jobId": { "type": "string", "description": "由 submit_export_job 返回的导出任务 ID。必填。", "required": true } }, "interface_ref": { "product_id": "doc", "rpc_name": "query_export_job" } }, "doc.remove_permission": { "title": "移除节点成员权限", "description": "从知识库节点移除指定企业用户的权限(仅支持 USER 类型)。\r\n\r\n通过传入 userIds 列表批量移除成员在节点上的权限,移除后相关用户将无法通过该节点的直接授权访问内容(若有父节点继承权限则仍可通过继承权限访问)。\r\n\r\n注意事项:\r\n- OWNER 角色不可通过此接口移除。\r\n- **权限要求(业务规则)**:操作者必须在该节点上具备「可编辑(EDITOR)」及以上角色(OWNER / MANAGER / EDITOR)。DOWNLOADER / READER / 非成员调用会返回 `forbidden.accessDenied`,错误信息会明确提示所需的最低角色。\r\n- 单次请求 `userIds` 列表最多传 30 个,超出需分批调用。", "parameters": { "nodeId": { "type": "string", "description": "目标节点的 nodeId(文档、文件夹或文件),可通过 list_nodes 工具获取。", "required": true }, "userIds": { "type": "array", "description": "要移除权限的用户 userId 列表(钉钉 staffId / 外部 userId 格式),至少包含一个 userId,单次最多 30 个。当前 Agent 写操作仅支持移除企业用户权限,故入参直接以扁平的 userId 列表呈现。", "required": true }, "workspaceId": { "type": "string", "description": "目标知识库的标识,选填。仅用于辅助构造返回的 docUrl,业务实际依赖 nodeId 定位节点;支持两种格式:1) 知识库 ID(纯字符串);2) 知识库 URL,如 https://alidocs.dingtalk.com/i/spaces/{workspaceId}/overview,系统自动提取其中的 workspaceId。" } }, "interface_ref": { "product_id": "doc", "rpc_name": "remove_permission" } }, "doc.rename_document": { "title": "对指定节点进行重命名", "description": "对指定节点进行重命名。\r\n\r\n支持范围:\r\n- 知识库(workspace)下的文档节点、文件夹节点\r\n\r\n权限要求:\r\n- 对目标节点有编辑权限", "parameters": { "newName": { "type": "string", "description": "重命名后的新名称,不能为空,长度不超过 255 个字符。", "required": true }, "nodeId": { "type": "string", "description": "要重命名的节点标识,支持以下格式:1) 文档/文件夹 URL,如 https://alidocs.dingtalk.com/i/nodes/{dentryUuid};2) dentryUuid(32 位字母数字字符串)。", "required": true } }, "interface_ref": { "product_id": "doc", "rpc_name": "rename_document" } }, "doc.reply_comment": { "title": "回复评论", "description": "回复钉钉文档中的已有评论,支持普通文字回复和表情贴图回复,支持 @提及用户。\r\n\r\n通过 nodeId 定位文档,通过 replyCommentKey 指定被回复的评论(可从 create_comment 或 list_comments 的返回结果中获取)。\r\n- 普通回复:填写 content,不填 emoji。\r\n- 表情贴图回复:填写 content(表情名称),同时将 emoji 设为 true。表情回复的 categoryFeature 会自动从被回复评论继承。\r\n- @提及用户:填写 mentionedUserIds,被提及用户会收到通知。\r\n操作受权限控制,仅当调用者对文档有评论权限时可回复评论。", "parameters": { "content": { "type": "string", "description": "回复的文字内容,纯文本格式。表情回复时填写表情名称。必填。", "required": true }, "emoji": { "type": "boolean", "description": "设为 true 时,本次回复将作为表情贴图回复,categoryFeature 会自动从被回复评论继承。默认 false。" }, "mentionedUserIds": { "type": "array", "description": "填写后,评论内容中会插入 @mention 节点,并向对应用户发送通知。" }, "nodeId": { "type": "string", "description": "目标文档的标识,支持传入 URL 或 ID(dentryUuid)。必填。", "required": true }, "replyCommentKey": { "type": "string", "description": "被回复评论的唯一标识,格式:{13位毫秒时间戳}{32位UUID},共45位。可从 create_comment 或 list_comments 返回结果中获取。必填。", "required": true } }, "interface_ref": { "product_id": "doc-comment", "rpc_name": "reply_comment" } }, "doc.search_documents": { "title": "搜索文档", "description": "根据关键词和多种过滤条件搜索当前用户有权限访问的文档列表。\r\n\r\n支持的过滤条件:\r\n- keyword:关键词匹配文档标题和内容\r\n- extensions:按文件扩展名精确过滤(pdf/docx/png 等)\r\n- createdTimeFrom / createdTimeTo:按创建时间范围过滤\r\n- visitedTimeFrom / visitedTimeTo:按访问时间范围过滤\r\n- creatorUserIds:按创建者用户 ID 过滤\r\n - editorUserIds:按编辑者用户 ID 过滤\r\n- mentionedUserIds:按文档中 @提及的用户 ID 过滤\r\n- workspaceIds:按知识库范围过滤(支持知识库 URL)\r\n\r\n支持分页获取结果。搜索范围为用户在当前组织内有权限访问的所有文档数据。\r\n所有过滤条件均为可选,不传则不过滤。多个条件同时传入时取交集", "parameters": { "createdTimeFrom": { "type": "number", "description": "创建时间范围的起始时间(毫秒时间戳,含)" }, "createdTimeTo": { "type": "number", "description": "创建时间范围的截止时间(毫秒时间戳,含)" }, "creatorUserIds": { "type": "array", "description": "按创建者过滤,传入用户 ID 列表" }, "editorUserIds": { "type": "array", "description": "按编辑者过滤,传入用户 ID 列表" }, "extensions": { "type": "array", "description": "按文件扩展名精确过滤,不含点号。例如 [\"pdf\", \"docx\", \"png\"]。与 fileTypes 可同时使用。" }, "keyword": { "type": "string", "description": "搜索关键词,匹配文档标题和内容。不传则返回最近访问的文档列表。" }, "mentionedUserIds": { "type": "array", "description": "按文档中 @提及的用户过滤" }, "pageSize": { "type": "number", "description": "每页返回的文档数量,默认 10,最大 30" }, "pageToken": { "type": "string", "description": "分页游标,从上一次请求的返回结果中获取 nextPageToken" }, "visitedTimeFrom": { "type": "number", "description": "访问时间范围的起始时间(毫秒时间戳,含)" }, "visitedTimeTo": { "type": "number", "description": "访问时间范围的截止时间(毫秒时间戳,含)" }, "workspaceIds": { "type": "array", "description": "按知识库范围过滤,支持知识库 URL" } }, "interface_ref": { "product_id": "doc", "rpc_name": "search_documents" } }, "doc.update_document": { "title": "更新钉钉文档的内容", "description": "更新钉钉文档的内容,扩展名=adoc,其他类型在线文档不能使用此mcp服务,支持两种更新模式。\r\n\r\n## 更新模式\r\n\r\n1. **overwrite**(覆盖,默认):清空文档全部内容后重新写入。适用于需要完整替换文档内容的场景。⚠️ 会丢失原有内容,请谨慎使用。\r\n2. **append**(追加):在文档末尾追加新内容。最安全的模式,不影响现有内容。\r\n 支持通过 index 参数指定插入位置(从 0 开始);不传 index 时追加到末尾。\r\n block 的 index 可通过 list_document_blocks 工具获取。\r\n 插入成功后,该位置及之后的所有 block 的 index 会依次 +1。\r\n\r\n## 注意事项\r\n- 默认模式为 overwrite,不传 mode 时使用覆盖模式\r\n- overwrite 模式会清空所有内容,包括图片、评论等,请谨慎使用\r\n- 写入内容长度上限 10000 字符,超出请分批写入", "parameters": { "format": { "type": "string", "description": "指定数据的格式,可选为 markdown 或 jsonml,默认为 markdown" }, "index": { "type": "number", "description": "插入位置(从 0 开始),仅在 mode=append 时生效。指定将内容插入到文档第几个 block 之前。不传时追加到末尾。block 的 index 可通过 list_document_blocks 工具获取。插入成功后,该位置及之后的所有 block 的 index 会依次 +1。" }, "jsonml": { "type": "string", "description": "要写入的 JsonML 内容,format 为 jsonml 时必填。overwrite 模式下为完整的新文档内容,append 模式下为追加的内容。" }, "markdown": { "type": "string", "description": "要写入的 Markdown 内容,format 为 markdown 或缺省时必填。overwrite 模式下为完整的新文档内容,append 模式下为追加的内容。" }, "mode": { "type": "string", "description": "更新模式,默认 overwrite。可选值:overwrite(覆盖全文)、append(追加到末尾)。" }, "nodeId": { "type": "string", "description": "目标文档的标识,支持传入文档链接 URL 或文档 ID(dentryUuid),系统自动识别。必填。", "required": true }, "revision": { "type": "string", "description": "文档版本号" } }, "interface_ref": { "product_id": "doc", "rpc_name": "update_document" } }, "doc.update_document_block": { "title": "更新块元素", "description": "更新指定文档的指定块元素内容或样式,需要提供文档ID(dentryUuid)、块元素ID(blockId)与块元素内容(必须包含 blockType 及对应类型的属性对象)。操作受文档权限控制,仅当调用者拥有编辑权限时生效。", "parameters": { "blockId": { "type": "string", "description": "待删除块元素的唯一标识。可通过 list_document_blocks 工具查询获取(返回结果中的 blockId 字段)。目前仅支持根目录下的第一级块元素的 blockId。必填。", "required": true }, "element": { "type": "object", "description": "待插入的块元素,必须包含 blockType 及对应类型的属性对象,详见块元素数据结构附录。最精简示例:{\"blockType\": \"paragraph\", \"paragraph\": {}}。" }, "format": { "type": "string", "description": "数据的格式,可选为 element 或 jsonml,默认为 element" }, "jsonml": { "type": "string", "description": "jsonml 格式数据,适合无损编辑" }, "nodeId": { "type": "string", "description": "目标文档的标识,支持传入文档链接 URL 或文档 ID(dentryUuid),系统自动识别。必填。", "required": true } }, "interface_ref": { "product_id": "doc", "rpc_name": "update_document_block" } }, "doc.update_permission": { "title": "变更节点成员角色", "description": "修改企业用户在知识库节点上的角色(仅支持 USER 类型)。\r\n\r\n通过传入 userIds 列表批量调整成员角色,同一成员在同一节点只能拥有一个角色,变更后旧角色自动替换。\r\n\r\n注意事项:\r\n- OWNER 角色不可通过此接口变更。\r\n- 若成员的角色来自父节点的权限继承(PASS_ON 模式),且继承的角色高于目标角色,接口会拒绝操作。\r\n- **权限要求(业务规则)**:操作者必须在该节点上具备「可编辑(EDITOR)」及以上角色(OWNER / MANAGER / EDITOR)。\r\n- 单次请求 `userIds` 列表最多传 30 个,超出需分批调用。\r\n- 入参直接采用扁平的 `userIds: List\u003cString\u003e`,每个元素为钉钉 staffId(外部 userId 格式,由钉钉开放平台体系下颁发)。", "parameters": { "nodeId": { "type": "string", "description": "目标节点的 nodeId。", "required": true }, "roleId": { "type": "string", "description": "变更后的角色,取值:MANAGER、EDITOR、DOWNLOADER、READER。", "required": true }, "userIds": { "type": "array", "description": "要变更角色的用户 userId 列表(钉钉 staffId / 外部 userId 格式,由钉钉开放平台体系下颁发;通常为数字字符串),至少包含一个 userId,单次最多 30 个。如果你只有 unionId,请先调用钉钉开放平台「根据 unionId 获取 userId」接口换取 userId。", "required": true }, "workspaceId": { "type": "string", "description": "目标知识库的标识,选填。仅用于辅助构造返回的 docUrl,业务实际依赖 nodeId 定位节点;支持两种格式:1) 知识库 ID(纯字符串);2) 知识库 URL,如 https://alidocs.dingtalk.com/i/spaces/{workspaceId}/overview,系统自动提取其中的 workspaceId。" } }, "interface_ref": { "product_id": "doc", "rpc_name": "update_permission" } }, "drive.add_permission": { "title": "添加节点成员", "description": "为知识库下的节点(文档、文件夹、文件)添加指定角色的企业用户成员(仅支持 USER 类型)。\r\n\r\n通过传入 userIds 列表批量授予企业用户对节点的访问权限,添加成功后即可按指定角色访问该节点及其子节点(若子节点继承权限)。\r\n\r\n注意事项:\r\n- OWNER 角色不可通过此接口添加。\r\n- **权限要求(业务规则)**:操作者必须在该节点上具备「可编辑(EDITOR)」及以上角色(OWNER / MANAGER / EDITOR)。\r\n- 单次请求 `userIds` 列表最多传 30 个,超出需分批调用。\r\n- 入参直接采用扁平的 `userIds: List\u003cString\u003e`,每个元素为钉钉 staffId(外部 userId 格式,由钉钉开放平台体系下颁发)。如果你只有 unionId,请先调用钉钉开放平台「根据 unionId 获取 userId」接口换取。", "parameters": { "nodeId": { "type": "string", "description": "目标节点的 nodeId(文档、文件夹或文件),可通过 list_nodes 工具获取。", "required": true }, "roleId": { "type": "string", "description": "授予成员的角色,取值:MANAGER、EDITOR、DOWNLOADER、READER。", "required": true }, "userIds": { "type": "array", "description": "被授权的用户 userId 列表(钉钉 staffId / 外部 userId 格式,由钉钉开放平台体系下颁发;通常为数字字符串),至少包含一个 userId,单次最多 30 个。如果你只有 unionId,请先调用钉钉开放平台「根据 unionId 获取 userId」接口换取 userId。", "required": true }, "workspaceId": { "type": "string", "description": "目标知识库的标识,选填。仅用于辅助构造返回的 docUrl,业务实际依赖 nodeId 定位节点;支持两种格式:1) 知识库 ID(纯字符串);2) 知识库 URL,如 https://alidocs.dingtalk.com/i/spaces/{workspaceId}/overview,系统自动提取其中的 workspaceId。" } }, "interface_ref": { "product_id": "doc", "rpc_name": "add_permission" } }, "drive.commit_upload": { "title": "commit_upload", "description": "文件上传流程:\r\nStep 1:调用 get_upload_info 获取预签名的 OSS 上传 URL\r\nStep 2:使用 Step 1 返回的 URL 将文件 PUT 到 OSS\r\nStep 3:调用本接口提交文件,传入Step 1返回的 uploadId 与对应的 fileName、fileSize 完成文件上传", "parameters": { "conflictHandler": { "type": "string", "description": "文件名称冲突策略,不传则默认为 AUTO_RENAME。\nAUTO_RENAME:自动重命名, \nOVERWRITE:覆盖 \nRETURN_DENTRY_IF_EXISTS:返回已存在文件 RETURN_ERROR_IF_EXISTS:文件已存在时报错" }, "fileName": { "type": "string", "description": "文件名(含扩展名),须与 get_upload_info 时传入的 fileName 一致", "required": true }, "fileSize": { "type": "number", "description": "文件大小(字节),须与 get_upload_info 时传入的 fileSize 一致,用于完整性校验" }, "parentId": { "type": "string", "description": "父节点 ID(dentryUuid 格式)。不传则提交到空间根目录。须与 get_upload_info 时传入的 parentId 一致" }, "spaceId": { "type": "string", "description": "目标空间 ID。不传时后端自动使用当前用户「我的文件」对应的 spaceId" }, "uploadId": { "type": "string", "description": "上传 ID,来自 get_upload_info 返回的 uploadId", "required": true } }, "interface_ref": { "product_id": "drive", "rpc_name": "commit_upload" } }, "drive.copy_document": { "title": "将指定节点复制到目标文件夹", "description": "将指定节点复制到目标文件夹。\r\n\r\n支持的节点类型:知识库节点(文档、文件夹)、钉盘文件/文件夹。\r\nnodeId 支持文档 URL 或 dentryUuid(32 位字母数字字符串)。\r\ntargetFolderId 为目标文件夹的 dentryUuid;workspaceId 为目标知识库标识,不传 targetFolderId 时复制到该知识库根目录,如果不传 targetFolderId 和 workspaceId,默认到当前用户所在组织的「我的文档」下\r\n\r\n权限要求:\r\n- 对源节点有可查看下载权限\r\n- 对目标文件夹有写入权限\r\n\r\n注意:复制操作底层可能异步执行,异步时操作已提交但新节点 ID 无法立即返回,请稍后查看目标文件夹确认结果。", "parameters": { "nodeId": { "type": "string", "description": "要复制的节点标识,支持以下格式:\\n1. 文档/文件夹 URL,如 https://alidocs.dingtalk.com/i/nodes/{dentryUuid}\\n2. dentryUuid(32 位字母数字字符串)", "required": true }, "targetFolderId": { "type": "string", "description": "目标文件夹的 dentryUuid(32 位字母数字字符串),复制后的节点将放置在此文件夹下。" }, "workspaceId": { "type": "string", "description": "目标知识库的标识,支持两种格式:1) 知识库 ID(纯字符串);2) 知识库 URL,如 https://alidocs.dingtalk.com/i/spaces/{workspaceId}/overview,系统自动提取其中的 workspaceId。当 targetFolderId 不传时,复制到该知识库的根目录下。与 targetFolderId 至少传一个。" } }, "interface_ref": { "product_id": "doc", "rpc_name": "copy_document" } }, "drive.create_folder": { "title": "创建文件夹", "description": "在钉盘中创建一个新文件夹\r\n最简用法:只传 name,文件夹会创建在当前用户「我的文件」的根目录下。\r\n如果想创建在某个子文件夹里,传 parentId(从 list_files 或 create_folder 的返回值中获取)。\r\n创建成功后返回 fileId,可直接用于后续操作(如在该文件夹下继续创建子文件夹或上传文件)。", "parameters": { "name": { "type": "string", "description": "文件夹名称,最长 50 个字符", "required": true }, "parentId": { "type": "string", "description": "父节点 ID(dentryUuid 格式)。不传则在空间根目录下创建" }, "spaceId": { "type": "string", "description": "空间 ID。绝大多数情况下不需要传,后端自动使用当前用户默认空间 spaceId" } }, "interface_ref": { "product_id": "drive", "rpc_name": "create_folder" } }, "drive.delete_document": { "title": "删除节点", "description": "将指定节点移入回收站,30 天内可从回收站恢复,超过 30 天将被永久删除。\r\n\r\n支持范围:\r\n- 知识库(workspace)下的文档节点、文件夹节点\r\n- 钉盘「我的文件」或「团队空间(space)」下的文件、文件夹节点(但钉盘操作仍建议走钉盘MCP服务)\r\n\r\n不支持的操作:\r\n- 不支持直接删除知识库本身(workspace)\r\n- 不支持直接删除团队空间(space)\r\n\r\n权限要求:\r\n- 对目标节点有管理权限(owner 或被授予管理权限的成员)\r\n\r\n注意事项:\r\n- 删除操作不可立即撤销,请在调用前向用户确认\r\n- 删除文件夹时,文件夹内的所有子节点也会一并移入回收站", "parameters": { "nodeId": { "type": "string", "description": "要删除的节点标识,支持以下格式:1) 文档/文件夹 URL,如 https://alidocs.dingtalk.com/i/nodes/{dentryUuid};2) dentryUuid(32 位字母数字字符串)。", "required": true } }, "interface_ref": { "product_id": "doc", "rpc_name": "delete_document" } }, "drive.download_file": { "title": "下载文件", "description": "获取钉盘普通文件的下载链接。调用钉盘文件下载接口,返回 OSS 预签名下载链接,链接有效期 15 分钟", "parameters": { "fileId": { "type": "string", "description": "文件 ID(dentryUuid 格式)", "required": true }, "spaceId": { "type": "string", "description": "文件所属空间 ID" } }, "interface_ref": { "product_id": "drive", "rpc_name": "download_file" } }, "drive.get_file_info": { "title": "获取文件元数据信息", "description": "获取钉盘中指定节点(文件或文件夹)的元数据信息,包括文件名、类型、状态、路径、创建时间、文件大小等", "parameters": { "fileId": { "type": "string", "description": "节点 ID(dentryUuid 格式),统一标识文件和文件夹", "required": true }, "spaceId": { "type": "string", "description": "节点所属空间 ID。可不传,后端自动从 fileId(dentryUuid 格式)中解析出 spaceId" } }, "interface_ref": { "product_id": "drive", "rpc_name": "get_file_info" } }, "drive.get_upload_info": { "title": "get_upload_info", "description": "文件上传流程:\r\nStep 1:调用本接口获取预签名的 OSS 上传 URL\r\nStep 2:使用 Step 1 返回的 URL 将文件 PUT 到 OSS\r\nStep 3:调用commit_upload 提交文件,传入本接口返回的 uploadId 与对应的 fileName、fileSize 完成文件上传", "parameters": { "fileName": { "type": "string", "description": "文件名,须包含扩展名,如 报告.pdf。", "required": true }, "fileSize": { "type": "number", "description": "文件大小(字节),用于服务端生成上传凭证和后续完整性校验。", "required": true }, "mimeType": { "type": "string", "description": "文件 MIME 类型,如 application/pdf。不传时由服务端根据文件扩展名自动推断。" }, "parentId": { "type": "string", "description": "父节点 ID(dentryUuid 格式)。不传则上传到空间根目录。" }, "spaceId": { "type": "string", "description": "目标空间 ID。不传时后端自动使用当前用户「我的文件」对应的 spaceId。" } }, "interface_ref": { "product_id": "drive", "rpc_name": "get_upload_info" } }, "drive.list_files": { "title": "获取文件/文件夹列表", "description": "列出钉盘指定文件夹下的文件和文件夹,支持分页和排序\r\n最简用法:不传任何参数,列出默认空间根目录下的内容。\r\n如果想列出某个子文件夹的内容,传 parentId(从 create_folder 或 list_files 返回值中获取)。\r\n使用 nextToken 游标翻页:首次不传,后续翻页传上一次返回的 nextToken;nextToken 为 null 表示没有更多数据。", "parameters": { "maxResults": { "type": "number", "description": "每页返回数量,默认 20,最大 50", "required": true }, "nextToken": { "type": "string", "description": "分页游标。首次请求不传;翻页时传上一次响应返回的 nextToken" }, "order": { "type": "string", "description": "排序方向。asc(升序)/ desc(降序),默认 desc" }, "orderBy": { "type": "string", "description": "排序字段。可选值:createTime(创建时间)、modifyTime(修改时间)、name(名称)" }, "parentId": { "type": "string", "description": "父文件夹 ID(dentryUuid 格式)。不传则列出「我的文件」根目录下的内容" }, "spaceId": { "type": "string", "description": "空间 ID。绝大多数情况下不需要传,后端自动使用当前用户「我的文件」对应的 spaceId" }, "withThumbnail": { "type": "boolean", "description": "是否返回缩略图信息。默认 false" } }, "interface_ref": { "product_id": "drive", "rpc_name": "list_files" } }, "drive.list_permission": { "title": "查询节点成员列表", "description": "查询知识库节点当前的成员权限列表。", "parameters": { "filterRoleIds": { "type": "array", "description": "按角色过滤成员列表,选填。取值:OWNER、MANAGER、EDITOR、DOWNLOADER、READER。不传时返回所有角色的成员。" }, "maxResults": { "type": "number", "description": "期望返回的最大成员条数,默认 30,最大 200。底层一次性返回全量成员后在内存中按本字段截断;本接口不支持游标翻页,不存在 nextToken。若发生截断(出参 truncated=true),可通过出参 totalCount 感知全量成员数,并通过 filterRoleIds 收窄查询范围。" }, "nodeId": { "type": "string", "description": "目标节点的 nodeId。", "required": true }, "workspaceId": { "type": "string", "description": "目标知识库的标识,选填。仅用于辅助构造返回的 docUrl,业务实际依赖 nodeId 定位节点;支持两种格式:1) 知识库 ID(纯字符串);2) 知识库 URL,如 https://alidocs.dingtalk.com/i/spaces/{workspaceId}/overview,系统自动提取其中的 workspaceId。" } }, "interface_ref": { "product_id": "doc", "rpc_name": "list_permission" } }, "drive.list_spaces": { "title": "list_spaces", "description": "获取当前用户可访问的空间列表。\r\n最简用法:不传任何参数,返回所有企业空间。\r\n空间类型筛选:通过 spaceType 参数可以筛选返回的空间类型:\r\norgSpace(或 不传):返回企业空间列表\r\nmySpace:返回用户的\"我的文件\"个人空间\r\n支持游标分页,使用 nextToken 进行翻页(仅企业空间支持分页)。\r\n返回结果说明:\r\n当 spaceType 为 orgSpace ,返回企业团队空间列表\r\n当 spaceType 为 mySpace 时,返回单个\"我的文件\"空间\r\n如果 nextToken 不为空,表示还有更多空间可以查询(仅企业空间)", "parameters": { "maxResults": { "type": "number", "description": "每页返回数量,默认 20,最大 50。建议根据实际需求调整,较大的值可以减少请求次数,但会增加单次响应的数据量。仅 spaceType 为 orgSpace 时有效" }, "nextToken": { "type": "string", "description": "分页游标。首次请求不传,后续请求传上一次返回的 nextToken。当 nextToken 为 null 时,表示已获取所有空间。仅 spaceType 为 orgSpace 时有效" }, "spaceType": { "type": "string", "description": "空间类型。可选值:orgSpace(企业空间)、mySpace(我的文件)。不传时默认为 orgSpace" } }, "interface_ref": { "product_id": "drive", "rpc_name": "list_spaces" } }, "drive.move_document": { "title": "移动节点", "description": "将指定节点移动到目标文件夹。\r\n\r\n支持的节点类型:知识库节点(文档、文件夹)、钉盘文件/文件夹。\r\nnodeId 支持文档 URL 或 dentryUuid(32 位字母数字字符串)。\r\ntargetFolderId 为目标文件夹的 dentryUuid;workspaceId 为目标知识库标识,不传 targetFolderId 时移动到该知识库根目录,如果不传 targetFolderId 和 workspaceId,默认到当前用户所在组织的「我的文档」下\r\n\r\n权限要求:\r\n- 对源节点有编辑权限\r\n- 对目标文件夹有写入权限\r\n\r\n注意:移动操作底层可能异步执行,异步时操作已提交但无法立即确认完成,请稍后查看目标文件夹确认结果。", "parameters": { "nodeId": { "type": "string", "description": "要移动的节点标识,支持以下格式:\\n1. 文档/文件夹 URL,如 https://alidocs.dingtalk.com/i/nodes/{dentryUuid}\\n2. dentryUuid(32 位字母数字字符串)", "required": true }, "targetFolderId": { "type": "string", "description": "目标文件夹的 dentryUuid(32 位字母数字字符串),节点将被移动到此文件夹下。" }, "workspaceId": { "type": "string", "description": "目标知识库的标识,支持两种格式:1) 知识库 ID(纯字符串);2) 知识库 URL,如 https://alidocs.dingtalk.com/i/spaces/{workspaceId}/overview,系统自动提取其中的 workspaceId。当 targetFolderId 不传时,移动到该知识库的根目录下。如果同时传了 targetFolderId,则以 targetFolderId 为准。" } }, "interface_ref": { "product_id": "doc", "rpc_name": "move_document" } }, "drive.permission_remove": { "title": "移除节点成员权限", "description": "从知识库节点移除指定企业用户的权限(仅支持 USER 类型)。\r\n\r\n通过传入 userIds 列表批量移除成员在节点上的权限,移除后相关用户将无法通过该节点的直接授权访问内容(若有父节点继承权限则仍可通过继承权限访问)。\r\n\r\n注意事项:\r\n- OWNER 角色不可通过此接口移除。\r\n- **权限要求(业务规则)**:操作者必须在该节点上具备「可编辑(EDITOR)」及以上角色(OWNER / MANAGER / EDITOR)。DOWNLOADER / READER / 非成员调用会返回 `forbidden.accessDenied`,错误信息会明确提示所需的最低角色。\r\n- 单次请求 `userIds` 列表最多传 30 个,超出需分批调用。", "parameters": { "nodeId": { "type": "string", "description": "目标节点的 nodeId(文档、文件夹或文件),可通过 list_nodes 工具获取。", "required": true }, "userIds": { "type": "array", "description": "要移除权限的用户 userId 列表(钉钉 staffId / 外部 userId 格式),至少包含一个 userId,单次最多 30 个。当前 Agent 写操作仅支持移除企业用户权限,故入参直接以扁平的 userId 列表呈现。", "required": true }, "workspaceId": { "type": "string", "description": "目标知识库的标识,选填。仅用于辅助构造返回的 docUrl,业务实际依赖 nodeId 定位节点;支持两种格式:1) 知识库 ID(纯字符串);2) 知识库 URL,如 https://alidocs.dingtalk.com/i/spaces/{workspaceId}/overview,系统自动提取其中的 workspaceId。" } }, "interface_ref": { "product_id": "doc", "rpc_name": "remove_permission" } }, "drive.permission_update": { "title": "变更节点成员角色", "description": "修改企业用户在知识库节点上的角色(仅支持 USER 类型)。\r\n\r\n通过传入 userIds 列表批量调整成员角色,同一成员在同一节点只能拥有一个角色,变更后旧角色自动替换。\r\n\r\n注意事项:\r\n- OWNER 角色不可通过此接口变更。\r\n- 若成员的角色来自父节点的权限继承(PASS_ON 模式),且继承的角色高于目标角色,接口会拒绝操作。\r\n- **权限要求(业务规则)**:操作者必须在该节点上具备「可编辑(EDITOR)」及以上角色(OWNER / MANAGER / EDITOR)。\r\n- 单次请求 `userIds` 列表最多传 30 个,超出需分批调用。\r\n- 入参直接采用扁平的 `userIds: List\u003cString\u003e`,每个元素为钉钉 staffId(外部 userId 格式,由钉钉开放平台体系下颁发)。", "parameters": { "nodeId": { "type": "string", "description": "目标节点的 nodeId。", "required": true }, "roleId": { "type": "string", "description": "变更后的角色,取值:MANAGER、EDITOR、DOWNLOADER、READER。", "required": true }, "userIds": { "type": "array", "description": "要变更角色的用户 userId 列表(钉钉 staffId / 外部 userId 格式,由钉钉开放平台体系下颁发;通常为数字字符串),至少包含一个 userId,单次最多 30 个。如果你只有 unionId,请先调用钉钉开放平台「根据 unionId 获取 userId」接口换取 userId。", "required": true }, "workspaceId": { "type": "string", "description": "目标知识库的标识,选填。仅用于辅助构造返回的 docUrl,业务实际依赖 nodeId 定位节点;支持两种格式:1) 知识库 ID(纯字符串);2) 知识库 URL,如 https://alidocs.dingtalk.com/i/spaces/{workspaceId}/overview,系统自动提取其中的 workspaceId。" } }, "interface_ref": { "product_id": "doc", "rpc_name": "update_permission" } }, "drive.rename_document": { "title": "对指定节点进行重命名", "description": "对指定节点进行重命名。\r\n\r\n支持范围:\r\n- 知识库(workspace)下的文档节点、文件夹节点\r\n\r\n权限要求:\r\n- 对目标节点有编辑权限", "parameters": { "newName": { "type": "string", "description": "重命名后的新名称,不能为空,长度不超过 255 个字符。", "required": true }, "nodeId": { "type": "string", "description": "要重命名的节点标识,支持以下格式:1) 文档/文件夹 URL,如 https://alidocs.dingtalk.com/i/nodes/{dentryUuid};2) dentryUuid(32 位字母数字字符串)。", "required": true } }, "interface_ref": { "product_id": "doc", "rpc_name": "rename_document" } }, "drive.search_files": { "title": "钉盘文件搜索", "description": "在钉盘空间中搜索文件、文件夹或空间,支持通过 searchTarget 参数切换搜索目标。\r\n\r\n支持三种搜索目标:\r\n1. searchTarget=all(默认):同时搜索文件和空间,返回混合结果\r\n2. searchTarget=file:搜索钉盘中的文件和文件夹,支持按文件类型、扩展名过滤\r\n3. searchTarget=space:搜索钉盘团队空间,返回匹配的空间列表,可快速定位目标空间\r\n\r\n推荐搜索流程:\r\n- 不确定目标 → searchTarget=all 获取所有匹配结果\r\n- 明确知道空间名 → searchTarget=space 定位空间 → list_files(parentId=rootFolderId) 遍历\r\n- 知道文件名/内容关键词 → searchTarget=file 直接搜索文件\r\n- 需要浏览指定空间的全部内容 → 使用 list_files(spaceId=xxx) 遍历,而非搜索\r\n\r\n搜索结果通过 type 字段区分:SPACE(空间)、FILE(普通文件)、FOLDER(文件夹)、ALIDOC(钉钉在线文档)。\r\n搜索范围为用户在当前组织内有权限访问的所有钉盘文件(我的文件+团队文件)。\r\n\r\n重要提示:搜索结果按相关性排序,第一页结果最相关。如果第一页未找到目标,建议优先调整搜索条件(更精确的关键词、添加 fileTypes/extensions 过滤、缩小时间范围等),而不是反复翻页。", "parameters": { "createdTimeFrom": { "type": "number", "description": "创建时间范围的起始时间(毫秒时间戳,含)。仅返回在此时间之后创建的结果。" }, "createdTimeTo": { "type": "number", "description": "创建时间范围的截止时间(毫秒时间戳,含)。仅返回在此时间之前创建的结果。" }, "creatorUserIds": { "type": "array", "description": "按创建者过滤,传入用户 uid 列表(纯数字字符串)。仅返回由指定用户创建的结果。" }, "extensions": { "type": "array", "description": "按文件扩展名精确过滤,不含点号。仅 searchTarget=file 或 all 时生效。如 [\"pdf\", \"docx\", \"adoc\"]。" }, "fileTypes": { "type": "array", "description": "按文件内容类型过滤,仅 searchTarget=file 或 all 时生效。可选值:alidoc(钉钉在线文档)、document(本地文档,如 Word/Excel/PDF)、image(图片)、video(视频)、audio(音频)、archive(压缩包)。不传返回所有类型。如需精确匹配具体格式(如只搜 pdf),请使用 extensions 参数。" }, "keyword": { "type": "string", "description": "搜索关键词,必填。searchTarget=file 或 all 时匹配文件名和内容;searchTarget=space 时匹配空间名称。", "required": true }, "modifiedTimeFrom": { "type": "number", "description": "修改时间范围的起始时间(毫秒时间戳,含)。仅返回在此时间之后修改过的结果。" }, "modifiedTimeTo": { "type": "number", "description": "修改时间范围的截止时间(毫秒时间戳,含)。仅返回在此时间之前修改过的结果。" }, "pageSize": { "type": "number", "description": "每页返回的结果数量,默认 10,最大 30。" }, "pageToken": { "type": "string", "description": "分页游标,从上一次返回结果中获取 nextCursor。首次不传。" }, "searchTarget": { "type": "string", "description": "搜索目标类型,默认 all。可选值:file(文件和文件夹)、space(钉盘空间)、all(全部)。" } }, "interface_ref": { "product_id": "drive", "rpc_name": "search_files" } }, "live.get_my_lives": { "title": "获取当前用户发起的直播列表", "description": "获取当前用户发起的直播列表,包含每场直播的基础信息与统计数据。返回字段包括:直播标题、封面图 URL、直播 ID、主播昵称、开始/结束时间戳、播放时长(毫秒)、观看量(UV)及直播状态(如已结束)。数据按分页返回,支持判断是否还有更多内容。适用于个人直播管理、历史记录查看等场景,仅展示当前用户有权限访问的直播内容。", "interface_ref": { "product_id": "live", "rpc_name": "get_my_lives" } }, "mail.batch_delete_message": { "title": "批量删除邮件", "description": "批量删除邮件", "parameters": { "deleteType": { "type": "number", "description": "删除类型:USER_DELETED(0) - 移动到已删除文件夹;ENTERPRISE_TRASH(1) - 移动到企业回收站;PERMANENT(2) - 永久删除" }, "email": { "type": "string", "description": "邮箱地址", "required": true }, "ids": { "type": "array", "description": "邮件id列表", "required": true } }, "interface_ref": { "product_id": "mail", "rpc_name": "batch_delete_message" } }, "mail.batch_delete_user_mail_contacts": { "title": "batch_delete_user_mail_contacts", "description": "批量删除用户邮箱联系人", "parameters": { "contactIds": { "type": "array", "description": "要删除的联系人 id 列表", "required": true }, "email": { "type": "string", "description": "用户的邮箱地址", "required": true } }, "interface_ref": { "product_id": "mail", "rpc_name": "batch_delete_user_mail_contacts" } }, "mail.batch_move_message": { "title": "批量移动邮件", "description": "批量移动邮件到指定文件夹", "parameters": { "destinationFolderId": { "type": "string", "description": "目标文件夹", "required": true }, "email": { "type": "string", "description": "邮箱地址", "required": true }, "ids": { "type": "array", "description": "邮件id列表", "required": true } }, "interface_ref": { "product_id": "mail", "rpc_name": "batch_move_message" } }, "mail.create_download_session": { "title": "创建附件下载会话", "description": "下载邮件附件", "parameters": { "attachmentId": { "type": "string", "description": "附件唯一标识", "required": true }, "email": { "type": "string", "description": "用户的邮箱地址", "required": true }, "messageId": { "type": "string", "description": "邮件的唯一标识id", "required": true } }, "interface_ref": { "product_id": "mail", "rpc_name": "create_download_session" } }, "mail.create_draft": { "title": "创建邮件草稿", "description": "创建邮件草稿", "parameters": { "body": { "type": "string", "description": "markdown格式的邮件正文内容" }, "ccRecipients": { "type": "array", "description": "抄送人Email地址列表" }, "from": { "type": "string", "description": "发信Email地址", "required": true }, "subject": { "type": "string", "description": "邮件主题" }, "toRecipients": { "type": "array", "description": "收件人Email地址列表" } }, "interface_ref": { "product_id": "mail", "rpc_name": "create_draft" } }, "mail.create_forward_draft": { "title": "创建转发草稿", "description": "创建转发草稿", "parameters": { "body": { "type": "string", "description": "markdown格式的邮件正文内容" }, "from": { "type": "string", "description": "发信Email地址", "required": true }, "messageId": { "type": "string", "description": "转发的原始邮件id", "required": true }, "saveToSentItems": { "type": "boolean", "description": "保存到发件箱" }, "subject": { "type": "string", "description": "邮件主题" }, "toRecipients": { "type": "array", "description": "收件人Email地址列表" } }, "interface_ref": { "product_id": "mail", "rpc_name": "create_forward_draft" } }, "mail.create_mail_folder": { "title": "创建邮件文件夹", "description": "该工具支持在指定邮箱下创建邮件文件夹。可以创建顶层文件夹,也可以在指定父文件夹下创建子文件夹。创建成功后返回新文件夹的 ID 和元信息。", "parameters": { "email": { "type": "string", "description": "邮件所属的邮箱地址", "required": true }, "folder": { "type": "string", "description": "父文件夹唯一标识,不传则创建顶层文件夹" }, "name": { "type": "string", "description": "新建邮件文件夹名称", "required": true } }, "interface_ref": { "product_id": "mail", "rpc_name": "create_mail_folder" } }, "mail.create_reply_draft": { "title": "创建回复草稿", "description": "创建回复草稿", "parameters": { "body": { "type": "string", "description": "markdown格式的邮件正文内容" }, "from": { "type": "string", "description": "发信Email地址", "required": true }, "messageId": { "type": "string", "description": "回复的原始邮件id", "required": true }, "saveToSentItems": { "type": "boolean", "description": "保存到发件箱" }, "subject": { "type": "string", "description": "邮件主题" }, "to": { "type": "string", "description": "收件人Email地址列表" } }, "interface_ref": { "product_id": "mail", "rpc_name": "create_reply_draft" } }, "mail.create_replyall_draft": { "title": "create_replyall_draft", "description": "创建回复全部草稿", "parameters": { "body": { "type": "string", "description": "markdown格式的邮件正文内容" }, "from": { "type": "string", "description": "发信Email地址", "required": true }, "messageId": { "type": "string", "description": "回复的原始邮件id", "required": true }, "saveToSentItems": { "type": "boolean", "description": "保存到发件箱" }, "subject": { "type": "string", "description": "邮件主题" }, "toRecipients": { "type": "array", "description": "收件人Email地址列表" } }, "interface_ref": { "product_id": "mail", "rpc_name": "create_replyall_draft" } }, "mail.create_user_mail_contact": { "title": "create_user_mail_contact", "description": "创建用户邮箱联系人", "parameters": { "contactEmail": { "type": "string", "description": "contactEmail" }, "displayName": { "type": "string", "description": "displayName" }, "email": { "type": "string", "description": "用户的邮箱地址" }, "firstName": { "type": "string", "description": "firstName" }, "lastName": { "type": "string", "description": "lastName" }, "middleName": { "type": "string", "description": "middleName" } }, "interface_ref": { "product_id": "mail", "rpc_name": "create_user_mail_contact" } }, "mail.create_user_message_template": { "title": "create_user_message_template", "description": "创建个人邮件模板", "parameters": { "body": { "type": "string", "description": "markdown格式的邮件正文内容", "required": true }, "ccRecipients": { "type": "array", "description": "抄送人Email地址列表" }, "email": { "type": "string", "description": "用户的邮箱地址", "required": true }, "from": { "type": "string", "description": "发信Email地址" }, "isDraft": { "type": "boolean", "description": "true:创建模板草稿, false: 创建正式模板, 默认为true" }, "name": { "type": "string", "description": "名称", "required": true }, "subject": { "type": "string", "description": "邮件主题", "required": true }, "toRecipients": { "type": "array", "description": "收件人Email地址列表" } }, "interface_ref": { "product_id": "mail", "rpc_name": "create_user_message_template" } }, "mail.delete_mail_folder": { "title": "删除邮件文件夹", "description": "该工具支持删除指定邮箱下的邮件文件夹。需要传入要删除的文件夹 ID,文件夹 ID 可通过列出邮件文件夹获得。不要把文件夹名称当作 ID。", "parameters": { "email": { "type": "string", "description": "邮件所属的邮箱地址", "required": true }, "id": { "type": "string", "description": "要删除的邮件文件夹 ID,不是文件夹名称", "required": true } }, "interface_ref": { "product_id": "mail", "rpc_name": "delete_mail_folder" } }, "mail.delete_user_message_template": { "title": "delete_user_message_template", "description": "删除用户邮件模板", "parameters": { "email": { "type": "string", "description": "用户的邮箱地址", "required": true }, "id": { "type": "string", "description": "模板id", "required": true } }, "interface_ref": { "product_id": "mail", "rpc_name": "delete_user_message_template" } }, "mail.get_email_by_message_id": { "title": "根据 messageId 获取邮件详情", "description": "根据 messageId 获取邮件详情", "parameters": { "bodyPage": { "type": "number", "description": "正文分页页码,默认为0(第一页)" }, "bodyPageSize": { "type": "number", "description": "正文分页大小(字符数),默认为 50*1024(51200字符)" }, "email": { "type": "string", "description": "邮件所属的邮箱地址", "required": true }, "messageId": { "type": "string", "description": "邮件ID", "required": true } }, "interface_ref": { "product_id": "mail", "rpc_name": "get_email_by_message_id" } }, "mail.get_thread": { "title": "获取会话信息", "description": "通过会话 ID 获取指定邮箱中的会话信息,默认仅返回会话基本信息,可通过 $select 参数指定需要额外返回的字段(如 $select=messages 返回会话内的邮件列表)", "parameters": { "conversationId": { "type": "string", "description": "会话唯一标识", "required": true }, "email": { "type": "string", "description": "会话所属的邮箱地址", "required": true } }, "interface_ref": { "product_id": "mail", "rpc_name": "get_thread" } }, "mail.get_user_message_template": { "title": "get_user_message_template", "description": "获取用户邮件模板详情", "parameters": { "bodyPage": { "type": "number", "description": "正文分页页码(从0开始),默认为0(第一页)" }, "bodyPageSize": { "type": "number", "description": "正文分页大小(字符数),默认为 50*1024(51200字符)" }, "email": { "type": "string", "description": "用户的邮箱地址", "required": true }, "id": { "type": "string", "description": "模板id", "required": true } }, "interface_ref": { "product_id": "mail", "rpc_name": "get_user_message_template" } }, "mail.list_folders": { "title": "列出邮件文件夹", "description": "该工具支持列出指定邮箱的顶层文件夹或指定父文件夹下的所有子文件夹。\r\n注意:该工具只会返回文件夹的 ID 和元信息(folderId为空则返回顶层文件夹,非空则返回指定父文件夹的子文件夹)", "parameters": { "email": { "type": "string", "description": "邮件所属的邮箱地址", "required": true }, "folderId": { "type": "string", "description": "文件夹唯一标识" } }, "interface_ref": { "product_id": "mail", "rpc_name": "list_folders" } }, "mail.list_mail_attachments": { "title": "列举邮件附件", "description": "列举邮件附件", "parameters": { "email": { "type": "string", "description": "用户邮件地址", "required": true }, "messageId": { "type": "string", "description": "邮件唯一标识", "required": true } }, "interface_ref": { "product_id": "mail", "rpc_name": "list_mail_attachments" } }, "mail.list_tags": { "title": "列出邮件标签", "description": "该工具支持列出指定邮箱下的所有邮件标签。只会返回标签 的 ID 和元信息(名称、父标签、邮件数量、未读数量等。", "parameters": { "email": { "type": "string", "description": "用户的邮箱地址", "required": true } }, "interface_ref": { "product_id": "mail", "rpc_name": "list_tags" } }, "mail.list_user_mail_contacts": { "title": "list_user_mail_contacts", "description": "列出用户邮箱联系人", "parameters": { "cursor": { "type": "string", "description": "cursor" }, "email": { "type": "string", "description": "email", "required": true }, "size": { "type": "number", "description": "size", "required": true } }, "interface_ref": { "product_id": "mail", "rpc_name": "list_user_mail_contacts" } }, "mail.list_user_mailboxes": { "title": "列出可用邮箱地址", "description": "查询当前钉钉用户可以使用的 Email 地址列表。", "interface_ref": { "product_id": "mail", "rpc_name": "list_user_mailboxes" } }, "mail.list_user_message_templates": { "title": "list_user_message_templates", "description": "列出用户邮件模板", "parameters": { "cursor": { "type": "string", "description": "光标, 其值取自响应中的nextCursor字段,首次列出设为\"\"" }, "email": { "type": "string", "description": "用户的邮箱地址", "required": true }, "size": { "type": "number", "description": "模板数", "required": true } }, "interface_ref": { "product_id": "mail", "rpc_name": "list_user_message_templates" } }, "mail.search_emails": { "title": "搜索邮件", "description": "使用类似 KQL 的查询表达式搜索邮件。\r\n该工具支持通过灵活的查询表达式、分页、排序和字段选择来搜索邮件。\r\n\r\n注意:该工具只会返回邮件的ID和元信息,不会返回完整的邮件正文内容", "parameters": { "cursor": { "type": "string", "description": "用于检索后续结果的分页游标。第一页时为空。" }, "email": { "type": "string", "description": "搜索目标Email地址", "required": true }, "query": { "type": "string", "description": "查询表达式用于筛选邮件,其语法类似于 KQL。\n\n对于字符串类型的值,你可以选择以下两种方式之一:\n使用双引号将字符串括起来(如果字符串本身包含双引号,则需使用两个连续的双引号进行转义);\n或者不使用双引号(此时字符串中不能包含空格)。\n\n如果字符串本身已经用双引号括起,则必须再在外层加一层双引号,并对内部原有的双引号进行转义(即每个内部双引号替换为两个双引号)。\n\n支持的字段包括:\n- date(日期)\n- size(大小)\n- tag(标签)\n- folderId(文件夹 ID):常用文件夹 ID 如下:\n* 1:表示“已发送”\n* 2:表示“收件箱”\n* 3:表示“垃圾邮件”\n* 5:表示“草稿”\n* 6:表示“已删除”\n- isRead(是否已读)\n- hasAttachments(是否有附件)\n- subject(主题)\n- attachname(附件名称)\n- body(正文)\n- from(发件人)\n- to(收件人)\n\n示例1:\n查找 2025 年 1 月 1 日之后收到、且不在垃圾邮件或已删除文件夹中的邮件:\ndate\u003e2025-01-01T00:00:00Z AND (NOT folderId:3) AND (NOT folderId:6)\n\n示例2:\n查找发件人为 “alice” 的邮件,或者收件人为 “alice\u003ca@b.com\u003e” 且位于“已发送”文件夹中的邮件:\n(from:\"alice\") OR (to:\"alice\u003ca@b.com\u003e\" AND folderId:1)\n\n示例3:\n查找主题中包含 “test” 关键词的邮件,或者包含附件名含 “file” 关键词且发件人为 alice 的邮件:\n(subject:\"test\") OR (attachname:\"file\" AND from:alice\u003ca@b.com\u003e)", "required": true }, "size": { "type": "string", "description": "每次请求返回的最大结果数量(1-100)。", "required": true } }, "interface_ref": { "product_id": "mail", "rpc_name": "search_emails" } }, "mail.search_mail_users": { "title": "搜索账号", "description": "搜索账号", "parameters": { "cursor": { "type": "string", "description": "cursor" }, "email": { "type": "string", "description": "email" }, "employeeNo": { "type": "string", "description": "按工号精确查询" }, "keyword": { "type": "string", "description": "搜索关键词(名字、昵称、拼音、工号、办公地点等)" }, "size": { "type": "number", "description": "size" } }, "interface_ref": { "product_id": "mail", "rpc_name": "search_mail_users" } }, "mail.send_draft": { "title": "发送邮件草稿", "description": "发送草稿箱中的邮件", "parameters": { "email": { "type": "string", "description": "用户的邮箱地址", "required": true }, "messageId": { "type": "string", "description": "邮件的唯一标识", "required": true }, "saveToSentItems": { "type": "boolean", "description": "是否将邮件保存到已发送文件夹中,默认为true" } }, "interface_ref": { "product_id": "mail", "rpc_name": "send_draft" } }, "mail.send_email": { "title": "发送邮件", "description": "使用指定的Email地址作为发件人发送一封邮件。", "parameters": { "body": { "type": "string", "description": "markdown格式的邮件正文内容", "required": true }, "ccRecipients": { "type": "array", "description": "抄送人Email地址列表" }, "from": { "type": "string", "description": "发信Email地址", "required": true }, "subject": { "type": "string", "description": "邮件主题", "required": true }, "toRecipients": { "type": "array", "description": "收件人Email地址列表", "required": true } }, "interface_ref": { "product_id": "mail", "rpc_name": "send_email" } }, "mail.update_draft": { "title": "更新邮件草稿", "description": "更新邮件草稿", "parameters": { "body": { "type": "string", "description": "markdown格式的邮件正文内容" }, "ccRecipients": { "type": "array", "description": "抄送人Email地址列表" }, "from": { "type": "string", "description": "发信Email地址", "required": true }, "id": { "type": "string", "description": "待更新的邮件id", "required": true }, "subject": { "type": "string", "description": "邮件主题" }, "toRecipients": { "type": "array", "description": "收件人Email地址列表" } }, "interface_ref": { "product_id": "mail", "rpc_name": "update_draft" } }, "mail.update_mail_folder": { "title": "更新邮件文件夹", "description": "该工具支持修改指定邮箱下邮件文件夹的名称。需要传入要更新的文件夹 ID 和新名称。文件夹 ID 可通过列出邮件文件夹获得,不要把文件夹名称当作 ID。", "parameters": { "email": { "type": "string", "description": "邮件所属的邮箱地址", "required": true }, "id": { "type": "string", "description": "要更新的邮件文件夹 ID,不是文件夹名称", "required": true }, "name": { "type": "string", "description": "更新后的邮件文件夹名称", "required": true } }, "interface_ref": { "product_id": "mail", "rpc_name": "update_mail_folder" } }, "mail.update_user_mail_contact": { "title": "update_user_mail_contact", "description": "修改用户邮箱联系人信息", "parameters": { "contactEmail": { "type": "string", "description": "contactEmail" }, "contactId": { "type": "string", "description": "要修改的联系人 id", "required": true }, "displayName": { "type": "string", "description": "displayName" }, "email": { "type": "string", "description": "用户的邮箱地址", "required": true }, "firstName": { "type": "string", "description": "firstName" }, "lastName": { "type": "string", "description": "lastName" }, "middleName": { "type": "string", "description": "middleName" } }, "interface_ref": { "product_id": "mail", "rpc_name": "update_user_mail_contact" } }, "mail.update_user_message_template": { "title": "update_user_message_template", "description": "更新用户邮件模板", "parameters": { "body": { "type": "string", "description": "markdown格式的邮件正文内容", "required": true }, "ccRecipients": { "type": "array", "description": "抄送人Email地址列表" }, "email": { "type": "string", "description": "用户的邮箱地址", "required": true }, "from": { "type": "string", "description": "发信Email地址" }, "id": { "type": "string", "description": "模板id", "required": true }, "name": { "type": "string", "description": "名称", "required": true }, "subject": { "type": "string", "description": "邮件主题", "required": true }, "toRecipients": { "type": "array", "description": "收件人Email地址列表" } }, "interface_ref": { "product_id": "mail", "rpc_name": "update_user_message_template" } }, "minutes.add_member_permission": { "title": "add_member_permission", "description": "批量给多个听记增加成员,并且设置成员的权限。权限类型为:0:管理员;1:所有者;2:可编辑;3:可查看/下载;4:仅查看。", "parameters": { "coverPermission": { "type": "string", "description": "是否覆盖已有权限,默认 false" }, "memberUids": { "type": "array", "description": "需要添加的成员的钉钉Uid列表,长整型" }, "policyId": { "type": "number", "description": "策略id:MANAGER(0L, \"管理员\"), OWNER(1L, \"所有者\"), EDITOR(2L, \"可编辑\"), READ_DOWNLOAD(3L, \"可查看/下载\"), READ(4L, \"仅查看\");" }, "roleSubResourceIds": { "type": "array", "description": "权限子模块,OrigContent(原始内容) / Summary(纪要) / Analysis(分析) / Note(笔记)" }, "uuids": { "type": "array", "description": "听记uuid列表,uuid为听记唯一标识" } }, "interface_ref": { "product_id": "minutes", "rpc_name": "add_member_permission" } }, "minutes.add_personal_hot_word": { "title": "add_personal_hot_word", "description": "添加听记个人热词\r\n对于听记语音识别中,需要优化识别结果的专有名词、人名、以及其他用户需要添加热词的场景使用\r\n热词长度不超过10个汉字或5个英文单词", "parameters": { "hotWordList": { "type": "array", "description": "hotWordList", "required": true } }, "interface_ref": { "product_id": "minutes", "rpc_name": "add_personal_hot_word" } }, "minutes.batch_get_minutes_details": { "title": "batch_get_minutes_details", "description": "根据听记taskUuid列表批量查询听记详情。输入参数:taskUuid列表(string[],必填,每个元素为听记的唯一标识符,最少传入1个)。返回对应听记的详情列表,每条记录包含:听记标题、时长、参与人列表、创建时间、听记唯一标识taskUuid、听记状态。适用于已知特定听记taskUuid需批量获取详情的列表展示场景。", "parameters": { "requestBody": { "type": "object", "description": "请求的taskUuid列表", "required": true } }, "interface_ref": { "product_id": "minutes", "rpc_name": "batch_get_minutes_details" } }, "minutes.cancel_upload_session": { "title": "cancel_upload_session", "description": "取消文件上传会话\r\n当需要取消create_upload_session创建的会话时使用该接口,传入要取消的会话ID", "parameters": { "sessionId": { "type": "string", "description": "需要取消的会话sessionId", "required": true } }, "interface_ref": { "product_id": "minutes", "rpc_name": "cancel_upload_session" } }, "minutes.complete_upload_session": { "title": "complete_upload_session", "description": "文件上传完成后,创建听记。\r\n必须在create_upload_session之后、预签名URL上传`curl -X PUT \"{presignedUrl}\" -T \"/path/to/file.mp4\"`完成后调用。\r\n调用流程参考create_upload_session介绍。\r\n幂等:同一sessionId重复调用直接返回已有的任务,不会重复创建。", "parameters": { "sessionId": { "type": "string", "description": "上传文件会话ID,create_upload_session返回的sessionId", "required": true } }, "interface_ref": { "product_id": "minutes", "rpc_name": "complete_upload_session" } }, "minutes.create_mind_graph": { "title": "create_mind_graph", "description": "触发创建听记思维导图任务。触发成功后,你需要知道听记思维导图任务状态,每2s调用一次query_mind_graph_status,如果状态是“进行中”需要保持轮询。", "parameters": { "question": { "type": "string", "description": "用户问题" }, "taskUuid": { "type": "string", "description": "听记唯一标识", "required": true } }, "interface_ref": { "product_id": "minutes", "rpc_name": "create_mind_graph" } }, "minutes.create_speaker_summary": { "title": "create_speaker_summary", "description": "触发创建发言人的段落总结任务,该任务将听记的发言人的所有撰写内容汇总总结,触发后需要继续调用查询接口去查询总结任务的结果", "parameters": { "uuids": { "type": "array", "description": "听记uuid列表" } }, "interface_ref": { "product_id": "minutes", "rpc_name": "create_speaker_summary" } }, "minutes.create_upload_session": { "title": "create_upload_session", "description": "创建文件上传会话,获取预签名上传URL\r\n调用方拿到 URL 后,直接用HTTP PUT将文件上传到该URL\r\n必须与complete_upload_session配合使用\r\n1.调用create_upload_session获取预签名上传URL和上传ID\r\n2.HTTP PUT预签名上传URL上传文件(不带HEADER)\r\n3.调用complete_upload_session传入会话ID", "parameters": { "fileName": { "type": "string", "description": "文件名(含后缀),用于校验文件类型。例如:\"meeting.mp4\"", "required": true }, "fileSize": { "type": "number", "description": "文件大小(单位:Byte),用于容量校验和上传链接过期时间计算", "required": true }, "minutesOption": { "type": "object", "description": "(可空)听记生成可选项" }, "title": { "type": "string", "description": "听记标题,不传时默认使用 fileName 去掉后缀" } }, "interface_ref": { "product_id": "minutes", "rpc_name": "create_upload_session" } }, "minutes.get_minutes_ai_summary": { "title": "get_minutes_ai_summary", "description": "根据听记唯一标识获取由AI生成的听记内容摘要。输入参数:目标听记的唯一标识符taskUuid。返回Markdown格式的摘要文本,内容由AI对听记转写原文进行结构化提炼生成,涵盖会议主题、核心结论、关键讨论点等。适用于快速了解听记核心内容、会议记录整理、摘要分享等场景。", "parameters": { "taskUuid": { "type": "string", "description": "听记uuid", "required": true } }, "interface_ref": { "product_id": "minutes", "rpc_name": "get_minutes_ai_summary" } }, "minutes.get_minutes_basic_info": { "title": "get_minutes_basic_info", "description": "根据听记唯一标识获取该听记的基础元数据信息。输入参数:听记的唯一标识符taskUuid。返回字段包括:创建人、开始时间、截止时间、听记标题、听记访问链接URL。适用于展示听记详情页头部信息、跳转听记原始链接、信息摘要展示等场景。", "parameters": { "taskUuid": { "type": "string", "description": "听记的taskUuid", "required": true } }, "interface_ref": { "product_id": "minutes", "rpc_name": "get_minutes_basic_info" } }, "minutes.get_minutes_keywords": { "title": "get_minutes_keywords", "description": "根据听记唯一标识查询该听记的关键字列表。输入参数:目标听记的唯一标识符taskUuid。返回关键字列表,每个元素为一个从听记内容中提取的核心关键词。适用于快速了解听记主题、关键词检索、内容分类打标及听记摘要辅助展示等场景。", "parameters": { "taskUuid": { "type": "string", "description": "听记的taskUuid", "required": true } }, "interface_ref": { "product_id": "minutes", "rpc_name": "get_minutes_keywords" } }, "minutes.get_minutes_transcription": { "title": "get_minutes_transcription", "description": "根据听记唯一标识查询该听记的完整语音转写原文。输入参数:听记的唯一标识符 taskUuid。返回转写内容列表,每条记录包含:发言人信息、语音转写文本、对应时间戳。适用于用户回顾会议发言内容、按发言人检索原文、生成会议记录等场景。", "parameters": { "direction": { "type": "string", "description": "听记转写按时间的正反序,0为正序,相对时间逐渐增大,1为反序,默认为0", "required": true }, "nextToken": { "type": "string", "description": "游标,第一次查询可为空,之后每次带上一次的游标" }, "taskUuid": { "type": "string", "description": "听记的taskUuid", "required": true } }, "interface_ref": { "product_id": "minutes", "rpc_name": "get_minutes_transcription" } }, "minutes.get_speaker_summary": { "title": "get_speaker_summary", "description": "查询发言人的段落总结任务的结果,该任务将听记的发言人的所有撰写内容汇总总结返回,配合创建任务使用", "parameters": { "uuids": { "type": "array", "description": "听记uuid列表,uuid为听记唯一标识" } }, "interface_ref": { "product_id": "minutes", "rpc_name": "get_speaker_summary" } }, "minutes.list_by_keyword_and_time_range": { "title": "list_by_keyword_and_time_range", "description": "新版:查询我的听记列表,支持输入关键词或者时间范围查询,返回听记列表。代替list_by_keyword_range。", "parameters": { "belongingConditionId": { "type": "string", "description": "筛选类型,默认noLimit,我创建的 created,分享给我的 shared" }, "bizTypeList": { "type": "array", "description": "业务类型:0到9" }, "createTimeEnd": { "type": "number", "description": "时间结束值" }, "createTimeStart": { "type": "number", "description": "时间开始值" }, "keyword": { "type": "string", "description": "搜索关键词" }, "maxResults": { "type": "number", "description": "每页数量" }, "nextToken": { "type": "string", "description": "分页查询下一次查询起始位置" } }, "interface_ref": { "product_id": "minutes", "rpc_name": "list_by_keyword_and_time_range" } }, "minutes.list_minutes_todos": { "title": "list_minutes_todos", "description": "根据听记唯一标识查询该听记中提取的待办事项列表。输入参数:目标听记的唯一标识符taskUuid。返回待办事项列表,每条记录包含:待办事项内容、待办唯一ID、参与人信息、待办时间。适用于会后跟进行动项、任务分配追踪、按人员或时间筛选待办等场景。", "parameters": { "taskUuid": { "type": "string", "description": "听记的taskUiUuid", "required": true } }, "interface_ref": { "product_id": "minutes", "rpc_name": "list_minutes_todos" } }, "minutes.list_my_hotwords": { "title": "list_my_hotwords", "description": "查询我的热词列表,返回个人的所有听记配置过的热词列表", "interface_ref": { "product_id": "minutes", "rpc_name": "list_my_hotwords" } }, "minutes.query_mind_graph_status": { "title": "query_mind_graph_status", "description": "查询思维导图任务状态,根据taskUuid查询对应思维导图状态。\r\n返回的结果里,任务状态(taskStatus)如下:\r\n0-进行中,1-成功,2-失败\r\n如果没有返回任务状态,也视为成功", "parameters": { "taskUuid": { "type": "string", "description": "听记唯一标识", "required": true } }, "interface_ref": { "product_id": "minutes", "rpc_name": "query_mind_graph_status" } }, "minutes.query_minutes_audio_url": { "title": "query_minutes_audio_url", "description": "查询听记的音频/视频地址,入参为 taskUuid 和操作人 uid,操作人需拥有该听记的\"读\"权限及以上才会返回;支持所有类型的听记(线上闪记、线下闪记、A1 硬件听记、上传文件听记等)。在返回地址前会过滤以下场景:听记已被删除、A1 无痕模式听记、临存过期的听记(媒体未准备好或临时存储已过期)。", "parameters": { "taskUuid": { "type": "string", "description": "听记uuid", "required": true } }, "interface_ref": { "product_id": "minutes", "rpc_name": "query_minutes_audio_url" } }, "minutes.query_minutes_by_tag_id": { "title": "query_minutes_by_tag_id", "description": "根据用户的标签或者分组信息来查询听记列表信息,用户的标签通过听记页面手动创建。", "parameters": { "maxResults": { "type": "number", "description": "maxResults" }, "nextToken": { "type": "string", "description": "nextToken" }, "tagId": { "type": "string", "description": "tagId", "required": true } }, "interface_ref": { "product_id": "minutes", "rpc_name": "query_minutes_by_tag_id" } }, "minutes.query_user_tag_list": { "title": "query_user_tag_list", "description": "查询我的的听记的标签或者分组列表,标签或者分组在听记页面创建。", "interface_ref": { "product_id": "minutes", "rpc_name": "query_user_tag_list" } }, "minutes.remove_member_permission": { "title": "remove_member_permission", "description": "批量移除多个听记的成员的权限。权限类型为:0:管理员;1:所有者;2:可编辑;3:可查看/下载;4:仅查看。", "parameters": { "memberUids": { "type": "array", "description": "需要添加的成员的钉钉Uid列表,长整型" }, "uuids": { "type": "array", "description": "听记uuid列表,uuid为听记唯一标识" } }, "interface_ref": { "product_id": "minutes", "rpc_name": "remove_member_permission" } }, "minutes.replace_minutes_text": { "title": "replace_minutes_text", "description": "把听记中所有出现的原文字替换为目标文字,包括转写段落和纪要摘要中出现的原文字都会被替换为目标文字", "parameters": { "originalText": { "type": "string", "description": "被替换的原始文字,如 \"张三\"。区分大小写,精确匹配", "required": true }, "replacedText": { "type": "string", "description": "替换后的目标文字,如 \"李四\",允许为空字符串(即删除原始文字)", "required": true }, "taskUuid": { "type": "string", "description": "听记的taskUuid", "required": true } }, "interface_ref": { "product_id": "minutes", "rpc_name": "replace_minutes_text" } }, "minutes.replace_speaker": { "title": "replace_speaker", "description": "批量替换听记转写中指定发言人,将源发言人(speakerNick)精确匹配的所有段落替换为目标发言人,支持同时替换 nickName 和 subSpeakerNickname 两种匹配方式,并自动更新纪要、待办中的发言人信息。", "parameters": { "speakerNick": { "type": "string", "description": "源发言人昵称,精确匹配转写段落中的 nickName 或 subSpeakerNickname 字段", "required": true }, "targetNickName": { "type": "string", "description": "目标发言人昵称,替换后所有匹配段落的发言人将显示为此名称", "required": true }, "targetUid": { "type": "string", "description": "目标发言人uid,如果为空则只修改发言人昵称" }, "taskUuid": { "type": "string", "description": "听记的taskUuid", "required": true } }, "interface_ref": { "product_id": "minutes", "rpc_name": "replace_speaker" } }, "minutes.update_minutes_summary": { "title": "update_minutes_summary", "description": "用传入的摘要文本全量覆盖听记的纪要内容,不触发 AI 重新生成。适用于用户手动编辑或 AI Agent 修改纪要的场景。", "parameters": { "summaryText": { "type": "string", "description": "更新纪要的全文内容", "required": true }, "taskUuid": { "type": "string", "description": "听记的taskUuid", "required": true } }, "interface_ref": { "product_id": "minutes", "rpc_name": "update_minutes_summary" } }, "minutes.update_minutes_title": { "title": "update_minutes_title", "description": "修改指定听记的标题名称。输入参数:taskUuid、newTitle 新的听记标题。操作成功返回更新结果状态。适用于用户对已有听记进行重命名、整理归档等场景。", "parameters": { "taskUuid": { "type": "string", "description": "听记的taskUuid", "required": true }, "title": { "type": "string", "description": "要更新的听记标题", "required": true } }, "interface_ref": { "product_id": "minutes", "rpc_name": "update_minutes_title" } }, "oa.approve_processInstance": { "title": "approve_processInstance", "description": "处理某个需要我处理的实例任务,拒绝审批实例任务,所需要的参数processInstanceId可以从list_pending_approvals工具获取。", "parameters": { "processInstanceId": { "type": "string", "description": "审批实例Id", "required": true }, "remark": { "type": "string", "description": "审批意见" }, "taskId": { "type": "number", "description": "审批任务ID", "required": true } }, "interface_ref": { "product_id": "oa", "rpc_name": "approve_processInstance" } }, "oa.dingflow_comments": { "title": "dingflow_comments", "description": "用户添加审批评论", "parameters": { "commentStaffId": { "type": "string", "description": "commentStaffId" }, "processInstanceId": { "type": "string", "description": "processInstanceId", "required": true }, "text": { "type": "string", "description": "text", "required": true } }, "interface_ref": { "product_id": "oa", "rpc_name": "dingflow_comments" } }, "oa.get_done_tasks": { "title": "get_done_tasks", "description": "获取员工已处理任务列表", "parameters": { "pageNumber": { "type": "number", "description": "页号", "required": true }, "pageSize": { "type": "number", "description": "页数", "required": true }, "query": { "type": "string", "description": "查询字段" }, "userId": { "type": "string", "description": "员工id" } }, "interface_ref": { "product_id": "oa", "rpc_name": "get_done_tasks" } }, "oa.get_noticed_instances": { "title": "get_noticed_instances", "description": "获取抄送用户的列表", "parameters": { "pageNumber": { "type": "number", "description": "页号", "required": true }, "pageSize": { "type": "number", "description": "页数", "required": true }, "query": { "type": "string", "description": "query" }, "userId": { "type": "string", "description": "员工id" } }, "interface_ref": { "product_id": "oa", "rpc_name": "get_noticed_instances" } }, "oa.get_processInstance_detail": { "title": "get_processInstance_detail", "description": "获取指定审批实例的详情信息", "parameters": { "processInstanceId": { "type": "string", "description": "审批实例Id", "required": true } }, "interface_ref": { "product_id": "oa", "rpc_name": "get_processInstance_detail" } }, "oa.get_processInstance_records": { "title": "get_processInstance_records", "description": "获取某个审批实例的审批操作记录信息,获取的是该审批实例有哪些人做了什么操作,以及操作结果是什么", "parameters": { "processInstanceId": { "type": "string", "description": "审批实例Id", "required": true } }, "interface_ref": { "product_id": "oa", "rpc_name": "get_processInstance_records" } }, "oa.get_submitted_instances": { "title": "get_submitted_instances", "description": "获取已提交实例列表", "parameters": { "pageNumber": { "type": "number", "description": "页号", "required": true }, "pageSize": { "type": "number", "description": "页数", "required": true }, "query": { "type": "string", "description": "搜索字段" }, "userId": { "type": "string", "description": "员工id" } }, "interface_ref": { "product_id": "oa", "rpc_name": "get_submitted_instances" } }, "oa.list_initiated_instances": { "title": "list_initiated_instances", "description": "查询当前用户已发起的审批实例列表,查询的信息包含审批实例Id、审批实例发起时间、审批实例当前状态等基础信息", "parameters": { "endTime": { "type": "number", "description": "审批实例开始时间,Unix时间戳,单位毫秒", "required": true }, "maxResults": { "type": "number", "description": "分页查询的每页大小,最大值20", "required": true }, "nextToken": { "type": "number", "description": "分页查询的分页游标,如果是首次查询,该参数传0,非首次调用,传上次返回的nextToken", "required": true }, "processCode": { "type": "string", "description": "需要查询实例列表的表单processCode", "required": true }, "startTime": { "type": "number", "description": "审批实例开始时间,Unix时间戳,单位毫秒", "required": true } }, "interface_ref": { "product_id": "oa", "rpc_name": "list_initiated_instances" } }, "oa.list_pending_approvals": { "title": "list_pending_approvals", "description": "查询当前用户待处理的审批单列表,返回每条审批单的名称、唯一编码(如审批实例 ID)、处理跳转链接(用于一键进入审批页面)等关键信息。结果仅包含用户作为审批人且尚未处理的审批事项,适用于工作台待办集成、审批提醒等场景。", "parameters": { "endTime": { "type": "number", "description": "审批单创建时间的结束时间。毫秒时间戳格式,表示时间范围的上限。", "required": true }, "pageNum": { "type": "number", "description": "分页页码,从1开始" }, "pageSize": { "type": "number", "description": "每页大小" }, "query": { "type": "string", "description": "query" }, "starTime": { "type": "number", "description": "审批单创建时间的开始时间。毫秒时间戳格式,表示时间范围的下限", "required": true } }, "interface_ref": { "product_id": "oa", "rpc_name": "list_pending_approvals" } }, "oa.list_pending_tasks": { "title": "query_pending_tasks", "description": "查询待我审批的任务Id,获取任务Id之后,可以执行同意、拒绝审批单操作。", "parameters": { "processInstanceId": { "type": "string", "description": "待我处理的审批实例Id,可通过list_pending_approvals工具获取", "required": true } }, "interface_ref": { "product_id": "oa", "rpc_name": "list_pending_tasks" } }, "oa.list_user_visible_process": { "title": "list_user_visible_process", "description": "获取当前用户可见的审批表单列表,可获取审批表单的processCode。", "parameters": { "cursor": { "type": "number", "description": "分页游标,首次调用需要传0", "required": true }, "pageSize": { "type": "number", "description": "每页大小,最大值100", "required": true } }, "interface_ref": { "product_id": "oa", "rpc_name": "list_user_visible_process" } }, "oa.oa_cc_noticer": { "title": "oa_cc_noticer", "description": "抄送审批人", "parameters": { "operatorId": { "type": "string", "description": "operatorId" }, "processInstanceId": { "type": "string", "description": "processInstanceId", "required": true }, "userList": { "type": "array", "description": "userList", "required": true } }, "interface_ref": { "product_id": "oa", "rpc_name": "oa_cc_noticer" } }, "oa.redirect_task": { "title": "redirect_task", "description": "转交审批任务", "parameters": { "operateUserId": { "type": "string", "description": "操作人的用户ID" }, "remark": { "type": "string", "description": "备注信息" }, "taskId": { "type": "string", "description": "审批任务ID,必填", "required": true }, "toActionerId": { "type": "string", "description": "转交目标用户的用户ID", "required": true } }, "interface_ref": { "product_id": "oa", "rpc_name": "redirect_task" } }, "oa.reject_processInstance": { "title": "reject_processInstance", "description": "处理某个需要我处理的实例任务,拒绝审批实例任务,所需要的参数processInstanceId可以从list_pending_approvals工具获取。", "parameters": { "processInstanceId": { "type": "string", "description": "审批实例Id", "required": true }, "remark": { "type": "string", "description": "审批意见" }, "taskId": { "type": "number", "description": "审批任务ID", "required": true } }, "interface_ref": { "product_id": "oa", "rpc_name": "reject_processInstance" } }, "oa.revoke_processInstance": { "title": "revoke_processInstance", "description": "撤销当前用户已经发起的审批实例,需要的参数processInstanceId可以从", "parameters": { "processInstanceId": { "type": "string", "description": "需要撤销的审批实例Id", "required": true }, "remark": { "type": "string", "description": "撤销审批的说明" } }, "interface_ref": { "product_id": "oa", "rpc_name": "revoke_processInstance" } }, "pat.batch_grant": { "title": "批量授权", "description": "按可信上下文为当前用户执行 PAT 批量授权,支持 dryRun 和 pending flow。", "parameters": { "agentCode": { "type": "string" }, "caller": { "type": "string" }, "clientRequestId": { "type": "string" }, "dryRun": { "type": "boolean" }, "grantType": { "type": "string", "enum": [ "once", "session", "permanent" ] }, "noWait": { "type": "boolean" }, "orgId": {}, "scopes": { "type": "array" }, "sessionId": { "type": "string" }, "source": { "type": "string" }, "startFlow": { "type": "boolean" }, "uid": {} }, "interface_ref": { "product_id": "pat", "rpc_name": "pat.batch_grant" } }, "report.create_report": { "title": "create_report", "description": "创建日志", "parameters": { "contents": { "type": "array", "description": "日志内容列表", "required": true }, "ddFrom": { "type": "string", "description": "创建日志的来源,自定义值", "required": true }, "templateId": { "type": "string", "description": "需要发送哪个日志模板的日志,可通过获取可见日志模板服务获取", "required": true }, "toChat": { "type": "boolean", "description": "是否发送到日志接收人的单聊", "required": true }, "toUserIds": { "type": "array", "description": "该日志发送到的人员userId列表" } }, "interface_ref": { "product_id": "report", "rpc_name": "create_report" } }, "report.get_available_report_templates": { "title": "get_available_report_templates", "description": "获取当前员工可使用的日志模版信息,包含日志模板的名称、模板Id等", "interface_ref": { "product_id": "report", "rpc_name": "get_available_report_templates" } }, "report.get_received_report_list": { "title": "查询当前人收到的日志列表", "description": "查询当前人收到的日志列表", "parameters": { "cursor": { "type": "number", "description": "起始游标,从 0 开始,示例值:1734048000000,必填", "required": true }, "endTime": { "type": "number", "description": "结束时间,毫秒时间戳,示例值:1734048000000,必填,与开始时间的间隔不能超过180天", "required": true }, "senderUserIds": { "type": "array", "description": "发送人的staffId" }, "size": { "type": "number", "description": "每页条数,最大 20,示例值:1734048000000,必填", "required": true }, "startTime": { "type": "number", "description": "开始时间,毫秒时间戳,示例值:1734048000000,必填,与结束时间的间隔不能超过180天", "required": true } }, "interface_ref": { "product_id": "report", "rpc_name": "get_received_report_list" } }, "report.get_report_entry_details": { "title": "get_report_entry_details", "description": "获取指定一篇日志的详情信息", "parameters": { "report_id": { "type": "string", "description": "日志Id,可以从查询当前用户收到的日志列表获取", "required": true } }, "interface_ref": { "product_id": "report", "rpc_name": "get_report_entry_details" } }, "report.get_report_statistics_by_id": { "title": "获取指定日志的统计数据", "description": "获取日志统计数据,包括评论数量、点赞数量、已读数等", "parameters": { "report_id": { "type": "string", "description": "日志Id", "required": true } }, "interface_ref": { "product_id": "report", "rpc_name": "get_report_statistics_by_id" } }, "report.get_send_report_list": { "title": "get_send_report_list", "description": "查询当前人创建的日志详情列表,包含日志的内容、日志名称、创建时间、访问地址等信息", "parameters": { "cursor": { "type": "number", "description": "分页游标,首次传0", "required": true }, "endTime": { "type": "number", "description": "日志创建的结束时间,毫秒级时间戳格式,示例:1734048000000;注意:开始时间和结束时间跨度不能超过180天" }, "modifiedEndTime": { "type": "number", "description": "日志修改的结束时间,毫秒级时间戳格式,示例:1734048000000" }, "modifiedStartTime": { "type": "number", "description": "日志修改的开始时间,毫秒级时间戳格式,示例:1734048000000" }, "report_template_name": { "type": "string", "description": "日志模板名称,可不传,查询的是全部日志" }, "size": { "type": "number", "description": "分页大小,最大20", "required": true }, "startTime": { "type": "number", "description": "日志创建的开始时间,毫秒级时间戳格式,示例:1734048000000;注意:开始时间和结束时间跨度不能超过180天" } }, "interface_ref": { "product_id": "report", "rpc_name": "get_send_report_list" } }, "report.get_template_details_by_name": { "title": "get_template_details_by_name", "description": "获取当前员工可使用的日志模版详情信息,包括日志模板Id、日志模板内字段的名称、字段类型、字段排序等", "parameters": { "report_template_name": { "type": "string", "description": "日志模板名称", "required": true } }, "interface_ref": { "product_id": "report", "rpc_name": "get_template_details_by_name" } }, "sheet.add_dimension": { "title": "追加行列", "description": "在钉钉表格的指定工作表末尾追加空行或空列。\r\n\r\n参数说明:\r\n- dimension:维度类型,ROWS 表示追加行,COLUMNS 表示追加列\r\n- length:追加数量,必须为正整数", "parameters": { "dimension": { "type": "string", "description": "追加维度(必填)。ROWS 表示追加行,COLUMNS 表示追加列。", "required": true }, "length": { "type": "number", "description": "要追加的行/列数量(必填),必须为正整数(\u003e= 1)。", "required": true }, "nodeId": { "type": "string", "description": "目标电子表格的标识(必填)。支持两种格式:1) 文档链接 URL,如 https://alidocs.dingtalk.com/i/nodes/{dentryUuid};2) 文档 ID(dentryUuid),32 位字母数字字符串。系统自动识别格式。", "required": true }, "sheetId": { "type": "string", "description": "目标工作表的 ID 或名称(必填)。可通过 get_all_sheets 接口获取工作表的 id 或 name。", "required": true } }, "interface_ref": { "product_id": "sheet", "rpc_name": "add_dimension" } }, "sheet.append_rows": { "title": "追加行", "description": "在钉钉电子表格的指定工作表末尾追加若干行数据。\r\n\r\n通过 nodeId 定位电子表格文档,通过 sheetId 定位工作表,通过 values 传入要追加的数据。\r\nnodeId 支持传入文档链接 URL 或文档 ID(dentryUuid),系统自动识别。\r\nsheetId 支持传入工作表 ID 或工作表名称,可通过 get_all_sheets 获取。\r\n\r\n系统会自动定位到工作表中最后一行有数据的位置,在其下方插入新行数据。\r\n如果工作表为空,数据将从第一行开始写入。\r\n\r\nvalues 为二维数组,外层数组的每个元素代表一行,内层数组的每个元素代表该行中的一个单元格值。\r\n追加的数据列数应与工作表已有数据的列数保持一致,以确保数据对齐。\r\n\r\n返回追加数据所在的单元格范围(A1 表示法)。\r\n\r\n仅限用户对文档具备\"可编辑\"权限时可追加。不支持跨组织操作。", "parameters": { "nodeId": { "type": "string", "description": "目标电子表格的标识,支持两种格式:1) 文档链接 URL,如 https://alidocs.dingtalk.com/i/nodes/{dentryUuid};2) 文档 ID(dentryUuid),32 位字母数字字符串。系统自动识别格式。", "required": true }, "sheetId": { "type": "string", "description": "目标工作表的标识,支持两种格式:1) 工作表 ID(sheetId);2) 工作表名称。可通过 get_all_sheets 获取。", "required": true }, "values": { "type": "array", "description": "二维数组,外层数组的每个元素代表一行,内层数组的每个元素代表该行中的一个单元格值。追加的数据列数应与工作表已有数据的列数保持一致。", "required": true } }, "interface_ref": { "product_id": "sheet", "rpc_name": "append_rows" } }, "sheet.clear_range": { "title": "清除区域", "description": "清除钉钉电子表格中指定工作表指定范围的单元格内容、格式或全部。", "parameters": { "nodeId": { "type": "string", "description": "目标电子表格的标识(必填)。支持两种格式:1) 钉钉文档链接 URL;2) 文档 ID(dentryUuid),32 位字母数字字符串。系统自动识别格式。", "required": true }, "range": { "type": "string", "description": "要清除的单元格范围(必填),使用 A1 表示法。例如:\"A1:B3\" 表示从 A1 到 B3 的矩形区域,\"A1\" 表示单个单元格,\"A:C\" 表示整列范围。", "required": true }, "sheetId": { "type": "string", "description": "目标工作表的 ID 或名称(必填)。可通过 get_all_sheets 接口获取工作表的 id 或 name。", "required": true }, "type": { "type": "string", "description": "清除类型(可选,默认 content)。content: 仅清除单元格的值(保留格式);format: 仅清除格式(保留值);all: 清除值和格式。" } }, "interface_ref": { "product_id": "sheet", "rpc_name": "clear_range" } }, "sheet.copy_sheet": { "title": "复制工作表", "description": "复制钉钉电子表格中的指定工作表,在同一表格中创建一个副本,可同时指定副本的目标位置。", "parameters": { "index": { "type": "number", "description": "副本工作表的位置索引(可选,0-based)。不传时放在源工作表之后。" }, "nodeId": { "type": "string", "description": "表格文件 ID(必填)。支持两种格式:1) 钉钉文档链接 URL,如 https://alidocs.dingtalk.com/i/nodes/{dentryUuid} 或 https://alidocs.dingtalk.com/spreadsheetv2/{dentryKey}/...;2) 文档 ID(dentryUuid),32 位字母数字字符串;", "required": true }, "sheetId": { "type": "string", "description": "要复制的源工作表的 ID 或名称(必填)。可通过 get_all_sheets 接口获取工作表的 id 或 name。", "required": true }, "title": { "type": "string", "description": "副本名称" } }, "interface_ref": { "product_id": "sheet", "rpc_name": "copy_sheet" } }, "sheet.create_cond_format": { "title": "创建条件格式规则", "description": "在指定工作表中创建一条条件格式规则。\r\n条件格式规则定义了当单元格满足特定条件时自动应用的样式。\r\n每条规则需要指定:应用范围(ranges)、条件类型及参数、命中时的单元格样式(cellStyle)。", "parameters": { "averageCondition": { "type": "object", "description": "高于/低于平均值条件。与其他条件类型互斥。" }, "cellStyle": { "type": "object", "description": "条件命中时应用的单元格样式。对 numberCondition、textCondition、emptyCondition、errorCondition、duplicateCondition、formulaCondition、rankCondition、averageCondition、stdevCondition 类型有效。" }, "colorScaleCondition": { "type": "object", "description": "色阶条件。与其他条件类型互斥。定义色阶的各级颜色端点(支持 2 色阶或 3 色阶)。" }, "dataBarCondition": { "type": "object", "description": "数据条条件。与其他条件类型互斥。定义数据条的最小值和最大值端点。" }, "dataBarStyle": { "type": "object", "description": "数据条的显示样式配置。仅 dataBarCondition 类型时有效。" }, "duplicateCondition": { "type": "object", "description": "重复/唯一值判断条件。与其他条件类型互斥。" }, "emptyCondition": { "type": "object", "description": "空值判断条件。与其他条件类型互斥。" }, "errorCondition": { "type": "object", "description": "错误值判断条件。与其他条件类型互斥。" }, "formulaCondition": { "type": "object", "description": "自定义公式条件。与其他条件类型互斥。" }, "iconSetCondition": { "type": "object", "description": "图标集条件。与其他条件类型互斥。定义图标集的各级阈值和图标。" }, "nodeId": { "type": "string", "description": "目标电子表格的标识(必填)。支持两种格式:1) 钉钉文档链接 URL;2) 文档 ID(dentryUuid),32 位字母数字字符串。系统自动识别格式。", "required": true }, "numberCondition": { "type": "object", "description": "数值比较条件。与其他条件类型互斥。" }, "ranges": { "type": "array", "description": "条件格式规则的应用范围(必填),A1 表示法的数组。示例:[\"A1:E10\"]", "required": true }, "rankCondition": { "type": "object", "description": "排名条件。与其他条件类型互斥。" }, "sheetId": { "type": "string", "description": "目标工作表的 ID 或名称(必填)。可通过 get_all_sheets 接口获取工作表的 id 或 name。", "required": true }, "stdevCondition": { "type": "object", "description": "标准差条件。与其他条件类型互斥。" }, "textCondition": { "type": "object", "description": "文本匹配条件。与其他条件类型互斥。" } }, "interface_ref": { "product_id": "sheet", "rpc_name": "create_cond_format" } }, "sheet.create_filter": { "title": "创建筛选", "description": "在钉钉电子表格的指定工作表中创建筛选。\r\n创建筛选后,工作表的指定范围将出现筛选下拉箭头,用户可通过 set_filter_criteria 设置具体的筛选条件。\r\n每个工作表只能有一个筛选,如果已存在筛选则会报错。", "parameters": { "criteria": { "type": "array", "description": "各列的筛选条件(可选)。数组格式,每个元素包含 column(列偏移量,0-based)和筛选条件字段。示例:[{\"column\":0,\"filterType\":\"values\",\"visibleValues\":[\"A\",\"B\"]}]" }, "nodeId": { "type": "string", "description": "目标电子表格的标识(必填)。支持两种格式:1) 钉钉文档链接 URL;2) 文档 ID(dentryUuid),32 位字母数字字符串。系统自动识别格式。", "required": true }, "range": { "type": "string", "description": "筛选的单元格范围(必填),使用 A1 表示法,如 A1:E10。", "required": true }, "sheetId": { "type": "string", "description": "目标工作表的 ID 或名称(必填)。可通过 get_all_sheets 接口获取工作表的 id 或 name。", "required": true } }, "interface_ref": { "product_id": "sheet", "rpc_name": "create_filter" } }, "sheet.create_filter_view": { "title": "创建筛选视图", "description": "在钉钉电子表格的指定工作表中创建一个筛选视图。\r\n\r\n通过 nodeId 定位电子表格文档,通过 sheetId 定位工作表。\r\nnodeId 支持传入文档链接 URL 或文档 ID(dentryUuid),系统自动识别。\r\nsheetId 支持传入工作表 ID 或工作表名称,可通过 get_all_sheets 获取。\r\n\r\n筛选视图是独立于全局筛选的个人化数据过滤方式。创建后可通过 set_filter_view_criteria 设置具体的筛选条件。\r\n同一工作表可以创建多个筛选视图。\r\n\r\n仅限用户对文档具备\"可编辑\"权限时可创建。不支持跨组织操作。", "parameters": { "criteria": { "type": "array", "description": "各列的筛选条件(可选)。数组格式,每个元素包含 column(列偏移量,0-based)和筛选条件字段。示例:[{\"column\":0,\"filterType\":\"values\",\"visibleValues\":[\"A\",\"B\"]}]" }, "name": { "type": "string", "description": "筛选视图的名称(必填)。", "required": true }, "nodeId": { "type": "string", "description": "目标电子表格的标识(必填)。支持两种格式:1) 文档链接 URL,如 https://alidocs.dingtalk.com/i/nodes/{dentryUuid};2) 文档 ID(dentryUuid),32 位字母数字字符串。系统自动识别格式。", "required": true }, "range": { "type": "string", "description": "筛选视图的单元格范围(必填),使用 A1 表示法,如 A1:E10。", "required": true }, "sheetId": { "type": "string", "description": "目标工作表的 ID 或名称(必填)。可通过 get_all_sheets 接口获取工作表的 id 或 name。", "required": true } }, "interface_ref": { "product_id": "sheet", "rpc_name": "create_filter_view" } }, "sheet.create_float_image": { "title": "插入浮动图片", "description": "在钉钉电子表格的指定工作表中插入一张浮动图片。", "parameters": { "height": { "type": "number", "description": "图片高度(必填),单位像素,正整数。", "required": true }, "nodeId": { "type": "string", "description": "目标电子表格的标识(必填)。支持两种格式:1) 钉钉文档链接 URL;2) 文档 ID(dentryUuid),32 位字母数字字符串。系统自动识别格式。", "required": true }, "offsetX": { "type": "number", "description": "相对锚点单元格的水平偏移量(可选),单位像素,默认 0。" }, "offsetY": { "type": "number", "description": "相对锚点单元格的垂直偏移量(可选),单位像素,默认 0。" }, "range": { "type": "string", "description": "浮动图片锚定的单元格位置(必填),使用 A1 表示法,如 \"A1\"、\"B3\"。必须是单个单元格。支持带工作表前缀(如 \"Sheet1!A1\")。", "required": true }, "sheetId": { "type": "string", "description": "目标工作表的 ID 或名称(必填)。可通过 get_all_sheets 接口获取工作表的 id 或 name。", "required": true }, "src": { "type": "string", "description": "图片的 URL 地址(必填)。", "required": true }, "width": { "type": "number", "description": "图片宽度(必填),单位像素,正整数。", "required": true } }, "interface_ref": { "product_id": "sheet", "rpc_name": "create_float_image" } }, "sheet.create_sheet": { "title": "新建工作表", "description": "在钉钉表格中创建一个新的工作表。\r\n通过 nodeId 定位表格文件,在该表格中新增一个工作表。\r\n当指定的工作表名称与已有名称重复时,系统会自动重命名为合法值。", "parameters": { "name": { "type": "string", "description": "新工作表的名称。当指定名称与已有工作表重复时,系统会自动重命名为合法值。必填。", "required": true }, "nodeId": { "type": "string", "description": "表格文件 ID,知识库 API 返回的 nodeId(dentryUuid) 即是表格 nodeId,可通过获取节点或创建知识库文档接口获取。必填。", "required": true } }, "interface_ref": { "product_id": "sheet", "rpc_name": "create_sheet" } }, "sheet.create_workspace_sheet": { "title": "新建钉钉表格", "description": "创建一篇新的钉钉在线表格。\r\n支持创建空表格。\r\n支持三种创建位置:\r\n1. 指定 folderId:在该文件夹下创建\r\n2. 指定 workspaceId(知识库 ID)但不传 folderId:在该知识库的根目录下创建\r\n3. 都不传:在用户\"我的文档\"根目录下创建\r\n操作受权限控制,仅当调用者对目标位置有写入权限时可成功创建。", "parameters": { "folderId": { "type": "string", "description": "目标文件夹的节点 ID(dentryUuid),支持传入文件夹链接 URL 或 ID。不传时:如果提供了 workspaceId 则创建在该知识库根目录下,否则创建在用户'我的文档'根目录下。" }, "name": { "type": "string", "description": "新表格的标题,必填。", "required": true }, "workspaceId": { "type": "string", "description": "目标知识库的 ID。如果同时传了 folderId,则以 folderId 为准。" } }, "interface_ref": { "product_id": "sheet", "rpc_name": "create_workspace_sheet" } }, "sheet.delete_cond_format": { "title": "删除条件格式规则", "description": "删除指定工作表中的一条条件格式规则。", "parameters": { "nodeId": { "type": "string", "description": "目标电子表格的标识(必填)。", "required": true }, "ruleId": { "type": "string", "description": "要删除的条件格式规则 ID(必填)。", "required": true }, "sheetId": { "type": "string", "description": "目标工作表的 ID 或名称(必填)。", "required": true } }, "interface_ref": { "product_id": "sheet", "rpc_name": "delete_cond_format" } }, "sheet.delete_dimension": { "title": "删除指定位置的行或列", "description": "在钉钉表格指定工作表中,从指定位置起删除若干连续的行或列。", "parameters": { "dimension": { "type": "string", "description": "删除维度:ROWS 表示删除行,COLUMNS 表示删除列。必填。", "required": true }, "length": { "type": "number", "description": "要删除的行/列数量,必须为正整数(\u003e= 1)。必填。", "required": true }, "nodeId": { "type": "string", "description": "表格文件 ID,知识库 API 返回的 nodeId(dentryUuid) 即是表格 nodeId,可通过获取节点或创建知识库文档接口获取。必填。", "required": true }, "position": { "type": "string", "description": "删除起始位置的 A1 表示法。dimension=ROWS 时为 1-based 行号字符串,如 \"3\" 表示从第 3 行开始删除;dimension=COLUMNS 时为列字母,如 \"A\" 表示从 A 列开始删除、\"AB\" 表示从 AB 列开始删除。从该位置开始连续删除 length 个行/列。允许携带工作表前缀,如 \"Sheet1!3\" / \"Sheet1!A\",此时将忽略 sheetId 参数。必填。", "required": true }, "sheetId": { "type": "string", "description": "工作表 ID 或名称。可通过获取所有工作表接口获取 id 或 name 参数值。必填。若 position 携带 Sheet 前缀(如 Sheet1!3),以前缀为准。", "required": true } }, "interface_ref": { "product_id": "sheet", "rpc_name": "delete_dimension" } }, "sheet.delete_dropdown_lists": { "title": "删除下拉列表", "description": "删除钉钉表格指定单元格范围内的下拉列表配置。", "parameters": { "nodeId": { "type": "string", "description": "目标电子表格的标识(必填)。支持两种格式:1) 钉钉文档链接 URL;2) 文档 ID(dentryUuid),32 位字母数字字符串。系统自动识别格式。", "required": true }, "range": { "type": "string", "description": "要删除下拉列表的单元格范围(必填),A1 表示法,如 \"A2:A100\"。", "required": true }, "sheetId": { "type": "string", "description": "目标工作表的 ID 或名称(必填)。可通过 get_all_sheets 获取。", "required": true } }, "interface_ref": { "product_id": "sheet", "rpc_name": "delete_dropdown_lists" } }, "sheet.delete_filter": { "title": "删除筛选", "description": "删除钉钉电子表格中指定工作表的筛选。\r\n\r\n通过 nodeId 定位电子表格文档,通过 sheetId 定位工作表。\r\nnodeId 支持传入文档链接 URL 或文档 ID(dentryUuid),系统自动识别。\r\nsheetId 支持传入工作表 ID 或工作表名称,可通过 get_all_sheets 获取。\r\n\r\n删除筛选后,工作表中的筛选下拉箭头和所有筛选条件将被移除,所有被隐藏的行将重新显示。\r\n如果工作表没有筛选,调用此接口会报错。\r\n\r\n仅限用户对文档具备\"可编辑\"权限时可删除。不支持跨组织操作。", "parameters": { "nodeId": { "type": "string", "description": "目标电子表格的标识(必填)。支持两种格式:1) 文档链接 URL,如 https://alidocs.dingtalk.com/i/nodes/{dentryUuid};2) 文档 ID(dentryUuid),32 位字母数字字符串。系统自动识别格式。", "required": true }, "sheetId": { "type": "string", "description": "目标工作表的 ID 或名称(必填)。可通过 get_all_sheets 接口获取工作表的 id 或 name。", "required": true } }, "interface_ref": { "product_id": "sheet", "rpc_name": "delete_filter" } }, "sheet.delete_filter_view": { "title": "删除筛选视图", "description": "删除钉钉电子表格中指定工作表的筛选视图。\r\n\r\n通过 nodeId 定位电子表格文档,通过 sheetId 定位工作表,通过 filterViewId 定位筛选视图。\r\nnodeId 支持传入文档链接 URL 或文档 ID(dentryUuid),系统自动识别。\r\nsheetId 支持传入工作表 ID 或工作表名称,可通过 get_all_sheets 获取。\r\nfilterViewId 可通过 get_filter_views 获取。\r\n\r\n删除筛选视图后,该视图及其所有筛选条件将被永久移除。此操作不影响全局筛选或其他筛选视图。\r\n\r\n仅限用户对文档具备\"可编辑\"权限时可删除。不支持跨组织操作。", "parameters": { "filterViewId": { "type": "string", "description": "要删除的筛选视图 ID(必填)。可通过 get_filter_views 接口获取。", "required": true }, "nodeId": { "type": "string", "description": "目标电子表格的标识(必填)。支持两种格式:1) 文档链接 URL,如 https://alidocs.dingtalk.com/i/nodes/{dentryUuid};2) 文档 ID(dentryUuid),32 位字母数字字符串。系统自动识别格式。", "required": true }, "sheetId": { "type": "string", "description": "目标工作表的 ID 或名称(必填)。可通过 get_all_sheets 接口获取工作表的 id 或 name。", "required": true } }, "interface_ref": { "product_id": "sheet", "rpc_name": "delete_filter_view" } }, "sheet.delete_float_image": { "title": "删除浮动图片", "description": "删除钉钉电子表格中指定的浮动图片。", "parameters": { "floatImageId": { "type": "string", "description": "浮动图片 ID(必填)。可通过 list_float_images 接口获取。", "required": true }, "nodeId": { "type": "string", "description": "目标电子表格的标识(必填)。支持两种格式:1) 钉钉文档链接 URL;2) 文档 ID(dentryUuid),32 位字母数字字符串。系统自动识别格式。", "required": true }, "sheetId": { "type": "string", "description": "目标工作表的 ID 或名称(必填)。可通过 get_all_sheets 接口获取工作表的 id 或 name。", "required": true } }, "interface_ref": { "product_id": "sheet", "rpc_name": "delete_float_image" } }, "sheet.delete_sheet": { "title": "删除工作表", "description": "删除钉钉电子表格中的指定工作表", "parameters": { "nodeId": { "type": "string", "description": "目标电子表格的标识(必填)。支持两种格式:1) 钉钉文档链接 URL;2) 文档 ID(dentryUuid),32 位字母数字字符串。系统自动识别格式。", "required": true }, "sheetId": { "type": "string", "description": "要删除的工作表的 ID 或名称(必填)。可通过 get_all_sheets 接口获取工作表的 id 或 name。", "required": true } }, "interface_ref": { "product_id": "sheet", "rpc_name": "delete_sheet" } }, "sheet.fill_range": { "title": "区域自动填充", "description": "基于源数据范围自动填充到目标范围。", "parameters": { "destinationRange": { "type": "string", "description": "填充目标范围(必填),使用 A1 表示法。例如 \"A6:A20\"。须与源范围在行或列维度对齐(不支持对角填充)。", "required": true }, "fillType": { "type": "string", "description": "填充类型(可选)。不传时引擎智能推断(与前端拖拽行为一致,自动识别等差/日期等序列模式)。可选值:copy(复制内容和格式)、series(强制序列递增)、onlystyle(仅格式)、withoutstyle(仅值无格式)。" }, "nodeId": { "type": "string", "description": "目标电子表格的标识(必填)。支持两种格式:1) 钉钉文档链接 URL;2) 文档 ID(dentryUuid),32 位字母数字字符串。系统自动识别格式。", "required": true }, "sheetId": { "type": "string", "description": "目标工作表的 ID 或名称(必填)。可通过 get_all_sheets 接口获取工作表的 id 或 name。", "required": true }, "sourceRange": { "type": "string", "description": "源数据范围(必填),使用 A1 表示法。例如 \"A1:A5\",填充时以此区域的数据为基础进行扩展。", "required": true } }, "interface_ref": { "product_id": "sheet", "rpc_name": "fill_range" } }, "sheet.filter_clear_criteria": { "title": "清除筛选条件", "description": "清除钉钉电子表格中指定工作表筛选的某一列的筛选条件。\r\n\r\n通过 nodeId 定位电子表格文档,通过 sheetId 定位工作表,通过 column 指定目标列。\r\nnodeId 支持传入文档链接 URL 或文档 ID(dentryUuid),系统自动识别。\r\nsheetId 支持传入工作表 ID 或工作表名称,可通过 get_all_sheets 获取。\r\n\r\n清除指定列的筛选条件后,该列不再参与筛选计算,之前被该列条件隐藏的行将重新显示(前提是其他列的条件也不隐藏该行)。\r\n此操作仅清除指定列的条件,不会删除整个筛选。如需删除整个筛选,请使用 delete_filter。\r\n\r\n如果指定列没有设置筛选条件,调用此接口不会报错。\r\n\r\n仅限用户对文档具备\"可编辑\"权限时可操作。不支持跨组织操作。", "parameters": { "column": { "type": "number", "description": "要清除筛选条件的列偏移量(必填),0-based,相对于筛选范围起始列。", "required": true }, "nodeId": { "type": "string", "description": "目标电子表格的标识(必填)。支持两种格式:1) 文档链接 URL,如 https://alidocs.dingtalk.com/i/nodes/{dentryUuid};2) 文档 ID(dentryUuid),32 位字母数字字符串。系统自动识别格式。", "required": true }, "sheetId": { "type": "string", "description": "目标工作表的 ID 或名称(必填)。可通过 get_all_sheets 接口获取工作表的 id 或 name。", "required": true } }, "interface_ref": { "product_id": "sheet", "rpc_name": "clear_filter_criteria" } }, "sheet.filter_view_delete_criteria": { "title": "清除筛选视图列条件", "description": "清除钉钉电子表格中指定工作表筛选视图的某一列的筛选条件。\r\n\r\n通过 nodeId 定位电子表格文档,通过 sheetId 定位工作表,通过 filterViewId 定位筛选视图,通过 column 指定目标列。\r\nnodeId 支持传入文档链接 URL 或文档 ID(dentryUuid),系统自动识别。\r\nsheetId 支持传入工作表 ID 或工作表名称,可通过 get_all_sheets 获取。\r\nfilterViewId 可通过 get_filter_views 获取。\r\n\r\n清除指定列的筛选条件后,该列不再参与筛选视图的筛选计算。\r\n此操作仅清除指定列的条件,不会删除整个筛选视图。如需删除整个筛选视图,请使用 delete_filter_view。\r\n清除操作仅影响当前筛选视图,不影响全局筛选或其他筛选视图。\r\n\r\n如果指定列没有设置筛选条件,调用此接口不会报错。\r\n\r\n仅限用户对文档具备\"可编辑\"权限时可操作。不支持跨组织操作。", "parameters": { "column": { "type": "number", "description": "要清除筛选条件的列偏移量(必填),0-based,相对于筛选视图范围起始列。", "required": true }, "filterViewId": { "type": "string", "description": "目标筛选视图 ID(必填)。可通过 get_filter_views 接口获取。", "required": true }, "nodeId": { "type": "string", "description": "目标电子表格的标识(必填)。支持两种格式:1) 文档链接 URL,如 https://alidocs.dingtalk.com/i/nodes/{dentryUuid};2) 文档 ID(dentryUuid),32 位字母数字字符串。系统自动识别格式。", "required": true }, "sheetId": { "type": "string", "description": "目标工作表的 ID 或名称(必填)。可通过 get_all_sheets 接口获取工作表的 id 或 name。", "required": true } }, "interface_ref": { "product_id": "sheet", "rpc_name": "clear_filter_view_criteria" } }, "sheet.find_cells": { "title": "查找", "description": "在钉钉电子表格的指定工作表中查找匹配指定文本的所有单元格,返回匹配的单元格地址列表。\r\n\r\n通过 nodeId 定位电子表格文档,通过 sheetId 定位工作表,通过 text 指定查找内容。\r\nnodeId 支持传入文档链接 URL 或文档 ID(dentryUuid),系统自动识别。\r\nsheetId 支持传入工作表 ID 或工作表名称,可通过 get_all_sheets 获取。\r\n\r\n支持多种查找模式:\r\n- 默认模式:在单元格值中进行子字符串匹配(区分大小写)\r\n- 忽略大小写:通过 matchCase: false 实现\r\n- 完整单元格匹配:通过 matchEntireCell: true 实现,仅匹配内容完全相同的单元格\r\n- 正则表达式:通过 useRegExp: true 实现,text 作为正则表达式进行匹配\r\n- 搜索公式:通过 matchFormulaText: true 实现,在公式文本中查找而非计算结果\r\n- 包含隐藏单元格:通过 includeHidden: true 实现\r\n\r\n返回所有匹配单元格的地址(A1 表示法)列表。若无匹配结果,返回空数组。\r\n\r\n仅限用户对文档具备\"可阅读\"权限时可查找。不支持跨组织查询。", "parameters": { "includeHidden": { "type": "boolean", "description": "是否在隐藏的行/列中也进行查找。默认为 false,即跳过隐藏单元格。" }, "matchCase": { "type": "boolean", "description": "是否区分大小写。默认为 true(区分大小写)。设为 false 时不区分大小写。" }, "matchEntireCell": { "type": "boolean", "description": "是否要求单元格内容与查找文本完全一致。默认为 false(子字符串匹配)。设为 true 时仅匹配内容完全相同的单元格。" }, "matchFormulaText": { "type": "boolean", "description": "是否在公式文本中查找(而非公式计算结果)。默认为 false,即在单元格显示值中查找。" }, "nodeId": { "type": "string", "description": "目标电子表格的标识(必填)。支持两种格式:1) 文档链接 URL,如 https://alidocs.dingtalk.com/i/nodes/{dentryUuid};2) 文档 ID(dentryUuid),32 位字母数字字符串。系统自动识别格式。", "required": true }, "range": { "type": "string", "description": "将查找限定在指定单元格范围内(可选),使用 A1 表示法,如 A1:D100、A:A(整列)、1:1(整行)。不传时搜索整个工作表。底层直接映射为 findOptions.scope 参数,无额外性能开销。" }, "sheetId": { "type": "string", "description": "目标工作表的 ID 或名称(必填)。可通过 get_all_sheets 接口获取工作表的 id 或 name。", "required": true }, "text": { "type": "string", "description": "要查找的文本内容(必填)。当 useRegExp 为 true 时,作为正则表达式处理。不能为空字符串。", "required": true }, "useRegExp": { "type": "boolean", "description": "是否将 text 作为正则表达式进行匹配。默认为 false。启用时 text 必须是合法的正则表达式。" } }, "interface_ref": { "product_id": "sheet", "rpc_name": "find_cells" } }, "sheet.get_all_sheets": { "title": "获取所有工作表", "description": "获取钉钉电子表格中的所有工作表列表。\r\n\r\n通过 nodeId 定位电子表格文档,支持传入文档链接 URL 或文档 ID(dentryUuid),系统自动识别。\r\n返回该电子表格下所有工作表的 ID 和名称,可用于后续调用 get_sheet 或 get_range 时指定目标工作表。\r\n\r\n仅限用户对文档具备\"可阅读\"权限时可获取。不支持跨组织查询。\r\n\r\n支持的文档类型:钉钉在线电子表格。\r\n文档链接格式:https://alidocs.dingtalk.com/i/nodes/{dentryUuid}\r\ndentryUuid 为 32 位字母数字字符串。", "parameters": { "nodeId": { "type": "string", "description": "目标电子表格的标识,支持两种格式:1) 文档链接 URL,如 https://alidocs.dingtalk.com/i/nodes/{dentryUuid};2) 文档 ID(dentryUuid),32 位字母数字字符串。系统自动识别格式。", "required": true } }, "interface_ref": { "product_id": "sheet", "rpc_name": "get_all_sheets" } }, "sheet.get_cond_format": { "title": "获取条件格式规则", "description": "获取指定工作表中的所有条件格式规则,或通过 ruleId 获取单个规则的详情。\r\n条件格式规则定义了当单元格满足特定条件时自动应用的样式(如背景色、字体颜色等)。\r\n返回的每条规则包含:规则 ID、应用范围、条件类型及参数、命中时的单元格样式。\r\n支持的条件类型包括:数值比较、文本包含、空值/非空、错误值、重复/唯一值、自定义公式、排名、高于/低于平均值、标准差、时间段、数据条、图标集、色阶。", "parameters": { "nodeId": { "type": "string", "description": "目标电子表格的标识(必填)。支持两种格式:1) 钉钉文档链接 URL;2) 文档 ID(dentryUuid),32 位字母数字字符串。系统自动识别格式。", "required": true }, "ruleId": { "type": "string", "description": "条件格式规则的唯一标识(可选)。如果提供,则只返回该规则的详情;不提供则返回所有规则。" }, "sheetId": { "type": "string", "description": "目标工作表的 ID 或名称(必填)。可通过 get_all_sheets 接口获取工作表的 id 或 name。", "required": true } }, "interface_ref": { "product_id": "sheet", "rpc_name": "get_cond_format" } }, "sheet.get_dropdown_lists": { "title": "获取下拉列表", "description": "查询钉钉表格指定范围内的下拉列表配置。", "parameters": { "nodeId": { "type": "string", "description": "目标电子表格的标识(必填)。支持两种格式:1) 钉钉文档链接 URL;2) 文档 ID(dentryUuid),32 位字母数字字符串。系统自动识别格式。", "required": true }, "range": { "type": "string", "description": "要查询下拉列表的单元格范围(必填),A1 表示法,如 \"A1\"、\"A1:A100\"、\"B2:D10\"。支持查询范围内所有单元格的下拉配置。", "required": true }, "sheetId": { "type": "string", "description": "目标工作表的 ID 或名称(必填)。可通过 get_all_sheets 获取。", "required": true } }, "interface_ref": { "product_id": "sheet", "rpc_name": "get_dropdown_lists" } }, "sheet.get_filter": { "title": "获取筛选", "description": "获取钉钉电子表格中指定工作表的筛选信息。\r\n\r\n通过 nodeId 定位电子表格文档,通过 sheetId 定位工作表。\r\nnodeId 支持传入文档链接 URL 或文档 ID(dentryUuid),系统自动识别。\r\nsheetId 支持传入工作表 ID 或工作表名称,可通过 get_all_sheets 获取。\r\n\r\n返回当前工作表的筛选范围和各列的筛选条件详情。\r\n筛选条件类型包括:\r\n- 按值筛选(filterType: values):指定允许显示的值列表\r\n- 按条件筛选(filterType: condition):指定条件运算符和比较值\r\n- 按颜色筛选(filterType: color):按单元格背景色或字体颜色筛选\r\n\r\n如果工作表未设置筛选,返回结果中筛选信息为空。\r\n\r\n仅限用户对文档具备\"可阅读\"权限时可获取。不支持跨组织查询。", "parameters": { "nodeId": { "type": "string", "description": "目标电子表格的标识(必填)。支持两种格式:1) 文档链接 URL,如 https://alidocs.dingtalk.com/i/nodes/{dentryUuid};2) 文档 ID(dentryUuid),32 位字母数字字符串。系统自动识别格式。", "required": true }, "sheetId": { "type": "string", "description": "目标工作表的 ID 或名称(必填)。可通过 get_all_sheets 接口获取工作表的 id 或 name。", "required": true } }, "interface_ref": { "product_id": "sheet", "rpc_name": "get_filter" } }, "sheet.get_filter_views": { "title": "获取筛选视图", "description": "获取钉钉电子表格中指定工作表的所有筛选视图列表。\r\n\r\n通过 nodeId 定位电子表格文档,通过 sheetId 定位工作表。\r\nnodeId 支持传入文档链接 URL 或文档 ID(dentryUuid),系统自动识别。\r\nsheetId 支持传入工作表 ID 或工作表名称,可通过 get_all_sheets 获取。\r\n\r\n筛选视图是独立于全局筛选的个人化数据过滤方式,不同用户可以创建自己的筛选视图,互不影响。\r\n返回该工作表下所有筛选视图的 ID、名称和范围信息。\r\n\r\n仅限用户对文档具备\"可阅读\"权限时可获取。不支持跨组织查询。", "parameters": { "nodeId": { "type": "string", "description": "目标电子表格的标识(必填)。支持两种格式:1) 文档链接 URL,如 https://alidocs.dingtalk.com/i/nodes/{dentryUuid};2) 文档 ID(dentryUuid),32 位字母数字字符串。系统自动识别格式。", "required": true }, "sheetId": { "type": "string", "description": "目标工作表的 ID 或名称(必填)。可通过 get_all_sheets 接口获取工作表的 id 或 name。", "required": true } }, "interface_ref": { "product_id": "sheet", "rpc_name": "get_filter_views" } }, "sheet.get_float_image": { "title": "获取单张浮动图片", "description": "获取钉钉电子表格中指定浮动图片的详细信息。", "parameters": { "floatImageId": { "type": "string", "description": "浮动图片 ID(必填)。可通过 list_float_images 接口获取。", "required": true }, "nodeId": { "type": "string", "description": "目标电子表格的标识(必填)。支持两种格式:1) 钉钉文档链接 URL;2) 文档 ID(dentryUuid),32 位字母数字字符串。系统自动识别格式。", "required": true }, "sheetId": { "type": "string", "description": "目标工作表的 ID 或名称(必填)。可通过 get_all_sheets 接口获取工作表的 id 或 name。", "required": true } }, "interface_ref": { "product_id": "sheet", "rpc_name": "get_float_image" } }, "sheet.get_range_as_csv": { "title": "以 CSV 格式读取工作表数据", "description": "以 RFC 4180 CSV 格式读取钉钉电子表格中指定工作表的指定范围数据。\r\n\r\n与 get_range 的区别:\r\n- 返回 CSV 文本而非 JSON 二维数组,token 消耗约为 JSON 的 1/3\r\n- 每行前加 [row=N] 前缀标注真实表格行号,防止行号计算错误\r\n- 返回 colIndices 列字母映射数组,防止手数列号\r\n- 内置 maxChars 防爆保护,超限自动截断并设 hasMore=true\r\n- 支持 valueRenderOption 选择返回格式化展示值、原始值或公式文本", "parameters": { "maxChars": { "type": "number", "description": "CSV 文本最大字符数(默认 200000)。超出时截断并设 hasMore=true。" }, "nodeId": { "type": "string", "description": "目标电子表格的标识(必填)。支持文档链接 URL 或 dentryUuid。", "required": true }, "range": { "type": "string", "description": "A1 表示法(可选)。不传时读取全部非空数据。支持 {sheetId}!A1:D10 格式。" }, "sheetId": { "type": "string", "description": "工作表 ID 或名称(可选)。不传时默认读取第一个工作表。" }, "valueRenderOption": { "type": "string", "description": "formatted_value(默认,格式化展示值)| raw_value(原始值)| formula(公式文本,无公式时回退原始值)" } }, "interface_ref": { "product_id": "sheet", "rpc_name": "get_range_as_csv" } }, "sheet.info": { "title": "get_sheet", "description": "获取钉钉电子表格中指定工作表的详细信息。\r\n\r\n通过 nodeId 定位电子表格文档,通过 sheetId 定位具体的工作表。\r\nnodeId 支持传入文档链接 URL 或文档 ID(dentryUuid),系统自动识别。\r\nsheetId 支持传入工作表 ID 或工作表名称,可通过 get_all_sheets 获取。\r\n\r\n返回指定工作表的 ID、名称、可见性、行列数、最后非空行列位置等详细信息。\r\n\r\n仅限用户对文档具备\"可阅读\"权限时可获取。不支持跨组织查询。\r\n\r\n支持的文档类型:钉钉在线电子表格。\r\n文档链接格式:https://alidocs.dingtalk.com/i/nodes/{dentryUuid}\r\ndentryUuid 为 32 位字母数字字符串。", "parameters": { "include": { "type": "array", "description": "可选扩展信息列表。当前支持 groups,用于返回 rowGroups / columnGroups 分组信息。未指定时只返回基础工作表信息、冻结信息和 mergedRanges。" }, "nodeId": { "type": "string", "description": "目标电子表格的标识,支持两种格式:1) 钉钉文档链接 URL;2) 文档 ID(dentryUuid),32 位字母数字字符串。系统自动识别格式。", "required": true }, "sheetId": { "type": "string", "description": "目标工作表的 ID 或名称(可选)。可通过 get_all_sheets 接口获取工作表的 id 或 name 参数值。如果不传,则默认获取第一个工作表的信息。" } }, "interface_ref": { "product_id": "sheet", "rpc_name": "get_sheet" } }, "sheet.insert_dimension": { "title": "在指定位置插入行或列", "description": "在钉钉表格指定工作表的指定位置之前(before)插入若干空行或空列。", "parameters": { "dimension": { "type": "string", "description": "插入维度:ROWS 表示插入行,COLUMNS 表示插入列。必填。", "required": true }, "length": { "type": "number", "description": "要插入的行/列数量,必须为正整数(\u003e= 1)。必填。", "required": true }, "nodeId": { "type": "string", "description": "表格文件 ID,知识库 API 返回的 nodeId(dentryUuid) 即是表格 nodeId,可通过获取节点或创建知识库文档接口获取。必填。", "required": true }, "position": { "type": "string", "description": "插入位置的 A1 表示法。dimension=ROWS 时为 1-based 行号字符串,如 \"3\" 表示在第 3 行之前插入;dimension=COLUMNS 时为列字母,如 \"A\" 表示在 A 列之前插入、\"AB\" 表示在 AB 列之前插入。允许携带工作表前缀,如 \"Sheet1!3\" / \"Sheet1!A\",此时将忽略 sheetId 参数。必填。", "required": true }, "sheetId": { "type": "string", "description": "工作表 ID 或名称。可通过获取所有工作表接口获取 id 或 name 参数值。必填。若 position 携带 Sheet 前缀(如 Sheet1!3),以前缀为准。", "required": true } }, "interface_ref": { "product_id": "sheet", "rpc_name": "insert_dimension" } }, "sheet.list_float_images": { "title": "获取所有浮动图片", "description": "列出钉钉电子表格指定工作表中的所有浮动图片。", "parameters": { "nodeId": { "type": "string", "description": "目标电子表格的标识(必填)。支持两种格式:1) 钉钉文档链接 URL;2) 文档 ID(dentryUuid),32 位字母数字字符串。系统自动识别格式。", "required": true }, "sheetId": { "type": "string", "description": "目标工作表的 ID 或名称(必填)。可通过 get_all_sheets 接口获取工作表的 id 或 name。", "required": true } }, "interface_ref": { "product_id": "sheet", "rpc_name": "list_float_images" } }, "sheet.merge_cells": { "title": "合并单元格", "description": "将钉钉电子表格中指定工作表的指定区域内的单元格合并为一个或多个合并区域。", "parameters": { "mergeType": { "type": "string", "description": "合并方式,可选值:mergeAll(合并所有,默认)、mergeRows(按行合并)、mergeColumns(按列合并)。不传时默认为 mergeAll。" }, "nodeId": { "type": "string", "description": "表格文件 ID,知识库 API 返回的 nodeId(dentryUuid) 即是表格 nodeId,可通过获取节点或创建知识库文档接口获取。必填。", "required": true }, "rangeAddress": { "type": "string", "description": "目标单元格区域地址,如 A1:B3。支持带工作表前缀的写法,如 Sheet1!A1:B3,此时将忽略 sheetId 参数。必填。", "required": true }, "sheetId": { "type": "string", "description": "工作表 ID 或名称。可通过获取所有工作表接口获取 id 或 name 参数值。必填。", "required": true } }, "interface_ref": { "product_id": "sheet", "rpc_name": "merge_cells" } }, "sheet.move_dimension": { "title": "移动行列", "description": "在钉钉表格的指定工作表中,将指定范围的行或列移动到目标位置。", "parameters": { "destinationIndex": { "type": "string", "description": "目标位置的 A1 表示法(必填)。dimension=ROWS 时为 1-based 行号如 \"5\";dimension=COLUMNS 时为列字母如 \"E\"。源行/列将移动到该位置之前。不能落在源范围 [startIndex, endIndex] 内。", "required": true }, "dimension": { "type": "string", "description": "移动维度(必填)。ROWS 表示移动行,COLUMNS 表示移动列。", "required": true }, "endIndex": { "type": "string", "description": "要移动的行/列的结束位置,A1 表示法(必填)。dimension=ROWS 时为 1-based 行号如 \"4\";dimension=COLUMNS 时为列字母如 \"C\"。必须 \u003e= startIndex。", "required": true }, "nodeId": { "type": "string", "description": "目标电子表格的标识(必填)。支持两种格式:1) 钉钉文档链接 URL;2) 文档 ID(dentryUuid),32 位字母数字字符串。系统自动识别格式。", "required": true }, "sheetId": { "type": "string", "description": "目标工作表的 ID 或名称(必填)。可通过 get_all_sheets 接口获取工作表的 id 或 name。", "required": true }, "startIndex": { "type": "string", "description": "要移动的行/列的起始位置,A1 表示法(必填)。dimension=ROWS 时为 1-based 行号如 \"2\";dimension=COLUMNS 时为列字母如 \"B\"。", "required": true } }, "interface_ref": { "product_id": "sheet", "rpc_name": "move_dimension" } }, "sheet.range_batch_set_style": { "title": "更新表格指定区域内容", "description": "对于一个钉钉在线表格,更新指定区域内单元格信息,包括单元格中的值、超链接、数字格式等内容。", "parameters": { "backgroundColors": { "type": "array", "description": "单元格背景色,二维数组格式。取值为 #RRGGBB 形式的十六进制颜色字符串,单个值长度 ≤ 128。行列维度需与 rangeAddress 范围一致。示例(A1:B2):[[\"#FFF2CC\",\"#DDEBF7\"],[\"#E2EFDA\",\"#FCE4D6\"]]。外层数组最大长度 1000。" }, "fontColors": { "type": "array", "description": "字体颜色,二维数组格式。取值为 #RRGGBB 形式的十六进制颜色字符串,单个值长度 ≤ 128。行列维度需与 rangeAddress 范围一致。示例:[[\"#333333\",\"#FF0000\"]]。外层数组最大长度 1000。" }, "fontSizes": { "type": "array", "description": "单元格字号,二维数组格式,元素为正整数。行列维度需与 rangeAddress 范围一致。示例(A1:B2):[[12,14],[10,10]]。外层数组最大长度 1000。" }, "fontWeights": { "type": "array", "description": "字体粗细,二维数组格式,元素取值枚举:bold / normal。行列维度需与 rangeAddress 范围一致。示例:[[\"bold\",\"normal\"]]。外层数组最大长度 1000。" }, "horizontalAlignments": { "type": "array", "description": "单元格水平对齐方式,二维数组格式,元素取值枚举:left / center / right / general。行列维度需与 rangeAddress 范围一致。示例:[[\"center\",\"left\"]]。外层数组最大长度 1000。" }, "hyperlinks": { "type": "array", "description": "超链接,二维数组格式。可与 values 共存,会进行合并(对于同一个单元格,hyperlinks 的优先级更高)。每个元素为对象或者 null(但不支持全部单元格都填充 null),null 代表清除单元格数据。对象包含 type、link、text 三个字段。type 可选值:path(外部链接)、sheet(工作表链接)、range(单元格链接)。示例:1) 外部链接:{\"type\":\"path\",\"link\":\"https://www.dingtalk.com\",\"text\":\"DingTalk\"};2) 工作表链接:{\"type\":\"sheet\",\"link\":\"sheet2\",\"text\":\"跳转到sheet2\"} 或 {\"type\":\"range\",\"link\":\"sheet2!A1\",\"text\":\"跳转到sheet2的A1\"};3) 单元格链接:{\"type\":\"range\",\"link\":\"sheet2!A1:B2\",\"text\":\"跳转到sheet2的A1:B2\"}。" }, "nodeId": { "type": "string", "description": "表格文件 ID(必填)。支持三种格式:1) 钉钉文档链接 URL,如 https://alidocs.dingtalk.com/i/nodes/{dentryUuid} 或 https://alidocs.dingtalk.com/spreadsheetv2/{dentryKey}/...;2) 文档 ID(dentryUuid),32 位字母数字字符串;3) 其他钉钉文档域名下的链接。系统自动识别格式。", "required": true }, "numberFormat": { "type": "string", "description": "数字格式。常用值:General(常规)、@(文本)、#,##0(数字)、#,##0.00(带小数)、0%(百分数)、yyyy/m/d(日期)、hh:mm:ss(时间)、¥#,##0(人民币)、$#,##0(美元)等。" }, "rangeAddress": { "type": "string", "description": "目标单元格区域地址,如 A1:B3。必填。", "required": true }, "sheetId": { "type": "string", "description": "工作表 ID 或名称。可通过获取所有工作表接口获取 id 或 name 参数值。必填。", "required": true }, "values": { "type": "array", "description": "单元格的值,二维数组格式。行列维度需与 rangeAddress 范围一致。示例(A1:B3):[[\"1\",\"2\"],[\"3\",\"4\"],[\"5\",\"6\"]]。可与 hyperlinks 共存,会进行合并(对于同一个单元格,hyperlinks 的优先级更高)。可插入的值类型包括:1) 字符,如 \"123\";2) 公式,如 \"=A3+B3\"、\"=SUM(B2:B4)\";3) null,代表清除该单元格内容(但不支持全部单元格都填充 null)。" }, "verticalAlignments": { "type": "array", "description": "单元格垂直对齐方式,二维数组格式,元素取值枚举:top / middle / bottom。行列维度需与 rangeAddress 范围一致。示例:[[\"middle\",\"top\"]]。外层数组最大长度 1000。" }, "wordWrap": { "type": "string", "description": "单元格换行方式,单值字符串,整个 range 共用(非二维数组)。取值枚举:overflow / clip / autoWrap(驼峰,非下划线)。" } }, "interface_ref": { "product_id": "sheet", "rpc_name": "update_range" } }, "sheet.range_copy_to": { "title": "区域复制", "description": "将源范围的数据复制到目标位置。支持同 sheet 和跨 sheet 复制。", "parameters": { "destinationRange": { "type": "string", "description": "复制到的目标起始位置(必填),使用 A1 表示法。例如 \"D1\"。源和目标不能重叠。", "required": true }, "nodeId": { "type": "string", "description": "目标电子表格的标识(必填)。支持两种格式:1) 钉钉文档链接 URL;2) 文档 ID(dentryUuid),32 位字母数字字符串。系统自动识别格式。", "required": true }, "pasteType": { "type": "string", "description": "粘贴内容过滤(可选)。values: 仅粘贴值;formulas: 仅粘贴公式;formats: 仅粘贴格式。不传时复制全部内容。" }, "sheetId": { "type": "string", "description": "目标工作表的 ID 或名称(必填)。可通过 get_all_sheets 接口获取工作表的 id 或 name。", "required": true }, "sourceRange": { "type": "string", "description": "要复制的源数据范围(必填),使用 A1 表示法。例如 \"A1:C5\"。", "required": true }, "targetSheetId": { "type": "string", "description": "目标工作表的 ID(可选)。不传时默认复制到源所在的同一工作表。跨工作表复制时需指定此参数。" } }, "interface_ref": { "product_id": "sheet", "rpc_name": "copy_range" } }, "sheet.range_move_to": { "title": "区域移动", "description": "将源范围的数据移动到目标位置,源区域将被清空。支持同 sheet 和跨 sheet 移动。", "parameters": { "destinationRange": { "type": "string", "description": "移动到的目标起始位置(必填),使用 A1 表示法。例如 \"D1\"。源和目标不能重叠。", "required": true }, "nodeId": { "type": "string", "description": "目标电子表格的标识(必填)。支持两种格式:1) 钉钉文档链接 URL;2) 文档 ID(dentryUuid),32 位字母数字字符串。系统自动识别格式。", "required": true }, "sheetId": { "type": "string", "description": "目标工作表的 ID 或名称(必填)。可通过 get_all_sheets 接口获取工作表的 id 或 name。", "required": true }, "sourceRange": { "type": "string", "description": "要移动的源数据范围(必填),使用 A1 表示法。例如 \"A1:C5\"。移动后源区域将被清空。", "required": true }, "targetSheetId": { "type": "string", "description": "目标工作表的 ID(可选)。不传时默认移动到源所在的同一工作表。跨工作表移动时需指定此参数。" } }, "interface_ref": { "product_id": "sheet", "rpc_name": "move_range" } }, "sheet.range_read": { "title": "读取工作表数据", "description": "读取钉钉电子表格中指定工作表的指定范围数据。\r\n\r\n通过 nodeId 定位电子表格文档,通过 sheetId 定位工作表,通过 range 指定读取的单元格范围。\r\nnodeId 支持传入文档链接 URL 或文档 ID(dentryUuid),系统自动识别。\r\nsheetId 支持传入工作表 ID 或工作表名称,可通过 get_all_sheets 获取。不传则默认读取第一个工作表。\r\nrange 使用 A1 表示法指定单元格范围,支持带工作表前缀(如 \u003csheetId\u003e!A1:D10)。不传则默认读取该工作表的全部数据。\r\n\r\n返回指定范围内的单元格值、公式、显示值等信息。\r\n其中 values 返回公式计算后的结果值,formulas 返回原始公式,displayValues 返回界面上的显示值。\r\n所有数据均以二维数组形式返回,第一维为行,第二维为列。\r\n\r\n仅限用户对文档具备\"可阅读\"权限时可获取。不支持跨组织查询。\r\n\r\n支持的文档类型:钉钉在线电子表格。\r\n文档链接格式:https://alidocs.dingtalk.com/i/nodes/{dentryUuid}\r\ndentryUuid 为 32 位字母数字字符串。", "parameters": { "nodeId": { "type": "string", "description": "目标电子表格的标识(必填)。支持两种格式:1) 文档链接 URL,如 https://alidocs.dingtalk.com/i/nodes/{dentryUuid};2) 文档 ID(dentryUuid),32 位字母数字字符串。系统自动识别格式。仅支持钉钉在线电子表格类型的文档,传入其他类型文档(如钉钉文档)会报错。", "required": true }, "range": { "type": "string", "description": "要读取的单元格范围(可选),使用 A1 表示法。支持两种格式:1) 仅范围,如 A1:D10(此时使用 sheetId 参数指定工作表);2) 带工作表前缀,如 {sheetId}!A1:D10(此时忽略 sheetId 参数,从 range 中解析工作表标识)。不传时默认读取目标工作表的全部非空数据。系统会自动检测工作表的实际数据范围,避免返回大量空数据。" }, "sheetId": { "type": "string", "description": "目标工作表的 ID 或名称(可选)。可通过 get_all_sheets 接口获取工作表的 id 或 name。不传时默认读取第一个工作表。注意:当 range 参数包含工作表前缀(如 sheetId!A1:D10)时,range 中的前缀会覆盖此参数。" } }, "interface_ref": { "product_id": "sheet", "rpc_name": "get_range" } }, "sheet.range_set_style": { "title": "更新表格指定区域内容", "description": "对于一个钉钉在线表格,更新指定区域内单元格信息,包括单元格中的值、超链接、数字格式等内容。", "parameters": { "backgroundColors": { "type": "array", "description": "单元格背景色,二维数组格式。取值为 #RRGGBB 形式的十六进制颜色字符串,单个值长度 ≤ 128。行列维度需与 rangeAddress 范围一致。示例(A1:B2):[[\"#FFF2CC\",\"#DDEBF7\"],[\"#E2EFDA\",\"#FCE4D6\"]]。外层数组最大长度 1000。" }, "fontColors": { "type": "array", "description": "字体颜色,二维数组格式。取值为 #RRGGBB 形式的十六进制颜色字符串,单个值长度 ≤ 128。行列维度需与 rangeAddress 范围一致。示例:[[\"#333333\",\"#FF0000\"]]。外层数组最大长度 1000。" }, "fontSizes": { "type": "array", "description": "单元格字号,二维数组格式,元素为正整数。行列维度需与 rangeAddress 范围一致。示例(A1:B2):[[12,14],[10,10]]。外层数组最大长度 1000。" }, "fontWeights": { "type": "array", "description": "字体粗细,二维数组格式,元素取值枚举:bold / normal。行列维度需与 rangeAddress 范围一致。示例:[[\"bold\",\"normal\"]]。外层数组最大长度 1000。" }, "horizontalAlignments": { "type": "array", "description": "单元格水平对齐方式,二维数组格式,元素取值枚举:left / center / right / general。行列维度需与 rangeAddress 范围一致。示例:[[\"center\",\"left\"]]。外层数组最大长度 1000。" }, "hyperlinks": { "type": "array", "description": "超链接,二维数组格式。可与 values 共存,会进行合并(对于同一个单元格,hyperlinks 的优先级更高)。每个元素为对象或者 null(但不支持全部单元格都填充 null),null 代表清除单元格数据。对象包含 type、link、text 三个字段。type 可选值:path(外部链接)、sheet(工作表链接)、range(单元格链接)。示例:1) 外部链接:{\"type\":\"path\",\"link\":\"https://www.dingtalk.com\",\"text\":\"DingTalk\"};2) 工作表链接:{\"type\":\"sheet\",\"link\":\"sheet2\",\"text\":\"跳转到sheet2\"} 或 {\"type\":\"range\",\"link\":\"sheet2!A1\",\"text\":\"跳转到sheet2的A1\"};3) 单元格链接:{\"type\":\"range\",\"link\":\"sheet2!A1:B2\",\"text\":\"跳转到sheet2的A1:B2\"}。" }, "nodeId": { "type": "string", "description": "表格文件 ID(必填)。支持三种格式:1) 钉钉文档链接 URL,如 https://alidocs.dingtalk.com/i/nodes/{dentryUuid} 或 https://alidocs.dingtalk.com/spreadsheetv2/{dentryKey}/...;2) 文档 ID(dentryUuid),32 位字母数字字符串;3) 其他钉钉文档域名下的链接。系统自动识别格式。", "required": true }, "numberFormat": { "type": "string", "description": "数字格式。常用值:General(常规)、@(文本)、#,##0(数字)、#,##0.00(带小数)、0%(百分数)、yyyy/m/d(日期)、hh:mm:ss(时间)、¥#,##0(人民币)、$#,##0(美元)等。" }, "rangeAddress": { "type": "string", "description": "目标单元格区域地址,如 A1:B3。必填。", "required": true }, "sheetId": { "type": "string", "description": "工作表 ID 或名称。可通过获取所有工作表接口获取 id 或 name 参数值。必填。", "required": true }, "values": { "type": "array", "description": "单元格的值,二维数组格式。行列维度需与 rangeAddress 范围一致。示例(A1:B3):[[\"1\",\"2\"],[\"3\",\"4\"],[\"5\",\"6\"]]。可与 hyperlinks 共存,会进行合并(对于同一个单元格,hyperlinks 的优先级更高)。可插入的值类型包括:1) 字符,如 \"123\";2) 公式,如 \"=A3+B3\"、\"=SUM(B2:B4)\";3) null,代表清除该单元格内容(但不支持全部单元格都填充 null)。" }, "verticalAlignments": { "type": "array", "description": "单元格垂直对齐方式,二维数组格式,元素取值枚举:top / middle / bottom。行列维度需与 rangeAddress 范围一致。示例:[[\"middle\",\"top\"]]。外层数组最大长度 1000。" }, "wordWrap": { "type": "string", "description": "单元格换行方式,单值字符串,整个 range 共用(非二维数组)。取值枚举:overflow / clip / autoWrap(驼峰,非下划线)。" } }, "interface_ref": { "product_id": "sheet", "rpc_name": "update_range" } }, "sheet.range_update": { "title": "更新表格指定区域内容", "description": "对于一个钉钉在线表格,更新指定区域内单元格信息,包括单元格中的值、超链接、数字格式等内容。", "parameters": { "backgroundColors": { "type": "array", "description": "单元格背景色,二维数组格式。取值为 #RRGGBB 形式的十六进制颜色字符串,单个值长度 ≤ 128。行列维度需与 rangeAddress 范围一致。示例(A1:B2):[[\"#FFF2CC\",\"#DDEBF7\"],[\"#E2EFDA\",\"#FCE4D6\"]]。外层数组最大长度 1000。" }, "fontColors": { "type": "array", "description": "字体颜色,二维数组格式。取值为 #RRGGBB 形式的十六进制颜色字符串,单个值长度 ≤ 128。行列维度需与 rangeAddress 范围一致。示例:[[\"#333333\",\"#FF0000\"]]。外层数组最大长度 1000。" }, "fontSizes": { "type": "array", "description": "单元格字号,二维数组格式,元素为正整数。行列维度需与 rangeAddress 范围一致。示例(A1:B2):[[12,14],[10,10]]。外层数组最大长度 1000。" }, "fontWeights": { "type": "array", "description": "字体粗细,二维数组格式,元素取值枚举:bold / normal。行列维度需与 rangeAddress 范围一致。示例:[[\"bold\",\"normal\"]]。外层数组最大长度 1000。" }, "horizontalAlignments": { "type": "array", "description": "单元格水平对齐方式,二维数组格式,元素取值枚举:left / center / right / general。行列维度需与 rangeAddress 范围一致。示例:[[\"center\",\"left\"]]。外层数组最大长度 1000。" }, "hyperlinks": { "type": "array", "description": "超链接,二维数组格式。可与 values 共存,会进行合并(对于同一个单元格,hyperlinks 的优先级更高)。每个元素为对象或者 null(但不支持全部单元格都填充 null),null 代表清除单元格数据。对象包含 type、link、text 三个字段。type 可选值:path(外部链接)、sheet(工作表链接)、range(单元格链接)。示例:1) 外部链接:{\"type\":\"path\",\"link\":\"https://www.dingtalk.com\",\"text\":\"DingTalk\"};2) 工作表链接:{\"type\":\"sheet\",\"link\":\"sheet2\",\"text\":\"跳转到sheet2\"} 或 {\"type\":\"range\",\"link\":\"sheet2!A1\",\"text\":\"跳转到sheet2的A1\"};3) 单元格链接:{\"type\":\"range\",\"link\":\"sheet2!A1:B2\",\"text\":\"跳转到sheet2的A1:B2\"}。" }, "nodeId": { "type": "string", "description": "表格文件 ID(必填)。支持三种格式:1) 钉钉文档链接 URL,如 https://alidocs.dingtalk.com/i/nodes/{dentryUuid} 或 https://alidocs.dingtalk.com/spreadsheetv2/{dentryKey}/...;2) 文档 ID(dentryUuid),32 位字母数字字符串;3) 其他钉钉文档域名下的链接。系统自动识别格式。", "required": true }, "numberFormat": { "type": "string", "description": "数字格式。常用值:General(常规)、@(文本)、#,##0(数字)、#,##0.00(带小数)、0%(百分数)、yyyy/m/d(日期)、hh:mm:ss(时间)、¥#,##0(人民币)、$#,##0(美元)等。" }, "rangeAddress": { "type": "string", "description": "目标单元格区域地址,如 A1:B3。必填。", "required": true }, "sheetId": { "type": "string", "description": "工作表 ID 或名称。可通过获取所有工作表接口获取 id 或 name 参数值。必填。", "required": true }, "values": { "type": "array", "description": "单元格的值,二维数组格式。行列维度需与 rangeAddress 范围一致。示例(A1:B3):[[\"1\",\"2\"],[\"3\",\"4\"],[\"5\",\"6\"]]。可与 hyperlinks 共存,会进行合并(对于同一个单元格,hyperlinks 的优先级更高)。可插入的值类型包括:1) 字符,如 \"123\";2) 公式,如 \"=A3+B3\"、\"=SUM(B2:B4)\";3) null,代表清除该单元格内容(但不支持全部单元格都填充 null)。" }, "verticalAlignments": { "type": "array", "description": "单元格垂直对齐方式,二维数组格式,元素取值枚举:top / middle / bottom。行列维度需与 rangeAddress 范围一致。示例:[[\"middle\",\"top\"]]。外层数组最大长度 1000。" }, "wordWrap": { "type": "string", "description": "单元格换行方式,单值字符串,整个 range 共用(非二维数组)。取值枚举:overflow / clip / autoWrap(驼峰,非下划线)。" } }, "interface_ref": { "product_id": "sheet", "rpc_name": "update_range" } }, "sheet.replace_all": { "title": "全局查找替换", "description": "在钉钉表格的指定工作表中,全局查找并替换文本内容。\r\n\r\n支持以下替换选项:\r\n- matchCase:是否区分大小写(默认 false)\r\n- matchEntireCell:是否完整单元格匹配(默认 false)\r\n- useRegExp:是否使用正则表达式(默认 false)\r\n- includeHidden:是否包含隐藏行/列(默认 false)\r\n- range:限定替换范围,使用 A1 表示法(如 A1:D100),不传时在整个工作表中替换\r\n\r\n返回被替换的单元格数量。\r\n通过 nodeId 定位电子表格文档,通过 sheetId 定位工作表,通过 filterViewId 定位筛选视图,通过 column 指定目标列。\r\nnodeId 支持传入文档链接 URL 或文档 ID(dentryUuid),系统自动识别。\r\nsheetId 支持传入工作表 ID 或工作表名称,可通过 get_all_sheets 获取。\r\nfilterViewId 可通过 get_filter_views 获取。\r\n\r\n清除指定列的筛选条件后,该列不再参与筛选视图的筛选计算。\r\n此操作仅清除指定列的条件,不会删除整个筛选视图。如需删除整个筛选视图,请使用 delete_filter_view。\r\n清除操作仅影响当前筛选视图,不影响全局筛选或其他筛选视图。\r\n\r\n如果指定列没有设置筛选条件,调用此接口不会报错。\r\n\r\n仅限用户对文档具备\"可编辑\"权限时可操作。不支持跨组织操作。", "parameters": { "includeHidden": { "type": "boolean", "description": "是否包含隐藏的行和列(可选,默认 false)。" }, "matchCase": { "type": "boolean", "description": "是否区分大小写(可选,默认 false)。" }, "matchEntireCell": { "type": "boolean", "description": "是否要求文本完全匹配整个单元格内容(可选,默认 false)。" }, "nodeId": { "type": "string", "description": "目标电子表格的标识(必填)。支持两种格式:1) 文档链接 URL,如 https://alidocs.dingtalk.com/i/nodes/{dentryUuid};2) 文档 ID(dentryUuid),32 位字母数字字符串。系统自动识别格式。", "required": true }, "range": { "type": "string", "description": "使用 A1 表示法限定替换范围(可选),如 A1:D100。不传时在整个工作表中替换。" }, "replaceText": { "type": "string", "description": "替换后的文本内容(必填)。可以为空字符串,表示删除匹配内容。", "required": true }, "sheetId": { "type": "string", "description": "目标工作表的 ID 或名称(必填)。可通过 get_all_sheets 接口获取工作表的 id 或 name。", "required": true }, "text": { "type": "string", "description": "要查找的文本内容(必填),不能为空字符串。", "required": true }, "useRegExp": { "type": "boolean", "description": "是否使用正则表达式匹配(可选,默认 false)。" } }, "interface_ref": { "product_id": "sheet", "rpc_name": "replace_all" } }, "sheet.set_dropdown_lists": { "title": "设置下拉列表", "description": "在钉钉表格的指定单元格范围内设置下拉列表。", "parameters": { "enableMultiSelect": { "type": "boolean", "description": "是否允许在单元格中选择多个选项(可选,默认 false)。" }, "nodeId": { "type": "string", "description": "目标电子表格的标识(必填)。支持两种格式:1) 钉钉文档链接 URL;2) 文档 ID(dentryUuid),32 位字母数字字符串。系统自动识别格式。", "required": true }, "options": { "type": "array", "description": "下拉选项数组(必填),至少包含 1 个选项。每个选项包含 value(必填)和 color(可选)。选项值不能包含英文逗号。", "required": true }, "range": { "type": "string", "description": "要设置下拉列表的单元格范围(必填),A1 表示法,如 \"A2:A100\"。", "required": true }, "sheetId": { "type": "string", "description": "目标工作表的 ID 或名称(必填)。可通过 get_all_sheets 获取。", "required": true } }, "interface_ref": { "product_id": "sheet", "rpc_name": "set_dropdown_lists" } }, "sheet.set_range_from_csv": { "title": "写入 CSV 数据到指定区域", "description": "将 RFC 4180 格式的 CSV 文本写入指定工作表的指定单元格位置。\r\n\r\n只写纯值,不支持公式/样式/批注。=开头的内容当作文本处理,不会被解析为公式。\r\n自动扩容行列:当 CSV 数据超出当前工作表维度时,自动追加行/列。\r\n目标区域如含合并单元格,合并将被打散,值正常写入。", "parameters": { "allowOverwrite": { "type": "boolean", "description": "是否允许覆盖目标区域中已有数据的单元格。默认 false;设为 true 时允许覆盖非空单元格。" }, "csv": { "type": "string", "description": "RFC 4180 格式的 CSV 文本。只写纯值,不支持公式/样式/批注,=开头当文本处理。长度上限 2M 字符,单元格总数上限 30000。", "required": true }, "nodeId": { "type": "string", "description": "目标电子表格的标识,支持两种格式:1) 钉钉文档链接 URL;2) 文档 ID(dentryUuid),32 位字母数字字符串。系统自动识别格式。", "required": true }, "sheetId": { "type": "string", "description": "目标工作表的标识,支持两种格式:1) 工作表 ID(sheetId);2) 工作表名称。可通过 get_all_sheets 获取。", "required": true }, "startCell": { "type": "string", "description": "写入的起始单元格位置,A1 表示法(如 A1、B5、AA100)。CSV 数据从该单元格开始向右向下铺开,自动按 CSV 行列数推断终点。", "required": true } }, "interface_ref": { "product_id": "sheet", "rpc_name": "set_range_from_csv" } }, "sheet.sort_filter": { "title": "筛选排序", "description": "对钉钉电子表格中指定工作表的筛选范围内的数据进行排序。\r\n\r\n通过 nodeId 定位电子表格文档,通过 sheetId 定位工作表。\r\nnodeId 支持传入文档链接 URL 或文档 ID(dentryUuid),系统自动识别。\r\nsheetId 支持传入工作表 ID 或工作表名称,可通过 get_all_sheets 获取。\r\n\r\n排序基于筛选范围内的指定列,支持升序和降序。\r\n排序会实际改变工作表中数据行的物理顺序。\r\n\r\n使用此接口前,工作表必须已创建筛选(通过 create_filter 创建)。\r\n\r\n仅限用户对文档具备\"可编辑\"权限时可操作。不支持跨组织操作。", "parameters": { "field": { "type": "object", "description": "排序规则(必填)。包含 column(列偏移量)和 ascending(是否升序)。例如:{\"column\": 0, \"ascending\": true} 表示按第一列升序,{\"column\": 1, \"ascending\": false} 表示按第二列降序。", "required": true }, "nodeId": { "type": "string", "description": "目标电子表格的标识(必填)。支持两种格式:1) 文档链接 URL,如 https://alidocs.dingtalk.com/i/nodes/{dentryUuid};2) 文档 ID(dentryUuid),32 位字母数字字符串。系统自动识别格式。", "required": true }, "sheetId": { "type": "string", "description": "目标工作表的 ID 或名称(必填)。可通过 get_all_sheets 接口获取工作表的 id 或 name。", "required": true } }, "interface_ref": { "product_id": "sheet", "rpc_name": "sort_filter" } }, "sheet.sort_range": { "title": "区域排序", "description": "对钉钉电子表格中指定工作表指定范围的数据进行排序。支持多级排序(按 sortKeys 数组顺序优先级递减)。column 使用字母列名(如 \"A\"、\"B\"、\"AA\")。如果数据首行为表头,可设置跳过首行不参与排序。", "parameters": { "hasHeader": { "type": "boolean", "description": "首行是否为表头(可选,默认 false)。为 true 时首行不参与排序。" }, "nodeId": { "type": "string", "description": "目标电子表格的标识(必填)。支持两种格式:1) 钉钉文档链接 URL;2) 文档 ID(dentryUuid),32 位字母数字字符串。系统自动识别格式。", "required": true }, "range": { "type": "string", "description": "要排序的单元格范围(必填),使用 A1 表示法。例如:\"A1:D10\" 表示从 A1 到 D10 的矩形区域。排序将对该范围内的行进行重排。", "required": true }, "sheetId": { "type": "string", "description": "目标工作表的 ID 或名称(必填)。可通过 get_all_sheets 接口获取工作表的 id 或 name。", "required": true }, "sortKeys": { "type": "array", "description": "排序规则数组(必填),支持多级排序(按数组顺序优先级递减)。每个元素包含 column(列字母名称,如 \"A\"、\"B\"、\"AA\")和 ascending(是否升序,默认 true)。", "required": true } }, "interface_ref": { "product_id": "sheet", "rpc_name": "sort_range" } }, "sheet.submit_export_job": { "title": "导出钉钉表格", "description": "用于将钉钉在线表格导出为 xlsx。导出为异步操作,提交后需使用 query_export_job 轮询任务状态并获取下载链接。", "parameters": { "exportFormat": { "type": "string", "description": "导出的目标文件格式,必填。钉钉电子表格侧仅支持 'xlsx',必须传入 'xlsx'。", "required": true }, "nodeId": { "type": "string", "description": "要导出的钉钉在线电子表格的标识,支持以下格式:1) 文档 URL,如 https://alidocs.dingtalk.com/i/nodes/{dentryUuid};2) dentryUuid(32 位字母数字字符串)。必填。仅支持钉钉在线电子表格(alxs),传入其他类型(如钉钉文字文档)会报错。", "required": true } }, "interface_ref": { "product_id": "sheet", "rpc_name": "submit_export_job" } }, "sheet.unmerge_range": { "title": "取消合并单元格", "description": "取消钉钉表格指定工作表中指定范围内的合并单元格。\r\n\r\n通过 rangeAddress 参数指定要取消合并的范围,使用 A1 表示法(如 A1:D5)。\r\n该范围内所有合并的单元格都会被取消合并,恢复为独立的单元格。", "parameters": { "nodeId": { "type": "string", "description": "目标电子表格的标识(必填)。支持两种格式:1) 文档链接 URL,如 https://alidocs.dingtalk.com/i/nodes/{dentryUuid};2) 文档 ID(dentryUuid),32 位字母数字字符串。系统自动识别格式。", "required": true }, "rangeAddress": { "type": "string", "description": "要取消合并的范围(必填),使用 A1 表示法。例如 A1:D5 表示取消 A1 到 D5 区域内的所有合并。", "required": true }, "sheetId": { "type": "string", "description": "目标工作表的 ID 或名称(必填)。可通过 get_all_sheets 接口获取工作表的 id 或 name。", "required": true } }, "interface_ref": { "product_id": "sheet", "rpc_name": "unmerge_range" } }, "sheet.update_cond_format": { "title": "更新条件格式规则", "description": "更新指定工作表中的一条条件格式规则。未传入的字段将保持原有值不变。", "parameters": { "averageCondition": { "type": "object", "description": "高于/低于平均值条件。传入后将替换原有条件类型。与其他条件类型互斥。" }, "cellStyle": { "type": "object", "description": "条件命中时应用的单元格样式。" }, "colorScaleCondition": { "type": "object", "description": "色阶条件。传入后将替换原有条件类型。支持 2 色阶或 3 色阶。" }, "dataBarCondition": { "type": "object", "description": "数据条条件。传入后将替换原有条件类型。定义数据条的最小值和最大值端点。" }, "dataBarStyle": { "type": "object", "description": "数据条的显示样式配置。仅 dataBarCondition 类型时有效。" }, "duplicateCondition": { "type": "object", "description": "重复/唯一值判断条件。传入后将替换原有条件类型。与其他条件类型互斥。" }, "emptyCondition": { "type": "object", "description": "空值判断条件。传入后将替换原有条件类型。与其他条件类型互斥。" }, "errorCondition": { "type": "object", "description": "错误值判断条件。传入后将替换原有条件类型。与其他条件类型互斥。" }, "formulaCondition": { "type": "object", "description": "自定义公式条件。传入后将替换原有条件类型。与其他条件类型互斥。" }, "iconSetCondition": { "type": "object", "description": "图标集条件。传入后将替换原有条件类型。定义图标集的各级阈值和图标。" }, "nodeId": { "type": "string", "description": "目标电子表格的标识(必填)。", "required": true }, "numberCondition": { "type": "object", "description": "数值比较条件。传入后将替换原有条件类型。与其他条件类型互斥。" }, "ranges": { "type": "array", "description": "条件格式规则的应用范围(可选)。" }, "rankCondition": { "type": "object", "description": "排名条件。传入后将替换原有条件类型。与其他条件类型互斥。" }, "ruleId": { "type": "string", "description": "要更新的条件格式规则 ID(必填)。", "required": true }, "sheetId": { "type": "string", "description": "目标工作表的 ID 或名称(必填)。", "required": true }, "stdevCondition": { "type": "object", "description": "标准差条件。传入后将替换原有条件类型。与其他条件类型互斥。" }, "textCondition": { "type": "object", "description": "文本匹配条件。传入后将替换原有条件类型。与其他条件类型互斥。" } }, "interface_ref": { "product_id": "sheet", "rpc_name": "update_cond_format" } }, "sheet.update_dimension": { "title": "更新行列属性", "description": "批量更新钉钉表格指定工作表中连续多行/多列的属性,支持设置显隐状态(hidden)与行高/列宽(pixelSize)。", "parameters": { "dimension": { "type": "string", "description": "更新维度:ROWS 表示行(对应行高/行显隐),COLUMNS 表示列(对应列宽/列显隐)。必填。", "required": true }, "hidden": { "type": "boolean", "description": "是否隐藏,true 表示隐藏、false 表示显示。与 pixelSize 至少填其一。可选。" }, "length": { "type": "number", "description": "要更新的连续行/列数量,必须为正整数(\u003e= 1),行列均最多 5000。必填。", "required": true }, "nodeId": { "type": "string", "description": "表格文件 ID,知识库 API 返回的 nodeId(dentryUuid) 即是表格 nodeId,可通过获取节点或创建知识库文档接口获取。必填。", "required": true }, "pixelSize": { "type": "number", "description": "行高或列宽,单位为像素(px),必须为非负整数。dimension=ROWS 时表示行高,dimension=COLUMNS 时表示列宽。与 hidden 至少填其一。可选。" }, "sheetId": { "type": "string", "description": "工作表 ID 或名称。可通过获取所有工作表接口获取 id 或 name 参数值。必填。若 startIndex 携带 Sheet 前缀(如 Sheet1!3),以前缀为准。", "required": true }, "startIndex": { "type": "string", "description": "起始位置的 A1 表示法。dimension=ROWS 时为 1-based 行号字符串,如 \"3\" 表示从第 3 行开始;dimension=COLUMNS 时为列字母,如 \"A\" 表示从 A 列开始、\"AB\" 表示从 AB 列开始。从该位置起的连续 length 行/列将被更新。允许携带工作表前缀,如 \"Sheet1!3\" / \"Sheet1!A\",此时将忽略 sheetId 参数。必填。", "required": true } }, "interface_ref": { "product_id": "sheet", "rpc_name": "update_dimension" } }, "sheet.update_filter": { "title": "更新筛选", "description": "批量更新钉钉电子表格中指定工作表的筛选条件。\r\n\r\n通过 nodeId 定位电子表格文档,通过 sheetId 定位工作表。\r\nnodeId 支持传入文档链接 URL 或文档 ID(dentryUuid),系统自动识别。\r\nsheetId 支持传入工作表 ID 或工作表名称,可通过 get_all_sheets 获取。\r\n\r\n可同时更新多列的筛选条件,支持三种筛选类型:\r\n- 按值筛选(filterType: values):指定允许显示的值列表,未在列表中的值将被隐藏\r\n- 按条件筛选(filterType: condition):指定条件运算符和比较值\r\n- 按颜色筛选(filterType: color):按单元格背景色或字体颜色筛选\r\n\r\n使用此接口前,工作表必须已创建筛选(通过 create_filter 创建)。\r\n此接口会替换指定列的现有筛选条件,未指定的列保持不变。\r\n\r\n仅限用户对文档具备\"可编辑\"权限时可操作。不支持跨组织操作。", "parameters": { "criteria": { "type": "array", "description": "批量设置多列的筛选条件(必填)。数组格式,每个元素包含 column(列偏移量,0-based)和筛选条件字段。示例:[{\"column\":0,\"filterType\":\"values\",\"visibleValues\":[\"A\",\"B\"]}]", "required": true }, "nodeId": { "type": "string", "description": "目标电子表格的标识(必填)。支持两种格式:1) 钉钉文档链接 URL;2) 文档 ID(dentryUuid),32 位字母数字字符串。系统自动识别格式。", "required": true }, "sheetId": { "type": "string", "description": "目标工作表的 ID 或名称(必填)。可通过 get_all_sheets 接口获取工作表的 id 或 name。", "required": true } }, "interface_ref": { "product_id": "sheet", "rpc_name": "update_filter" } }, "sheet.update_filter_view": { "title": "更新筛选视图", "description": "更新钉钉电子表格中指定工作表的筛选视图属性(名称、范围和/或筛选条件)。\r\n\r\n通过 nodeId 定位电子表格文档,通过 sheetId 定位工作表,通过 filterViewId 定位筛选视图。\r\nnodeId 支持传入文档链接 URL 或文档 ID(dentryUuid),系统自动识别。\r\nsheetId 支持传入工作表 ID 或工作表名称,可通过 get_all_sheets 获取。\r\nfilterViewId 可通过 get_filter_views 获取。\r\n\r\n可更新筛选视图的名称、范围和筛选条件,至少需要传入一个更新字段。\r\n通过 criteria 参数可直接批量更新多列的筛选条件,指定列的条件会被替换,未指定的列保持不变。\r\n\r\n仅限用户对文档具备\"可编辑\"权限时可操作。不支持跨组织操作。", "parameters": { "criteria": { "type": "array", "description": "需要更新的列筛选条件(可选)。数组格式,每个元素包含 column(列偏移量,0-based)和筛选条件字段。示例:[{\"column\":0,\"filterType\":\"values\",\"visibleValues\":[\"A\",\"B\"]}]" }, "filterViewId": { "type": "string", "description": "要更新的筛选视图 ID(必填)。可通过 get_filter_views 接口获取。", "required": true }, "name": { "type": "string", "description": "新的筛选视图名称(可选,name、range、criteria 至少传一个)。" }, "nodeId": { "type": "string", "description": "目标电子表格的标识(必填)。支持两种格式:1) 文档链接 URL,如 https://alidocs.dingtalk.com/i/nodes/{dentryUuid};2) 文档 ID(dentryUuid),32 位字母数字字符串。系统自动识别格式。", "required": true }, "range": { "type": "string", "description": "新的筛选视图范围(可选,name、range、criteria 至少传一个),使用 A1 表示法。" }, "sheetId": { "type": "string", "description": "目标工作表的 ID 或名称(必填)。可通过 get_all_sheets 接口获取工作表的 id 或 name。", "required": true } }, "interface_ref": { "product_id": "sheet", "rpc_name": "update_filter_view" } }, "sheet.update_float_image": { "title": "更新浮动图片", "description": "更新钉钉电子表格中指定浮动图片的属性。", "parameters": { "floatImageId": { "type": "string", "description": "浮动图片 ID(必填)。可通过 list_float_images 接口获取。", "required": true }, "height": { "type": "number", "description": "新的图片高度(可选),单位像素,正整数。" }, "nodeId": { "type": "string", "description": "目标电子表格的标识(必填)。支持两种格式:1) 钉钉文档链接 URL;2) 文档 ID(dentryUuid),32 位字母数字字符串。系统自动识别格式。", "required": true }, "offsetX": { "type": "number", "description": "新的水平偏移量(可选),单位像素。" }, "offsetY": { "type": "number", "description": "新的垂直偏移量(可选),单位像素。" }, "range": { "type": "string", "description": "新的锚点单元格位置(可选),使用 A1 表示法,如 \"A1\"、\"B3\"。" }, "sheetId": { "type": "string", "description": "目标工作表的 ID 或名称(必填)。可通过 get_all_sheets 接口获取工作表的 id 或 name。", "required": true }, "src": { "type": "string", "description": "新的图片 URL 地址(可选)。" }, "width": { "type": "number", "description": "新的图片宽度(可选),单位像素,正整数。" } }, "interface_ref": { "product_id": "sheet", "rpc_name": "update_float_image" } }, "sheet.update_sheet": { "title": "更新工作表属性", "description": "更新钉钉电子表格中指定工作表的属性,包括名称、位置、可见性、冻结行列等。", "parameters": { "frozenColumnCount": { "type": "number", "description": "冻结的列数(可选)。0 表示取消冻结。" }, "frozenRowCount": { "type": "number", "description": "冻结的行数(可选)。0 表示取消冻结。" }, "hidden": { "type": "boolean", "description": "是否隐藏工作表(可选)。true 隐藏,false 显示。" }, "index": { "type": "number", "description": "工作表的新位置索引(可选,0-based)。0 表示移到最前面。" }, "nodeId": { "type": "string", "description": "表格文件 ID(必填)。支持两种格式:1) 钉钉文档链接 URL;2) 文档 ID(dentryUuid),32 位字母数字字符串。系统自动识别格式。", "required": true }, "sheetId": { "type": "string", "description": "目标工作表的 ID 或名称(必填)。可通过 get_all_sheets 接口获取工作表的 id 或 name。", "required": true }, "tabColor": { "type": "string", "description": "工作表标签颜色(可选)。Hex 格式如 #FF0000(6位 RGB)或 #FF0000FF(8位 ARGB)。传空字符串表示清除颜色。" }, "title": { "type": "string", "description": "工作表的新名称(可选)。最长 100 字符。如果新名称与已有工作表重名,系统会自动在名称后追加后缀(如 \"-1\")以避免冲突。" } }, "interface_ref": { "product_id": "sheet", "rpc_name": "update_sheet" } }, "sheet.write_image": { "title": "单元格写入图片", "description": "在钉钉表格的指定单元格中插入图片。\r\n\r\n通过 nodeId 定位表格文件,通过 sheetId 和 rangeAddress 定位目标单元格区域,\r\n将图片资源写入到指定位置。图片资源需要先获取 resourceId 和 resourceUrl。\r\n\r\n使用流程:\r\n1. 先获取上传凭证(uploadUrl、resourceId、resourceUrl)\r\n2. 使用 HTTP PUT 请求将图片文件上传到 uploadUrl\r\n3. 调用本接口,传入 resourceId 和 resourceUrl,在指定单元格中插入图片", "parameters": { "height": { "type": "number", "description": "显示的图片高度" }, "nodeId": { "type": "string", "description": "表格文件 ID,知识库 API 返回的 nodeId(dentryUuid) 即是表格 nodeId,可通过获取节点或创建知识库文档接口获取。必填。", "required": true }, "rangeAddress": { "type": "string", "description": "目标单元格区域地址,如 A1:B3。必填。", "required": true }, "resourceId": { "type": "string", "description": "获取上传资源信息返回的资源 ID", "required": true }, "resourceUrl": { "type": "string", "description": "获取上传资源信息返回的资源链接", "required": true }, "sheetId": { "type": "string", "description": "工作表 ID 或名称。可通过获取所有工作表接口获取 id 或 name 参数值。必填。", "required": true }, "width": { "type": "number", "description": "显示的图片宽度" } }, "interface_ref": { "product_id": "sheet", "rpc_name": "write_image" } }, "todo.add_task_executors": { "title": "add_task_executors", "description": "添加待办执行人", "parameters": { "todoExecutorsAddRequest": { "type": "object", "description": "request", "required": true } }, "interface_ref": { "product_id": "todo", "rpc_name": "add_task_executors" } }, "todo.add_task_participants": { "title": "add_task_participants", "description": "添加待办参与人", "parameters": { "todoParticipantsAddRequest": { "type": "object", "description": "request", "required": true } }, "interface_ref": { "product_id": "todo", "rpc_name": "add_task_participants" } }, "todo.add_todo_attachment": { "title": "添加待办任务附件", "description": "添加待办任务附件", "parameters": { "todoAttachmentAddRequest": { "type": "object", "description": "todoAttachmentAddRequest", "required": true } }, "interface_ref": { "product_id": "todo", "rpc_name": "add_todo_attachment" } }, "todo.add_todo_comment": { "title": "add_todo_comment", "description": "给待办添加评论", "parameters": { "content": { "type": "string", "description": "评论的内容", "required": true }, "taskId": { "type": "string", "description": "待办的标识id", "required": true } }, "interface_ref": { "product_id": "todo", "rpc_name": "add_todo_comment" } }, "todo.add_todo_reminder": { "title": "add_todo_reminder", "description": "添加待办提醒", "parameters": { "todoReminderAddRequest": { "type": "object", "description": "request", "required": true } }, "interface_ref": { "product_id": "todo", "rpc_name": "add_todo_reminder" } }, "todo.create_personal_sub_todo": { "title": "create_personal_sub_todo", "description": "在当前企业组织内创建一条个人待办的子待办事项(要求父待办必须是操作者本人创建),支持设置标题、执行人列表、截止时间、优先级(如高/中/低)。待办将归属于当前用户,并对有权限的协作者可见。子待办不支持设置单独的循环规则(遵循父待办的循环规则)。", "parameters": { "PersonalTodoCreateVO": { "type": "object", "description": "待办信息", "required": true } }, "interface_ref": { "product_id": "todo", "rpc_name": "create_personal_sub_todo" } }, "todo.create_personal_todo": { "title": "创建个人待办", "description": "在当前企业组织内创建一条个人待办事项,支持设置标题、执行人列表(UserId)、截止时间、优先级(如高/中/低)。待办将归属于当前用户,并对有权限的协作者可见。", "parameters": { "PersonalTodoCreateVO": { "type": "object", "description": "待办信息", "required": true } }, "interface_ref": { "product_id": "todo", "rpc_name": "create_personal_todo" } }, "todo.delete_todo": { "title": "delete_todo", "description": "删除待办(所有执行者都删除)", "parameters": { "taskId": { "type": "string", "description": "taskId", "required": true } }, "interface_ref": { "product_id": "todo", "rpc_name": "delete_todo" } }, "todo.delete_todo_comment": { "title": "delete_todo_comment", "description": "删除待办的评论", "parameters": { "commentId": { "type": "string", "description": "评论的标识id", "required": true }, "taskId": { "type": "string", "description": "待办的标识id", "required": true } }, "interface_ref": { "product_id": "todo", "rpc_name": "delete_todo_comment" } }, "todo.get_todo_detail": { "title": "带鉴权的查询待办详情", "description": "查询待办详情,用户必须是待办的创建者或者执行者才有权限查看。", "parameters": { "taskId": { "type": "string", "description": "待办的标识 id", "required": true } }, "interface_ref": { "product_id": "todo", "rpc_name": "get_todo_detail" } }, "todo.get_user_todos_in_current_org": { "title": "get_user_todos_in_current_org", "description": "获取当前用户在所属组织中的个人待办事项列表,返回每项待办的标题、截止日期、优先级(如高/中/低)、完成状态。", "parameters": { "pageNum": { "type": "string", "description": "当前页。从1开始", "required": true }, "pageSize": { "type": "string", "description": "分页大小。", "required": true }, "planFinishDateEnd": { "type": "number", "description": "查询计划结束时间在此时间之前的数据, 13位时间戳,单位毫秒" }, "planFinishDateStart": { "type": "number", "description": "查询计划结束时间在此时间之后的数据,13位时间戳,单位毫秒" }, "priorityList": { "type": "array", "description": "待办优先级: 10:低,20:普通,30:较高,40:紧急" }, "roleTypes": { "type": "array", "description": "角色列表执行人(executor),创建人(creator),参与人(participant)", "required": true }, "todoStatus": { "type": "string", "description": "待办完成状态。true:已完成;false:未完成。" } }, "interface_ref": { "product_id": "todo", "rpc_name": "get_user_todos_in_current_org" } }, "todo.list_todo_comment": { "title": "list_todo_comment", "description": "获取待办的评论", "parameters": { "page": { "type": "string", "description": "页码", "required": true }, "pageSize": { "type": "string", "description": "每页显示多少条", "required": true }, "taskId": { "type": "string", "description": "待办的标识 id", "required": true } }, "interface_ref": { "product_id": "todo", "rpc_name": "list_todo_comment" } }, "todo.remove_task_executors": { "title": "remove_task_executors", "description": "移除待办执行人", "parameters": { "todoExecutorsRemoveRequest": { "type": "object", "description": "request", "required": true } }, "interface_ref": { "product_id": "todo", "rpc_name": "remove_task_executors" } }, "todo.remove_task_participants": { "title": "remove_task_participants", "description": "移除待办参与人", "parameters": { "todoParticipantsRemoveRequest": { "type": "object", "description": "request", "required": true } }, "interface_ref": { "product_id": "todo", "rpc_name": "remove_task_participants" } }, "todo.reset_todo_reminder": { "title": "reset_todo_reminder", "description": "重置待办提醒", "parameters": { "todoReminderUpdateRequest": { "type": "object", "description": "request", "required": true } }, "interface_ref": { "product_id": "todo", "rpc_name": "reset_todo_reminder" } }, "todo.update_todo_done_status": { "title": "修改执行者的待办完成状态", "description": "修改执行者的待办完成状态", "parameters": { "isDone": { "type": "string", "description": "需要修改待办完成状态结果。true:已完成;false未完成。", "required": true }, "taskId": { "type": "string", "description": "待办任务唯一标识id。指定需要修改哪个待办", "required": true } }, "interface_ref": { "product_id": "todo", "rpc_name": "update_todo_done_status" } }, "todo.update_todo_task": { "title": "修改整个待办任务", "description": "修改整个待办任务", "parameters": { "TodoUpdateRequest": { "type": "object", "description": "TodoUpdateRequest", "required": true } }, "interface_ref": { "product_id": "todo", "rpc_name": "update_todo_task" } }, "wiki.add_member": { "title": "添加知识库成员", "description": "为知识库添加指定角色的成员。\r\n\r\n支持添加用户(USER)成员类型。\r\n添加成功后,被授权的成员即可按指定角色访问该知识库下的所有内容。\r\n\r\n适用场景:\r\n- 新员工入职,需要授予知识库访问权限。\r\n\r\n注意事项:\r\n- OWNER 角色不可通过此接口添加,知识库创建者默认为所有者。\r\n- 操作者需具备知识库的 OWNER 或 MANAGER 权限。\r\n- 单次请求最多传 30 个成员,超出需分批调用。", "parameters": { "roleId": { "type": "string", "description": "授予成员的角色,取值:MANAGER、EDITOR、DOWNLOADER、READER。", "required": true }, "userIds": { "type": "array", "description": "被授权的用户 userId 列表(钉钉 staffId / 外部 userId 格式,由钉钉开放平台体系下颁发;通常为数字字符串),至少包含一个 userId,单次最多 30 个。如果你只有 unionId,请先调用钉钉开放平台「根据 unionId 获取 userId」接口换取 userId。", "required": true }, "workspaceId": { "type": "string", "description": "目标知识库的标识,支持两种格式:1) 知识库 ID(纯字符串);2) 知识库 URL,如 https://alidocs.dingtalk.com/i/spaces/{workspaceId}/overview,系统自动提取其中的 workspaceId。", "required": true } }, "interface_ref": { "product_id": "wiki", "rpc_name": "add_member" } }, "wiki.create_file": { "title": "创建节点", "description": "在指定位置创建一个新的文件(文档、表格、演示、白板、脑图、多维表或文件夹)。\r\n\r\n支持三种创建位置(按优先级):\r\n1. 指定 folderId:在该文件夹下创建\r\n2. 仅指定 workspaceId(不传 folderId):在该知识库的根目录下创建\r\n3. 都不传:在用户\"我的文档\"根目录下创建\r\n4. type 要创建的文件类型,必填。支持以下值:adoc(钉钉在线文档)、axls(钉钉表格)、appt(钉钉演示)、adraw(钉钉白板)、amind(钉钉脑图)、able(钉钉多维表)、folder(文件夹)\r\n操作受权限控制,仅当调用者对目标位置有写入权限时可成功创建。", "parameters": { "folderId": { "type": "string", "description": "目标文件夹的节点 ID(dentryUuid),支持传入文件夹链接 URL 或 ID。不传时:如果提供了 workspaceId 则创建在该知识库根目录下,否则创建在用户'我的文档'根目录下。" }, "name": { "type": "string", "description": "新文件的名称,必填。", "required": true }, "type": { "type": "string", "description": "要创建的文件类型,必填。支持:adoc(钉钉在线文档)、axls(钉钉表格)、appt(钉钉演示)、adraw(钉钉白板)、amind(钉钉脑图)、able(钉钉多维表)、folder(文件夹)。同时兼容旧版 accessType 数字字符串:\"0\"=adoc、\"1\"=axls、\"2\"=appt、\"3\"=adraw、\"6\"=amind、\"7\"=able、\"13\"=folder。", "required": true }, "workspaceId": { "type": "string", "description": "目标知识库的标识,支持知识库 ID 或知识库 URL。如果同时传了 folderId,则以 folderId 为准。" } }, "interface_ref": { "product_id": "doc", "rpc_name": "create_file" } }, "wiki.create_wikiSpace": { "title": "创建知识库", "description": "创建一个新的钉钉文档知识库(WikiSpace)。\r\n知识库是组织内文档的核心容器,可在其中创建文档、文件夹等内容。\r\n创建成功后返回新知识库的 workspaceId,可用于后续在该知识库下创建文档(create_document)或遍历文件(list_nodes)。\r\n操作受权限控制,仅当调用者具备在当前组织内创建知识库的权限时可成功创建。", "parameters": { "description": { "type": "string", "description": "知识库描述信息,不超过50个字符。" }, "name": { "type": "string", "description": "知识库名称,不超过32个字符", "required": true } }, "interface_ref": { "product_id": "wiki", "rpc_name": "create_wikiSpace" } }, "wiki.delete_document": { "title": "删除节点", "description": "将指定节点移入回收站,30 天内可从回收站恢复,超过 30 天将被永久删除。\r\n\r\n支持范围:\r\n- 知识库(workspace)下的文档节点、文件夹节点\r\n- 钉盘「我的文件」或「团队空间(space)」下的文件、文件夹节点(但钉盘操作仍建议走钉盘MCP服务)\r\n\r\n不支持的操作:\r\n- 不支持直接删除知识库本身(workspace)\r\n- 不支持直接删除团队空间(space)\r\n\r\n权限要求:\r\n- 对目标节点有管理权限(owner 或被授予管理权限的成员)\r\n\r\n注意事项:\r\n- 删除操作不可立即撤销,请在调用前向用户确认\r\n- 删除文件夹时,文件夹内的所有子节点也会一并移入回收站", "parameters": { "nodeId": { "type": "string", "description": "要删除的节点标识,支持以下格式:1) 文档/文件夹 URL,如 https://alidocs.dingtalk.com/i/nodes/{dentryUuid};2) dentryUuid(32 位字母数字字符串)。", "required": true } }, "interface_ref": { "product_id": "doc", "rpc_name": "delete_document" } }, "wiki.delete_wikiSpace": { "title": "删除知识库", "description": "将指定知识库移入回收站。\r\n\r\n通过 workspaceId 定位知识库,支持传入知识库 ID 或知识库 URL,系统自动识别。\r\n删除后知识库会进入回收站,可在回收站中恢复。\r\n\r\n知识库 URL 格式:https://alidocs.dingtalk.com/i/spaces/{workspaceId}/overview\r\nworkspaceId 为字母数字字符串。\r\n\r\n注意事项:\r\n- **权限要求**:操作者必须具备知识库的「所有者(OWNER)」角色。\r\n- 删除操作不可逆(从回收站恢复除外),请确认后再执行。\r\n- 不支持跨组织删除。", "parameters": { "workspaceId": { "type": "string", "description": "目标知识库的标识,支持两种格式:1) 知识库 ID(纯字符串);2) 知识库 URL,如 https://alidocs.dingtalk.com/i/spaces/{workspaceId}/overview,系统自动提取其中的 workspaceId。", "required": true } }, "interface_ref": { "product_id": "wiki", "rpc_name": "delete_wikiSpace" } }, "wiki.get_wikiSpace": { "title": "获取知识库", "description": "获取指定知识库的详细信息,包括名称、描述、创建者、创建时间、成员数量等。\r\n通过 workspaceId 定位知识库,支持传入知识库 ID 或知识库 URL,系统自动识别。\r\n知识库 URL 格式:https://alidocs.dingtalk.com/i/spaces/{workspaceId}/overviewworkspaceId 为字母数字字符串。\r\n仅限用户对该知识库具备\"可阅读\"权限时可获取。不支持跨组织查询。", "parameters": { "workspaceId": { "type": "string", "description": "支持两种格式:1) 知识库 ID(纯字符串);2) 知识库 URL,如 https://alidocs.dingtalk.com/i/spaces/{workspaceId}/overview,系统自动提取其中的 workspaceId。", "required": true } }, "interface_ref": { "product_id": "wiki", "rpc_name": "get_wikiSpace" } }, "wiki.list_member": { "title": "查询知识库成员列表", "description": "查询知识库当前的成员权限列表,支持按角色过滤。\r\n\r\n适用场景:\r\n- 获取知识库成员角色列表。\r\n\r\n每条记录包含成员的类型、名称及其角色信息。\r\n\r\n注意:\r\n- 底层接口一次性返回全量成员,不支持服务端游标分页。\r\n- 出参中包含 totalCount(全量成员总数)和 truncated(是否被截断)。当 truncated=true 时,说明知识库实际成员数超过 maxResults,建议通过 filterRoleIds 收窄查询范围;若仍超出 maxResults 上限,请引导用户去前端管理界面查看完整列表。\r\n- ORG 类型授权不会出现在查询结果中。", "parameters": { "filterRoleIds": { "type": "array", "description": "按角色过滤成员列表,选填。取值:OWNER、MANAGER、EDITOR、DOWNLOADER、READER。不传时返回所有角色的成员。" }, "maxResults": { "type": "number", "description": "期望返回的最大成员条数,默认 30,最大 200。底层一次性返回全量成员后在内存中按本字段截断;本接口不支持游标翻页,不存在 nextToken。若发生截断(出参 truncated=true),可通过出参 totalCount 感知全量成员数,并通过 filterRoleIds 收窄查询范围。" }, "workspaceId": { "type": "string", "description": "目标知识库的标识,支持两种格式:1) 知识库 ID(纯字符串);2) 知识库 URL,如 https://alidocs.dingtalk.com/i/spaces/{workspaceId}/overview,系统自动提取其中的 workspaceId。", "required": true } }, "interface_ref": { "product_id": "wiki", "rpc_name": "list_member" } }, "wiki.list_nodes": { "title": "列出指定文件夹或知识库下的直接子节点列表", "description": "列出指定文件夹或知识库下的直接子节点列表(文件夹/文档/文件等),支持分页。\r\n\r\n返回结果基于当前 MCP 会话用户的可访问权限进行过滤。\r\n返回的节点列表包含多种类型:在线文档、文件夹、PDF、docx、表格、脑图、白板等。\r\n\r\n定位方式(按优先级):\r\n1. 传 folderId:列出该文件夹下的直接子节点\r\n2. 仅传 workspaceId(不传 folderId):列出该知识库根目录下的直接子节点\r\n3. 都不传:列出用户\"我的文档\"根目录下的直接子节点\r\n\r\n返回的 nodeId 可直接用于其他工具(如 get_document_content、update_document、create_document 等)。\r\n若 nodeType=folder 且 hasChildren=true,可将该 nodeId 作为 folderId 再次调用本工具进行递归遍历。\r\n若 contentType=alidoc,可调用 get_document_content(nodeId=nodeId) 获取文档内容。", "parameters": { "folderId": { "type": "string", "description": "要遍历的文件夹的节点 ID(dentryUuid),支持传入文件夹链接 URL 或 ID。不传时:如果提供了 workspaceId 则列出该知识库根目录,否则列出用户'我的文档'根目录。" }, "pageSize": { "type": "number", "description": "每页返回的节点数量,默认 50,最大 50。" }, "pageToken": { "type": "string", "description": "分页游标,从上一次请求的返回结果中获取 nextPageToken。首次请求不传。" }, "workspaceId": { "type": "string", "description": "知识库 ID。当需要遍历某个知识库时使用。如果同时传了 folderId,则以 folderId 为准。" } }, "interface_ref": { "product_id": "doc", "rpc_name": "list_nodes" } }, "wiki.list_wikiSpaces": { "title": "获取知识库列表", "description": "获取当前用户有权访问的知识库列表,支持按类型区分。\r\n\r\n通过 wikiSpaceType 参数控制返回范围:\r\n- myWikiSpace:返回当前用户的「我的文档」个人空间(固定返回 1 条,不支持分页)\r\n- orgWikiSpace(默认):返回当前用户在组织内有权访问的知识库列表,支持分页\r\n\r\n返回结果包含知识库 ID、名称、描述、访问链接等信息。\r\n返回的 workspaceId 可直接用于其他工具(如 get_wikiSpace、create_document、list_nodes 等)。", "parameters": { "pageSize": { "type": "number", "description": "每页返回的知识库数量,默认 20,最大 50。" }, "pageToken": { "type": "string", "description": "分页游标,从上一次请求的返回结果中获取 nextPageToken。首次请求不传。" }, "wikiSpaceType": { "type": "string", "description": "要查询的知识库类型,选填。支持的值:myWikiSpace(返回当前用户的「我的文档」个人空间)、orgWikiSpace(返回当前用户在组织内有权访问的知识库列表,默认行为)。不传时默认为 orgWikiSpace。" } }, "interface_ref": { "product_id": "wiki", "rpc_name": "list_wikiSpaces" } }, "wiki.node_copy": { "title": "将指定节点复制到目标文件夹", "description": "将指定节点复制到目标文件夹。\r\n\r\n支持的节点类型:知识库节点(文档、文件夹)、钉盘文件/文件夹。\r\nnodeId 支持文档 URL 或 dentryUuid(32 位字母数字字符串)。\r\ntargetFolderId 为目标文件夹的 dentryUuid;workspaceId 为目标知识库标识,不传 targetFolderId 时复制到该知识库根目录,如果不传 targetFolderId 和 workspaceId,默认到当前用户所在组织的「我的文档」下\r\n\r\n权限要求:\r\n- 对源节点有可查看下载权限\r\n- 对目标文件夹有写入权限\r\n\r\n注意:复制操作底层可能异步执行,异步时操作已提交但新节点 ID 无法立即返回,请稍后查看目标文件夹确认结果。", "parameters": { "nodeId": { "type": "string", "description": "要复制的节点标识,支持以下格式:\\n1. 文档/文件夹 URL,如 https://alidocs.dingtalk.com/i/nodes/{dentryUuid}\\n2. dentryUuid(32 位字母数字字符串)", "required": true }, "targetFolderId": { "type": "string", "description": "目标文件夹的 dentryUuid(32 位字母数字字符串),复制后的节点将放置在此文件夹下。" }, "workspaceId": { "type": "string", "description": "目标知识库的标识,支持两种格式:1) 知识库 ID(纯字符串);2) 知识库 URL,如 https://alidocs.dingtalk.com/i/spaces/{workspaceId}/overview,系统自动提取其中的 workspaceId。当 targetFolderId 不传时,复制到该知识库的根目录下。与 targetFolderId 至少传一个。" } }, "interface_ref": { "product_id": "doc", "rpc_name": "copy_document" } }, "wiki.node_move": { "title": "移动节点", "description": "将指定节点移动到目标文件夹。\r\n\r\n支持的节点类型:知识库节点(文档、文件夹)、钉盘文件/文件夹。\r\nnodeId 支持文档 URL 或 dentryUuid(32 位字母数字字符串)。\r\ntargetFolderId 为目标文件夹的 dentryUuid;workspaceId 为目标知识库标识,不传 targetFolderId 时移动到该知识库根目录,如果不传 targetFolderId 和 workspaceId,默认到当前用户所在组织的「我的文档」下\r\n\r\n权限要求:\r\n- 对源节点有编辑权限\r\n- 对目标文件夹有写入权限\r\n\r\n注意:移动操作底层可能异步执行,异步时操作已提交但无法立即确认完成,请稍后查看目标文件夹确认结果。", "parameters": { "nodeId": { "type": "string", "description": "要移动的节点标识,支持以下格式:\\n1. 文档/文件夹 URL,如 https://alidocs.dingtalk.com/i/nodes/{dentryUuid}\\n2. dentryUuid(32 位字母数字字符串)", "required": true }, "targetFolderId": { "type": "string", "description": "目标文件夹的 dentryUuid(32 位字母数字字符串),节点将被移动到此文件夹下。" }, "workspaceId": { "type": "string", "description": "目标知识库的标识,支持两种格式:1) 知识库 ID(纯字符串);2) 知识库 URL,如 https://alidocs.dingtalk.com/i/spaces/{workspaceId}/overview,系统自动提取其中的 workspaceId。当 targetFolderId 不传时,移动到该知识库的根目录下。如果同时传了 targetFolderId,则以 targetFolderId 为准。" } }, "interface_ref": { "product_id": "doc", "rpc_name": "move_document" } }, "wiki.node_search": { "title": "搜索文档", "description": "根据关键词和多种过滤条件搜索当前用户有权限访问的文档列表。\r\n\r\n支持的过滤条件:\r\n- keyword:关键词匹配文档标题和内容\r\n- extensions:按文件扩展名精确过滤(pdf/docx/png 等)\r\n- createdTimeFrom / createdTimeTo:按创建时间范围过滤\r\n- visitedTimeFrom / visitedTimeTo:按访问时间范围过滤\r\n- creatorUserIds:按创建者用户 ID 过滤\r\n - editorUserIds:按编辑者用户 ID 过滤\r\n- mentionedUserIds:按文档中 @提及的用户 ID 过滤\r\n- workspaceIds:按知识库范围过滤(支持知识库 URL)\r\n\r\n支持分页获取结果。搜索范围为用户在当前组织内有权限访问的所有文档数据。\r\n所有过滤条件均为可选,不传则不过滤。多个条件同时传入时取交集", "parameters": { "createdTimeFrom": { "type": "number", "description": "创建时间范围的起始时间(毫秒时间戳,含)" }, "createdTimeTo": { "type": "number", "description": "创建时间范围的截止时间(毫秒时间戳,含)" }, "creatorUserIds": { "type": "array", "description": "按创建者过滤,传入用户 ID 列表" }, "editorUserIds": { "type": "array", "description": "按编辑者过滤,传入用户 ID 列表" }, "extensions": { "type": "array", "description": "按文件扩展名精确过滤,不含点号。例如 [\"pdf\", \"docx\", \"png\"]。与 fileTypes 可同时使用。" }, "keyword": { "type": "string", "description": "搜索关键词,匹配文档标题和内容。不传则返回最近访问的文档列表。" }, "mentionedUserIds": { "type": "array", "description": "按文档中 @提及的用户过滤" }, "pageSize": { "type": "number", "description": "每页返回的文档数量,默认 10,最大 30" }, "pageToken": { "type": "string", "description": "分页游标,从上一次请求的返回结果中获取 nextPageToken" }, "visitedTimeFrom": { "type": "number", "description": "访问时间范围的起始时间(毫秒时间戳,含)" }, "visitedTimeTo": { "type": "number", "description": "访问时间范围的截止时间(毫秒时间戳,含)" }, "workspaceIds": { "type": "array", "description": "按知识库范围过滤,支持知识库 URL" } }, "interface_ref": { "product_id": "doc", "rpc_name": "search_documents" } }, "wiki.remove_member": { "title": "移除知识库成员", "description": "从知识库中移除指定的企业用户成员(仅支持 USER 类型)。\r\n\r\n通过传入 userIds 列表批量移除知识库成员,移除后相关用户将无法访问该知识库下的内容(除非通过节点级权限另行授权)。\r\n\r\n适用场景:\r\n- 员工离职或转岗,需要撤销知识库访问权限。\r\n- 清理不再需要访问知识库的历史成员。\r\n\r\n注意事项:\r\n- OWNER 角色不可通过此接口移除。\r\n- **权限要求**:操作者必须具备知识库的「可管理(MANAGER)」及以上角色(OWNER 或 MANAGER)。EDITOR / DOWNLOADER / READER / 非成员调用会返回 `forbidden.accessDenied`,错误信息会明确提示所需的最低角色。\r\n- 单次请求 `userIds` 列表最多传 30 个,超出需分批调用。", "parameters": { "userIds": { "type": "array", "description": "要移除的用户 userId 列表(钉钉组织内部用户 ID),至少包含一个 userId,单次最多 30 个。当前 Agent 写操作仅支持移除企业用户,故入参直接以扁平的 userId 列表呈现。", "required": true }, "workspaceId": { "type": "string", "description": "目标知识库的标识,支持两种格式:1) 知识库 ID(纯字符串);2) 知识库 URL,如 https://alidocs.dingtalk.com/i/spaces/{workspaceId}/overview,系统自动提取其中的 workspaceId。", "required": true } }, "interface_ref": { "product_id": "wiki", "rpc_name": "remove_member" } }, "wiki.search_wikiSpaces": { "title": "搜索知识库", "description": "根据关键词搜索当前用户有权限访问的知识库列表。\r\n返回匹配的知识库列表,包括知识库 ID、名称、描述和访问链接。\r\n搜索范围为用户在当前组织内有权限访问的所有知识库。", "parameters": { "keyword": { "type": "string", "description": "搜索关键词,匹配知识库名称和描述。", "required": true }, "pageSize": { "type": "number", "description": "最多返回的知识库数量,默认 10,最大 20。" } }, "interface_ref": { "product_id": "wiki", "rpc_name": "search_wikiSpaces" } }, "wiki.update_member": { "title": "修改知识库成员角色", "description": "修改成员在知识库中的角色。\r\n\r\n同一成员在同一知识库只能拥有一个角色,变更后旧角色自动替换。\r\n\r\n支持变更用户(USER)角色。\r\n\r\n适用场景:\r\n- 成员晋升为管理员,需要提升其知识库权限。\r\n\r\n注意事项:\r\n- OWNER 角色不可通过此接口变更。\r\n- 当前 Agent 调用场景下,**暂不支持 CONVERSATION(群会话)和 DEPT(部门)类型**。\r\n- 操作者需具备知识库的 OWNER 或 MANAGER 权限。", "parameters": { "roleId": { "type": "string", "description": "变更后的角色,取值:MANAGER、EDITOR、DOWNLOADER、READER。", "required": true }, "userIds": { "type": "array", "description": "要变更角色的用户 userId 列表(钉钉 staffId / 外部 userId 格式,由钉钉开放平台体系下颁发;通常为数字字符串),至少包含一个 userId,单次最多 30 个。如果你只有 unionId,请先调用钉钉开放平台「根据 unionId 获取 userId」接口换取 userId。", "required": true }, "workspaceId": { "type": "string", "description": "目标知识库的标识,支持两种格式:1) 知识库 ID(纯字符串);2) 知识库 URL,如 https://alidocs.dingtalk.com/i/spaces/{workspaceId}/overview,系统自动提取其中的 workspaceId。", "required": true } }, "interface_ref": { "product_id": "wiki", "rpc_name": "update_member" } } } }