- 6 minutes to read

Hierarchical BPMs

New 7.3

Break down enterprise-scale complexity with nested business processes.

Starting with Nodinite 7.3.0, BPM cells can contain sub-processes (other BPMs) in addition to Services. This hierarchical capability eliminates the false choice between oversimplified high-level diagrams (missing operational detail) and overwhelming monolithic BPMs (impossible to navigate).

Key Capabilities

  • ✅ Decompose large processes - Break down monolithic enterprise workflows into manageable master and sibling sub-processes
  • ✅ Unlimited hierarchy depth - Sub-processes can have their own sub-processes, with no fixed depth limit
  • ✅ Progressive drill-down from search results - Open a sub-process directly from a grouped search, or click into it from the parent BPM—eliminating manual correlation
  • ✅ Manage complexity at scale - Model realistic enterprise architectures where high-level order-to-cash processes contain detailed sub-processes for credit checks, inventory allocation, shipping routing, and payment reconciliation
  • ✅ Reuse sub-processes - Define common sub-processes once (e.g., "Customer Validation", "Payment Gateway") and reference them in multiple master processes

From a grouped Log View, the BPM menu of an order's group opens the parent BPM, a click on the sub-process drills into it, and the back button returns to the parent, animated walkthrough (7.12)
Animated walkthrough: in the grouped Log View Order 2 Cash, the BPM menu of one order's group opens the parent BPM; a click on the sub-process in Step 7 opens it with the same group's events, and the button with the parent BPM's name leads back.

Why Use Hierarchical BPMs?

Modern enterprise integration landscapes are inherently complex. High-level business processes like "Order-to-Cash" or "Procure-to-Pay" contain dozens of sub-processes, each with multiple technical implementation steps. Before Nodinite 7.3.0, you had two poor options:

  • ❌ Oversimplified High-Level BPMs - Easy to understand but missing critical operational detail for troubleshooting
  • ❌ Monolithic Detailed BPMs - Complete information but overwhelming and impossible to navigate

Hierarchical BPMs solve this dilemma by letting you model both strategic business processes AND tactical execution workflows in a single unified hierarchy.

How It Works

Create Sub-Processes in BPM Designer

In the BPM Designer, you can add sub-processes to any cell alongside Services:

  1. Open the BPM Designer for your master process
  2. Drag the process icon from the Process section in the toolbox and drop it onto the cell where you want the sub-process
  3. In the BPM to use in a sub-process of another BPM dialog, click Use on an existing BPM
  4. The sub-process appears in the cell as a square node, distinct from the rounded Service nodes

For the full walkthrough with screenshots, see Add or manage BPM.

Sub-processes can themselves contain sub-processes - there is no depth limit. Each level opens only when you click into it, so depth costs nothing up front.

A BPM can't contain itself directly: in the BPM to use in a sub-process of another BPM dialog, the BPM you are editing and every BPM already used in it are shaded with This BPM is already in use and have no Use button. An indirect loop (BPM A uses BPM B as a sub-process while B uses A) is not blocked, because the Designer only checks the BPM you are editing. It does no harm, since drill-down is one click per level, but avoid loops: they make the hierarchy hard to read.

Manage a Sub-Process in the Designer

Right-click a sub-process shape in the Designer to open its menu. It starts with the sub-process name, its type, and its id, followed by:

  • View - Open the read-only page of the sub-process
  • Change Process - Replace the sub-process with another BPM
  • Link all to this - Opens a submenu
  • Go to Edit - Open the sub-process in the Designer in a new browser tab
  • Delete - Remove the sub-process from the cell

Right-click menu on the sub-process BPM 1337 - Order-to-Cash Flow (BPM, Id 48) with View, Change Process, Link all to this, Go to Edit, and Delete (7.12)
The right-click menu of a sub-process shape in the BPM Designer.

Go to Edit opens a new tab, so there is no back navigation in the Designer; close the tab to return to the parent BPM.

Drill Down from Search Results

