用途
该技能用于通过 Membrane CLI 与 Smartsheet 平台进行交互。Smartsheet 是一个动态的工作与项目管理平台,被各种规模的企业用于改善协作、自动化工作流并快速启动新想法。当用户希望与 Smartsheet 数据交互时,可使用本技能。
官方文档:https://developers.smartsheet.com/
主要能力
Smartsheet 支持的对象类型包括:Sheet、Row、Cell、Column、Workspace、Folder、Group、User、Brand、Report、Sight、Template、Attachment、Discussion、Update Request、Automation Rule。
常见操作(action)包括:
- list-sheets:列出表格
- list-workspaces:列出工作区
- list-users:列出用户
- list-columns:列出列
- get-sheet:获取表格
- get-workspace:获取工作区
- get-user:获取用户
- get-current-user:获取当前用户
- get-folder:获取文件夹
- get-row:获取行
- create-sheet:创建表格
- create-workspace:创建工作区
- create-folder:创建文件夹
- add-rows:添加行
- update-rows:更新行
- update-sheet:更新表格
- add-column:添加列
- delete-sheet:删除表格
- delete-rows:删除行
- delete-workspace:删除工作区
使用方式
安装 CLI
npm install -g @membranehq/cli@latest
认证
membrane login --tenant --clientName=<agentType>
该命令会打开浏览器进行认证,或(在无交互模式下)在控制台打印授权 URL。无头环境下需让用户在浏览器中打开该 URL,完成登录后看到代码时执行:
membrane login complete <code>
任意命令添加 --json 可获得机器可读的 JSON 输出。
Agent Types:claude、openclaw、codex、warp、windsurf 等。
连接 Smartsheet
使用 membrane connection ensure 按应用 URL 或域名查找或创建连接:
membrane connection ensure "" --json
用户在浏览器中完成认证后,输出包含新连接 id。若连接状态为 READY,可跳到下一步。若处于 BUILDING 状态,可轮询等待:
npx @membranehq/cli connection get <id> --wait --json
--wait 会进行长轮询(最多 --timeout 秒,默认 30),直到状态改变。状态说明:
- READY:连接已完全建立。
- CLIENT_ACTION_REQUIRED:用户或代理需执行操作。clientAction.type 可为 "connect"(需要认证)或 "provide-input"(需要更多信息);clientAction.description 为可读说明;clientAction.uiUrl 为可选预构建 UI 地址;clientAction.agentInstructions 为可选的程序化操作指引。
- CONFIGURATION_ERROR 或 SETUP_FAILED:出现错误,查看 error 字段。
用户完成操作后,再次执行 membrane connection get <id> --json 检查状态是否变为 READY。
搜索操作
membrane action list --connectionId=CONNECTION_ID --intent "QUERY" --limit 10 --json
每个结果包含 id、name、description、inputSchema(接受的参数)和 outputSchema(返回内容)。应在特定连接的上下文中搜索操作。
运行操作
membrane action run <actionId> --connectionId=CONNECTION_ID --json
传入 JSON 参数:
membrane action run <actionId> --connectionId=CONNECTION_ID --input '{"key": "value"}' --json
结果位于响应的 output 字段。
代理请求
当现有操作无法覆盖用例时,可通过 Membrane 代理直接向 Smartsheet API 发送请求。Membrane 会自动附加基础 URL、注入正确的认证头(包括凭证过期时的透明刷新):
membrane request CONNECTION_ID /path/to/endpoint
常用选项:
- -X, --method:HTTP 方法(GET、POST、PUT、PATCH、DELETE),默认 GET
- -H, --header:添加请求头(可重复)
- -d, --data:请求体(字符串)
- --json:发送 JSON 请求体并设置 Content-Type: application/json 的快捷方式
- --rawData:按原样发送请求体,不做处理
- --query:查询字符串参数(可重复)
- --pathParam:路径参数(可重复)
适用场景
适用于需要在 Smartsheet 中读取或管理表格、行、列、工作区、文件夹、用户等数据的场景,例如列出项目表格、创建或更新行、管理组织内的工作区与文件夹等。
限制
- 需先通过 Membrane 建立与 Smartsheet 的连接,并完成认证。
- 具体可用的操作以 membrane action list 的搜索结果为准。
- 资料未提供具体收费、价格与配额信息。