mcpField
P
pipefy-reports

pipefy-reports

github.com/pipefyData & databases51685 installsUpdated 2d ago
Repository

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

  1. 01List and retrieve pipe reports
  2. 02Discover report columns and filterable fields
  3. 03Create, update, and delete reports
  4. 04Export reports asynchronously and check status
  5. 05Export pipe audit logs

Use cases

  1. 01Create a pipe report using filterable fields
  2. 02Update organization-level report settings
  3. 03Export a report and check processing status
  4. 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-reports

After installing, type/pipefy-reportsin Claude Code to confirm it loaded.

Bundled filesreferences/cli.mdreferences/mcp.md

Details

From the project README

Reports

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 ReportCardsFilter using get_pipe_report_columns and get_pipe_report_filterable_fields; use introspect_type for uncommon inputs.
  • get_pipe_reports omits cardCount in the query (Pipefy can error when resolving it).

Pipe report tools

OperationRead-onlyPurpose
get_pipe_reportsYesList all reports for a pipe.
get_pipe_reportsYesLoad one report by report_id when needed.
get_pipe_report_columnsYesDiscover available columns for a report filter.
get_pipe_report_filterable_fieldsYesDiscover filterable fields for a report.
create_pipe_reportNoCreate a new pipe report.
update_pipe_reportNoUpdate report name or filters.
delete_pipe_reportNoDestructive; review and approve first. Use the selected surface's confirmation flow if one exists.
export_pipe_reportNoTrigger async export.

Organization report tools

OperationRead-onlyPurpose
get_organization_reportsYesList all org-level reports.
get_organization_reportYesSingle org report data.
create_organization_reportNoCreate an org-wide report.
update_organization_reportNoUpdate report config.
delete_organization_reportNoDestructive; review and approve first. Use the selected surface's confirmation flow if one exists.
export_organization_reportNoTrigger async export.

Export status & download

OperationPurpose
get_pipe_report_exportPoll pipe report export status (after export_pipe_report).
get_organization_report_exportPoll org report export status (after export_organization_report).
export_pipe_audit_logsExport pipe audit logs (separate from card report exports).

Steps — export a pipe report

  1. List available reports:

    Operation: get_pipe_reports pipe_uuid=<PIPE_UUID> (get_pipe supplies the UUID).

  2. Trigger the export:

    Operation: export_pipe_report pipe_id=67890 pipe_report_id=123

  3. Poll until done:

    Operation: get_pipe_report_export export_id=<EXPORT_ID>

    Repeat every 5–10 seconds until state is done (or failed).

  4. Download: use the signed fileURL from the done export 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

  1. Discover filterable fields:

    Operation: get_pipe_report_filterable_fields pipe_uuid=<PIPE_UUID> (get_pipe supplies the UUID).

  2. Create the report with a ReportCardsFilter shape (not a top-level current_phase array):

    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 field string from step 1. Invalid shapes are rejected before GraphQL with a message pointing at get_pipe_report_filterable_fields.


Success criteria

  • get_pipe_report_export (or get_organization_report_export) reaches a terminal done or failed state.
  • 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 still processing after a minute of polling every 5 to 10 seconds, poll once every 60 seconds instead. Retry the export trigger if still processing after several minutes.
  • get_pipe_reports returns null for cardCount: known Pipefy API behavior; the tool omits that field automatically.
  • Filter rejected before GraphQL: do not pass {"current_phase":["id"]}; use operator + queries (see step 2 above).
  • Filter not working after create: use get_pipe_report_filterable_fields to confirm the exact field string and value format.

See also

  • pipefy-observability — export automation job history (different from pipe reports).
  • pipefy-introspection — discover ReportCardsFilter input shape for complex filters.

Comments

Markdown supported