Read the MCP reference or CLI reference for the surface you are using. Load only the relevant reference.
Analyze existing pipes for improvement opportunities and implement them progressively. Investigate immediately. Diagnose with data. Improve progressively.
When to use
The user asks to analyze or improve an existing process:
- "Analyze my pipe"
- "How can I improve this process?"
- "Is this pipe optimized?"
- "Where are the bottlenecks?"
Not for: designing a new process from scratch → use pipefy-process-design. Justifying a change with numbers, without implementing it → use pipefy-process-impact.
Prerequisites
- Pipe ID or name is known (or searchable via
search_pipes). - Read access to the pipe's cards and phase data.
Steps — investigation (Round 1)
-
Get pipe structure:
Operation:
get_pipe pipe_id=<id>Capture: phases, field count per phase, automation count.
-
Sample recent cards (last 30–50):
Operation:
get_cards pipe_id=<id> first=50 include_fields=trueLook for: cards piling up in early phases, phases with 0 cards, fields left empty.
get_cardsselects no creation, update, or phase timestamps; the timed card read under the diagnosis framework does. -
Check automations:
Operation:
get_automations pipe_id=<id>Look for: phases with no automations (manual handoffs), repeated manual steps.
-
Check AI configuration:
Operation:
get_ai_agents repo_uuid=<PIPE_UUID>For each active agent (
disabledAtis null), read its behaviors to see which phases it already acts on:Operation:
get_ai_agent uuid=<AGENT_UUID>Look for: no AI agents despite manual categorization or triage patterns, and hops an active behavior already covers (do not report those as manual).
Diagnosis framework
Time-based signals need dates that get_pipe and get_cards do not return. Per-card signals (stuck in a phase for more than 7 days, no update in weeks) come from a timed card read: one execute_graphql query on the pipe's cards selecting updated_at, current_phase_age, and phases_history (firstTimeIn, lastTimeOut, duration in seconds per phase); the document is in the reference. It is a read with no confirmation, 25 cards per page (up to 50), so say how many cards the numbers come from.
Whole-pipe signals (a phase with no card in 90 days, cards leaving a phase per week) need every card, because the cards query has no date filter and no documented order, so one page proves nothing about the cards it left out. Page the timed read until hasNextPage is false, or use a pipe report export (pipefy-reports) with start_at_phase_<n> and end_at_phase_<n> (<n> is a report index, not the phase id); the export needs an existing report (get_pipe_reports), and creating one with create_pipe_report is a write, so ask first. Without full coverage, say the signal was not checked; do not call a phase dead from a sample, and do not infer time from cards_count.
| Signal | Opportunity |
|---|---|
| Cards stuck in a phase for >7 days | Add due date field + overdue automation |
| Phase transitions always done by same person | Automate the transition condition |
| Fields never filled in certain phases | Remove or make optional |
| Same comment posted repeatedly | AI agent to auto-post based on trigger |
| No automation between intake and first action | Add "notify assignee" automation on card creation |
| Large field count on start form | Move optional fields to later phases |
| Phases with 0 cards over 90 days (whole pipe, not a sample) | Merge into a neighboring phase, or replace the hop with an automation or AI agent. Do not treat an empty phase as a reason to delete the pipe. |
Steps — improvement (Round 2+)
Each round focuses on 1–2 improvements; report results before proceeding.
Example: automate a repeated manual step
-
Identify the manual step and its trigger.
-
Call
get_automation_eventsandget_automation_actionsfor the pipe; select a supported event and action. -
Create the automation:
Operation:
create_automation pipe_id=<id> name="Automate manual step" trigger_id=<EVENT_ID> action_id=<ACTION_ID> active=false -
Verify the rule before activating it, then report the actual event and action used. If the desired event or action is unavailable, report the limitation instead of guessing an ID.
Example: add a field condition
-
Identify a field that should only show when another field has a specific value.
-
Read the field-condition input schema, then create the condition with its required
name,conditiondict, andactionslist:Operation:
create_field_condition phase_id=<PHASE_ID> name="Show follow-up" condition=<CONDITION_DICT> actions=<ACTION_DICTS>
Output format per round
## Analysis — [Pipe Name]
### Findings
- [Finding 1]: [evidence from tool calls]
- [Finding 2]: ...
### Implemented this round
- [Change 1]: [tool called + result]
### Impact
[One line: minimum step done or proposed, time it returns to the team (formula with the missing numbers named), and the extra lift of the next step, or "next step does not close". Lead time only if this round already has dates.]
### Next round (if approved)
- [Opportunity]: [proposed action]
Keep Impact to one line. Do not invent volume, hourly cost, or lead time; name every missing number and ask for all of them in one question. For a fuller justification, read pipefy-process-impact. Do not recommend deleting a pipe.
Success criteria
- Each round produces a concrete visible change (new automation, field condition, phase cleanup).
- The affected phase moves more cards: compare cards leaving it per week (
lastTimeOutin the timed card read, orend_at_phase_<n>in a pipe report export) before and after the change, or ask the user. - No improvement causes a regression (verify with
get_pipeandget_cardsafter each round).
Failure modes
get_cardsreturns empty: the pipe may have no cards yet. Analyze structure only, and recommend standing up intake (start form, portal, or an automation that creates cards) rather than removing the pipe.create_automationfails with unknown event: useget_automation_eventsto list valid triggers.- User pushes back on automation: explain what the automation does in plain language before creating.
See also
pipefy-automations— detailed automation creation guide.pipefy-ai-agents— add conversational agents for user-facing automation.pipefy-observability— check credit and execution data to quantify improvement impact.pipefy-process-impactfor a fuller justification; this skill only emits the Impact line per round.