Flowable open source capabilities with complex data for input


I’ve been working on building out a flowable microservice (Spring, and Kotlin though could use Java if we had to) mainly to use the DMN portion of the application and I’m wondering if what I’m hoping to accomplish with the open-source version of the application is possible.

What I’d like to do is build out some fairly complex DMN decision tables that accept complicated data objects (think a json object with many objects that contain many fields, including arrays, dates, numbers, booleans, etc.)

I’ve built a really simple DMN flow by following the instructions here: Configuration · Flowable Open Source Documentation

My current DMN just accepts a number and returns whether i consider it a high number or a low number. My question here, and forgive me if this is covered somewhere (I wasn’t having a lot of success on google), is if what I want to do with complex data models and DMN is possible?

Any help is appreciated, and thanks in advance :slight_smile:


Yes, it is: the DMN inputs accepts arbitrary expressions. So even if it’s not possible out of the box, with some expression usages you can add new logic that might make it possible. The only downside is that it might not look good - in that case you could look into adding custom function delegates to the DMN engine (here’s a default function example code: flowable-engine/FlowableAddDateFunctionDelegate.java at main · flowable/flowable-engine · GitHub)