Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
larksuite avatar

Feishu Bitable

  • 554 installs
  • 2.3k repo stars
  • Updated July 22, 2026
  • larksuite/openclaw-lark

feishu-bitable is an OpenClaw agent skill that implements Feishu and Lark Bitable table, field, record, filter, and attachment API flows for developers building automations against multidimensional spreadsheets.

About

feishu-bitable is an integration skill from larksuite/openclaw-lark with 10 documented scenarios for Feishu/Lark multidimensional tables (Bitable). It covers creating tables in one-shot or stepwise modes, querying field types first, batch customer imports, advanced filters, single-record updates, single-select and complex fields (progress, currency, rating), attachment handling, and bidirectional link fields. Developers reach for feishu-bitable when OpenClaw agents must call feishu_bitable_app_table with correct field property and record value shapes. The skill references field-properties.md and record-values.md and stresses checking field types before writes to avoid API errors.

  • Eight numbered scenario walkthroughs from table creation through bidirectional link fields
  • Documents create-table mode A (all fields in one atomic API call) versus incremental setups
  • Field-type discovery as mandatory first step before imports or updates
  • Advanced filter queries, currency/progress/rating fields, attachments, and linked records

Feishu Bitable by the numbers

  • 554 all-time installs (skills.sh)
  • Ranked #396 of 2,742 Automation & Workflows skills by installs in the Skillselion catalog
  • Security screen: HIGH risk (skills.sh audit)
  • Data as of Jul 28, 2026 (Skillselion catalog sync)
npx skills add https://github.com/larksuite/openclaw-lark --skill feishu-bitable

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs554
repo stars2.3k
Security audit2 / 3 scanners passed
Last updatedJuly 22, 2026
Repositorylarksuite/openclaw-lark

How do you create Feishu Bitable tables and records via API?

Implement Feishu/Lark Bitable create, field, record, filter, and attachment flows correctly from an OpenClaw agent.

Who is it for?

OpenClaw or backend developers integrating Feishu/Lark Bitable with correct field properties and record payloads.

Skip if: Teams not on Feishu/Lark or projects needing generic spreadsheet APIs without Bitable-specific field types.

When should I use this skill?

The user asks to create, query, update, or filter Feishu/Lark Bitable tables, fields, records, or attachments from an agent.

What you get

Bitable tables with typed fields, batch or single records, filter queries, attachment uploads, and bidirectional link relations.

  • Bitable tables and fields
  • filtered record sets
  • attachment-linked records

By the numbers

  • Documents 10 complete Feishu Bitable usage scenarios
  • References field-properties.md and record-values.md configuration guides

Files

SKILL.mdMarkdownGitHub ↗

Feishu Bitable (多维表格) SKILL

