mcpField
W
wecomcli-manage-smartsheet-data

wecomcli-manage-smartsheet-data

github.com/wecomteamData & databases3.3k2.4k installsUpdated 1w ago
Repository

About wecomcli-manage-smartsheet-data

wecomcli-manage-smartsheet-data is a skill for managing enterprise WeChat smart sheet data through `wecom-cli`. It lets command-line users query, add, update, and delete records, with values supplied according to field types.

Key features

  1. 01Query sheet records
  2. 02Add one or more records
  3. 03Update existing records
  4. 04Delete one or more records
  5. 05Locate sheets by docid or URL

Use cases

  1. 01Review records in a smart sheet
  2. 02Add new rows to a sheet
  3. 03Update or delete selected records
  4. 04Prepare values according to field types

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/wecomteam/wecom-cli --skill wecomcli-manage-smartsheet-data

After installing, type/wecomcli-manage-smartsheet-datain Claude Code to confirm it loaded.

Bundled filesreferences/api-get-records.mdreferences/cell-value-formats.md

Details

From the project README

企业微信智能表格数据管理

wecom-cli 是企业微信提供的命令行程序,所有操作通过执行 wecom-cli 命令完成。

管理智能表格中的记录(行数据)。所有接口支持通过 docid 或 url 二选一定位文档。

CLI 调用方式

通过 wecom-cli 调用,品类为 doc:

wecom-cli doc <tool_name> '<json_params>'

返回格式说明

所有接口返回 JSON 对象,包含以下公共字段:

字段类型说明
errcodeinteger返回码,0 表示成功,非 0 表示失败
errmsgstring错误信息,成功时为 "ok"

当 errcode 不为 0 时,说明接口调用失败,可重试 1 次;若仍失败,将 errcode 和 errmsg 展示给用户。

smartsheet_get_records

查询子表全部记录。

  • 通过 sheetid:
wecom-cli doc smartsheet_get_records '{"docid": "DOCID", "sheet_id": "SHEETID"}'
  • 或通过 URL:
wecom-cli doc smartsheet_get_records '{"url": "https://doc.weixin.qq.com/smartsheet/xxx", "sheet_id": "SHEETID"}'

参见 API 详情。

smartsheet_add_records

添加一行或多行记录,单次建议 500 行内。

调用前必须先了解目标表的字段类型(通过 smartsheet_get_fields),重点关注 field_type。对于单选/多选(Option)字段,需注意匹配已有选项的 id。

wecom-cli doc smartsheet_add_records '{"docid": "DOCID", "sheet_id": "SHEETID", "records": [{"values": {"任务名称": [{"type": "text", "text": "完成需求文档"}], "优先级": [{"text": "高"}]}}]}'

各字段类型的值格式参见 单元格值格式参考。

smartsheet_update_records

更新一行或多行记录,单次建议在 500 行内。需提供 record_id(通过 smartsheet_get_records 获取)。支持通过 key_type 指定 values 的 key 使用字段标题或字段 ID:

  • CELL_VALUE_KEY_TYPE_FIELD_TITLE:key 为字段标题
  • CELL_VALUE_KEY_TYPE_FIELD_ID:key 为字段 ID
wecom-cli doc smartsheet_update_records '{"docid": "DOCID", "sheet_id": "SHEETID", "key_type": "CELL_VALUE_KEY_TYPE_FIELD_TITLE", "records": [{"record_id": "RECORDID", "values": {"任务名称": [{"type": "text", "text": "更新后的内容"}]}}]}'

注意:创建时间、最后编辑时间、创建人、最后编辑人字段不可更新。

smartsheet_delete_records

删除一行或多行记录,单次必须在 500 行内。操作不可逆。record_id 通过 smartsheet_get_records 获取。

wecom-cli doc smartsheet_delete_records '{"docid": "DOCID", "sheet_id": "SHEETID", "record_ids": ["RECORDID1", "RECORDID2"]}'

典型工作流

  1. 读取数据 →
wecom-cli doc smartsheet_get_records '{"docid":"DOCID","sheet_id":"SHEETID"}'
  1. 写入数据 → 先 smartsheet_get_fields 了解列类型 → 若涉及成员(USER)字段,先通过 wecomcli-lookup-contact 的 get_userlist 查找人员 userid → smartsheet_add_records 写入
  2. 更新数据 → 先 smartsheet_get_records 获取 record_id → 若涉及成员(USER)字段,先通过 wecomcli-lookup-contact 的 get_userlist 查找人员 userid → smartsheet_update_records 更新
  3. 删除数据 → 先 smartsheet_get_records 确认 record_id → smartsheet_delete_records 删除

注意:成员(USER)类型字段需要填写 user_id,不能直接使用姓名。必须先通过 wecomcli-lookup-contact 技能的 get_userlist 接口按姓名查找到对应的 userid 后再使用。

Comments

Markdown supported