Integrating Rules
Rulebricks Flows

Flows in Rulebricks

Flow Header

Flows are a powerful way to chain together multiple rules, alongside calls to external services, and structure complex decision-making workflows.

These are particularly useful when you have a series of decisions that need to be made in a specific order, or when you'd like to separate logic into multiple rules for easier maintenance of your decision-making logic.

Flows are built with external data and massive scale in mind, and can help you easily cache data consumed from external sources within to support uniquely low latencies and high throughput.

Flow Reactivity

Unique to Rulebricks, the Rulebricks Flow editor is reactive— as you make changes to rule input fields, the editor automatically visualizes your data flow in real-time. This makes it incredibly easy to see how your flow behaves as you build it without repeated end-to-end build/test cycles.

Reactivity applies to all sequences of nodes until certain execution or query nodes are reached. These nodes pause execution until you manually click the run button, preventing accidental spam to external services.

While this feature exists to help you model your flow while understanding what is happening to the actual data as it moves through, it is not a perfect guarantee of how your Flow will behave end-to-end– for that, simply use the "Try" or "Test" tabs, available in the sidebar.

Creating a Rule Flow

Navigate to the Flows tab

Open the Rulebricks dashboard and click the Flows tab.

Create a new flow

Click the Create Flow button to create a new Rule Flow.

Create Flow Modal

⚠️

You must have at least one published rule in your workspace to use as a starting point for your flow.

Build your flow

You'll be taken to the Flow editor where you can:

  • Drag and drop published rules from the sidebar onto the canvas
  • Add flow functions (code execution, API calls, etc.)
  • Connect nodes together to define the execution order

Flow Editor Entry

Connect your nodes

Drag from an output handle of one node to the input of another to connect them. Data flows through the connections.

Try Connecting