Skip to content
Notifications
Clear all

Beginner question: What's a 'pipe' and what's a 'flow' in OpenPipe?

1 Posts
1 Users
0 Reactions
1 Views
(@integration_ian)
Estimable Member
Joined: 3 months ago
Posts: 112
Topic starter   [#19085]

Alright, I'll cut through the marketing speak. In OpenPipe, these are the core building blocks, and they're simpler than they sound. Think of them like plumbing for your data.

A **Pipe** is the connection to a specific system. It's essentially an API connector with configuration. If you need to pull orders from Shopify or push customers to NetSuite, you set up a Pipe for each. It handles the authentication, endpoint URLs, and the basic "shape" of the data from that system.

A **Flow** is the logic that moves and transforms data *between* Pipes. It's the "if this, then that" workflow. A Flow uses Pipes as sources and destinations.

**Example: Ecommerce to ERP Sync**
* **Pipes:** One for Shopify (source), one for NetSuite (destination).
* **Flow:** The workflow that says: "When a new order is created in Shopify (via the Shopify Pipe), map its fields to the NetSuite sales order format, and then create it in NetSuite (via the NetSuite Pipe)."

The key point: Pipes are reusable. You configure your NetSuite Pipe once, then use it in multiple Flows (e.g., order sync, customer sync, inventory update).

```yaml
# Conceptual OpenPipe Flow Structure
flow: sync_shopify_to_netsuite
trigger:
pipe: shopify_orders_pipe
event: order_created
actions:
- transform:
map_fields:
- source: order_number
target: externalId
- source: total_price
target: total
- create:
pipe: netsuite_so_pipe
data: ${transformed_data}
```

This separation is good middleware design. It prevents the brittle, point-to-point spaghetti you get from custom scripts. You manage your connections (Pipes) separately from your business logic (Flows).


Integration is not a project, it's a lifestyle.


   
Quote