> For the complete documentation index, see [llms.txt](https://docs.fortifiedid.se/pipes/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.fortifiedid.se/pipes/readme.md).

# Introduction

Pipes is Fortified Integrity's configurable process engine for multi-step integrations and automation flows. It lets administrators connect validation, transformation, lookups, external API calls, directory operations, notifications, and other actions into a single controlled execution path without writing custom application code for each use case.

A pipe consists of an ordered list of valves. Each valve performs one task, and the pipe executes them from top to bottom. The result is a reusable, traceable, and centrally managed process that can receive input, work with session and flow data, call external systems, and return a structured result to the caller.

{% hint style="info" %}
For administrators, Pipes is most useful when a business process needs more than one technical step, more than one source system, or conditional logic that should be controlled through configuration rather than hardcoded into one integration point.
{% endhint %}

<table data-view="cards"><thead><tr><th></th><th></th></tr></thead><tbody><tr><td><a href="/pages/Ehcx3KinRqHdtm4ZcWok"><strong>Configuration</strong></a><br>See how the module, pipes, and valves are configured.</td><td><a href="/pages/IGIaaNRiaFPyBcIvz6mD"><strong>Valves</strong></a><br>Browse the available valve categories and their configuration.</td></tr></tbody></table>

<figure><img src="https://3753239565-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FiUEVgBBI6Rf8M7LiYjJ6%2Fuploads%2FkYrftSKz0y49MuOvK5ch%2FPipes%20and%20Valves.png?alt=media&#x26;token=5d68540b-786d-4bea-8d32-43ea21c44403" alt=""><figcaption></figcaption></figure>

## What Pipes is used for

Administrators typically use Pipes when an incoming request needs to be processed through several coordinated steps such as:

* validating request data
* enriching information from LDAP, Entra ID, HTTP APIs, JDBC, or other sources
* transforming values into the format required by the next system
* applying conditional flow control based on the current state
* generating documents, tokens, passwords, or other artifacts
* sending notifications through SMS, voice, or SMTP
* reusing shared logic by calling other pipes

This makes Pipes suitable for identity-related orchestration, integration glue, approval preparation, data normalization, and operational automation where consistency and reuse matter.

## Strengths for administrators

Pipes is especially strong in environments where administrators need to maintain automation over time without turning every change into a development project.

* **Configurable orchestration:** complex flows can be assembled from smaller reusable steps
* **Integration breadth:** one pipe can combine directory operations, HTTP calls, item handling, security functions, messaging, and transformation logic
* **Operational flexibility:** changes can often be made by adjusting pipe or valve configuration rather than changing application code
* **Reuse and standardization:** common logic can be reused through shared valve patterns and pipe-to-pipe calls
* **Controlled execution:** request data, session data, state, items, exports, and flow control are handled within one consistent runtime model
* **Clear troubleshooting model:** a failing process can be understood as a sequence of named valves rather than an opaque custom integration

## How execution works

At runtime, Pipes creates a new flow for each pipe invocation.

1. A caller invokes a named pipe and provides request data.
2. Pipes creates a flow context that can include request, session, state, items, and exports.
3. Valves execute in the configured order.
4. Each valve can read from the current context, write new values, call external systems, or control the next step in the flow.
5. When execution is complete, the caller receives a result containing status and additional data from the flow.

This execution model makes it easier to reason about processes, because each valve has one clear responsibility and each pipe expresses the full sequence explicitly.

## Terms and abbreviations

<table><thead><tr><th width="208">Value</th><th>Description</th></tr></thead><tbody><tr><td>Pipe</td><td>An ordered sequence of valves that can be executed.</td></tr><tr><td>Flow</td><td>The runtime representation of a pipe. When a pipe is called a new flow is created. The flow contains information about the current execution and a context containing the request parameters (if any), the current session (if any) and state common to all valves in the current flow.</td></tr><tr><td>Valve</td><td>Executable component that provides the functionality of a pipe.</td></tr></tbody></table>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.fortifiedid.se/pipes/readme.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
