OCI Digital Assistant Professional study materials
OCI Digital Assistant Professional study resources

OCI Digital Assistant Professional: Dialog Flow, Intents, and Entities

OCI Digital Assistant Professional · Work through your exam, one topic at a time.

All guide sections

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.