Oh well, this was kind of a wild ride I guess.
Twilio has a great feature called Autopilot, where you can create bots trainable AI bots that parse the messages based on the user and groups it by intent (works similarly to Dialogflow).
In theory you could build fully fledged out bots by using features provided by Twilio, Functions and Autopilot. But as I wanted to implement my Java wrapper we'll be using only one of the two.
For parsing what "type" of request the user intends we are using field types and making samples to our collect task to train it.
After collecting what type of request the user wants to make, we just use a web-hook to our Java application.
With these, we can have our project set up with only a couple of tasks and only one field type.