Skip to main content

Decision Table Node

The Decision Table Node lets you map inputs to outputs using a visual table—no code required. Use it for routing claims, assigning adjusters, determining priority levels, or any scenario where clear rules map conditions to outcomes.
Decision Tables are ideal when you have well-defined business rules that can be expressed as “if this, then that” logic. They’re easier to maintain than code and more readable than complex JSONata expressions.

Overview

Use a Decision Table Node when you need to:
  • Route claims to different adjusters based on type or amount
  • Assign priority levels based on multiple factors
  • Map codes to descriptions or categories
  • Determine next steps based on customer inputs
  • Apply business rules that non-developers need to update

When to Use Decision Table vs. Other Nodes

Decision Tables shine when business users need to update rules without developer involvement. The visual table format is intuitive and reduces errors.

Configuration

Click on a Decision Table Node to open its configuration panel.

Basic Settings

Table Structure

A Decision Table has two sections:

Input Columns

Input columns define the conditions to evaluate. Each column references a field from the workflow context.

Configuring Input Columns

Match Operators


Output Columns

Output columns define the values set when a rule matches. These values are added to the workflow context.

Configuring Output Columns


Rule Evaluation

How Rules Are Processed

  1. Rules are evaluated top to bottom
  2. First matching rule wins (subsequent rules are skipped)
  3. If no rules match, outputs are set to null (or default values if configured)
Order matters! Place more specific rules above general rules. Put your catch-all rule (wildcard in all inputs) at the bottom.

Example Evaluation

Context:
Table: Evaluation:
  1. Row 1: claimType equals fire? No, skip
  2. Row 2: claimType equals water AND amount over 50000? Yes, MATCH
  3. Output: priority is high, assignee is senior_adj

Insurance Examples

Route Claims by Type and Amount

Assign adjusters based on claim characteristics. Input Columns: Output Columns: Rules: Result in context:

Determine State-Specific Requirements

Apply different rules based on state regulations. Input Columns: Output Columns: Rules:

Map Claim Codes to Categories

Translate internal codes to human-readable categories. Input Columns: Output Columns: Rules:

Determine Payment Routing

Route payments based on amount and type. Input Columns: Output Columns: Rules:

Route by Time of Day

Handle after-hours calls differently. Input Columns: Output Columns: Rules:

Multiple Matches and Hit Policies

By default, Decision Tables use First Match (first matching rule wins). Some implementations support other policies:
Liberate uses First Match policy. Structure your rules from most specific to most general.

Best Practices

Order Rules from Specific to General

Correct Order:
  1. fire + injuries = critical (most specific)
  2. fire = high
  3. water + over 50000 = high
  4. water = medium
  5. any = standard (catch-all last)
Wrong Order:
  1. any = standard (catches everything)
  2. fire = high (never reached)

Always Include a Catch-All Rule

Add a final rule with wildcards in all input columns to handle unexpected cases:

Keep Tables Focused

One Decision Table should handle one decision:
  • Bad: One table for priority AND assignee AND SLA AND routing
  • Good: Separate tables for each decision

Use Descriptive Names

Document Complex Rules

Add a Note Node before your Decision Table explaining the business logic:

Testing Decision Tables

Test Each Rule

Create test cases that exercise each row:

Test Edge Cases

  • Values at boundaries (over 50000 means test with 50000 and 50001)
  • Null or missing values
  • Unexpected input types
  • Empty strings

Test Rule Priority

Verify that more specific rules match before general rules when multiple could apply.

Common Issues

Wrong Rule Matches

Symptom: A general rule matches when a specific rule should. Fix: Check rule order. Move specific rules above general rules.

No Rule Matches

Symptom: Outputs are null or empty. Fix: Add a catch-all rule at the bottom with wildcards in all inputs.

Unexpected Null Handling

Symptom: Rules do not match when input is null. Fix: Add explicit rules for null cases, or ensure inputs have default values before the Decision Table. Before Decision Table, use Mapping Node:

Numeric Comparisons Fail

Symptom: Over 50000 does not match when amount is 75000. Fix: Verify the input is a number, not a string. Use a Mapping Node to convert if needed:

Decision Table vs. Code Node

Use Decision Table when:
  • Rules are straightforward if/then logic
  • Business users need to maintain rules
  • Auditability is important
  • You have many conditions but simple outcomes
Use Code Node when:
  • Logic involves calculations
  • You need loops or complex conditionals
  • Rules cannot be expressed as simple conditions

Next Steps

Entity Table Node

Look up static reference data from CSV

Code Node

Use code for complex conditional logic

Mapping Node

Simple conditionals with JSONata

Workflow Examples

See Decision Tables in action