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).

Voir la source
Document Skill original

Rendu depuis le dépôt source en conservant titres, exemples, code, tableaux, liens et images.

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.
du même dépôt

Autres Skills

Tous les Skills
pipefy
Communauté

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.

installations
2
GitHub Stars
50
Mis à jour
16 oct.
pipefy
Communauté

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.

installations
2
GitHub Stars
50
Mis à jour
16 oct.
pipefy
Communauté

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.

installations
2
GitHub Stars
50
Mis à jour
16 oct.
pipefy
Communauté

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.

installations
2
GitHub Stars
50
Mis à jour
16 oct.