Invocation
An Invocation maps internal values to the parameters of a Business Knowledge Model (BKM) or Decision Service.
Structure
It resembles a table where:
- Header: The name of the function being called.
- Rows: Mappings of
Parameter Name->Binding Expression.
Example
Calling a BKM named CalculateRisk:
| CalculateRisk | |
|---|---|
| Age | Applicant.Age |
| Income | Applicant.Income |
This is equivalent to the FEEL expression:
CalculateRisk(Age: Applicant.Age, Income: Applicant.Income)
FAQ
Can I invoke a BKM with literal values instead of variable references?
Yes — each parameter binding in an Invocation is a FEEL expression, so you can pass literals (Age: 30), expressions over input data (Age: Applicant.Age), function calls, list filters, anything FEEL supports. Mixing literals and variable references in the same Invocation is fine: CalculateRisk(Age: Applicant.Age, Threshold: 700, Region: "EU").
What happens if I omit a parameter binding in an Invocation?
The omitted parameter is treated as null inside the function body. Because FEEL propagates null through most operations, this often produces a null result rather than a loud error. If the function body has logic that requires the parameter to be present, you'll see a downstream failure or a wrong answer — there's no compile-time check that every parameter is bound. As a defensive pattern, BKMs that take optional parameters should use if param = null then default else param inside their bodies to make the contract explicit.
Can an Invocation call a function defined in another DMN file?
An Invocation calls a BKM by name within the same DMN model. To use logic from another model you have two options: import the other model (declaring it as a dependency in the DMN XML), which makes its BKMs and decision services available by qualified name, or invoke a Decision Service exposed by the other model from a BPMN business-rule task and treat the cross-model call as a model boundary. The second pattern is preferred when the called model has its own lifecycle, deployment cadence, or ownership.