Web like conversation definition
Instead of using Entity-Relationship like diagrams that most of the others use, we divided conversation into blocks which are very similar to the classic web pages.
In the first phase, we present the user with information about the main options currently available and request his/her input. When we receive the user’s request, it is processed within the same block and, if required, we move the conversation focus to another block, where the process is repeated with the new set of options that user can choose from.
In Convoworks conversation, different components are used to define workflow. There are 3 main types of components used within a single conversation block.
Elements are running in a sequential manner; they can be nested and are executing useful actions (e.g. display or pronounce text; execute SQL query; modify variables; execute http request, if cases and other control structures; analytics tracking).
Processors are competing between themself to handle user input and execute their own read elements flow.
Filters are a bridge to the specific platform and are aiding processors in deciding when to activate. Intent based filters (Alexa, Dialogflow), but also NLP and plain text filters, are supported.
Expression language and functions
We use enhanced Symfony expression language to manipulate variables.
Besides just defining variable values, you can apply various functions provided through extensions.