원클릭으로
dingtalk-approval
当用户要求'发起审批'、'查看审批'、'催办审批'、'请假'、'报销'、'采购申请',或提到钉钉OA审批相关操作时使用此技能。管理钉钉审批流程:发起审批实例、查询审批状态、获取审批列表、催办超时审批。
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
当用户要求'发起审批'、'查看审批'、'催办审批'、'请假'、'报销'、'采购申请',或提到钉钉OA审批相关操作时使用此技能。管理钉钉审批流程:发起审批实例、查询审批状态、获取审批列表、催办超时审批。
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
当用户提到'考勤'、'打卡'、'迟到'、'早退'、'补卡'、'请假'、'出勤'、'缺勤'、'考勤报表'、'考勤异常'时使用此技能。查询钉钉考勤打卡记录、考勤结果、排班信息,识别异常并生成汇总报告。
当用户提到'日历'、'日程'、'会议'、'约会'、'日报'、'周报'、'待办'、'任务'、'todo',或要求生成工作汇报、查看本周安排时使用此技能。管理钉钉日历事件和待办任务,辅助自动生成日报周报。
当用户提到'微信客服'、'客服消息'、'客户咨询'、'智能客服'、'客服接待'、'转人工'、'客服账号',或需要通过企业微信管理微信客服会话时使用此技能。管理微信客服账号、收发客服消息、分配会话、处理客户咨询。
当用户提到'客户'、'外部联系人'、'客户标签'、'跟进'、'销售'、'CRM'、'客户群'、'联系我'、'渠道活码',或需要管理企业微信中的客户关系时使用此技能。查询客户详情、管理客户标签、跟踪跟进记录、管理客户群。
| name | dingtalk-approval |
| description | 当用户要求'发起审批'、'查看审批'、'催办审批'、'请假'、'报销'、'采购申请',或提到钉钉OA审批相关操作时使用此技能。管理钉钉审批流程:发起审批实例、查询审批状态、获取审批列表、催办超时审批。 |
| version | 0.1.0 |
| metadata | {"openclaw":{"emoji":"📋","requires":{"env":["DINGTALK_APP_KEY","DINGTALK_APP_SECRET"],"bins":["curl","jq"]},"primaryEnv":"DINGTALK_APP_KEY"}} |
通过钉钉开放平台 OA 审批 API,实现审批实例的发起、查询、催办等操作。
DINGTALK_APP_KEY 和 DINGTALK_APP_SECRET 已配置所有 API 调用前,先获取 access_token(有效期 7200 秒,可缓存):
ACCESS_TOKEN=$(curl -s "https://oapi.dingtalk.com/gettoken?appkey=${DINGTALK_APP_KEY}&appsecret=${DINGTALK_APP_SECRET}" | jq -r '.access_token')
查询企业已有的审批模板,获取 process_code(发起审批必需):
curl -s -X POST "https://oapi.dingtalk.com/topapi/process/listbyuserid?access_token=${ACCESS_TOKEN}" \
-H "Content-Type: application/json" \
-d '{
"userid": "<发起人的userId>",
"offset": 0,
"size": 100
}' | jq '.result.process_list'
用 process_code 和表单数据发起一个审批:
curl -s -X POST "https://oapi.dingtalk.com/topapi/processinstance/create?access_token=${ACCESS_TOKEN}" \
-H "Content-Type: application/json" \
-d '{
"process_code": "<模板的process_code>",
"originator_user_id": "<发起人userId>",
"dept_id": <发起人部门ID>,
"form_component_values": [
{
"name": "请假类型",
"value": "事假"
},
{
"name": "开始时间",
"value": "2026-03-04"
},
{
"name": "结束时间",
"value": "2026-03-05"
},
{
"name": "请假事由",
"value": "家中有事需处理"
}
]
}'
返回值包含 process_instance_id,需保存用于后续查询。
表单字段类型说明:
"value": "文本内容""value": "12000""value": "2026-03-04""value": "[\"2026-03-04\", \"2026-03-05\"]""value": "选项A""value": "[\"选项A\", \"选项B\"]""value": "[{\"name\":\"品名\",\"value\":\"电焊条\"},{\"name\":\"数量\",\"value\":\"500\"}]"curl -s -X POST "https://oapi.dingtalk.com/topapi/processinstance/get?access_token=${ACCESS_TOKEN}" \
-H "Content-Type: application/json" \
-d '{
"process_instance_id": "<审批实例ID>"
}' | jq '.process_instance'
返回值关键字段:
status: NEW(新创建) / RUNNING(审批中) / TERMINATED(被撤销) / COMPLETED(完成)result: agree(同意) / refuse(拒绝)operation_records: 操作记录数组tasks: 审批任务数组(当前待审批人)curl -s -X POST "https://oapi.dingtalk.com/topapi/processinstance/listids?access_token=${ACCESS_TOKEN}" \
-H "Content-Type: application/json" \
-d '{
"process_code": "<模板process_code>",
"start_time": 1709510400000,
"end_time": 1709596800000,
"size": 20,
"cursor": 0
}' | jq '.result.list'
时间戳为毫秒级 Unix 时间。可按 userid_list 过滤特定发起人。
curl -s -X POST "https://oapi.dingtalk.com/topapi/process/gettodonum?access_token=${ACCESS_TOKEN}" \
-H "Content-Type: application/json" \
-d '{
"userid": "<用户userId>"
}' | jq '.result.count'
向指定用户推送一条工作通知消息(出现在钉钉"工作通知"里):
curl -s -X POST "https://oapi.dingtalk.com/topapi/message/corpconversation/asyncsend_v2?access_token=${ACCESS_TOKEN}" \
-H "Content-Type: application/json" \
-d '{
"agent_id": <应用agentId>,
"userid_list": "<userId1>,<userId2>",
"msg": {
"msgtype": "text",
"text": {
"content": "您有一条审批单已超过24小时未处理,请尽快审批。审批单号:XXX"
}
}
}'
查询超时未处理审批并催办:
listids 获取近 N 天的审批实例 IDget 查询详情,筛选 status=RUNNING 且创建时间超过阈值的tasks 中提取当前待审批人 userId自然语言发起审批:
listbyuserid 获取请假模板的 process_codecreate 发起审批process_code 在钉钉管理后台创建审批模板时,可从浏览器 URL 中的 process_code 参数获取userId 和 dept_id,可通过通讯录 API 获取bpms_instance_change)scripts/dingtalk-auth.sh — Access Token 获取脚本