Scenario Elements

There are three component types in the Scenario Editor:

  1. Conversational - Components that provide user interaction functionality, such as Prompts and Statements.

  2. Flow Control - Components that control the conversation logic, such as, multi-case switch statements.

  3. Advanced Functionality - Components used for integration with external data resources and advanced services, such as Action scripting steps and LUIS.

Element Description


Used to retreive input from the user. Allows configuration of the displayed message as well as input type (e.g. Boolean, String, Number, etc.)
Yes/No Prompt

Two-way split in the flow based on user input.

Standard output message with no expectation of a user response. Can also be used to display embedded content (e.g. Adaptive Cards).
Flow control

Two-way decision split, based on code and NOT on the user input.

Multi-optional split in the flow based on code.
Begin Scenario

Invoke a sub-scenario. Execution of the current scenario is resumed once the sub-scenario terminates.
Replace Scenario

Terminate the current scenario and invoke an alternative scenario.
End Scenario With Result

Terminates current scenario and returns result to the caller.
Advanced Aunctionality
Data Connection

Enables HTTPS calls to external services such as Restful and FHIR based APIs.

Allows setting and getting global variables.

Assign value to variables.
Invoke Skill

Invoke a new conversational skill

Allows execution of author defined JavaScript code scripts.


Temporarily pauses and suspends the scenario exection. Time period is cond


HTTPS calls to the LUIS language understanding service. Interactions with LUIS automatically enforce a no-storage policy.

The are several auxiliary editing components that are aimed to help the author during edit and debug mode, and are not used at runtime.


Displays the scenario architecture and allows quick navigation and oreination.


Increase and decreases the size of objects in the workspace.