What is Intent node and context.FollowupIntents

Hi team,

I have 2 main doubts which I couldn’t understand from the documentation. Please ellaborate in simple terms.

  1. What’s the use of Intent node within a dialog task ? And when to use it ?

  2. In an Ecommerce bot template, there’s an entity named(LatestOrder) within dialog task(Track Order). Its a String entity and has few connection rules

    IF (Intent - context.FollowupIntents) contains 9c76ad0b-aeb1-524a-8c1b-cff971d05d3e Then goto Intent(View Item)
    ELSE IF (Entity - LatestOrders) equals to Track Then goto Message(Track Msg)
    ELSE goto BotAction

Here, what is context.FollowupIntents & uuid(9c76ad0b-aeb1-524a-8c1b-cff971d05d3e). Where to get this uuid ? And Why its routed to Intent(View Item) ?

  • Vinoth

The use of an Intent node in a dialog task (outside of the dialog’s root node) is what we call a subintent.

Subintents allow you to use the full power on intent training to detect scenarios that are specific to that dialog, and when they are detected the intent is added to the context.FollowupIntents array. Then you can use connections at some later point to handle that scenario.

Some use case examples,

  1. Changing entity values - the Amend Entity handles basic cases, but there might be more complicated cases where it is not sufficient, such as composite entities.
  2. Repeating a search - user might just say “what about xyz”
  3. Asking for help at a prompt
  4. Supporting a secondary action, e.g. in a Book Hotel task, user might request early check in
  5. Supporting optional fallback intents at a confirmation, entity or message node
  6. Alternative to a List of Items entity if the choices are broad, e.g. asking for symptoms of a problem

The connections to something in context.FollowupIntents should always be an intent name, never a uuid, so I suspect that something was not exported properly.

1 Like