The default interpreter that comes out of the box with OpenDialog is useful primarily for button-driven conversations and prototyping.
When we build a message with a button we can instruct the button to send the name of a specific intent to the OpenDialog conversation engine. Within the message markup this intent is defined within
When the user clicks a button the WebChat widget will send to the conversation engine an event that contains the value within the callback tag. The conversation engine will then attempt to match that callback to the value of a specific intent within your scenario (based on the overall conversational state).
This enables us to build very flexible button-driven conversations where we don't have to change our mental model of how a conversation works. A button click is just an utterance that needs to be mapped to an intent like a natural language utterance. The only difference is that there is no ambiguity as to what the user just said.
The default callback interpreter is essential for button-driven interaction and can help with simple prototyping, but for actual NLU we need to use an NLU interpreter which we discuss here.