cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Khoros Flow Basics: Context

Khoros Flow Basics: Context

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.

Steps provide context

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.

 

flows-context.png

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.

How context works

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.

Switching between flows

Below is an another example of a conversation combining two flows.

 

flows-context-matching1.png

  1. A customer starts a conversation with I want to order pizza (order flow)
  2. The app replies Delivery or Carry out?
  3. The customer doesn't answer that question but instead asks What's on the menu? (menu flow)
  4. The app then replies with a menu
  5. The customer can continue with 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.

Best practices

There are some best practices to follow when designing flows.

Single topic

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.

 

flows-single-topic2.png

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.

 

flows-multi-topic3.png

Open context

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.

 

flows-context-start4.png

In stead of creating these specific flows you can use branching for these contextual follow ups.

 

flows-within-context5.png

Resetting context

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.

Khoros Flow Basics: Context

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.

Steps provide context

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.

 

flows-context.png

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.

How context works

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.

Switching between flows

Below is an another example of a conversation combining two flows.

 

flows-context-matching1.png

  1. A customer starts a conversation with I want to order pizza (order flow)
  2. The app replies Delivery or Carry out?
  3. The customer doesn't answer that question but instead asks What's on the menu? (menu flow)
  4. The app then replies with a menu
  5. The customer can continue with 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.

Best practices

There are some best practices to follow when designing flows.

Single topic

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.

 

flows-single-topic2.png

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.

 

flows-multi-topic3.png

Open context

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.

 

flows-context-start4.png

In stead of creating these specific flows you can use branching for these contextual follow ups.

 

flows-within-context5.png

Resetting context

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.

Last Reviewed:
02-02-2022 01:59 AM

Khoros Flow Basics: Context

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.

Steps provide context

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.

 

flows-context.png

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.

How context works

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.

Switching between flows

Below is an another example of a conversation combining two flows.

 

flows-context-matching1.png

  1. A customer starts a conversation with I want to order pizza (order flow)
  2. The app replies Delivery or Carry out?
  3. The customer doesn't answer that question but instead asks What's on the menu? (menu flow)
  4. The app then replies with a menu
  5. The customer can continue with 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.

Best practices

There are some best practices to follow when designing flows.

Single topic

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.

 

flows-single-topic2.png

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.

 

flows-multi-topic3.png

Open context

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.

 

flows-context-start4.png

In stead of creating these specific flows you can use branching for these contextual follow ups.

 

flows-within-context5.png

Resetting context

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.

Version history
Last update:
‎06-16-2021 09:55 AM
Updated by:
Contributors