When you search log events in a grouped Log View, the search matches events from the master process and all its sub-processes.

  1. Open the BPM menu in the group header - It lists the BPMs that match the events, and below them their Sub-processes (one nesting level)
  2. Pick the parent BPM or a sub-process - Open the level you need directly
    BPM menu in a search group header listing two matching BPMs under BPMs and one under Sub-processes (7.12)
    The BPM menu of a search group lists the matching BPMs and, under Sub-processes, their sub-processes.
  3. Click into a sub-process - In the BPM Viewer, left-click a sub-process shape to open it with the same group's events
  4. Navigate back to the parent - A button with the parent BPM's name, shown top left above the BPM, takes you back
    Button with the parent BPM name INT1337 - Order-to-Cash Flow above the sub-process BPM 1337 - Order-to-Cash Flow (7.12)
    After drilling into a sub-process, the button above the BPM returns to the parent BPM.

A sub-process opened directly from the group's BPM menu (under Sub-processes) has no back button, because you didn't come from a parent.

This progressive drill-down enables you to start with a high-level process overview and navigate to detailed sub-process execution logs—eliminating manual correlation across fragmented process views.

Example Use Case: Order-to-Cash

Master BPM: Order-to-Cash

An enterprise "Order-to-Cash" master BPM contains three main sub-processes spanning multiple Domains:

┌─────────────────────────────────────────────────────────────┐
│ Order-to-Cash (Master BPM)                                  │
├─────────────────────────────────────────────────────────────┤
│ Sales Domain:   [Order Entry] → [Credit Check Sub-Process] │
│ Finance Domain: [Payment Processing Sub-Process]            │
│ Warehouse:      [Inventory Allocation] → [Shipping Sub-Process] │
└─────────────────────────────────────────────────────────────┘

Sub-Process: Shipping & Logistics

The "Shipping & Logistics" sub-process itself contains additional sub-processes:

┌─────────────────────────────────────────────────────────────┐
│ Shipping & Logistics (Sub-Process)                         │
├─────────────────────────────────────────────────────────────┤
│ IT Domain:       [Carrier Selection Sub-Process]            │
│ Warehouse:       [Label Printing Sub-Process]               │
│ Customer Service: [Tracking Updates Service]                │
└─────────────────────────────────────────────────────────────┘

Troubleshooting Workflow

When investigating a delayed shipment:

  1. Start in the Order-to-Cash master view - see the log events across all sub-processes
  2. Click the Shipping Sub-Process cell - narrow to the shipping-related events
  3. Click the Carrier Selection Sub-Process - drill down to the carrier selection events
  4. Identify the issue: Carrier API timeout in step 3

Without hierarchical BPMs, you would manually correlate these events across disconnected log views. With hierarchical BPMs, three clicks take you from high-level overview to root cause.

Best Practices

When to Use Sub-Processes

Use Sub-Processes When

  • A logical process unit appears in multiple master processes (e.g., "Customer Validation")
  • A process step requires 5+ services across multiple domains
  • Business stakeholders need high-level view but operations teams need detailed troubleshooting
  • Process complexity makes a single BPM difficult to navigate

Avoid Excessive Nesting When

  • A process step has only 1-2 services (use regular services instead)
  • Sub-process would only appear in one master process (inline the services)
  • Hierarchy depth exceeds 4-5 levels (consider re-thinking process decomposition)

Naming Conventions

Use clear, action-oriented names for sub-processes:

  • ✅ Good: "Credit Check Workflow", "Shipping & Logistics", "Payment Gateway Integration"
  • ❌ Poor: "Sub-Process 1", "Finance Stuff", "Step 3"

Reuse Sub-Processes

Maximize value by reusing common sub-processes:

  • "Customer Validation" - Used in Order Entry, Account Creation, Support Ticket, Returns
  • "Payment Gateway" - Used in Order-to-Cash, Subscription Billing, Refund Processing
  • "Email Notification" - Used across all processes for status updates

Version Compatibility

Hierarchical BPMs were introduced in Nodinite 7.3.0.

Next Steps

What is the BPM Designer – Learn how to use the BPM Designer to create hierarchical processes
Add or manage BPM – Step-by-step guide to creating and editing BPMs
End-to-End Process Tracking – Understand milestone-based logging and correlation

Business Process Model (BPM) – Complete BPM overview and concepts
Domains – Define organizational swimlanes for BPM processes
Services – Integration services that execute process steps
Integrated Monitoring – Service health, Remote Actions, and Knowledge Base Articles in every BPM level
Log Views – View and filter events for BPM steps
Search log events from a BPM – Search, result, and BPM on one page