Flow Studio
Rule Evaluation Output
The complete node output shape — outcome, firedRules, explanation, score — and how to use these fields in downstream expressions and notifications.
Output Shape
{
"outcome": "approved",
"firedRules": [
"amount-within-standard-limit",
"vendor-is-approved-supplier",
"category-in-allowed-list"
],
"explanation": "Invoice total 4750 GBP is within the 5000 GBP limit for category 'consulting'. Vendor is an approved supplier (Tier 1).",
"score": 85,
"evaluatedAt": "2026-05-25T10:00:00Z",
"ruleSetId": "invoice-approval-policy-v2",
"ruleSetVersion": "2.1.3"
}
Output Fields
| Field | Type | Description |
|---|---|---|
outcome | string | The rule set's computed outcome (e.g., "approved", "rejected", "manual-review"). Drives port routing. |
firedRules | string[] | Array of rule IDs that matched during evaluation. Useful for audit and explanation. |
explanation | string | Human-readable explanation of the outcome for use in notifications and audit records. |
score | number | Numeric confidence or risk score (0–100). Set by the rule set if score-based evaluation is configured. |
ruleSetId | string | The rule set ID that was evaluated. Useful when using expression-driven rule set selection. |
ruleSetVersion | string | Exact version of the rule set evaluated. Critical for compliance audit trails. |
Using Output in Downstream Nodes
// Include explanation in rejection email:
"body": "Your invoice was rejected. Reason: $output.checkInvoicePolicy.explanation"
// Use outcome in condition:
"$output.checkInvoicePolicy.outcome === 'approved'"
// Include fired rules in Slack notification:
"text": "Policy check complete. Rules fired: $output.checkInvoicePolicy.firedRules.join(', ')"
// Use score for high-risk routing:
"$output.checkInvoicePolicy.score < 50"
// Record decision in entity:
"policyOutcome": "$output.checkInvoicePolicy.outcome",
"policyVersion": "$output.checkInvoicePolicy.ruleSetVersion"