when it comes to metadata, it allows you to inject the logs with metadata which
- has no purpose for the bot at runtime
- is useful for querying in the future
- is not available after the fact
so it does have it uses for certain use-cases. However, that feature doesn’t provide much for the conversational design.
As for Entities, yes, you can achieve much of the same with LIST language objects, and working directly with the condition does give you some more flexibility than with the condition field in the Entity UI.
However, the biggest advantages with using Entities are maintainability, both when handling larger lists of entities and especially with multiple values (such as the CITIES_NL example in Entities | Teneo Developers , which could quickly become a hassle to maintain). And that it’s much easier for someone else to look at who isn’t as fluent in the condition language as others.
I personally think it’s awesome that you’ve mastered these concepts!
To get you bots to the next stage - without knowing the details of your use-case - I would now focus on conversational design and making your bot more human-like.
One way of accomplishing this is to publish the bot, ask a few friends or colleagues to test it, and then get feedback from them and look through the sessions and see how the bot behaves. And work iteratively to polish and improve the experience.