In natural language processing, there is a difference between intents and entities. An intent captures a global meaning of a sentence: its intent, the thing that someone means. An entity, on the other hand, is a single piece of information. Intents might need one or more entities to do their work. Consider the following sentence:

"I want to book a flight tomorrow to New York".

The intent here is "booking" -- someone planning to make a trip. The "booking" intent here has two entities, "tomorrow", which is a point in time, and "New York", which is a location.

As stated, an intent captures a global meaning of a sentence. For instance, the sentences "hello!", "Hi there", "How are you?" can all be seen as utterings of the same intent namely, a greeting.

In Bubblescript, intents are either matched using regular expressions (in the intent's match: attribute), or using DialogFlow.