pipefy/ai-toolkit

pipefy-database-tables

Use this skill when the user wants to work with Pipefy Database Tables — creating/reading/updating/deleting tables, records (rows), or table fields (schema columns).

Ver código fuente
Documento original del Skill

Contenido del repositorio de origen con títulos, ejemplos, código, tablas, enlaces e imágenes preservados.

Database Tables

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_type on inputs such as CreateTableFieldInput / UpdateTableFieldInput.
  • Pagination: get_table_records and find_records support first / after; default page size is 50.
  • `find_records` over paginated `get_table_records` when you know the field value. One call with field_id and field_value beats N pages of get_table_records.

Table operations

OperationRead-onlyPurpose
get_tablesYesLoad database tables by their IDs.
search_tablesYesSearch tables by name.
get_tableYesTable metadata and field schema.
create_tableNoCreate a new database table.
update_tableNoRename or change settings.
delete_tableNoDestructive; review and approve first.

Table field (schema column) operations

OperationPurpose
create_table_fieldAdd a column to a table schema.
update_table_fieldRename or change column description, required status, or options.
delete_table_fieldDestructive; review and approve first. Requires table_id.

Record operations

OperationRead-onlyPurpose
get_table_recordsYesPaginated list of all records in a table.
find_recordsYesFilter records by field_id and field_value — preferred over paginating get_table_records.
get_table_recordYesSingle record with all populated field values.
create_table_recordNoAdd a row to a table.
update_table_recordNoUpdate a row's title, due_date or status_id. It accepts no other keys.
set_table_record_field_valueNoSet one field value on a row. Use it for every table field.
delete_table_recordNoDestructive; review and approve first.

Steps — find and update a record

  1. Get table ID (if not known):

Operation: search_tables(table_name="Customers") and select the table ID from the results.

  1. Find the record (use find_records, not pagination):

Operation: find_records(table_id=456, field_id="email", field_value="user@example.com")

  1. 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_table does 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_records returns the created/updated records with correct field values.
  • Schema changes reflect immediately in get_table.

Failure modes

  • `get_table_record` / `get_table_records` omit empty fields. Records only return populated fields, so you cannot tell "field unset" from "field doesn't exist" without calling get_table for the full schema.
  • `create_table_record` title silently overridden. When the first table field is a start-form-style label column, Pipefy uses that field's value as the record title, ignoring the title parameter. Don't rely on title if the first field auto-populates a label-like column.
  • `create_table_field` rejects type: call introspect_type(type_name="CreateTableFieldInput") for valid field types.
  • `find_records` returns empty: check that field_id matches a field's ID (not label) from get_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.
del mismo repositorio

Más Skills

Todos los Skills
pipefy
Comunidad

pipefy-ai-agents

Use this skill when the user wants to create, read, update, delete, or troubleshoot AI agents (conversational agents with behaviors). Includes pre-flight validation and pipe-scoped knowledge bases (list, plain text/document/data lookup CRUD, access probe) attached via dataSourceIds. For traditional automations and AI automations, see pipefy-automations.

instalaciones
2
GitHub Stars
50
Actualizado
16 oct
pipefy
Comunidad

pipefy-api-fallback

Use this skill when a toolkit operation fails AND the introspection skill could not resolve the problem. This is the last-resort fallback (Tier 3): call the Pipefy GraphQL API directly using curl or httpx, authenticating with the Service Account (OAuth2) or a Personal Access Token (PAT) available as env var. Follow the 3-tier resolution strategy before reaching this point.

instalaciones
2
GitHub Stars
50
Actualizado
16 oct
pipefy
Comunidad

pipefy-attachments

Use this skill when the user wants to upload a file to a Pipefy card or table-record attachment field. Covers local and downloaded file sources, plus a presigned-URL handshake for uploading files directly.

instalaciones
2
GitHub Stars
50
Actualizado
16 oct
pipefy
Comunidad

pipefy-automations

Use this skill when the user wants to create, read, update, or delete traditional automations (if/then rules) or AI automations (prompt-driven). For AI agents (conversational), see pipefy-ai-agents.

instalaciones
2
GitHub Stars
50
Actualizado
16 oct