Dialog Flow, Intents, and Entities
Domain 2 - Dialog Flow, Intents, and Entities. This domain tests whether you can build a flow that resolves language correctly: states and transitions, confidence handling, utterance design, and entity collection. Expect questions about why a follow-up answer is not understood mid-flow, or why an entity is never re-prompted.
Flow mechanics
A visual flow is a state machine. Each state runs a component - System.Text, System.Intent, System.CommonResponse, System.ResolveEntities, System.SetVariable, System.Switch, System.StartFlow - then transitions. The flow has a start state and an error handler; always wire the error path so a failed backend does not end the conversation silently. System.Intent runs intent resolution and sets the matched intent and confidence, so branch on a tested threshold rather than assuming exact matches. Values are built with Apache FreeMarker (${...}), using ?has_content and ?? for null-safe checks.
Intents and entities
Intents are trained by example, so 10–30 varied, realistic utterances per intent, with paraphrases, matter more than volume. Overlapping vocabulary between intents is the main cause of misrouting. Entity types: value list (enumerated), regex (formats such as ORD-\d{6}), composite bag (a bag of related attributes), and derived (values computed by a custom component). Enable multi-value when a user may supply a list, and set prompts, allowed values and max prompts so resolution can re-ask.
Worked example
An order-status flow needs an order number (regex ORD-\d{6}) and a date (value list of the last seven days). Model both as attributes of a composite bag entity and resolve them with System.ResolveEntities. The bag asks only for what is missing, validates each attribute once, and re-prompts on a bad format - instead of three hand-built states that drift apart.
Traps
Forgetting System.Intent for follow-ups, so “cancel” is meaningless mid-flow; expecting re-prompts without configuring prompts and max prompts; regex entities with no validation message; utterances that embed global yes/no words.