调用钉钉开放平台API,支持用户搜索/详情/查询、部门管理(搜索/详情/子部门/用户列表/父部门)、机器人单聊消息发送、群聊消息发送、群内机器人列表查询、离职记录查询。Use when needing to search DingTalk users or departments, get user/department details, send robot messages, list group bots, or query resigned employees.
用于调用钉钉开放平台 API 的技能,支持用户搜索/详情/查询、部门管理(搜索/详情/子部门/用户列表/父部门)、机器人消息发送、群内机器人查询、离职记录查询、OA审批管理(查询/发起/审批/转交/评论)等功能。
bash
export DINGTALKAPPKEY=
export DINGTALKAPPSECRET=
根据姓名搜索用户,返回匹配的 UserId 列表。
bash
npx ts-node scripts/search-user.ts <搜索关键词>
输出:
json
{
success: true,
keyword: 张三,
totalCount: 3,
hasMore: false,
userIds: [123456789, 987654321]
}
根据名称搜索部门,返回匹配的部门 ID 列表。
bash
npx ts-node scripts/search-department.ts <搜索关键词> [--debug]
输出:
json
{
success: true,
keyword: 技术部,
totalCount: 2,
hasMore: false,
departmentIds: [12345, 67890]
}
获取指定部门的详细信息。
bash
npx ts-node scripts/get-department.ts
输出:
json
{
success: true,
department: {
deptId: 12345,
name: 技术部,
parentId: 1
}
}
获取指定部门下的子部门 ID 列表。根部门 deptId 为 1。
bash
npx ts-node scripts/list-sub-departments.ts
输出:
json
{
success: true,
deptId: 1,
subDepartmentIds: [12345, 67890, 11111]
}
获取指定部门下的用户列表(userId + 姓名),自动分页获取全部用户。
bash
npx ts-node scripts/list-department-users.ts
输出:
json
{
success: true,
deptId: 12345,
users: [
{ userId: user001, name: 张三 },
{ userId: user002, name: 李四 }
]
}
通过机器人向指定用户发送单聊消息。
bash
npx ts-node scripts/send-user-message.ts
输出:
json
{
success: true,
userId: 123456,
robotCode: robot_code,
processQueryKey: query_key,
flowControlledStaffIdList: [],
invalidStaffIdList: [],
message: 消息内容
}
通过机器人向指定群会话发送消息。
bash
npx ts-node scripts/send-group-message.ts
输出:
json
{
success: true,
openConversationId: cid,
robotCode: robot_code,
processQueryKey: query_key,
message: 消息内容
}
查询群内已配置的机器人列表。
bash
npx ts-node scripts/get-bot-list.ts
输出:
json
{
success: true,
openConversationId: cid,
botList: [
{
robotCode: code,
robotName: name,
robotAvatar: url,
openRobotType: 1
}
]
}
获取指定用户的详细信息,包括姓名、手机号、邮箱、部门列表等。
bash
npx ts-node scripts/get-user.ts
输出:
json
{
success: true,
user: {
userid: user001,
name: 张三,
mobile: 1381234,
email: zhangsan@example.com,
deptidlist: [12345, 67890]
}
}
获取指定用户所属的所有父部门列表,从直接部门到根部门。
bash
npx ts-node scripts/list-user-parent-departments.ts
输出:
json
{
success: true,
userId: user001,
parentIdList: [12345, 67890, 1]
}
获取指定部门的所有父部门列表,第一个是自身,最后一个是根部门。
bash
npx ts-node scripts/list-department-parents.ts
输出:
json
{
success: true,
deptId: 12345,
parentIdList: [12345, 67890, 1]
}
获取指定部门下所有用户的 userid 列表。
bash
npx ts-node scripts/list-department-user-ids.ts
输出:
json
{
success: true,
deptId: 12345,
userIds: [user001, user002, user003]
}
分页获取部门用户详细信息,支持自定义 cursor 和 size。
bash
npx ts-node scripts/list-department-user-details.ts
输出:
json
{
success: true,
deptId: 12345,
users: [
{ userid: user001, name: 张三 },
{ userid: user002, name: 李四 }
],
hasMore: true,
nextCursor: 100
}
获取企业员工总数,可选择是否仅统计已激活员工。
bash
npx ts-node scripts/get-user-count.ts [--onlyActive] [--debug]
输出:
json
{
success: true,
onlyActive: false,
count: 150
}
根据手机号查询用户 userid。仅企业内部应用可用,只能查询在职员工。
bash
npx ts-node scripts/get-user-by-mobile.ts
输出:
json
{
success: true,
mobile: 13800138000,
userId: user001
}
根据 unionid 获取用户 userid。
bash
npx ts-node scripts/get-user-by-unionid.ts
输出:
json
{
success: true,
unionid: xxxxx,
userId: user001
}
获取指定日期未登录钉钉的员工列表。只能查询一个月内数据,每天9点后调用才能确保获取前一天数据。
bash
npx ts-node scripts/list-inactive-users.ts
输出:
json
{
success: true,
queryDate: 20240115,
userIds: [user001, user002],
hasMore: false
}
查询指定时间范围内的离职员工记录。仅企业内部应用可用。
bash
npx ts-node scripts/list-resigned-users.ts <
该技能支持在以下平台通过对话安装:
帮我安装 SkillHub 和 dingtalk-api-1776419999 技能
设置 SkillHub 为我的优先技能安装源,然后帮我安装 dingtalk-api-1776419999 技能
skillhub install dingtalk-api-1776419999
文件大小: 79.65 KB | 发布时间: 2026-4-17 18:45