← ClaudeAtlas

feishulisted

Read and write Feishu (飞书) docs, sheets, Base (bitable), Drive files, calendar events, tasks, wiki, and IM messages via the Feishu Open Platform REST API. Use when the user mentions 飞书 / Feishu / Lark, a Feishu document or sheet link, their Feishu calendar, or wants to send a Feishu message.
AceDataCloud/Skills · ★ 13 · AI & Automation · score 73
Install: claude install-skill AceDataCloud/Skills
We drive the [Feishu Open Platform API](https://open.feishu.cn/document) with `curl + jq`. The user's OAuth `user_access_token` is in `$FEISHU_TOKEN`; every call sends it as `Authorization: Bearer $FEISHU_TOKEN`. All endpoints live under `https://open.feishu.cn/open-apis`. Calls run **in the user's context** (their docs, calendar, messages) — only data the user can access and only the scopes they granted at connect time (docs / sheets / base / drive / calendar / IM / wiki / task / contacts). ## Response shape & error handling Every Feishu response is `{"code": 0, "msg": "success", "data": {…}}`. **`code == 0` means success**; any non-zero `code` is an error — surface `msg` to the user. Always check it: ```sh resp=$(curl -sS … ) echo "$resp" | jq 'if .code == 0 then .data else error("Feishu \(.code): \(.msg)") end' ``` Common error codes: | code | meaning | what to do | |---|---|---| | `99991663` / `99991668` | access token invalid / expired | tell the user to reconnect Feishu in 连接 settings | | `99991661` | no permission (scope not granted) | the connect-time scope is missing — reconnect and grant it | | `1254xxx` | resource not found / no access | the user can't see that doc / sheet / app — double-check the token/id | ## Recipes ### Verify auth (always run first) ```sh curl -sS https://open.feishu.cn/open-apis/authen/v1/user_info \ -H "Authorization: Bearer $FEISHU_TOKEN" \ | jq 'if .code == 0 then {name: .data.name, open_id: .data.open_id, email: .data.email} e