Black box
Reusable chain as one node
Black box runs an entire workflow you have already built as a single step inside another one, so a chain of steps you rely on everywhere lives in one place and behaves the same way every time it is used.
How it works
As your flows grow, you notice the same run of steps showing up again and again: the same way you clean a file, the same way you package a result. A black box lets you save that run once and then call it from anywhere as a single node, the way you would reference a saved recipe instead of rewriting it each time.
From the outside it behaves like a black box: work goes in, the saved chain does its thing, and a result comes out. The parent flow does not need to know the internal steps, only that this box does its job.
The real payoff is consistency and upkeep. When you need to change how that shared chain works, you edit it in one place, and every workflow that calls it picks up the change. No hunting through a dozen flows to update the same steps by hand.
Common use cases
Real situations where this node earns its place in a flow.
Package a reusable chain
Wrap a common sequence (extract, analyze, report) into one node you drop into many workflows.
Hide complexity
Collapse a large sub-flow into a single box so the main canvas stays readable.
Standardize a step
Maintain a sequence once and reuse it everywhere instead of rebuilding it per workflow.
Black box in a workflow
A simple example of where this node sits in a flow.
What you set up
- Build and save the chain of steps you want to reuse as its own workflow first.
- Add a Black box node in the parent flow and point it at that saved workflow.
- Connect what feeds into the box and what should carry on from its result.
Common questions
If I change the saved workflow, does every place that uses it update?
Yes. That is the point: the shared chain lives in one place, so an edit there flows through to every parent workflow that calls it.
Can a subworkflow contain its own steps like extraction or sending?
Yes. It can be a full workflow of its own. To the parent it still looks like a single step, no matter how many steps live inside it.
Settings you configure on this node, stored under data.config in the workflow JSON. Leave a field unset to use its default.
subWorkflowIdreqId of the saved workflow to inline as this node; the box is dropped at run time if blank.
Type: stringoverridesPer-inner-node config overrides { innerNodeId: { configKey: value } } that flow into the inlined child.
Type: JSON string
How this node appears inside a workflow's nodes[] array (the shape you see in the Developer export / import). A full workflow is { nodes: [...], edges: [...] }.
{
"id": "subworkflow",
"type": "card",
"position": {
"x": 160,
"y": 120
},
"data": {
"type": "subworkflow",
"kind": "processor",
"title": "Black box",
"subtitle": "Reusable chain as one node",
"config": {
"subWorkflowId": "",
"overrides": "[]"
}
}
}