Output Configuration
Overview
Output Configurations define what your agent says to users. They are templates that are triggered by actions from Behavior Rules, making them the final step in EDDI's Lifecycle Pipeline.
Role in the Lifecycle
User Input → Parser → Behavior Rules → Actions → Output Configuration → ResponseWhen a Behavior Rule matches, it triggers actions. The Output Configuration contains pre-defined responses mapped to those actions, which are then sent to the user.
Key Features
Action-Based: Each output is mapped to a specific action name
Multiple Alternatives: Provide multiple response variations for natural conversations
Quick Replies: Suggest user responses with quick reply buttons
Occurrence Tracking: Show different outputs based on how many times an action has been triggered
Templating Support: Combine with output templating for dynamic responses
How It Works
Behavior Rule triggers action:
actions: ["welcome"]Output Configuration matches action: Finds output with
action: "welcome"Selects output variant: Randomly chooses from
valueAlternatives(if multiple exist)Returns to user: Sends the selected output as agent response
Configuration Structure
Output Configurations contain prepared sentences that the Agent replies to the user (depending on the actions coming from the Behavior Rules).
Simple Output Configuration looks like this:
The configuration contains an array of outputSet, which can contain one or more output objects.
The minimum amount of values that you need to provide in order be functional are action and outputs.
Now let's look at a more complex output configuration file:
Explanation of model
action
This will be the "actions" coming from the Behavior Rules. If a rule succeeds, the defined action will be stored in the conversation memory.
outputs
This array of output objects are the outputs that will be replied back to the user in case the action matched the action key. You can define multiple output objects, which represent separate chat bubbles on the client side. If more than one valueAlternatives is defined, one will be picked randomly. If this output will be triggered again in a future conversationStep, then another output of this array will be favored in order to avoid repetition. (If all available outputs have been selected, it is randomized again like in the beginning). The type is mainly there to be able to distinguish the type of output on the client side (e.g. image, video, audio, etc).
quickReplies
This is an array of QuickReply objects. Each object must contain a value, which is the text that should be displayed to the user (e.g. as button) in the conversation flow. The expressions is optional, you can define one or more comma separated expressions that define the meaning of this QuickReply. Those expressions will be temporarily taken into account in the semantic parser in the next conversationStep. So if a user chooses one of the quick replies, the parser would recognize them (even if not defined in any of the dictionaries explicitly) and resolve them with the expressions defined within this quick reply.
timesOccurred
How often this action should have occurred within that conversation in order to be selected as output to the user (thus, if value of 1, it would be chosen if the action occurs for the second time)
Last updated
Was this helpful?