lark-cowork-plugin
Integrate Claude with your Lark workspace for seamless access to calendars, documents, and more.
lark-cowork-plugin
A Claude Cowork plugin that gives Claude access to your Lark/Feishu workspace — calendar, messages, documents, sheets, bitable, tasks, email, and meeting minutes.
What it does
Once installed, Claude can:
| Capability | What you can ask |
|---|---|
| Calendar | "What meetings do I have this week?", "Schedule a 1:1 with Alice tomorrow at 3pm", "Find a free slot for the team" |
| Messages | "What was discussed in the #engineering channel today?", "Send a message to Bob", "React to that last message with 👍" |
| Documents | "Summarise this Lark doc", "Find all docs about the Q4 plan", "Search the wiki for onboarding guides" |
| Sheets | "Read the data in this spreadsheet", "Write these results to column B", "Create a new sheet with these headers" |
| Bitable | "List all records in the Projects table", "What fields does the Tasks bitable have?" |
| Tasks | "What tasks am I assigned?", "Show me overdue tasks" |
| "Search my inbox for emails from Alice", "Show me unread emails about the budget" | |
| Minutes | "Get the transcript from yesterday's all-hands", "Summarise the meeting recording" |
Requirements
This plugin requires the lark-cli tool to be installed and authenticated.
1. Install lark-cli
# From source
git clone https://github.com/seahyc/lark-cli
cd lark-cli && make install
2. Create a Lark app
- Go to open.larksuite.com and create a custom app
- Enable the permissions you need (see table below)
- Add redirect URI:
http://localhost:9999/callback - Enable "Refresh user_access_token" in Security Settings
| Scope group | Permissions |
|---|---|
calendar | calendar:calendar |
contacts | contact:contact.base:readonly, contact:department.base:readonly |
documents | docx:document:readonly, docs:document.content:read, wiki:wiki:readonly, space:document:retrieve |
messages | im:message:readonly, im:message, im:message.reactions:read, im:message.reactions:write_only |
mail | IMAP credentials (configured separately via lark mail setup) |
bitable | bitable:app:readonly |
tasks | task:task:read |
minutes | minutes:media:read, minutes:transcript:read |
3. Configure and authenticate
# Create config
cp config.example.yaml .lark/config.yaml
# Edit .lark/config.yaml with your App ID
# Set app secret
export LARK_APP_SECRET="your_app_secret"
# Login (opens browser)
lark auth login
Install the plugin
In Claude Cowork
/plugin install lark@seahyc
Or add this repo as a marketplace first:
/plugin marketplace add seahyc/lark-cowork-plugin
/plugin install lark
For local development
git clone https://github.com/seahyc/lark-cowork-plugin
claude --plugin-dir ./lark-cowork-plugin
Slash commands
| Command | Description |
|---|---|
/lark:lark-setup | Set up or troubleshoot lark-cli |
Skills
Skills are auto-invoked when Claude detects a relevant request:
lark:lark-calendar— Calendar managementlark:lark-messages— Chat messages and reactionslark:lark-docs— Documents, Drive, and Wikilark:lark-sheets— Spreadsheetslark:lark-bitable— Bitable databaseslark:lark-tasks— Taskslark:lark-email— Email via IMAPlark:lark-minutes— Meeting recordings and transcriptslark:lark-contacts— Company directory
Related
- seahyc/lark-cli — lark-cli