🚨 执行前必读

  • 创建数据表:支持两种模式 — ① 明确需求时,在 create 时通过 table.fields 一次性定义字段(减少 API 调用);② 探索式场景时,使用默认表 + 逐步修改字段(更稳定,易调整)
  • ⚠️ 默认表的空行坑app.create 自带的默认表中会有空记录(空行)!插入数据前建议先调用 feishu_bitable_app_table_record.list + batch_delete 删除空行,避免数据污染
  • 写记录前:先调用 feishu_bitable_app_table_field.list 获取字段 type/ui_type
  • 人员字段:默认 open_id(ou_...),值必须是 [{id:"ou_xxx"}](数组对象)
  • 日期字段:毫秒时间戳(例如 1674206443000),不是秒
  • 单选字段:字符串(例如 "选项1"),不是数组
  • 多选字段:字符串数组(例如 ["选项1", "选项2"]
  • 附件字段:必须先上传到当前多维表格,使用返回的 file_token
  • 批量上限:单次 ≤ 500 条,超过需分批(批量操作是原子性的)
  • 并发限制:同一数据表不支持并发写,需串行调用 + 延迟 0.5-1 秒

---

📋 快速索引:意图 → 工具 → 必填参数

用户意图工具action必填参数常用可选
查表有哪些字段feishu_bitable_app_table_fieldlistapp_token, table_id-
查记录feishu_bitable_app_table_recordlistapp_token, table_idfilter, sort, field_names
新增一行feishu_bitable_app_table_recordcreateapp_token, table_id, fields-
批量导入feishu_bitable_app_table_recordbatch_createapp_token, table_id, records (≤500)-
更新一行feishu_bitable_app_table_recordupdateapp_token, table_id, record_id, fields-
批量更新feishu_bitable_app_table_recordbatch_updateapp_token, table_id, records (≤500)-
创建多维表格feishu_bitable_appcreatenamefolder_token
创建数据表feishu_bitable_app_tablecreateapp_token, namefields
创建字段feishu_bitable_app_table_fieldcreateapp_token, table_id, field_name, typeproperty
创建视图feishu_bitable_app_table_viewcreateapp_token, table_id, view_name, view_type-

---

🎯 核心约束(Schema 未透露的知识)

📚 详细参考文档

当遇到字段配置、记录值格式问题或需要完整示例时,查阅以下文档

  • [字段 Property 配置详解](references/field-properties.md) - 每种字段类型创建/更新时需要的 property 参数结构(单选的 options、进度的 min/max、关联的 table_id 等)
  • [记录值数据结构详解](references/record-values.md) - 每种字段类型在记录中对应的 fields 值格式(人员字段只传 id、日期是毫秒时间戳、附件需先上传等)
  • [使用场景完整示例](references/examples.md) - 8 个完整场景示例(创建表模式对比、批量导入、筛选查询、附件处理、关联字段等)

何时查阅:

  • 创建/更新字段时收到 125408X 错误码(property 结构错误)→ 查 field-properties.md
  • 写入记录时收到 125406X 错误码(字段值转换失败)→ 查 record-values.md
  • 需要完整的操作流程和参数示例 → 查 examples.md

---

1. 字段类型与值格式必须严格匹配

Bitable 最大的坑:不同字段类型对 value 的数据结构要求完全不同。

最易错的字段类型(完整列表见 record-values.md
typeui_type字段类型正确格式❌ 常见错误
11User人员[{id: "ou_xxx"}]传字符串 "ou_xxx"[{name: "张三"}]
5DateTime日期1674206443000(毫秒)传秒时间戳或字符串
3SingleSelect单选"选项名"传数组 ["选项名"]
4MultiSelect多选["选项1", "选项2"]传字符串 "选项1"
15Url超链接{link: "...", text: "..."}只传字符串 URL
17Attachment附件[{file_token: "..."}]传外部 URL 或本地路径

强制流程: 1. 先调用 feishu_bitable_app_table_field.list 获取字段的 typeui_type 2. 根据上表或 record-values.md 构造正确格式 3. 错误码 125406X1254015 → 检查字段值格式

人员字段特别注意

  • 默认使用 open_id(ou_...),与 calendar/task 一致
  • 格式:[{id: "ou_xxx"}](数组对象)
  • 只能传 id 字段,不能传 name/email 等

📌 核心使用场景

完整示例: 查阅 examples.md 了解更多场景(创建表模式对比、空行处理、附件上传、关联字段等)

场景 1: 查字段类型(必做第一步)

{
  "action": "list",
  "app_token": "S404b...",
  "table_id": "tbl..."
}

返回:包含每个字段的 field_idfield_nametypeui_typeproperty

场景 2: 批量导入客户数据

{
  "action": "batch_create",
  "app_token": "S404b...",
  "table_id": "tbl...",
  "records": [
    {
      "fields": {
        "客户名称": "Bytedance",
        "负责人": [{"id": "ou_xxx"}],
        "签约日期": 1674206443000,
        "状态": "进行中"
      }
    },
    {
      "fields": {
        "客户名称": "飞书",
        "负责人": [{"id": "ou_yyy"}],
        "签约日期": 1675416243000,
        "状态": "已完成"
      }
    }
  ]
}

字段值格式

  • 人员:[{id: "ou_xxx"}](数组对象)
  • 日期:毫秒时间戳
  • 单选:字符串
  • 多选:字符串数组

限制: 最多 500 条记录

场景 3: 筛选查询(高级筛选)

{
  "action": "list",
  "app_token": "S404b...",
  "table_id": "tbl...",
  "filter": {
    "conjunction": "and",
    "conditions": [
      {
        "field_name": "状态",
        "operator": "is",
        "value": ["进行中"]
      },
      {
        "field_name": "截止日期",
        "operator": "isLess",
        "value": ["ExactDate", "1740441600000"]
      }
    ]
  },
  "sort": [
    {
      "field_name": "截止日期",
      "desc": false
    }
  ]
}

filter 说明

  • 支持 10 种 operator(is/isNot/contains/isEmpty 等,见附录 C)
  • ⚠️ isEmpty/isNotEmpty 必须传 `value: []`(虽然逻辑上不需要值,但 API 要求必须传空数组)
  • 日期筛选可使用 ["Today"]["ExactDate", "时间戳"]
  • sort 可指定多个排序字段

---

🔍 常见错误与排查

错误码错误现象根本原因解决方案
1254064DatetimeFieldConvFail日期字段格式错误必须用毫秒时间戳(如 1772121600000),不能用字符串("2026-02-27"、RFC3339)或秒级时间戳
1254068URLFieldConvFail超链接字段格式错误必须用对象 {text: "显示文本", link: "URL"},不能直接传字符串 URL
1254066UserFieldConvFail人员字段格式错误或 ID 类型不匹配必须传 [{id: "ou_xxx"}],确认 user_id_type
1254015Field types do not match字段值格式与类型不匹配先 list 字段,按类型构造正确格式
1254104RecordAddOnceExceedLimit批量创建超过 500 条分批调用,每批 ≤ 500
1254291Write conflict并发写冲突串行调用 + 延迟 0.5-1 秒
1254303AttachPermNotAllow附件未上传到当前表格先调用上传素材接口
1254045FieldNameNotFound字段名不存在检查字段名(包括空格、大小写)

---

📚 附录:背景知识

A. 资源层级关系

App (多维表格应用)
 ├── Table (数据表) ×100
 │    ├── Record (记录/行) ×20,000
 │    ├── Field (字段/列) ×300
 │    └── View (视图) ×200
 └── Dashboard (仪表盘)

B. 筛选条件 operator 列表

operator含义支持字段value 要求
is等于所有单个值
isNot不等于除日期外单个值
contains包含除日期外可多个值
doesNotContain不包含除日期外可多个值
isEmpty为空所有必须为 []
isNotEmpty不为空所有必须为 []
isGreater大于数字、日期单个值
isGreaterEqual大于等于数字(不支持日期)单个值
isLess小于数字、日期单个值
isLessEqual小于等于数字(不支持日期)单个值

日期字段特殊值: ["Today"], ["Tomorrow"], ["ExactDate", "时间戳"] 等(完整列表见 examples.md

C. 使用限制

限制项上限
数据表 + 仪表盘100(单个 App)
记录数20,000(单个数据表)
字段数300(单个数据表)
视图数200(单个数据表)
批量创建/更新/删除500(单次 API 调用)
单元格文本10 万字符
单选/多选选项20,000(单个字段)
单元格附件100
单元格人员1,000

D. 其他约束

  • 从其他数据源同步的数据表,不支持增删改记录
  • 公式字段、查看引用字段是只读
  • 删除操作无法恢复
  • 视图筛选条件使用 field_id,需先调用 field.list 获取

Related skills

FAQ

What is the first step before writing Feishu Bitable records?

feishu-bitable instructs developers to query field types before inserting or updating records. Field property shapes and record value formats differ by type; consult field-properties.md and record-values.md to avoid API errors.

How many scenarios does feishu-bitable document?

feishu-bitable documents 10 complete Bitable scenarios, including table creation modes, batch imports, advanced filters, complex fields, attachments, and bidirectional link fields for Feishu and Lark multidimensional tables.

Which tool action does feishu-bitable use?

feishu-bitable centers on the feishu_bitable_app_table tool with actions such as create for tables and fields, plus patterns for records, filters, and attachments. Payloads require app_token, table names, and typed field definitions.

Is Feishu Bitable safe to install?

skills.sh reports 2 of 3 security scanners passed. Review the Security Audits panel on this page before installing in production.

Automation & Workflowsintegrationsbackend

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.