Uh oh! We couldn’t find any match.

Please try other search keywords.

Bixby Developer Center



optionalvalue required

Encapsulates dialog logic that normally would lead to duplication. Template macros enable you to change a macro definition once instead of having to update dialog in multiple places.


dialog (Result) {
match: MyCapsule.MyConcept (this)
template-macro (MyAwesomeMacro) {
param (concept) {
expression (this)
param (string2) {
literal ("some text")

You must qualify template macros that you import, but not those that are local to your capsule. Put simply, you must follow the same name-spacing rules that apply to model references.

Take, for example, a capsule called viv.capsule1 that defines template macro template1. If you want to import template1 into another capsule called viv.capsule2, you must fully qualify it as shown here:

template-macro (viv.capsule1:template1)

However, if you want to use that same macro within viv.capsule1 itself, you can use the unqualified notation:

template-macro (template1)

You can also use an alias to qualify template macros. For example, if viv.capsule2 imports viv.capsule1 as aliasedcapsule, you can then invoke a macro within it using the alias:

template-macro (aliasedcapsule:template1)

For more information on dialog-macros, refer to Fundamentals documentation on dialog.

Child Keys

Parameter to which the argument (specified as a child) should bind