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 CFOapprover: CFO · note: = "amount " & $string(amount)
- 2Mid-size engineering spendapprover: VP Engineering · note: escalated
- 3Finance requestsapprover: Finance Manager · note: standard
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"
}
}