Back to skills

Agent Skill

Lark Contact

lark-contact

飞书 / Lark 通讯录:按姓名 / 邮箱解析成 open_id,或按 open_id 反查姓名 / 部门 / 邮箱 / 联系方式 / 个人状态 / 签名,以及按关键词搜索当前用户可见的机器人 / 智能体(agent)。当用户提到一个名字要下一步发消息 / 排日程,或拿到 open_id 想查具体信息时使用。不负责部门树遍历、按部门列员工、组织架构图,这类需求走原生 OpenAPI。

Open.feishu.cnToolsGo

713K installs

larksuite/cli

by Open.feishu.cn

Score

9.0

/ 10

Installs

713K

Repo Stars

17.4K

Last Updated

0d ago

Fresh

Quality Ratio

98%

Description

Verified

Language

Go

First Published

Mar 2026

Summary

The Lark Contact agent skill enables agents to programmatically query Larksuite's organizational directory, retrieving detailed information about users and their contact details or mapping out department structures. This agent skill is designed for developers or agent builders who need to integrate internal company directory lookups into their AI workflows for organizations utilizing Larksuite. It is a moderately adopted skill, indicating its value within specific enterprise contexts. Agents leverage this skill through high-level shortcuts like `+search-user` to find employees by keywords such as name, email, or phone number, with results sorted by relevance. It also provides `+get-user` for fetching comprehensive details for a specific user ID or the current user, facilitating quick access to contact information and open_IDs. Its utility is primarily confined to organizations that operate on the Larksuite platform, making it a specialized tool for that ecosystem.

Skill Definition

选哪个命令

user 身份和 bot 身份是两条完全独立的路径。先确定当前身份,再按下表选命令:

想做什么user 身份bot 身份
按姓名 / 邮箱搜员工拿 open_id+search-user不支持
按关键词搜索当前用户可见的机器人 / 智能体+search-bot不支持
已知 open_id 取他人资料+search-user --user-ids <id>+get-user --user-id <id>
查看自己+get-user+search-user --user-ids me不支持
查同事的个人状态 / 签名user_profiles batch_query不支持

已知 open_id 只是想发消息 / 排日程,不必经过 contact —— 直接 lark-im / lark-calendar

名字没说清是人还是机器人 / 智能体

用户给的名字常常不表明类型。例如「和 reviewDuck 约个会」里的 reviewDuck 可能是同事昵称,也可能是机器人。

  • 名字含 bot / agent / AI / 助手 / 机器人 / 智能体 / assistant 等明显特征时,反过来先搜机器人更快
  • 不确定的话两边都搜一下

典型场景

找张三给他发消息:先搜,确认 open_id,再发:

lark-cli contact +search-user --query "张三" --has-chatted --as user
lark-cli im +messages-send --user-id ou_xxx --text "Hi!"

批量查同事的个人状态 / 个性签名(先用 schema 看参数)。

lark-cli schema contact.user_profiles.batch_query
lark-cli contact user_profiles batch_query \
  --params '{"user_id_type":"open_id"}' \
  --data '{"user_ids": ["ou_xxx","ou_yyy"],"query_option":{"include_personal_status":true,"include_description":true}}' \
  --as user

搜索命中多条且后续操作有副作用(发消息、邀请会议等),把候选列给用户挑;不要擅自选第一条。

搜索机器人 / 智能体

+search-bot 使用 user 身份按关键词搜索当前用户可见的机器人,返回 ou_ 开头的机器人 open_id。参数细节等见 lark-contact-search-bot.md

lark-cli contact +search-bot --query '会议助手' --as user
lark-cli contact +search-bot --queries '会议助手,日报助手,审批助手' --as user

注意事项

  • 41050 / Permission denied 受当前身份的可见范围限制(三条命令都可能遇到)。细节见 lark-shared
  • 跨租户用户(is_cross_tenant=true)多数业务字段为空字符串,这是飞书可见性规则,下游做空值兜底。
  • ID 类型:+get-user 可通过 --user-id-type 使用 open_idunion_iduser_id;+search-user 使用用户 open_id;+search-bot 不支持按 ID 查询,它按关键词搜索并返回机器人 open_id。

不在本 skill 范围

How to Use

Use in O-mega

Claude Code

npx skills add larksuite/cli lark-contact
Lark Contact | Agent Skills | o-mega