Portal Community

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

FieldTypeDescription
outcomestringThe rule set's computed outcome (e.g., "approved", "rejected", "manual-review"). Drives port routing.
firedRulesstring[]Array of rule IDs that matched during evaluation. Useful for audit and explanation.
explanationstringHuman-readable explanation of the outcome for use in notifications and audit records.
scorenumberNumeric confidence or risk score (0–100). Set by the rule set if score-based evaluation is configured.
ruleSetIdstringThe rule set ID that was evaluated. Useful when using expression-driven rule set selection.
ruleSetVersionstringExact 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"