MCP clients: read references/mcp.md. CLI users: read references/cli.md. Examples below describe shared operation arguments.
Tables, records (rows), schema columns (table fields), and attachments for Pipefy Database Tables.
Cross-cutting patterns
- Use
introspect_typeon inputs such asCreateTableFieldInput/UpdateTableFieldInput. - Pagination:
get_table_recordsandfind_recordssupportfirst/after; default page size is 50. find_recordsover paginatedget_table_recordswhen you know the field value. One call withfield_idandfield_valuebeats N pages ofget_table_records.
Table operations
| Operation | Read-only | Purpose |
|---|---|---|
get_tables |
Yes | Load database tables by their IDs. |
search_tables |
Yes | Search tables by name. |
get_table |
Yes | Table metadata and field schema. |
create_table |
No | Create a new database table. |
update_table |
No | Rename or change settings. |
delete_table |
No | Destructive; review and approve first. |
Table field (schema column) operations
| Operation | Purpose |
|---|---|
create_table_field |
Add a column to a table schema. |
update_table_field |
Rename or change column description, required status, or options. |
delete_table_field |
Destructive; review and approve first. Requires table_id. |
Record operations
| Operation | Read-only | Purpose |
|---|---|---|
get_table_records |
Yes | Paginated list of all records in a table. |
find_records |
Yes | Filter records by field_id and field_value — preferred over paginating get_table_records. |
get_table_record |
Yes | Single record with all populated field values. |
create_table_record |
No | Add a row to a table. |
update_table_record |
No | Update a row's title, due_date or status_id. It accepts no other keys. |
set_table_record_field_value |
No | Set one field value on a row. Use it for every table field. |
delete_table_record |
No | Destructive; review and approve first. |
Steps — find and update a record
-
Get table ID (if not known):
Operation:
search_tables(table_name="Customers")and select the table ID from the results. -
Find the record (use
find_records, not pagination):Operation:
find_records(table_id=456, field_id="email", field_value="user@example.com") -
Update one field (targeted):
Operation:
set_table_record_field_value(record_id=789, field_id="status", value="Active")Update record metadata (such as title, due date, or status):
Operation:
update_table_record(record_id=789, fields={"title":"Updated title"})
Review destructive changes
Before deletion, show the affected data and obtain explicit approval. Preview content per operation:
delete_table— show table name and field count.get_tabledoes not return a record count; obtain one through schema-checked GraphQL or by paging through all records if practical. State clearly when the count is unknown. Deleting a table destroys all rows and schema.delete_table_record— show record title and key field values so the user can identify which row will vanish.delete_table_field— show field name and type; warn explicitly that all column data will be permanently lost.
Never delete without first reviewing the affected data.
Success criteria
get_table_recordsreturns the created/updated records with correct field values.- Schema changes reflect immediately in
get_table.
Failure modes
get_table_record/get_table_recordsomit empty fields. Records only return populated fields, so you cannot tell "field unset" from "field doesn't exist" without callingget_tablefor the full schema.create_table_recordtitle silently overridden. When the first table field is a start-form-style label column, Pipefy uses that field's value as the recordtitle, ignoring thetitleparameter. Don't rely ontitleif the first field auto-populates a label-like column.create_table_fieldrejects type: callintrospect_type(type_name="CreateTableFieldInput")for valid field types.find_recordsreturns empty: check thatfield_idmatches a field's ID (not label) fromget_table.- Pagination cursor expired: re-fetch from the beginning; cursors are short-lived.
See also
pipefy-relations— connect tables to pipes (and the table-relation ID namespace gotcha).pipefy-introspection— discover field input schemas.