Step 1: 创建应用
# 创建新的多维表格应用
feishu_bitable_app(action="create", name="项目管理表")
# 返回 app_token,后续操作都需要
Step 2: 创建数据表
# 创建带字段定义的数据表
feishu_bitable_app_table(
action="create",
app_token="bascnXXXXXX",
table={
"name": "任务清单",
"fields": [
{"field_name": "任务名称", "type": 1},
{"field_name": "负责人", "type": 11},
{"field_name": "状态", "type": 3, "property": {
"options": [
{"name": "待开始"},
{"name": "进行中"},
{"name": "已完成"}
]
}},
{"field_name": "优先级", "type": 3, "property": {
"options": [
{"name": "P0-紧急"},
{"name": "P1-高"},
{"name": "P2-中"},
{"name": "P3-低"}
]
}},
{"field_name": "截止日期", "type": 5},
{"field_name": "完成度", "type": 2},
{"field_name": "备注", "type": 1}
]
}
)
创建记录
# 创建单条记录
feishu_bitable_app_table_record(
action="create",
app_token="bascnXXXXXX",
table_id="tblXXXXXX",
fields={
"任务名称": "完成SEO优化",
"状态": "进行中",
"优先级": "P1-高",
"截止日期": 1740441600000,
"完成度": 60,
"备注": "需要优化meta标签和内部链接"
}
)
# 批量创建记录
feishu_bitable_app_table_record(
action="batch_create",
app_token="bascnXXXXXX",
table_id="tblXXXXXX",
records=[
{"fields": {"任务名称": "任务1", "状态": "待开始"}},
{"fields": {"任务名称": "任务2", "状态": "待开始"}},
{"fields": {"任务名称": "任务3", "状态": "进行中"}}
]
)
查询记录
# 列出所有记录
feishu_bitable_app_table_record(
action="list",
app_token="bascnXXXXXX",
table_id="tblXXXXXX",
page_size=50
)
# 带筛选条件查询
feishu_bitable_app_table_record(
action="list",
app_token="bascnXXXXXX",
table_id="tblXXXXXX",
filter={
"conjunction": "and",
"conditions": [
{"field_name": "状态", "operator": "is", "value": ["进行中"]},
{"field_name": "优先级", "operator": "is", "value": ["P0-紧急", "P1-高"]}
]
}
)
# 排序查询
feishu_bitable_app_table_record(
action="list",
app_token="bascnXXXXXX",
table_id="tblXXXXXX",
sort=[{"field_name": "截止日期", "desc": false}]
)
更新记录
# 更新单条记录
feishu_bitable_app_table_record(
action="update",
app_token="bascnXXXXXX",
table_id="tblXXXXXX",
record_id="recXXXXXX",
fields={
"状态": "已完成",
"完成度": 100
}
)
# 批量更新
feishu_bitable_app_table_record(
action="batch_update",
app_token="bascnXXXXXX",
table_id="tblXXXXXX",
records=[
{"record_id": "rec1", "fields": {"状态": "已完成"}},
{"record_id": "rec2", "fields": {"完成度": 80}}
]
)
删除记录
# 删除单条记录
feishu_bitable_app_table_record(
action="delete",
app_token="bascnXXXXXX",
table_id="tblXXXXXX",
record_id="recXXXXXX"
)
# 批量删除
feishu_bitable_app_table_record(
action="batch_delete",
app_token="bascnXXXXXX",
table_id="tblXXXXXX",
record_ids=["rec1", "rec2", "rec3"]
)
场景1:每日任务汇总
# Agent 自动查询今日完成的任务并生成报告
feishu_bitable_app_table_record(
action="list",
app_token="bascnXXXXXX",
table_id="tblXXXXXX",
filter={
"conjunction": "and",
"conditions": [
{"field_name": "状态", "operator": "is", "value": ["已完成"]},
{"field_name": "完成时间", "operator": "isGreater", "value": ["today"]}
]
}
)
# 生成报告并发送到飞书群
场景2:数据同步
# 从外部数据源同步到 Bitable
# 1. 获取外部数据
data = web_fetch(url="https://api.example.com/data")
# 2. 转换为 Bitable 格式
records = transform_to_bitable(data)
# 3. 批量写入
feishu_bitable_app_table_record(
action="batch_create",
app_token="bascnXXXXXX",
table_id="tblXXXXXX",
records=records
)