| name | pipefy-relations |
| description | Use this skill when the user wants to link pipes, tables, or cards across workflows — creating or managing pipe relations, table relations, or card relations. Covers 8 MCP tools.
|
| tags | ["pipefy","relations","connections","pipes","cards","tables"] |
Connections & Relations
Link processes and cards across workflows. 8 MCP tools.
Key concepts
- Pipe relations define parent/child structure between pipes (who connects to whom, constraints, auto-fill). Use
get_pipe_relations on a pipe to list relation IDs and metadata.
- Card relations connect individual cards through an existing pipe relation: pass
source_id = the pipe relation's ID (from get_pipe_relations). Default sourceType is PipeRelation; use extra_input (e.g., sourceType: Field) when the API requires a field-based link — see introspect_type on CreateCardRelationInput.
- Table relations in GraphQL are loaded by table-relation ID, not by database table ID:
get_table_relations takes a non-empty list of those IDs.
Tools
| Tool (MCP) | CLI | Read-only | Purpose |
|---|
get_pipe_relations | pipefy relation pipe list --pipe <id> | Yes | List pipe-to-pipe relations for a pipe. |
create_pipe_relation | pipefy relation pipe create | No | Create a new pipe-to-pipe relation. |
update_pipe_relation | pipefy relation pipe update <id> | No | Change relation config (auto-fill, constraints). |
delete_pipe_relation | pipefy relation pipe delete <id> | No | Two-step destructive. |
get_table_relations | — | Yes | Load table relations by relation ID. |
get_card_relations | pipefy relation card list --card <id> | Yes | List all card-to-card relations on a card. |
create_card_relation | pipefy relation card create | No | Link two cards through an existing pipe relation. |
delete_card_relation | pipefy relation card delete <id> | No | Two-step destructive. |
Steps — link two cards via an existing pipe relation
-
Get the pipe relation ID:
MCP: get_pipe_relations pipe_id=67890
CLI: pipefy relation pipe list --pipe 67890
Note the id field on the relation (not the pipe ID).
-
Create the card relation:
MCP: create_card_relation source_id=<PIPE_RELATION_ID> source_card_id=<PARENT_CARD_ID> target_card_id=<CHILD_CARD_ID>
CLI: pipefy relation card create --source-relation <id> --source-card <id> --target-card <id>
-
Verify:
MCP: get_card_relations card_id=<CHILD_CARD_ID>
Steps — create a new pipe relation
-
Create the relation between two pipes:
MCP: create_pipe_relation parent_pipe_id=111 child_pipe_id=222 name="Support Escalation" auto_fill_field_id=<field_id>
CLI: pipefy relation pipe create --parent 111 --child 222 --name "Support Escalation"
-
Use the relation — cards in the parent pipe can now be linked to cards in the child pipe using create_card_relation.
Success criteria
get_pipe_relations returns the new relation with both pipe IDs.
get_card_relations shows the linked card ID after create_card_relation.
Failure modes
create_card_relation fails with "relation not found": source_id must be the pipe relation ID (from get_pipe_relations), not the pipe ID. These are different values.
- Table relations return empty:
get_table_relations requires table-relation IDs, not table IDs. Get table-relation IDs from the table's connection config.
delete_pipe_relation first call returns preview: expected — show preview to user, then call with confirm=true.
See also
skills/pipes-and-cards/ — create the pipes and cards before linking them.
skills/introspection/ — discover CreateCardRelationInput when non-standard sourceType is needed.