Bixby Developer Center

Guides
References

ordered-effects

optional

Wrapper effect that groups an ordered list of other effects. By default, Bixby would execute only the first qualifying effect it encounters in a control-flow. However, with ordered-effects it is possible to execute multiple effects at once. All the effects defined inside will run sequentially, in the order declared. Note that the ordered-effects cannot contain conditionals or other ordered-effects.

Example

Most commonly, ordered-effects is used to drop multiple inputs during relaxation. In this example, FindPlanets attempts to find planets fulfilling a number of user inputs. However, there may be no results that satisfy all the inputs at once. Instead of going to the NoResults state, the action uses drop effects to relax the search parameters. This example drops two inputs at once by wrapping them in an ordered-effects block. Grouping drop effects together like this reduces the number of relaxation passes and gets to results faster,

action (FindPlanets) {
type (Search)
collect {
input (name) {
type (PlanetName)
min (Optional) max (One)
}
input (color) {
type (PlanetColor)
min (Optional) max (One)
}
input (sortType) {
type (PlanetSortType)
min (Optional) max (One)
}
}
output (ThisPlanet) {
on-empty {
ordered-effects {
drop (color)
drop (name)
}
}
}
}

View on GitHub

Child Keys

drop
optional
Effect that drops a specified input from an action
flag-as-off-topic
optional
Effect that flags the current utterance as off-topic
halt
optional
Effect that halts execution after a dialog message event
prompt
optional
Effect that prompts the user for an input
replace
optional
Replace an existing input value with a new one
replan
optional
Effect that re-plans to a new intent, after an optional dialog event
unlock
optional
Pauses execution if device is locked and informs users they need to unlock their device to continue