Pipeline (WORKFLOW)
Runs another pipeline that you already built. Use it as a step in the flow, or connect it to an Agent so the agent can start it as a tool. This is how pipelines work together.
Category: Integration · Deployed: yes · Tool-capable: yes
Ports
| Port | Kind | Purpose |
|---|---|---|
Input ( |
Input |
As a step: the result of the previous module becomes the input of the called pipeline |
Output ( |
Output |
As a step: the final answer of the called pipeline |
Tool ( |
Tool |
As a tool: connect to the Tools port of an Agent, so the agent can start the pipeline |
Use either the Tool port or the Input and Output ports. If the module is connected to an agent as a tool, it does not run as a step.
How to add it
-
Click the Pipeline button at the bottom of the module list in the Pipeline Designer.
-
In the dialog Select Pipeline, search for the pipeline. You can sort by last change or by name.
-
Click Add to Canvas.
The module is named after the pipeline you chose. The list does not show the pipeline you are editing, so a pipeline cannot call itself directly.
Properties
| Field | Required | Meaning |
|---|---|---|
Pipeline ( |
Yes |
The pipeline to run. You can change it in the properties panel. The module then takes the name of the new pipeline |
There is nothing else to set. The properties panel shows the description of the chosen pipeline and the link Open Pipeline, which opens it in the designer.
The description matters when the module is a tool. The agent’s model reads the name and the description of the called pipeline to decide when to start it. A clear description makes the agent choose better. Without a description, the agent only gets a general text with the pipeline’s name. Write the description in the called pipeline’s details.
Step or tool
| As a step | As a tool | |
|---|---|---|
Input |
The text that the previous module produced |
One text, which the agent’s model writes |
Result |
The final answer of the called pipeline goes to the Output port |
The final answer goes back to the agent as the tool’s result |
Who decides |
The flow. It always runs |
The model. It decides if and when to call it |
The called pipeline must be on the same agent
The call goes by the name of the pipeline, and the agent must have that pipeline itself. If it does not, the call fails when the pipeline runs, not when it is saved.
The app helps you with this.
-
Assign Called Pipelines? When you assign a pipeline that calls others, and these are not yet on the agent, this dialog lists them. Assign All adds them with the pipeline, Only "…" adds just the chosen one, Cancel assigns nothing. Choose Only if you will add the others yourself.
-
Pipeline Still Called. When you remove a pipeline from an agent and another pipeline on that agent calls it, this dialog warns you that these calls will fail. Remove Anyway removes it, Cancel keeps it.
The same pipelines must also be able to run: a pipeline with a missing required field cannot be assigned.
Safety limits
For a pipeline used as a step, the agent server protects itself against endless chains:
-
A pipeline cannot call itself again in the same chain. If A calls B and B calls A, the run stops with an error that starts with "Cycle detected".
-
At most 10 pipelines can be nested in one chain. More than that stops the run with an error "Pipeline nesting exceeded max depth of 10".
For a pipeline used as a tool, these two checks do not apply. Make sure yourself that two pipelines do not call each other as tools.
Use cases
-
Reuse instead of copying. One shared pipeline, for example "look up a customer and format the result", used by many pipelines. You fix it once.
-
Keep a big pipeline easy to read. Move a self-contained part into its own pipeline and call it.
-
A tool with many steps. Give an agent a complex ability behind one name.
-
A short front pipeline that sends each request to a specialised pipeline.
Notes
-
Deploy the calling pipeline again after you rename the called one. The call uses the name. The called pipeline itself is found by name when the call runs.
-
A change to the called pipeline reaches a running agent only when you push it. After saving, the app asks Deploy Changes?. With Not Now, the agent keeps the old version until it is restarted. Do this for the called pipeline, not only the calling one.
-
The pipeline cannot be deployed when no pipeline is chosen, or when the chosen pipeline was deleted. The message is "Pipeline is required" or "selected Pipeline no longer exists".
-
Export and import. In the pipeline list, the export dialog Export Pipeline has the checkbox "Include … referenced pipeline(s)", on by default. With it, the called pipelines go into the same file, and after the import the copy calls the imported pipelines. Without it, the copy still points to the pipelines of the old installation, so in another installation choose the pipeline again in the module.
-
A called pipeline starts a new conversation. It does not see the calling pipeline’s chat history, only the text that it is given.