pipefy-database-tables
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseDatabase Tables
数据库表
Tables, records (rows), schema columns (table fields), and attachments for Pipefy Database Tables. 17 MCP tools.
Pipefy数据库表的表、记录(行)、架构列(表字段)和附件。17种MCP工具。
Cross-cutting patterns
通用模式
- Same conventions as pipe building: on inputs such as
introspect_type/CreateTableFieldInput,UpdateTableFieldInputon mutations.debug=true - Pagination: and
get_table_recordssupportfind_records/first. With the unified MCP envelope, read top-levelafterandpagination.has_more(andpagination.end_cursor) and passpagination.page_sizefor the next page (default page size is 50).after=end_cursor - over paginated
find_recordswhen you know the field value. Oneget_table_recordscall with afind_records/column_idfilter beats N pages ofsearch_value.get_table_records - Legacy mutation envelope. Several table mutation tools still return the GraphQL operation name as a nested key under (for example
result). Read the payload inside that key; shape may differ from tools that already use the unified envelope.result.createTableRecord
- 与管道构建遵循相同约定:/
CreateTableFieldInput等输入参数中包含UpdateTableFieldInput,变更操作中包含introspect_type。debug=true - 分页: 和
get_table_records支持find_records/first参数。通过统一的MCP响应结构,读取顶层的after、pagination.has_more(以及pagination.end_cursor),并在下一页请求中传入pagination.page_size(默认每页大小为50)。after=end_cursor - 当已知字段值时,优先使用而非分页的
find_records:一次带有get_table_records/column_id过滤条件的search_value调用,优于N页的find_records请求。get_table_records - 旧版变更响应结构: 部分表变更工具仍会在下以嵌套键的形式返回GraphQL操作名称(例如
result)。需读取该键内的负载数据;其结构可能与已使用统一响应结构的工具不同。result.createTableRecord
Table operations
表操作
| Tool (MCP) | CLI | Read-only | Purpose |
|---|---|---|---|
| | Yes | List database tables by org. |
| | Yes | Search tables by name. |
| | Yes | Table metadata and field schema. |
| | No | Create a new database table. |
| | No | Rename or change settings. |
| | No | Two-step destructive. |
| 工具(MCP) | CLI命令 | 只读 | 用途 |
|---|---|---|---|
| | 是 | 按组织列出数据库表。 |
| | 是 | 按名称搜索表。 |
| | 是 | 获取表元数据和字段架构。 |
| | 否 | 创建新的数据库表。 |
| | 否 | 重命名或修改设置。 |
| | 否 | 两步式破坏性操作。 |
Table field (schema column) operations
表字段(架构列)操作
| Tool (MCP) | CLI | Purpose |
|---|---|---|
| | Add a column to a table schema. |
| | Rename or change column settings ( |
| | Two-step destructive. Requires |
| 工具(MCP) | CLI命令 | 用途 |
|---|---|---|
| | 向表架构中添加一列。 |
| | 重命名或修改列设置( |
| | 两步式破坏性操作。 需要传入 |
Record operations
记录操作
| Tool (MCP) | CLI | Read-only | Purpose |
|---|---|---|---|
| | Yes | Paginated list of all records in a table. |
| | Yes | Filter records by field value (JSON filter) — preferred over paginating |
| | Yes | Single record with all populated field values. |
| | No | Add a row to a table. |
| | No | Update one or more field values on a row. |
| | No | More targeted single-field update than |
| | No | Two-step destructive. |
| 工具(MCP) | CLI命令 | 只读 | 用途 |
|---|---|---|---|
| | 是 | 分页列出表中的所有记录。 |
| | 是 | 按字段值过滤记录(JSON过滤器)——优先于分页的 |
| | 是 | 获取包含所有已填充字段值的单条记录。 |
| | 否 | 向表中添加一行。 |
| | 否 | 更新一行中的一个或多个字段值。 |
| | 否 | 相比 |
| | 否 | 两步式破坏性操作。 |
Attachment uploads
附件上传
| Tool (MCP) | CLI | Purpose |
|---|---|---|
| | Attach a file to a table record. Exactly one source: |
| 工具(MCP) | CLI命令 | 用途 |
|---|---|---|
| | 向表记录附加文件。仅支持一种来源: |
Steps — find and update a record
步骤——查找并更新记录
-
Get table ID (if not known):MCP:
get_tables organization_id=123CLI:pipefy table list -
Find the record (use, not pagination):
find_recordsMCP:find_records table_id=456 filter='{"column_id":"email","search_value":"user@example.com"}'CLI:pipefy record find --table 456 --filter '{"column_id":"email","search_value":"user@example.com"}' -
Update one field (targeted):MCP:
set_table_record_field_value record_id=789 field_id="status" value="Active"CLI:pipefy record update 789 --field-id status --value '"Active"'Update multiple fields:MCP:update_table_record record_id=789 node_fields='[{"field_id":"status","field_value":"Active"}]'CLI:pipefy record update 789 --fields '{"status":"Active"}'
-
获取表ID(若未知):MCP命令:
get_tables organization_id=123CLI命令:pipefy table list -
查找记录(使用,而非分页):
find_recordsMCP命令:find_records table_id=456 filter='{"column_id":"email","search_value":"user@example.com"}'CLI命令:pipefy record find --table 456 --filter '{"column_id":"email","search_value":"user@example.com"}' -
更新单个字段(精准更新):MCP命令:
set_table_record_field_value record_id=789 field_id="status" value="Active"CLI命令:pipefy record update 789 --field-id status --value '"Active"'更新多个字段:MCP命令:update_table_record record_id=789 node_fields='[{"field_id":"status","field_value":"Active"}]'CLI命令:pipefy record update 789 --fields '{"status":"Active"}'
Two-step destructive previews
两步式破坏性操作预览
Always call without first, surface the preview to the user, then call again with after explicit approval. Preview content per tool:
confirm=trueconfirm=true- — show table name, field count, and record count. Deleting a table destroys all rows and schema.
delete_table - — show record title and key field values so the user can identify which row will vanish.
delete_table_record - — show field name and type; warn explicitly that all column data will be permanently lost.
delete_table_field
Never delete in a single call.
始终先不带调用,向用户展示预览内容,在获得明确批准后再带调用。各工具的预览内容:
confirm=trueconfirm=true- —— 展示表的名称、字段数量和记录数量。删除表会销毁所有行和架构。
delete_table - —— 展示记录的标题和关键字段值,以便用户确认要删除的行。
delete_table_record - —— 展示字段的名称和类型;需明确警告该列的所有数据将永久丢失。
delete_table_field
禁止单次调用直接执行删除操作。
Success criteria
成功标准
- returns the created/updated records with correct field values.
get_table_records - Schema changes reflect immediately in .
get_table
- 返回包含正确字段值的已创建/更新记录。
get_table_records - 架构变更会立即在的结果中体现。
get_table
Failure modes
失败场景
- /
get_table_recordomit empty fields. Records only return populated fields, so you cannot tell "field unset" from "field doesn't exist" without callingget_table_recordsfor the full schema.get_table - title silently overridden. When the first table field is a start-form-style label column, Pipefy uses that field's value as the record
create_table_record, ignoring thetitleparameter. Don't rely ontitleif the first field auto-populates a label-like column.title - rejects type: call
create_table_fieldfor valid field types.introspect_type type_name="CreateTableFieldInput" - returns empty: check that
find_recordsmatches a field's ID (not label) fromcolumn_id.get_table - Pagination cursor expired: re-fetch from the beginning; cursors are short-lived.
- /
get_table_record会省略空字段:记录仅返回已填充的字段,因此若不调用get_table_records获取完整架构,无法区分“字段未设置”和“字段不存在”。get_table - 的title会被静默覆盖:当表的第一个字段是起始表单样式的标签列时,Pipefy会使用该字段的值作为记录的
create_table_record,忽略传入的title参数。若第一个字段会自动填充类似标签的列,则不要依赖title参数。title - 拒绝类型:调用
create_table_field获取有效的字段类型。introspect_type type_name="CreateTableFieldInput" - 返回空结果:检查
find_records是否与column_id返回的字段ID(而非标签)匹配。get_table - 分页游标过期:从头重新获取数据;游标有效期较短。
See also
另请参阅
- skills/relations/pipefy-relations/SKILL.md — connect tables to pipes (and the table-relation ID namespace gotcha).
- skills/introspection/pipefy-introspection/SKILL.md — discover field input schemas.
- skills/relations/pipefy-relations/SKILL.md —— 将表与管道关联(以及表关系ID命名空间的注意事项)。
- skills/introspection/pipefy-introspection/SKILL.md —— 发现字段输入架构。