Context is important in conversational design. Context can be defined as the state of the conversation and depends on previous messages. The NLP engine keeps track of the state of the conversation, allowing for switching flows during a conversation.
The way you design flows using steps provides the NLP engine the context it needs to determine which step and flow to match.
We can illustrate that using the following example.
It shows two different flows with the same contextual follow up step: And which is the closest.
So whenever a user triggers the second step by sending And which one is the closest
the context of the first question How many stars are there in the Milky way?
or I am looking for a restaurant
is used as context to match the second step and send a reply.
You might notice the designing of Flows looks linear, but this is not the case. A user does not get stuck inside a flow whenever a step was matched.
With each new message, like a user sending text, the NLP engine will decide based on context (probabilistic model) what step inside a specific flow to match.
Below is an another example of a conversation combining two flows.
I want to order pizza
(order flow)Delivery or Carry out?
What's on the menu?
(menu flow)I want my pizza delivered
(order flow)Note: Context applies to every trigger
When a user shares an image, shares a location or triggers and event, this also works with context, not just text. The only exception is events, those can be triggered mid-flow.
There are some best practices to follow when designing flows.
Don't combine multiple topics in one flow. For example, greetings
and goodbyes
are separate topics, try not to combine these with flows like the above order pizza
example. This allows the engine to switch between greetings, pizza ordering and goodbyes without a problem.
Instead, try to make your flows as focussed as possible and keep your app flexible. Create separate flows for each topic. This helps the NLP engine keep track of the position of the conversation.
It's also best practice to start your flows with triggers that are not within context.
In other words, never start a flow with something like a yes
or no
text trigger. Such a trigger should best be in context of any previous question or response.
In stead of creating these specific flows you can use branching for these contextual follow ups.
Context builds up and exists for at least 24 hours. Sometimes context can lead to unexpected behavior and for that you can clear context by using a reset action.
Context is important in conversational design. Context can be defined as the state of the conversation and depends on previous messages. The NLP engine keeps track of the state of the conversation, allowing for switching flows during a conversation.
The way you design flows using steps provides the NLP engine the context it needs to determine which step and flow to match.
We can illustrate that using the following example.
It shows two different flows with the same contextual follow up step: And which is the closest.
So whenever a user triggers the second step by sending And which one is the closest
the context of the first question How many stars are there in the Milky way?
or I am looking for a restaurant
is used as context to match the second step and send a reply.
You might notice the designing of Flows looks linear, but this is not the case. A user does not get stuck inside a flow whenever a step was matched.
With each new message, like a user sending text, the NLP engine will decide based on context (probabilistic model) what step inside a specific flow to match.
Below is an another example of a conversation combining two flows.
I want to order pizza
(order flow)Delivery or Carry out?
What's on the menu?
(menu flow)I want my pizza delivered
(order flow)Note: Context applies to every trigger
When a user shares an image, shares a location or triggers and event, this also works with context, not just text. The only exception is events, those can be triggered mid-flow.
There are some best practices to follow when designing flows.
Don't combine multiple topics in one flow. For example, greetings
and goodbyes
are separate topics, try not to combine these with flows like the above order pizza
example. This allows the engine to switch between greetings, pizza ordering and goodbyes without a problem.
Instead, try to make your flows as focussed as possible and keep your app flexible. Create separate flows for each topic. This helps the NLP engine keep track of the position of the conversation.
It's also best practice to start your flows with triggers that are not within context.
In other words, never start a flow with something like a yes
or no
text trigger. Such a trigger should best be in context of any previous question or response.
In stead of creating these specific flows you can use branching for these contextual follow ups.
Context builds up and exists for at least 24 hours. Sometimes context can lead to unexpected behavior and for that you can clear context by using a reset action.
Context is important in conversational design. Context can be defined as the state of the conversation and depends on previous messages. The NLP engine keeps track of the state of the conversation, allowing for switching flows during a conversation.
The way you design flows using steps provides the NLP engine the context it needs to determine which step and flow to match.
We can illustrate that using the following example.
It shows two different flows with the same contextual follow up step: And which is the closest.
So whenever a user triggers the second step by sending And which one is the closest
the context of the first question How many stars are there in the Milky way?
or I am looking for a restaurant
is used as context to match the second step and send a reply.
You might notice the designing of Flows looks linear, but this is not the case. A user does not get stuck inside a flow whenever a step was matched.
With each new message, like a user sending text, the NLP engine will decide based on context (probabilistic model) what step inside a specific flow to match.
Below is an another example of a conversation combining two flows.
I want to order pizza
(order flow)Delivery or Carry out?
What's on the menu?
(menu flow)I want my pizza delivered
(order flow)Note: Context applies to every trigger
When a user shares an image, shares a location or triggers and event, this also works with context, not just text. The only exception is events, those can be triggered mid-flow.
There are some best practices to follow when designing flows.
Don't combine multiple topics in one flow. For example, greetings
and goodbyes
are separate topics, try not to combine these with flows like the above order pizza
example. This allows the engine to switch between greetings, pizza ordering and goodbyes without a problem.
Instead, try to make your flows as focussed as possible and keep your app flexible. Create separate flows for each topic. This helps the NLP engine keep track of the position of the conversation.
It's also best practice to start your flows with triggers that are not within context.
In other words, never start a flow with something like a yes
or no
text trigger. Such a trigger should best be in context of any previous question or response.
In stead of creating these specific flows you can use branching for these contextual follow ups.
Context builds up and exists for at least 24 hours. Sometimes context can lead to unexpected behavior and for that you can clear context by using a reset action.