โ† All skills
Tencent SkillHub ยท Developer Tools

Lark Toolkit

Comprehensive Lark/Feishu API skill for OpenClaw agents. Covers all Lark operations via three access paths: claw-lark plugin (message tool), MCP tools (mcpor...

skill openclawclawhub Free
0 Downloads
0 Stars
0 Installs
0 Score
High Signal

Comprehensive Lark/Feishu API skill for OpenClaw agents. Covers all Lark operations via three access paths: claw-lark plugin (message tool), MCP tools (mcpor...

โฌ‡ 0 downloads โ˜… 0 stars Unverified but indexed

Install for OpenClaw

Quick setup
  1. Download the package from Yavira.
  2. Extract the archive and review SKILL.md first.
  3. Import or place the package into your OpenClaw setup.

Requirements

Target platform
OpenClaw
Install method
Manual import
Extraction
Extract archive
Prerequisites
OpenClaw
Primary doc
SKILL.md

Package facts

Download mode
Yavira redirect
Package format
ZIP package
Source platform
Tencent SkillHub
What's included
SKILL.md, references/api-reference.md, references/bot-setup.md, references/mcp-tools.md, references/permissions.md, references/troubleshooting.md

Validation

  • Use the Yavira download entry.
  • Review SKILL.md after the package is downloaded.
  • Confirm the extracted package contains the expected setup assets.

Install with your agent

Agent handoff

Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.

  1. Download the package from Yavira.
  2. Extract it into a folder your agent can access.
  3. Paste one of the prompts below and point your agent at the extracted folder.
New install

I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete.

Upgrade existing

I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run.

Trust & source

Release facts

Source
Tencent SkillHub
Verification
Indexed source record
Version
1.0.0

Documentation

ClawHub primary doc Primary doc: SKILL.md 17 sections Open source page

Prerequisites & Security

This skill is a documentation-only reference guide. It contains no executable code that accesses credentials automatically. Required credentials (user-provided, never bundled): Lark App ID (app_id) โ€” from Lark Developer Console Lark App Secret (app_secret) โ€” from the same console How credentials are used: All API examples in SKILL.md use placeholders (<APP_ID>, <APP_SECRET>, CHAT_ID, etc.) โ€” no real secrets The scripts/get_token.sh helper obtains a temporary tenant_access_token from Lark's auth API. It reads credentials from (in order): Command-line arguments LARK_APP_ID / LARK_APP_SECRET environment variables ~/.openclaw/openclaw.json (standard OpenClaw config, path channels.lark.accounts.default.appId/appSecret) The script prints the config source to stderr when falling back to the config file No credentials are hardcoded, cached to disk, logged, or transmitted beyond the single Lark auth API call The token is exported as LARK_TOKEN env var for subsequent commands in the same shell session

Three Access Paths

NeedPathWhenSend/receive messagesclaw-lark plugin (message tool)Basic text, media, reactions โ€” simplestStructured CRUD opsMCP tools via mcporterBitable, calendar, docs, tasks, OKR โ€” 38 toolsEverything elseDirect API (curl)Contacts, member mgmt, anything MCP doesn't cover Rule: claw-lark first โ†’ MCP second โ†’ direct API as fallback.

Authentication (Direct API)

TOKEN=$(curl -s -X POST 'https://open.larksuite.com/open-apis/auth/v3/tenant_access_token/internal' \ -H 'Content-Type: application/json' \ -d '{"app_id":"<APP_ID>","app_secret":"<APP_SECRET>"}' \ | python3 -c "import sys,json; print(json.load(sys.stdin)['tenant_access_token'])") Or use the helper: bash scripts/get_token.sh Token validity: ~2 hours. Cache it.

API Base URLs

PlatformAPI BaseDev ConsoleLark Internationalhttps://open.larksuite.com/open-apis/https://open.larksuite.com/appFeishu (China)https://open.feishu.cn/open-apis/https://open.feishu.cn/app โš ๏ธ Lark โ‰  Feishu. Always confirm which platform the tenant uses.

Send a Message

curl -X POST "https://open.larksuite.com/open-apis/im/v1/messages?receive_id_type=chat_id" \ -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \ -d '{"receive_id":"CHAT_ID","msg_type":"text","content":"{\"text\":\"hello\"}"}'

Reply in Thread

curl -X POST "https://open.larksuite.com/open-apis/im/v1/messages/MSG_ID/reply" \ -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \ -d '{"msg_type":"text","content":"{\"text\":\"reply\"}","reply_in_thread":true}'

Add Reaction

curl -X POST "https://open.larksuite.com/open-apis/im/v1/messages/MSG_ID/reactions" \ -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \ -d '{"reaction_type":{"emoji_type":"THUMBSUP"}}' Emoji types: THUMBSUP HEART LAUGH OK COOL FINGERHEART SMILE JIAYOU

List Department Users (MCP gap โ€” direct API only)

# List root departments curl -s -H "Authorization: Bearer $TOKEN" \ 'https://open.larksuite.com/open-apis/contact/v3/departments?parent_department_id=0&page_size=50&fetch_child=true' # List users in a department curl -s -H "Authorization: Bearer $TOKEN" \ 'https://open.larksuite.com/open-apis/contact/v3/users?department_id=<DEPT_ID>&page_size=50' Key fields: name, open_id, employee_type (1=regular, 2=intern), department_ids

Read Chat History

curl -s -H "Authorization: Bearer $TOKEN" \ 'https://open.larksuite.com/open-apis/im/v1/messages?container_id_type=chat&container_id=<CHAT_ID>&page_size=20&sort_type=ByCreateTimeDesc'

Add Bot to Group

curl -X POST "https://open.larksuite.com/open-apis/im/v1/chats/<CHAT_ID>/members?member_id_type=app_id" \ -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \ -d '{"id_list":["<BOT_APP_ID>"]}'

MCP Tools (38 available)

mcporter call lark-mcp.<tool_name> key=value Full catalog with parameters: references/mcp-tools.md

MCP Coverage

ModuleKey ToolsBitablecreate apps/tables, CRUD records, list fieldsCalendarcreate/get/patch events, free/busy, primary calendarDocsread content, search, import, set permissionsIMcreate/list groups, get members, send messages, list historyOKRbatch get, list periods, CRUD progress, query reviewsReportquery rules/tasks, manage viewsTaskcreate/patch tasks, add members/remindersWikisearch nodes, get node detailsContactsbatch get user IDs by email/phone

MCP Gaps (use direct API)

List users by department โ€” GET /contact/v3/users?department_id= List departments โ€” GET /contact/v3/departments Add/remove group members โ€” POST /im/v1/chats/{chat_id}/members Send reactions โ€” POST /im/v1/messages/{msg_id}/reactions Upload images/files โ€” POST /im/v1/images / POST /im/v1/files

Pagination

Most list APIs use cursor-based pagination: ?page_size=50&page_token=<token_from_previous_response> Check has_more in response.

Error Handling

CodeMeaning0Success99991663Token expired โ€” refresh99991664Token invalid99991400Bad request99991403No permission โ€” check app permissions

Critical Pitfalls

Lark โ‰  Feishu โ€” International uses open.larksuite.com, China uses open.feishu.cn open_id is per-app โ€” Same user has different open_id across different Lark apps Webhook 5s timeout โ€” Return 200 immediately, process async Event dedup โ€” Use event_id (Lark retries up to 3x) Bot-to-bot blind spot โ€” Lark does NOT push Bot A's messages to Bot B's webhook Publishing required โ€” Permission/event changes only take effect after publishing a new app version ngrok IPv6 trap โ€” Use 127.0.0.1:PORT not localhost:PORT in ngrok config ngrok free domain โ€” Returns interstitial HTML that Lark rejects. Use paid domain.

Detailed References

Bot setup playbook: references/bot-setup.md API reference: references/api-reference.md MCP tools catalog: references/mcp-tools.md Webhook & tunnel: references/webhook-setup.md Troubleshooting: references/troubleshooting.md Permissions: references/permissions.md

Category context

Code helpers, APIs, CLIs, browser automation, testing, and developer operations.

Source: Tencent SkillHub

Largest current source with strong distribution and engagement signals.

Package contents

Included in package
6 Docs
  • SKILL.md Primary doc
  • references/api-reference.md Docs
  • references/bot-setup.md Docs
  • references/mcp-tools.md Docs
  • references/permissions.md Docs
  • references/troubleshooting.md Docs