Summary
Process groups organize your Clockspring dataflow into logical modules (think of a folder on your computer). They define scoping boundaries for controller services and parameter contexts, act as deployment units for version control, and provide a clean way to start, stop, and manage complex flows.
1. What a Process Group Is
A process group is a container for processors, ports, funnels, and other process groups. It serves as:
An organizational unit
A scoping boundary
A deployment boundary
An operational control point
Process groups allow you to break large flows into manageable, reusable components.
2. Scoping and Nesting
Process groups can be nested to create layers of logic. Scoping works like this:
The root canvas is the top-level parent
A process group can have child process groups
Each process group can define its own configuration and defaults
Higher-level groups can provide services and parameters to their children, but not the other way around.
3. Controller Service Inheritance (Reminder)
Controller service inheritance is simple:
Defined at root → available everywhere
Defined in a process group → available only in that group and its children
No sideward or upward inheritance
This is why you decide carefully where to place shared controller services. See Controller Services Inheritance for more information
4. Parameter Context Assignment
Parameter contexts can be attached directly to a process group.
The group uses the selected context
Child groups may inherit or assign their own
“Apply Recursively” forces children to use the same context
This is how you manage environment-specific values (URLs, credentials, tenant IDs) without hardcoding anything in processors.
A dedicated article will cover parameter contexts in detail.
5. Process Group Settings (Overview)
A process group’s Settings panel defines behavior for everything inside that group:
Default FlowFile Expiration
Default Backpressure Object Threshold
Default Backpressure Data Size Threshold
Execution Engine (Inherited / Standard / Stateless)
Process Group FlowFile Concurrency (Unbounded / Single)
Process Group Outbound Policy (Stream When Available / Batch Output)
Log file suffix
These settings can be inherited or overridden, and they control how FlowFiles move through the group.
We will cover them deeply in the next article.
6. Input and Output Ports (Conceptual Use)
Ports define how FlowFiles move into and out of a process group.
Input Ports: Accept FlowFiles from outside the group
Output Ports: Emit FlowFiles from inside the group
A separate article will detail ports, wiring, and best practices.
7. Starting and Stopping Process Groups
Process groups have an operator palette that allows you to:
Start all processors in the group
Stop all processors in the group
Apply these actions recursively
This is how you manage entire subsystems.
A process group may be “running” even if some processors inside are invalid or disabled - start/stop only affects active processors.
8. Version Control at the Process Group Level
Version control is attached at the process group boundary:
You register a process group with the registry
Changes inside that group are tracked
The group becomes a deployable versioned component
This is why good scoping matters — each group becomes a natural unit of deployment.
Exporting process groups (with or without controller services) will be covered in its own article.
9. Quick Rules to Remember
Process groups define scope, inheritance, and deployment boundaries.
Controller services and parameters inherit down, not up.
Assign parameter contexts at the group level to separate environments.
Group-level settings control how FlowFiles move inside the group.
Ports define clean entry and exit points.
Version control operates at the process group, not global, level.
Related Articles
Process Group Settings: Execution Engine, Concurrency, and Outbound Policy
Process Group Ports: How to Use Them
Was this article helpful?
That’s Great!
Thank you for your feedback
Sorry! We couldn't be helpful
Thank you for your feedback
Feedback sent
We appreciate your effort and will try to fix the article