---
id: plugins-pipes
title: "Pipes"
summary: "The 2 plugins in Pipes: Pipe client, Pipe listener."
audience: user
keywords: "PortClient, PortListener"
---
# Pipes

Call one flow from another in the same environment. A **Pipe listener** is the entry point of the called flow; a **Pipe client** in the calling flow sends it records and, for two-way listeners, gets the answer back.

Use pipes to share one flow, such as a lookup or the connection to a system, between many flows.

## Plugins

| Plugin | What it does | Pins |
|---|---|---|
| [Pipe client](/documentation/plugins/pipes/port-client) | Calls a **Pipe listener** in another flow: every input record is sent to the selected listener over a local TCP pipe, and the listener's response (for two-way listeners) is emitted on `Output`. Use it to split logic into reusable flows (sub-flow / service style calls) on the same machine. | `Input`, `Output`, `Timeout` |
| [Pipe listener](/documentation/plugins/pipes/port-listener) | Entry point of a flow that is called from other flows. It opens a local TCP pipe, registers it under its `Name`, emits every incoming request on `Request` and, for two-way listeners, sends whatever reaches `Response` back to the calling **Pipe client**. The component keeps the flow running. | `Request`, `Response`, `Start` |
