Feishu Doc

m1heng/clawdbot-feishu/skills/feishu-doc

by m1hengb07885b756acNo license4.2K starsListed Oct 8, 2026Updated Oct 8, 2026Repository updated 6 months ago

Feishu document read/write operations + comment management. Activate when user mentions Feishu docs, cloud docs, docx links, or document comments.

Instructions onlyDocuments & Office
AI-generated overview

Reads, creates and edits Feishu cloud documents and manages their comments through a single feishu_doc tool.

What it does
Provides one feishu_doc tool with an action parameter covering document read, write, append, create, create_and_write, block listing and retrieval, block text update and deletion, plus comment listing, retrieval and creation. Read returns title, plain text and block statistics, and structured content such as tables and images can be fetched with list_blocks. Write replaces the whole document with markdown supporting headings, lists, code blocks, quotes, links, auto-uploaded images and inline formatting, though markdown tables are not supported. Comment actions list comments and replies with pagination and distinguish whole-document from block-level comments.
When to use it
Use when a user mentions Feishu docs, cloud docs, docx links or document comments, or supplies a Feishu document URL whose token must be extracted. It fits reading document content, generating or replacing document text, appending content, and reviewing or adding document comments. It is not intended for markdown tables or for creating comment replies, which the current SDK surface does not expose. A reference file on block types is included for structured content.},
Requirements
Requires the Feishu channel tool configuration (doc: true) and Feishu API permissions: docx:document, docx:document:readonly, docx:document.block:convert, drive:drive, plus docx:document.comment:read and docx:document.comment for comment operations. Network access to Feishu is needed. No scripts are shipped; instructions only.

Feishu Document Tool

Single tool feishu_doc with action parameter for all document operations including comment management.

Token Extraction

From URL https://xxx.feishu.cn/docx/ABC123def → doc_token = ABC123def From URL https://xxx.feishu.cn/docs/doccn123c → doc_token = doccn123c

Actions

Read Document

json
{ "action": "read", "doc_token": "ABC123def" }

Returns: title, plain text content, block statistics. Check hint field - if present, structured content (tables, images) exists that requires list_blocks.

Write Document (Replace All)

json
{ "action": "write", "doc_token": "ABC123def", "content": "# Title\n\nMarkdown content..." }

Replaces entire document with markdown content. Supports: headings, lists, code blocks, quotes, links, images (![](url) auto-uploaded), bold/italic/strikethrough.

Limitation: Markdown tables are NOT supported.

Create + Write (Atomic, Recommended)

json
{  "action": "create_and_write",  "title": "New Document",  "content": "# Title\n\nMarkdown content..."}

With folder:

json
{  "action": "create_and_write",  "title": "New Document",  "content": "# Title\n\nMarkdown content...",  "folder_token": "fldcnXXX"}

Creates the document and writes content in one call. Prefer this over separate create + write.

Append Content

json
{ "action": "append", "doc_token": "ABC123def", "content": "Additional content" }

Appends markdown to end of document.

Create Document

json
{ "action": "create", "title": "New Document" }

With folder:

json
{ "action": "create", "title": "New Document", "folder_token": "fldcnXXX" }

Creates an empty document (title only).

List Blocks

json
{ "action": "list_blocks", "doc_token": "ABC123def" }

Returns full block data including tables, images. Use this to read structured content.

Get Single Block

json
{ "action": "get_block", "doc_token": "ABC123def", "block_id": "doxcnXXX" }

Update Block Text

json
{ "action": "update_block", "doc_token": "ABC123def", "block_id": "doxcnXXX", "content": "New text" }

Delete Block

json
{ "action": "delete_block", "doc_token": "ABC123def", "block_id": "doxcnXXX" }

List Comments

json
{ "action": "list_comments", "doc_token": "ABC123def", "page_size": 50 }

Returns all comments for the document. Use page_token for pagination. Comments include is_whole field to distinguish between whole-document comments (true) and block-level comments (false).

Get Single Comment

json
{ "action": "get_comment", "doc_token": "ABC123def", "comment_id": "comment_xxx" }

Create Comment

json
{ "action": "create_comment", "doc_token": "ABC123def", "content": "Comment text" }

List Comment Replies

json
{ "action": "list_comment_replies", "doc_token": "ABC123def", "comment_id": "comment_xxx", "page_size": 50 }

page_size should be a positive integer. If omitted, tool defaults to 50.

Comment Write Scope

Current tool provides documented comment write action create_comment (global comment creation). For replies, use list_comment_replies for retrieval; the reply creation endpoint is not exposed in current SDK surface.

Reading Workflow

  1. Start with action: "read" - get plain text + statistics
  2. Check block_types in response for Table, Image, Code, etc.
  3. If structured content exists, use action: "list_blocks" for full data

Configuration

yaml
channels:  feishu:    tools:      doc: true  # default: true

Note: feishu_wiki depends on this tool - wiki page content is read/written via feishu_doc.

Permissions

Required: docx:document, docx:document:readonly, docx:document.block:convert, drive:drive

For comment operations:

  • Read comments: docx:document.comment:read
  • Write comments: docx:document.comment (optional, for create_comment)

Source and attribution

Source:m1heng/clawdbot-feishuinskills/feishu-docat commitb07885b

License: No license

Content belongs to its original authors. SourceWeft indexes it from a public repository.

Report or request removal