About pipefy-reports
A Pipefy skill for discovering and managing pipe and organization reports, with filter configuration and asynchronous exports. It is for users reviewing report data or exporting audit logs, and explains how to poll export status and retrieve a download link.
Key features
- 01List and retrieve pipe reports
- 02Discover report columns and filterable fields
- 03Create, update, and delete reports
- 04Export reports asynchronously and check status
- 05Export pipe audit logs
Use cases
- 01Create a pipe report using filterable fields
- 02Update organization-level report settings
- 03Export a report and check processing status
- 04Export pipe audit logs
MCP support
A Pipefy skill for MCP clients, providing operations to query, manage, and asynchronously export pipe and organization reports.
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ pipefy/ ai-toolkit --skill pipefy-reportsAfter installing, type/pipefy-reportsin Claude Code to confirm it loaded.
Bundled filesreferences/cli.mdreferences/mcp.md
Details
From the project READMEReports
Read the MCP reference or CLI reference for the surface you are using. Load only the relevant reference.
Pipe reports and organization reports: discovery, CRUD, and async exports.
Cross-cutting patterns
- Build
ReportCardsFilterusingget_pipe_report_columnsandget_pipe_report_filterable_fields; useintrospect_typefor uncommon inputs. get_pipe_reportsomitscardCountin the query (Pipefy can error when resolving it).
Pipe report tools
| Operation | Read-only | Purpose |
|---|---|---|
get_pipe_reports | Yes | List all reports for a pipe. |
get_pipe_reports | Yes | Load one report by report_id when needed. |
get_pipe_report_columns | Yes | Discover available columns for a report filter. |
get_pipe_report_filterable_fields | Yes | Discover filterable fields for a report. |
create_pipe_report | No | Create a new pipe report. |
update_pipe_report | No | Update report name or filters. |
delete_pipe_report | No | Destructive; review and approve first. Use the selected surface's confirmation flow if one exists. |
export_pipe_report | No | Trigger async export. |
Organization report tools
| Operation | Read-only | Purpose |
|---|---|---|
get_organization_reports | Yes | List all org-level reports. |
get_organization_report | Yes | Single org report data. |
create_organization_report | No | Create an org-wide report. |
update_organization_report | No | Update report config. |
delete_organization_report | No | Destructive; review and approve first. Use the selected surface's confirmation flow if one exists. |
export_organization_report | No | Trigger async export. |
Export status & download
| Operation | Purpose |
|---|---|
get_pipe_report_export | Poll pipe report export status (after export_pipe_report). |
get_organization_report_export | Poll org report export status (after export_organization_report). |
export_pipe_audit_logs | Export pipe audit logs (separate from card report exports). |
Steps — export a pipe report
-
List available reports:
Operation:
get_pipe_reports pipe_uuid=<PIPE_UUID>(get_pipesupplies the UUID). -
Trigger the export:
Operation:
export_pipe_report pipe_id=67890 pipe_report_id=123 -
Poll until done:
Operation:
get_pipe_report_export export_id=<EXPORT_ID>Repeat every 5–10 seconds until
stateisdone(orfailed). -
Download: use the signed
fileURLfrom thedoneexport response over HTTPS.The link expires 1 hour after the read that returned it, and anyone holding it can download the file until then. When you hand it to the user, say that it expires in 1 hour; for a fresh link, read the export again.
Steps — create a filtered pipe report
-
Discover filterable fields:
Operation:
get_pipe_report_filterable_fields pipe_uuid=<PIPE_UUID>(get_pipesupplies the UUID). -
Create the report with a
ReportCardsFiltershape (not a top-levelcurrent_phasearray):Arguments:
create_pipe_report pipe_id=67890 name="Phase subset" filter='{"operator":"and","queries":[{"field":"current_phase","operator":"eq","type":"select","value":"<phase_id>"}]}'Use the exact
fieldstring from step 1. Invalid shapes are rejected before GraphQL with a message pointing atget_pipe_report_filterable_fields.
Success criteria
get_pipe_report_export(orget_organization_report_export) reaches a terminaldoneorfailedstate.- Downloaded export contains the expected card/report data.
Failure modes
- Export stuck in
processing: large pipes with many cards can take minutes. If the export is stillprocessingafter a minute of polling every 5 to 10 seconds, poll once every 60 seconds instead. Retry the export trigger if stillprocessingafter several minutes. get_pipe_reportsreturnsnullforcardCount: known Pipefy API behavior; the tool omits that field automatically.- Filter rejected before GraphQL: do not pass
{"current_phase":["id"]}; useoperator+queries(see step 2 above). - Filter not working after create: use
get_pipe_report_filterable_fieldsto confirm the exactfieldstring andvalueformat.
See also
pipefy-observability— export automation job history (different from pipe reports).pipefy-introspection— discoverReportCardsFilterinput shape for complex filters.