Decision Table

DMN-style decision table — rules are nested filter trees, outputs are constants or expressions; evaluate one context or a whole batch live.

DECISION TABLE

Set up an AI connection first (top-right ✨).

Rules

Hit policy
  • 1Big spend goes to the CFO
  • 2Mid-size engineering spend
  • 3Finance requests

Try one context

Batch

Table JSON

{
  "version": 1,
  "name": "Approval routing",
  "inputs": [
    {
      "path": "amount",
      "dataType": "numeric",
      "include": true,
      "kind": "jsonb"
    },
    {
      "path": "dept",
      "dataType": "string",
      "include": true,
      "kind": "jsonb"
    }
  ],
  "outputs": [
    {
      "key": "approver",
      "label": "Approver"
    },
    {
      "key": "note",
      "label": "Note"
    }
  ],
  "hitPolicy": "first",
  "rules": [
    {
      "id": "rule-cfo",
      "description": "Big spend goes to the CFO",
      "when": {
        "kind": "group",
        "id": "g-cfo",
        "logic": "and",
        "children": [
          {
            "kind": "condition",
            "id": "c-cfo",
            "field": "amount",
            "dataType": "numeric",
            "operator": "gt",
            "value": 100000
          }
        ]
      },
      "outputs": {
        "approver": "CFO",
        "note": "= \"amount \" & $string(amount)"
      }
    },
    {
      "id": "rule-eng",
      "description": "Mid-size engineering spend",
      "when": {
        "kind": "group",
        "id": "g-eng",
        "logic": "and",
        "children": [
          {
            "kind": "condition",
            "id": "c-e1",
            "field": "amount",
            "dataType": "numeric",
            "operator": "gt",
            "value": 50000
          },
          {
            "kind": "condition",
            "id": "c-e2",
            "field": "dept",
            "dataType": "string",
            "operator": "eq",
            "value": "Engineering"
          }
        ]
      },
      "outputs": {
        "approver": "VP Engineering",
        "note": "escalated"
      }
    },
    {
      "id": "rule-fin",
      "description": "Finance requests",
      "when": {
        "kind": "group",
        "id": "g-fin",
        "logic": "and",
        "children": [
          {
            "kind": "condition",
            "id": "c-f1",
            "field": "dept",
            "dataType": "string",
            "operator": "eq",
            "value": "Finance"
          }
        ]
      },
      "outputs": {
        "approver": "Finance Manager",
        "note": "standard"
      }
    }
  ],
  "defaultOutputs": {
    "approver": "Direct Manager",
    "note": "auto"
  }
}