Look up employee information via Lark - find colleagues by ID, list department members, search users by name, search departments. Use when user asks about a person, colleague, job title, department, or org structure.
Install
npx skillscat add yjwong/lark-cli/contacts Install via the SkillsCat registry.
Contacts Lookup Skill
Look up employee information via the lark CLI.
Running Commands
Ensure lark is in your PATH, or use the full path to the binary. Set the config directory if not using the default:
lark contact <command>
# Or with explicit config:
LARK_CONFIG_DIR=/path/to/.lark lark contact <command>Commands Reference
Get User by ID
# Look up by open_id (default)
lark contact get ou_xxxx
# Look up by user_id
lark contact get 12345 --id-type user_idOutput:
{
"user_id": "ou_xxx",
"open_id": "ou_xxx",
"name": "Jane Doe",
"en_name": "Jane Doe",
"email": "jane@example.com",
"job_title": "Data Analyst",
"department": "Business Intelligence"
}List Users in Department
# List users in root department
lark contact list-dept
# List users in specific department
lark contact list-dept od_xxxxOutput:
{
"contacts": [
{
"user_id": "ou_xxx",
"name": "Alice",
"job_title": "Engineer",
"department": "Engineering"
}
],
"count": 1
}Search Users by Name
lark contact search "Jane"
lark contact search "John Smith"Output:
{
"contacts": [
{
"user_id": "ou_xxx",
"open_id": "ou_xxx",
"name": "Jane Doe",
"department": "Engineering"
}
],
"count": 1
}Search Departments
lark contact search-dept "Engineering"Output:
{
"departments": [
{
"department_id": "od_xxx",
"name": "Engineering",
"member_count": 42
}
],
"count": 1
}Integration with Calendar
When showing calendar events with attendees, you can enrich attendee info:
- Get attendee
open_idfrom calendar event - Use
contact get <open_id>to fetch job title and department - Present enriched attendee info to user
Example workflow:
# Get event with attendees
lark cal show <event_id>
# Returns attendees with open_id
# Look up each attendee
lark contact get ou_attendee_id
# Returns name, job_title, departmentOutput Format
All commands output JSON. Format appropriately when presenting to user.
Error Handling
Errors return JSON:
{
"error": true,
"code": "ERROR_CODE",
"message": "Description"
}Common error codes:
AUTH_ERROR- Need to runlark auth loginSCOPE_ERROR- Missing contacts permissions. Runlark auth login --add --scopes contactsNOT_FOUND- User or department not foundAPI_ERROR- Lark API issue
Required Permissions
This skill requires the contacts scope group. If you see a SCOPE_ERROR, the user needs to add contacts permissions:
lark auth login --add --scopes contactsTo check current permissions:
lark auth statusNotes
- The
searchandsearch-deptcommands require user authentication (OAuth vialark auth login) - The
getandlist-deptcommands use tenant token (no login required) - Department IDs typically start with
od_ - User open_ids typically start with
ou_