Feishu Document Tool
Single tool feishu_doc with action parameter for all document operations.
Token Extraction
From URL https://xxx.feishu.cn/docx/ABC123def → doc_token = ABC123def
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.
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" }
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" }
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