A conversation is either: an exchange of messages between two or more people; between people and Apps; between Apps and other Apps. The conversation implements a State and behaviour.
A message is information sent or received within a conversation.
The State of the conversation is represented by data. When messages arrive to the conversation, the defined behaviour will process the message and modify the State.
An Intent is the pre-defined behaviour programmed within the conversation that matches the nature of the message received, validates it for the current conversation State, modifies the State and gives an answer.
An App is a number of Intents coded together to drive meaningful conversations.
A BotFlow is the conversation flow. In other words, it is how a succession of Intents are linked together to produce more complex business transactions. The flow could be spread throughout multiple Apps.