feishu-doc
m1heng/clawdbot-feishu
Read, write, and manage comments in Feishu documents via structured API actions.
What is feishu-doc?
Feishu document tool provides read/write operations and comment management for Feishu docs. Use it when users need to access, edit, or comment on Feishu documents identified by URL or token.
- Read document content as plain text with block statistics and structured data detection
- Write or append markdown content to documents (headings, lists, code blocks, quotes, links, images)
- Create new documents with optional folder placement
- Manage document blocks: list, retrieve, update, or delete individual blocks
- List and retrieve document-level and block-level comments
- Create comments on documents
How to install feishu-doc
npx skills add https://github.com/m1heng/clawdbot-feishu --skill feishu-doc- Feishu API credentials configured in the agent
- Required permissions: docx:document, docx:document:readonly, docx:document.block:convert, drive:drive
- Optional: docx:document.comment and docx:document.comment:read for comment operations
How to use feishu-doc
- 1.Extract the doc_token from the Feishu document URL (e.g., ABC123def from https://xxx.feishu.cn/docx/ABC123def)
- 2.Use action: 'read' with the doc_token to retrieve document content and check for structured data
- 3.For structured content (tables, images), use action: 'list_blocks' to get full block data
- 4.To write content, use action: 'create_and_write' for new documents or action: 'write' to replace existing content
- 5.Use action: 'append' to add content to the end of a document
- 6.For comments, use action: 'list_comments' to retrieve all comments, then action: 'get_comment' for details
Use cases
- Extract and process content from Feishu docs shared via URL
- Automatically generate or update Feishu documents with markdown content
- Append notes or results to existing Feishu documents
- Retrieve and analyze comments and feedback on documents
- Read structured content like tables and images from documents
- Teams using Feishu for document collaboration
- Developers integrating Feishu docs into automation workflows
- Users needing programmatic access to document content and comments
feishu-doc FAQ
From https://xxx.feishu.cn/docx/ABC123def, the doc_token is ABC123def. From https://xxx.feishu.cn/docs/doccn123c, the doc_token is doccn123c.
No, markdown tables are not supported. Use list_blocks and update_block for structured content, or write table content as plain text.
'write' replaces the entire content of an existing document. 'create_and_write' creates a new document and writes content atomically in one call, and is recommended for new documents.
Start with action: 'read' to check block_types. If structured content exists, use action: 'list_blocks' to retrieve full block data including images and tables.
The tool supports listing comment replies with 'list_comment_replies', but reply creation is not currently exposed in the SDK surface. You can create top-level comments with 'create_comment'.
Full instructions (SKILL.md)
Source of truth, from m1heng/clawdbot-feishu.
name: feishu-doc description: | Feishu document read/write operations + comment management. Activate when user mentions Feishu docs, cloud docs, docx links, or document comments.
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
{ "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)
{ "action": "write", "doc_token": "ABC123def", "content": "# Title\n\nMarkdown content..." }
Replaces entire document with markdown content. Supports: headings, lists, code blocks, quotes, links, images ( auto-uploaded), bold/italic/strikethrough.
Limitation: Markdown tables are NOT supported.
Create + Write (Atomic, Recommended)
{
"action": "create_and_write",
"title": "New Document",
"content": "# Title\n\nMarkdown content..."
}
With folder:
{
"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
{ "action": "append", "doc_token": "ABC123def", "content": "Additional content" }
Appends markdown to end of document.
Create Document
{ "action": "create", "title": "New Document" }
With folder:
{ "action": "create", "title": "New Document", "folder_token": "fldcnXXX" }
Creates an empty document (title only).
List Blocks
{ "action": "list_blocks", "doc_token": "ABC123def" }
Returns full block data including tables, images. Use this to read structured content.
Get Single Block
{ "action": "get_block", "doc_token": "ABC123def", "block_id": "doxcnXXX" }
Update Block Text
{ "action": "update_block", "doc_token": "ABC123def", "block_id": "doxcnXXX", "content": "New text" }
Delete Block
{ "action": "delete_block", "doc_token": "ABC123def", "block_id": "doxcnXXX" }
List Comments
{ "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
{ "action": "get_comment", "doc_token": "ABC123def", "comment_id": "comment_xxx" }
Create Comment
{ "action": "create_comment", "doc_token": "ABC123def", "content": "Comment text" }
List Comment Replies
{ "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
- Start with
action: "read"- get plain text + statistics - Check
block_typesin response for Table, Image, Code, etc. - If structured content exists, use
action: "list_blocks"for full data
Configuration
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)
Related skills
More from m1heng/clawdbot-feishu and the wider catalog.

feishu-drive
|

betting
|

football-data
Soccer data across 13 leagues—standings, schedules, match stats, xG, transfers, player profiles. Zero config.

kalshi
|

nba-data
|

polymarket
|