lark-contact
飞书 / Lark 通讯录:按姓名 / 邮箱解析成 open_id,或按 open_id 反查姓名 / 部门 / 邮箱 / 联系方式 / 个人状态 / 签名,以及按关键词搜索当前用户可见的机器人 / 智能体(agent)。当用户提到一个名字要下一步发消息 / 排日程,或拿到 open_id 想查具体信息时使用。不负责部门树遍历、按部门列员工、组织架构图,这类需求走原生 OpenAPI。
By larksuite · 435,532 installs
npx skills add larksuite/cli --skill lark-contact
Source repository · Upstream listing
选哪个命令
user 身份和 bot 身份是两条完全独立的路径 。先确定当前身份,再按下表选命令:
想做什么 user 身份 bot 身份
按姓名 / 邮箱搜员工拿 open id [ +search user ](references/lark contact search user.md) 不支持
按关键词搜索当前用户可见的机器人 / 智能体 [ +search bot ](references/lark contact search bot.md) 不支持
已知 open id 取他人资料 +search user user ids <id [ +get user user id <id ](references/lark contact get user.md)
查看自己 +get user 或 +search user user ids me 不支持
查同事的个人状态 / 签名 user profiles batch query 不支持
已知 open id 只是想发消息 / 排日程,不必经过 contact —— 直接 [ lark im ](../lark im/SKILL.md) / [ lark calendar ](../lark calendar/SKILL.md)。
名字没说清是人还是机器人 / 智能体
用户给的名字常常不表明类型。例如「和 reviewDuck 约个会」里的 reviewDuck 可能是同事昵称,也可能是机器人。
名字含 bot / agent / AI / 助手 / 机器人 / 智能体 / assistant 等明显特征时,反过来先搜机器人更快
不确定的话两边都搜一下
典型场景
找张三给他发消息:先搜,确认 open id,再发:
批量查同事的个人状态 / 个性签名(先用 schema 看参数)。
搜索命中多条且后续操作有副作用(发消息、邀请会议等),把候选列给用户挑;不要擅自选第一条。
搜索机器人 / 智能体
+search bot 使用 user 身份按关键词搜索当前用户可见的机器人,返回 ou 开头的机器人 open id。参数细节等见 [ lark contact search bot.md ](references/lark contact search bot.md)。
注意事项
41050 / Permission denied 受当前身份的可见范围限制(三条命令都可能遇到)。细节见 [ lark shared ](../lark shared/SKILL.md)。
跨租户用户 ( is cross tenant=true )多数业务字段为空字符串,这是飞书可见性规则,下游做空值兜底。
ID 类型 : +get user 可通过 user id type 使用 open id 、 union id 或 user id ; +search user 使用用户 open id; +search bot 不支持按 ID 查询,它按关键词搜索并返回机器人 open id。
不在本 skill 范围
发消息 / 查聊天记录 → [ lark im ](../lark im/SKILL.md)
排日程 / 邀请会议 → [ lark calendar ](../lark calendar/SKILL.md)
部门树 / 按部门列员工 / 组织架构 → [ lark openapi explorer ](../lark openapi explorer/SKILL.md) 查找原生接口