Dialog Application Specification
The Dialog Application Specification defines a JSON syntax for dialog models. Use Mix Dashboard to export or import dialog models.
This document specifies the syntax of the object literals that constitute a dialog model.
Specification
Project
Project object literal example
{
"id": "480",
"name": "my dialog",
"defaultLocale": "en-US",
"supportedLocales": ["en-US"],
"connectorColors": {
// <channel uuid>: <color code> pairs...
},
"baseServiceUrl": "",
"staticProjectId": "",
"version": "1.0",
"supportedChannels": [
// channels in the project...
],
"supportedCustomChannels": [],
"richTextChannels": [],
"globalConfirmations": [],
"components": [{
"id": "718ced73-350f-4ed9-b389-823fb405a096",
"name": "Main",
"description": "Main component",
"nodes": [
// nodes in the main component...
],
"eventHandlers": [
// global event handlers...
],
"intentId": "",
"timestamp": "2019-10-21T20:51:08.437Z"
}, // more components...
],
"recovery": [
// global and channel-specific recovery behaviors...
],
"variables": [{
"id": "fcd07c8b-1e13-4840-8363-0d8d630dad15",
"name": "Location",
"description": "",
"possibleValues": ["JFK", "LGA", "EWR"],
"simpleVariableType": "LIST_TYPE",
"timestamp": "2019-10-25T00:24:39.416Z"
}, // more variables...
],
"complexVariableTypes": [
// complex variable schemas...
],
"promptGroups": [
// prompt groups (messages) in the project...
],
"parentId": "NONE",
"ontologyId": "eb9c1ffd-5c1d-4702-a524-27afb9f4e976",
"ontology": {
"projectId": "480",
"intents": [
// intents in the project...
],
"concepts": [
// entities in the project...
],
"lastModified": "1970-01-01T00:00:00Z"
},
"globalSettings": [],
"backendConfig": [],
"upgradeVersion": 3,
"events": [
// events in the project...
],
"globalCommandsEntityId": "7628d885-ef5c-4d29-b79a-079afd0aa9b2",
"globalCommands": [
// global commands in the project...
],
"dressAliases": [],
"globalSettingOverrides": [
// overrides to global settings in the project...
],
"ndfVersion": "",
"projectIntentMappings": [
// global intent mappings...
],
"enginePackVersion": "hosted",
"versionTimestamp": "2020-02-27T01:45:56Z",
"lastModified": "2020-02-28T01:31:28.933Z"
}
The project element is the top level of the JSON file. For a complete example, refer to the sample file.
Element | Type | Description |
---|---|---|
id |
String | Unique identifier for the project |
name |
String | Name of the project |
defaultLocale |
String | Default locale for the project, as a 4-letter language code (for example, en-US )—refer to Languages and Voices for the list of languages available in the current version of Nuance Mix |
supportedLocales |
Array of strings | Supported locales for the project, as 4-letter language codes—refer to Languages and Voices for the list of languages available in the current version of Nuance Mix |
connectorColors |
Object | Deprecated |
baseServiceUrl |
String | Base application URL—for example, mycompany.com/mix |
staticProjectId |
String | ID of the master project, used to link different versions of a project |
version |
String | Version number of the project |
supportedChannels |
Array of channels | Standard channels to be used to interact with the system (for example, IVR, Web, SMS) |
supportedCustomChannels |
Array | Deprecated |
richTextChannels |
Array | Deprecated |
globalConfirmations |
Array of confirmations | Global and default confirmation behaviors |
components |
Array of components | Components in the project |
recovery |
Array of recovery handling objects | Global and channel-specific recovery handling |
variables |
Array of variables | Variables used in the project |
complexVariableTypes |
Array of schemas | Complex variable schemas in the project |
promptGroups |
Array of prompt groups | Messages used in the project |
parentId |
String | ID of the parent project |
ontologyId |
String | UUID of the ontology used for this dialog project |
ontology |
Object | Intents and entities for this dialog project |
globalSettings |
Array | Deprecated (superseded by globalSettingOverrides) |
backendConfig |
Array of backend connection presets | Backend connection presets for the project |
upgradeVersion |
Number | Internal version number used as a reference for upgrading the dialog model upon import, to include new features as they become available |
events |
Array of events | Global and custom events in the project |
globalCommandsEntityId |
String | UUID of the entity used to store a command from the user |
globalCommands |
Array of commands | Global commands defined in the project |
dressAliases |
Array of data host aliases | Data host aliases |
globalSettingOverrides |
Array of global setting overrides | Overrides to the default global settings for the project |
ndfVersion |
String | Version of the Dialog runtime service to target when building the application—Future use |
projectIntentMappings |
Array of project intent mapping objects | Global mappings from intents to components |
enginePackVersion |
String | Engine pack version for projects in self-hosted Mix environments (default is hosted ; assumed to be hosted if not specified)—Do not change |
versionTimestamp |
String | Creation date and time for this project version, in this format: YYYY-MM-DD hh:mm:ssZ—for example, 2019-08-21T08:34:27Z |
lastModified |
String | Date and time of the last modification, in this format: YYYY-MM-DD hh:mm:ssZ—for example, 2019-10-17T20:55:38.488Z |
Channel
Channel example
{
"id": "d1192cc3-6455-49c2-bbc6-45e88cf1a218",
"displayName": "Digital VA text",
"codeName": "custom",
"modes": [],
"disabled": false,
"connectorColor": "#F59E47",
"channelModes": [{
"id": "27ca8473-0635-41f8-86ea-e9cd6c7db4c8",
"channelId": "d1192cc3-6455-49c2-bbc6-45e88cf1a218",
"name": "Interactivity",
"disabled": false,
"lastModified": "2022-05-03T00:47:27.854Z"
}, {
"id": "68b5983f-afdb-4f8a-91ba-ef23b97392c9",
"channelId": "d1192cc3-6455-49c2-bbc6-45e88cf1a218",
"name": "Rich Text",
"disabled": false,
"lastModified": "2022-05-03T00:47:27.890Z"
}
],
"lastModified": "2022-05-03T00:47:27.880Z"
}
Represents a communication channel used to interact with the system (for example, IVR, Web, SMS).
Element | Type | Description |
---|---|---|
id |
String | Unique ID of the channel |
displayName |
String | Name of the channel—Default is a reserved name for the combination of all channels in a project |
codeName |
String | Deprecated |
modes |
Array | Deprecated |
disabled |
Boolean | true if the channel is disabled; otherwise, false |
connectorColor |
String | Color code for the channel (for example, #31B96E ) |
channelModes |
Array of modalities | Modalities available for messages in this channel |
lastModified |
String | Date and time of the last modification |
Modality
Represents a modality in a channel.
Element | Type | Description |
---|---|---|
id |
String | UUID of the modality |
channelId |
String | UUID of the channel |
name |
String | One of: Audio Script , TTS , Rich Text , Interactivity , DTMF |
disabled |
Boolean | true if the modality is disabled; otherwise, false |
lastModified |
String | Date and time of the last modification |
Confirmation
Represents a global confirmation behavior.
Element | Type | Description |
---|---|---|
id |
String | UUID of the confirmation behavior |
globalValue |
String | Deprecated |
confirmationRecoveryBehaviors |
Array of recovery behaviors | Error handling for the confirmation behavior |
entityType |
String | Information type for this confirmation behavior—one of: DEFAULT , ALPHANUM , DIGITS , DATE , TIME , CURRENCY , YESNO |
channelId |
String | UUID of the channel |
Recovery handling
Represent a global (default) or channel-specific error recovery handling.
Element | Type | Description |
---|---|---|
id |
String | UUID of the recovery behavior |
globalValue |
String | Deprecated |
RecoveryBehaviors |
Array of recovery behaviors | Error handling for the recovery behavior |
channelId |
String | UUID of the channel |
Recovery behavior
Recovery behavior example
{
"event": "nomatch1-pre-prompt",
"escalationLevel": 0,
"processingItemsList": {
// processing items to perform...
},
"enabled": true
}
Represents a global or channel-specific recovery behavior for confirmation or error recovery handling.
Element | Type | Description |
---|---|---|
event |
String | Event ID—nomatch1-pre-prompt , nomatch1-prompt , yes-prompt , no-prompt , for example |
escalationLevel |
Number | Deprecated (event includes the escalation level) |
processingItemsList |
Processing item group object | Processing items to perform |
enabled |
Boolean | true if the global recovery behavior is enabled; otherwise, false |
Event
Global command event example
{
"id": "295420a0-7675-4917-9329-35e26654ed05",
"eventString": "event.nuance.dialog.escalate",
"uiString": "Escalate",
"throwable": true,
"reserved": true
}
Global event example
{
"id": "7cfb8e7a-a9ee-40b6-b660-a66ca0a0f463",
"eventString": "event.nuance.dialog.odm.maxnomatches",
"uiString": "MaxNomatch",
"throwable": false,
"reserved": true
}
Custom event example
{
"id": "54d22d9d-1793-472e-ad74-7037b76dacf0",
"eventString": "event.custom.Ping",
"uiString": "Ping",
"throwable": true,
"reserved": false
}
Represents an event in the project.
Element | Type | Description |
---|---|---|
id |
String | UUID of the event |
eventString |
String | The event to throw—for example, event.nuance.dialog.escalate |
uiString |
String | Display name of the event—for example, Escalate (see Naming guidelines) |
throwable |
Boolean | true if the event can be used in a throw action; otherwise, false |
reserved |
Boolean | true for predefined events; false for custom events |
Command
Global command example
{
"id": "fffc3887-c8c6-4201-ae30-17d9536ca8ce",
"entityValue": "agent",
"event": {
"id": "295420a0-7675-4917-9329-35e26654ed05",
"eventString": "event.nuance.dialog.escalate",
"uiString": "Escalate",
"throwable": true,
"reserved": true
},
"dtmfValue": "",
"projectLevelEnabled": true,
"disabledNodeIds": [],
"disabledComponentIds": [],
"timestamp": "2020-04-14T03:55:36.574Z"
}
Represents a global command in the project.
Element | Type | Description |
---|---|---|
id |
String | UUID of the command |
entityValue |
String | Global command entity value to invoke the command |
event |
Event object | Event thrown when this command is invoked |
dtmfValue |
String | DTMF value to invoke the command |
projectLevelEnabled |
Boolean | true if the command is enabled in this project; otherwise, false |
disabledNodeIds |
Array | Nodes where this command is disabled—Future use |
disabledComponentIds |
Array | Components where this command is disabled—Future use |
timestamp |
String | Date and time of the last modification, in this format: YYYY-MM-DD hh:mm:ssZ—for example, 2019-08-21T08:34:27Z |
Global setting override
Global setting override example
{
"id": "8c049c86-3ea4-4ef6-810f-ae1ba17efac3",
"settingName": "extension",
"settingType": "AUDIO_SETTINGS",
"channelId": "3a45d5e0-e0da-4236-98cd-d39cf2881bb7",
"predefinedName": "PREDEFINE_NOT_SET",
"value": ".ulaw",
"language": "",
"entityId": ""
}
Represents an override to the global settings defaults in the project.
Element | Type | Description |
---|---|---|
id |
String | UUID of the setting override |
settingName |
String | Name of the setting |
settingType |
String | Setting category—one of: COLLECTION_SETTINGS , CONFIRMATION_SETTINGS , DTMF_SETTINGS , TTS_SETTINGS , SPEECH_SETTINGS , CONVERSATION_SETTINGS , AUDIO_SETTINGS , GRAMMAR_SETTINGS , DATA_ACCESS_SETTINGS , INTERNAL_SETTINGS |
channelId |
String | UUID of the channel for the override |
predefinedName |
String | For an entity-level setting override: type of entity—one of: CUSTOM_LIST_TYPE , REGEX , FREE_FORM , DATE , TIME , YES_NO , NUANCE_AMOUNT , NUANCE_BOOLEAN , NUANCE_CARDINAL_NUMBER , NUANCE_DISTANCE , NUANCE_DOUBLE , NUANCE_EXPIRY_DATE , NUANCE_GENERIC_ORDER , NUANCE_NUMBER , NUANCE_ORDINAL_NUMBER , NUANCE_TEMPERATURE ; otherwise, PREDEFINE_NOT_SET |
value |
String | Override value |
language |
String | Language to which the override applies, as a 4-letter language code (for example, en-US )—refer to Languages and Voices for the list of languages available in the current version of Nuance Mix |
entityId |
String | For an entity-level setting override: UUID of the entity to which the override applies; otherwise, empty |
Project intent mapping
Project intent mapping example
{
"id": "95573456-5c8e-4de1-93e2-190fe13a80a7",
"intentId": "3478f442-8f6e-483d-8efd-8cb53208c49e",
"destination": {
"componentId": "ae6c8b59-f7bf-4bae-824f-0ed4e054f35a"
}
}
Represents the global mapping of one intent to a component. Intent mapper nodes inherit these global mappings and can override them if needed.
Element | Type | Description |
---|---|---|
id |
String | UUID of the mapping |
intentId |
String | UUID of the intent being mapped |
destination |
Object | Key-value pair where the key is componentId and the value is the UUID of the component to which the intent is mapped |
Backend connection preset
Backend connection preset example
{
"id": "895f3667-b02f-4448-84af-2520a4785004",
"name": "myBackend",
"urlExtension": "/coffee/price",
"fetchTimeout": 0,
"connectTimeout": 0,
"method": "POST",
"dressName": "525",
"headers": [{
"key": "mytoken",
"variable": {
"id": "106de6cc-e3ac-457e-bb92-6ae06ef2e1b5",
"name": "myToken",
"description": "",
"possibleValues": [],
"uiDefaultValue": "",
"isReserved": false,
"masked": false,
"reportingType": "REPORTING_TYPE_NONE",
"timestamp": "2021-04-14T02:55:09.340Z"
}
}, {
"key": "apikey",
"constant": "5678"
}
],
"dressAliasId": "525"
}
Represents a backend connection preset to be applied to a data access node for server-side integration.
Element | Type | Description |
---|---|---|
id |
String | UUID of the preset |
name |
String | Name of the preset |
urlExtension |
String | URL extension (maximum 2000 characters) |
fetchTimeout |
Number | Fetch timeout in milliseconds (default: 0) |
connectTimeout |
Number | Connection timeout in milliseconds (default: 0) |
method |
String | Method; one of: POST , GET , PUT , DELETE , PATCH , NOT_SET (default) |
dressName |
String | Deprecated (superseded by dressAliasId) |
headers |
Array of headers | Headers used to query the backend system |
dressAliasId |
String | Numeric ID of the connection profile for the backend system |
Data host alias
Data host alias example
{
"id": "525",
"alias": "COFFEE_APP",
"defaultValue": "https://coffee.app.com:443"
}
Represents a data host alias for server-side integration.
Element | Type | Description |
---|---|---|
id |
String | Numeric ID of the connection profile for the backend system |
alias |
String | Alias name for a web service used for backend access in a server-side integration |
defaultValue |
String | Default URL for the alias (optional) |
Component
Component example (intent component)
{
"id": "b5e8c00c-6fb4-4a71-9760-1656e303c8d4",
"name": "BOOK_FLIGHT",
"description": "intent",
"nodes": [
// one or more nodes...
],
"eventHandlers": [],
"intentId": "9030425b-1c69-45b1-9de2-ef65fc1656a6",
"timestamp": "2021-04-13T16:31:34.128Z"
}
Represents a group of nodes that make up a flow in the project.
Element | Type | Description |
---|---|---|
id |
String | Unique ID of the component |
name |
String | Name of the component (see Naming guidelines) |
description |
String | “intent” if the component is an intent component; otherwise, empty |
nodes |
Array of nodes | Nodes in the component |
eventHandlers |
Array of event handlers | Global event handlers, if in Main; component-level event handlers, in other components |
intentId |
String | UUID of the intent that is mapped to the component, if this is an intent component; otherwise, empty |
timestamp |
String | Date and time of the last modification, in this format: YYYY-MM-DD hh:mm:ssZ—for example, 2019-08-21T08:34:27Z |
Event handler
Event handler example
{
"id": "71156f96-a1ac-43eb-8aed-03b97983cdc5",
"eventId": "295420a0-7675-4917-9329-35e26654ed05",
"transition": {
"id": "fc7eacac-95eb-45ff-a844-f60c10cf6978",
"transitionType": "GO_TO",
"eventId": "",
"label": "",
"eventLog": "",
"nodeId": "db875195-9f58-41ca-a79c-3668e4104304"
},
"reserved": true,
"transitionId": "fc7eacac-95eb-45ff-a844-f60c10cf6978",
"componentId": "de19a39d-f5f2-46bb-ad7c-671b13bd045c"
}
Represents a global event handler, if in Main; a component-level event handler, if in another component; or a node-level event handler, if in a node.
Element | Type | Description |
---|---|---|
id |
String | UUID of the event handler |
eventId |
String | UUID of the event to handle |
transition |
Transition object | Transition to perform when the specified event is thrown |
transitionId |
String | UUID of the transition to perform |
reserved |
Boolean | true , if the handler is for a predefined event; otherwise, false |
componentId |
String | For global and component-level event handlers: UUID of the component |
nodeId |
String | Only in node-level event handlers: UUID of the node |
Node
Node example
{
"id": "8ca23120-bd08-464f-93b8-c2264b989e89",
"parentComponentId": "fe8418b9-9448-4ec8-a21d-b74cc7118af7",
"controllerNode": {
// content specific to the question router (controllerNode) node...
},
"eventHandlers": []
}
Represents a node in a component.
Element | Type | Description |
---|---|---|
id |
String | UUID of the node |
parentComponentId |
String | UUID of the parent component |
node type content | Object | The key for this field specifies one of the supported node types, and the value is content specific to a node of that type |
eventHandlers |
Array of event handlers | Node-level event handlers—override component-level event handlers, and global event handlers |
Supported node types
Dialog models support these types of nodes:
Element key | Node type |
---|---|
recognitionNode2 |
Question and answer node |
messageNode |
Message node |
decisionNode |
Decision node |
dataAccessNode |
Data access node |
controllerNode |
Question router node |
intentMapperNode2 |
Intent mapper node |
componentNode |
Component call node |
startNode |
Start or Enter node |
externalactionNode |
External actions node |
endNode |
End node—deprecated |
transferNode |
Transfer node—deprecated |
Question and answer node
Question and answer node example (intent collection)
{
"name": "Get intent",
"description": "",
"initialMessage": {
"id": "310dfa37-16ad-41ba-b3e8-59eeb7654e29",
"channelProcessingItemsMap": {
"aceca7f0-26ee-477b-8012-fa34e9794858": {
"processingItems": [{
"condition": {
"id": "787d59c7-216c-4220-877d-929767d9120b",
"statementType": "ALWAYS_TYPE",
"processingItems": [{
"promptGroup": {
"id": "ed882069-96bb-47e8-80f7-7fee1cb38c9a",
"name": "how_can_i_help_you_today?",
"prompts": [{
"payload": {
"displayText": "How can I help you today?",
"ttsText": "",
"audioFile": "",
"displayTextAnnotations": [],
"ttsTextAnnotations": [],
"ttsAudioBackup": "",
"ttsAudioBackupAnnotations": []
},
"language": "en-US",
"channel": "aceca7f0-26ee-477b-8012-fa34e9794858",
"lastModified": "2021-10-29T00:46:44.963Z"
}
],
"audioFileId": "",
"bargeinDisabled": false,
"lastModified": "2021-10-29T00:46:44.962Z"
},
"id": "6d5c8032-4817-4c2c-95cd-a2f8fd0d4dcc",
"note": "",
"promptGroupId": "ed882069-96bb-47e8-80f7-7fee1cb38c9a"
}
],
"expressionId": ""
},
"id": "8d865006-e9aa-49ae-9f6f-1b025f73d44c",
"note": ""
}
]
}
},
"lastModified": "2021-10-29T00:46:46.089Z",
"parentNodeId": "2d6a3e9f-23e0-4c9b-bdc6-ddb2781378a0"
},
"collectionType": "INTENT_TYPE",
"actionConfigurations": [],
"inputManagerReferenceId": "",
"entityId": "",
"recoRecoveryBehaviors": [],
"defaultIntentProcessingItem": {
"id": "672986ac-23c2-45e5-8474-161733759fc7",
"channelProcessingItemsMap": {
"aceca7f0-26ee-477b-8012-fa34e9794858": {
"processingItems": [{
"condition": {
"id": "ec83fc2f-a968-4b29-a977-7f231553cad2",
"statementType": "ALWAYS_TYPE",
"processingItems": [{
"transition": {
"id": "0dbc12e2-89b8-4541-956d-24693383f4ca",
"transitionType": "GO_TO",
"eventId": "",
"label": "Always",
"eventLog": "",
"nodeId": "ed5ec913-f28f-4739-ad69-a32b2d93ffe5"
},
"id": "3c2a9466-4c83-4555-a0f5-05a154d28c94",
"note": ""
}
],
"expressionId": ""
},
"id": "fba88f6e-c56f-4420-afdb-0b96734500ed",
"note": ""
}
]
}
},
"lastModified": "2021-10-29T00:46:46.089Z",
"parentNodeId": "2d6a3e9f-23e0-4c9b-bdc6-ddb2781378a0"
},
"clickables": [],
"view": {
"name": "",
"style": ""
},
"inputVariablesConcepts": [],
"nodeSettingOverride": [],
"recoConfirmationBehaviors": [],
"dtmfToEntityValueMapping": [],
"nodeCommandOverrides": [],
"defaultConceptProcessingId": "",
"defaultIntentProcessingId": "672986ac-23c2-45e5-8474-161733759fc7",
"initialProcessingId": "",
"reentryMessageId": "",
"initialMessageProcessingItemId": "310dfa37-16ad-41ba-b3e8-59eeb7654e29",
"timestamp": "2021-10-29T00:46:45.798Z"
}
A question and answer node is the basic node type in dialog applications. It recognizes user input. In a node object literal, the question and answer node element is identified with this key: recognitionNode2
.
Element | Type | Description |
---|---|---|
name |
String | Name of the node (see Naming guidelines) |
description |
String | Description of the node (maximum 1000 characters) |
initialMessage |
Processing item group object | Processing items to perform before recognition |
collectionType |
String | Type of data to collect—for example, INTENT_TYPE , CUSTOM_LIST_TYPE , YES_NO , NUANCE_ORDINAL_NUMBER ; empty for a menu-type entity |
actionConfigurations |
Array of action configurations | Processing items to perform for each entity value or ASR value of a menu-type, yes/no or Boolean entity; empty for list-type entities |
inputManagerReferenceId |
String | UUID of the question router node handling any user input that is not recognized as the entity this question and answer node is to collect, if any; empty if collectionType is INTENT_TYPE |
entityId |
String | UUID of the entity to collect, if any; empty if collectionType is INTENT_TYPE |
recoRecoveryBehaviors |
Array of local recovery behaviors | Local recovery behaviors for handling collection events, such as no match, max no match |
defaultIntentProcessingItem |
Processing item group object | Only present if collectionType is INTENT_TYPE ; processing items to perform after intent recognition |
defaultConceptProcessingItem |
Processing item group object | Only present if collectionType is not INTENT_TYPE ; processing items to perform after entity recognition |
initialProcessingItem |
Processing item group object | Processing items to perform before the value-specific processing items—only present if collectionType is empty, YES_NO or nuance_BOOLEAN |
reentryMessage |
Processing item group object | Optional processing items to perform before recognition—instead of initialMessage —, when the dialog flow reenters this node |
clickables |
Array of interactive elements | Optional interactive elements for values of the entity to collect, if collectionType is CUSTOM_LIST_TYPE , YES_NO or NUANCE_BOOLEAN , and for values of the global command entity for which an override is defined at this node; otherwise, empty |
view |
View object | Formatting information to pass to the client application for messages and interactive elements |
inputVariablesConcepts |
Array of inputs | Key-value pairs representing variables, entities, and other objects to pass on to the client application |
nodeSettingOverride |
Array of node setting overrides | Overrides to the default global settings for this node |
recoConfirmationBehaviors |
Array of local confirmation behaviors | Local behaviors for handling confirmation events, such as a no match, a positive or negative response to a confirmation prompt |
dtmfToEntityValueMapping |
Array of DTMF mappings | Mappings between DTMF keys and values of the entity to collect, if collectionType is CUSTOM_LIST_TYPE , YES_NO or NUANCE_BOOLEAN ; otherwise, empty |
nodeCommandOverrides |
Array of local command overrides | Local handling for specified values of the global command entity |
defaultConceptProcessingId |
String | UUID of defaultConceptProcessingItem |
defaultIntentProcessingId |
String | UUID of defaultIntentProcessingItem |
initialProcessingId |
String | UUID of initialProcessingItem |
reentryMessageId |
String | UUID of reentryMessage |
initialMessageProcessingItemId |
String | UUID of initialMessage |
timestamp |
String | Date and time of the last modification, in this format: YYYY-MM-DD hh:mm:ssZ—for example, 2019-08-21T08:34:27Z |
Action configuration
Maps a value from a finite set of valid values, and the value-specific actions to perform after this value is collected.
Element | Type | Description |
---|---|---|
processingItems |
Processing item group object | Processing items to perform for the entity value (or ASR value) |
processingItemsId |
String | UUID of processingItems |
One of conceptValue or asrValue |
String | Entity value (or ASR value) associated with the processing items |
Local recovery behavior
Local recovery behavior example
{
"id": "9dea0ea8-9269-400e-ab7e-cf7a0ecb05fb",
"event": "nomatch1-prompt",
"escalationLevel": 0,
"processingItems": {
// processing items to perform...
},
"disabledChannelIds": [],
"nodeId": "4a2e1934-cfb5-4d71-9ff6-7076e4c60ba2",
"processingItemId": "0d55acce-0f70-4112-b57e-68678a8dcc68"
}
Represents a local recovery behavior for handling collection events such as no match, max no match.
Element | Type | Description |
---|---|---|
id |
String | UUID of the local behavior |
event |
String | Event ID—nomatch1-prompt , for example |
escalationLevel |
Number | Deprecated (event includes the escalation level) |
processingItems |
Processing item group object | Processing items to perform |
disabledChannelIds |
Array of strings | UUIDs of the channels for which the behavior is disabled at this node for the specified event |
nodeId |
String | UUID of the node |
processingItemsId |
String | UUID of processingItems |
Local confirmation behavior
Local confirmation behavior example
{
"id": "ec54c30c-2b9f-40b6-8161-9b3f6d70758f",
"event": "yes-prompt",
"processingItems": {
// processing items to perform...
},
"disabledChannelIds": ["085dab9e-0f72-46af-bbac-d234e5f4dc0e"],
"nodeId": "f0a76820-dfa3-4ff1-bf53-f9d9221fbffb",
"processingItemsId": "36c4bfee-0b47-4b21-956d-1598bdae4c90"
}
Represents a local behavior for handling confirmation events, such as a no match, a positive or negative response to a confirmation prompt.
Element | Type | Description |
---|---|---|
id |
String | UUID of the local behavior |
event |
String | Event ID—yes-prompt , for example |
processingItems |
Processing item group object | Processing items to perform |
disabledChannelIds |
Array of strings | UUIDs of the channels for which the behavior is disabled at this node for the specified event |
nodeId |
String | UUID of the node |
processingItemsId |
String | UUID of processingItems |
Interactive element
Interactive element example (a Yes button)
{
"id": "34c60614-4c9e-43c5-8931-e9ee17d7ebb5",
"order": 0,
"entityValue": "yes",
"clickableDescription": "The Yes button",
"imageUrl": "https://my.image.com/icon-check.png",
"label": "YES",
"channel": "2f15016c-8809-48ec-9103-4f6673aa371e",
"language": "en-US",
"enabled": true,
"entityId": "b1cb5c79-0640-4220-91b6-a1bdd59e08e7"
}
Represents an element the user can click to answer a question.
Element | Type | Description |
---|---|---|
id |
String | UUID of the interactive element |
order |
Number | Sequence number of the interactive element |
entityValue |
String | Value collected for the entity when a user clicks this element |
clickableDescription |
String | Description of the interactive element—optional |
imageUrl |
String | Link (URL or relative path) for an image to show on the interactive element—optional if label is specified |
label |
String | Text label for the interactive element—optional if imageUrl is specified |
channel |
String | Channel for the interactive element |
language |
String | Language of the interactive element, as a 4-letter language code (for example, en-US )—refer to Languages and Voices for the list of languages available in the current version of Nuance Mix |
enabled |
Boolean | true if the interactive element is enabled; otherwise, false |
entityId |
String | UUID of the global command entity, if this interactive element is for a local command override; otherwise, UUID of the entity being collected at this question and answer node |
View
Represents formatting information to pass to the client application for messages and interactive elements in question and answer nodes, and for messages in message nodes and in data access nodes.
Element | Type | Description |
---|---|---|
name |
String | Type of message or interactive element (such as Buttons, List, or Carousel) |
style |
String | Name of a class or inline CSS code to format the message or the interactive elements |
DTMF mapping
DTMF mapping example
{
"id": "2c9fbbdb-23dc-44ee-8f57-b3dcc6719395",
"nodeId": "4e2de976-63a8-41f5-854c-7f8bfabf8d42",
"channelId": "df1789df-7329-4472-8b1f-3d731affb4a7",
"dtmfValue": "9",
"entityValue": "DIRECTORY",
"entityId": "7b6c37d9-36d7-4b28-abe5-a7329724be51"
}
Represents the mapping between a DTMF key and a value of the entity to collect at this node—or a value of the global command entity (for a local command override).
Element | Type | Description |
---|---|---|
id |
String | UUID of the mapping |
nodeId |
String | UUID of the node |
channelId |
String | UUID of the channel for the mapping |
dtmfValue |
String | DTMF key being mapped |
entityValue |
String | Entity value being mapped |
entityId |
String | UUID of the global command entity, if this mapping is for a local command override; otherwise, UUID of the entity being collected at this question and answer node |
Node setting override
Node setting override example
{
"id": "d6720d24-2147-4d94-bb8f-58f46f746268",
"nodeId": "a543a69f-c83c-4216-8dc9-0442dd2e7d53",
"settingType": "SPEECH_SETTINGS",
"channelId": "390c240c-3bb7-40db-bff1-11b59131a434",
"value": "false",
"settingName": "bargein",
"language": ""
}
Represents an override to the global settings defaults for a specific question and answer node, for a message node, or for a data access node.
Element | Type | Description |
---|---|---|
id |
String | UUID of the setting override |
nodeId |
String | UUID of the node |
settingType |
String | Setting category—one of: COLLECTION_SETTINGS , CONFIRMATION_SETTINGS , DTMF_SETTINGS , TTS_SETTINGS , SPEECH_SETTINGS , CONVERSATION_SETTINGS , AUDIO_SETTINGS , GRAMMAR_SETTINGS , DATA_ACCESS_SETTINGS , DATA_PRIVACY_SETTINGS |
channelId |
String | UUID of the channel for the override |
value |
String | Override value |
settingName |
String | Name of the setting |
language |
String | Language to which the override applies, as a 4-letter language code (for example, en-US )—refer to Languages and Voices for the list of languages available in the current version of Nuance Mix |
Local command override
Local command override example
{
"id": "6600fa54-4a36-45df-a9db-f42b8f57a9b5",
"nodeId": "1bbfdc61-da14-41af-a0b1-053c634a4e41",
"entityId": "64f0af61-8977-4ac6-bf7b-a391bcc860e7",
"entityValue": "agent",
"processingItems": {
// processing items to perform...
},
"enabled": true,
"processingItemsId": "788bb74a-39da-4d62-914f-b309c3fe3413"
}
Represents the local handling for a value of the global command entity at this node.
Element | Type | Description |
---|---|---|
id |
String | UUID of the override |
nodeId |
String | UUID of the node |
entityId |
String | UUID of the global command entity (same as globalCommandsEntityId in Project) |
entityValue |
String | Entity value being overridden |
processingItems |
Processing item group object | Processing items to perform |
enabled |
Boolean | true if local handling is enabled for the specified value of the global command entity; otherwise, false |
processingItemsId |
String | UUID of processingItems |
Message node
Message node example
{
"name": "Welcome",
"description": "",
"processingItems": {
"id": "e9a92c7c-897c-440b-ad8a-1993a125dcac",
"channelProcessingItemsMap": {
"3dd48643-aa14-4914-9776-e41d0cc76de2": {
"processingItems": [{
"condition": {
"id": "b761319f-a434-4d20-b0d6-062125bc7330",
"statementType": "ALWAYS_TYPE",
"processingItems": [{
"promptGroup": {
"id": "43053089-421e-4c3f-be0e-04e01fbcef11",
"name": "welcome_to_coffee_prince",
"prompts": [{
"payload": {
"displayText": "Welcome to Coffee Prince!",
"ttsText": "",
"audioFile": "",
"displayTextAnnotations": [],
"ttsTextAnnotations": [],
"ttsAudioBackup": "",
"ttsAudioBackupAnnotations": []
},
"language": "en-US",
"channel": "3dd48643-aa14-4914-9776-e41d0cc76de2",
"lastModified": "2020-12-29T19:49:03.934Z"
}
],
"audioFileId": "",
"bargeinDisabled": false,
"lastModified": "2021-11-01T22:04:04.083Z"
},
"id": "82ab2b7c-d8ec-4760-b654-f481cf092355",
"note": "",
"promptGroupId": "43053089-421e-4c3f-be0e-04e01fbcef11"
}
],
"expressionId": ""
},
"id": "d792b25f-088f-4e8d-bcfc-776f27c394bd",
"note": ""
}, {
"condition": {
"id": "e36d95a7-c256-490a-972b-8552026ef96e",
"statementType": "ALWAYS_TYPE",
"processingItems": [{
"transition": {
"id": "e199fe4f-407c-4635-873d-b900c508f716",
"transitionType": "GO_TO",
"eventId": "",
"label": "Always",
"eventLog": "",
"nodeId": "09fc6928-b9b3-4a87-978c-ac31cfefd3a6"
},
"id": "1d6bd040-f780-4210-bf68-7dc792a53331",
"note": ""
}
],
"expressionId": ""
},
"id": "5fa9e30f-d9fc-4779-bbcd-7ce0d164fa30",
"note": ""
}
]
}
},
"lastModified": "2020-12-29T19:48:44.710Z",
"parentNodeId": "869d6d38-d640-4a4d-865a-28dd18babe09"
},
"view": {
"name": "",
"style": ""
},
"nodeSettingOverride": [],
"processingItemsId": "e9a92c7c-897c-440b-ad8a-1993a125dcac",
"timestamp": "2020-12-29T19:48:44.978Z"
}
A message node is used to play or display a message. In a node object literal, the message node element is identified with this key: messageNode
.
Element | Type | Description |
---|---|---|
name |
String | Name of the node (see Naming guidelines) |
description |
String | Description of the node (maximum 1000 characters) |
processingItems |
Processing item group object | List of processing items |
view |
View object | Formatting information to pass to the client application for messages—supported via Dialog gRPC API only |
nodeSettingOverride |
Array of node setting overrides | Indicates whether barge-in is disabled at this message node; otherwise, empty |
processingItemsId |
String | UUID of the processing item group |
timestamp |
String | Date and time of the last modification |
Decision node
Decision node example
{
"name": "Check if special coffee types were returned",
"description": "",
"processingItems": {
"id": "ce6277a4-ddb6-4d62-9c12-c76c51c4ada1",
"channelProcessingItemsMap": {
"f75a11d1-aea7-474f-aed2-45e34baa52a4": {
"processingItems": [{
"condition": {
"id": "e77de595-920e-4d52-8b30-c02ddffc6acc",
"statementType": "IF_TYPE",
"expression": {
"id": "1c052b41-7c4a-4302-9103-0e6c64d2e181",
"leftVariable": {
"id": "7b99d7f5-96d5-43b8-8d55-584bdc6b93de",
"name": "coffeeTypesSpecial",
// ...
"simpleVariableType": "DYNAMIC_ENTITY_DATA",
"timestamp": "2020-07-23T00:05:04.622Z"
},
"relationalOperator": "NOT_EQUAL_OPERATOR",
"lastModified": "2020-07-23T00:05:04.674Z",
"rightSpecialOperand": "NULL",
"leftVariableId": "7b99d7f5-96d5-43b8-8d55-584bdc6b93de"
},
"processingItems": [{
"action": {
"assign": {
"lhsVariable": {
"id": "d01be426-5e80-4b2b-8deb-cda3acc83159",
"name": "gotSpecial",
"description": "Look up special coffee types (once per session)",
"possibleValues": ["true", "false"],
// ...
"simpleVariableType": "BOOLEAN_TYPE",
"timestamp": "2020-07-23T00:05:04.603Z"
},
"constant": "true",
"lhsVariableId": "d01be426-5e80-4b2b-8deb-cda3acc83159"
}
},
"id": "c49b2c3e-32b2-4c50-b8d9-8d693673ac24",
"note": ""
}
],
"expressionId": "1c052b41-7c4a-4302-9103-0e6c64d2e181"
},
"id": "7e3ef03a-ebb7-485d-ab5a-f1c427d50488",
"note": ""
}, {
"condition": {
"id": "6925e82b-eff7-4f13-bf02-3273c0f08094",
"statementType": "ALWAYS_TYPE",
"processingItems": [{
"transition": {
"id": "8ce216e6-66e1-44ca-844e-9ae567ae625b",
"transitionType": "GO_TO",
"eventId": "",
"label": "GoTo",
"eventLog": "",
"nodeId": "0e9370d2-2ad9-41fd-833b-57b4afa57b60"
},
"id": "b9f6226c-c1f9-4aa1-b549-31ebf8cd578b",
"note": ""
}
],
"expressionId": ""
},
"id": "757e0ae7-8f77-433a-adb6-51cd33ab4c89",
"note": ""
}
]
}
},
"lastModified": "2020-07-23T00:05:10.120Z",
"parentNodeId": "a448428e-a6cc-4539-9e00-c441247226fb"
},
"processingItemsId": "ce6277a4-ddb6-4d62-9c12-c76c51c4ada1",
"timestamp": "2020-07-23T00:05:10.176Z"
}
In a decision node, the application applies logic or conditions to determine what to do next, without doing a data access call, and without speaking/providing output to the user. In a node object literal, the decision node element is identified with this key: decisionNode
.
Element | Type | Description |
---|---|---|
name |
String | Name of the node (see Naming guidelines) |
description |
String | Description of the node (maximum 1000 characters) |
processingItems |
Processing item group object | Processing items to perform |
processingItemsId |
String | UUID of the processing item group |
timestamp |
String | Date and time of the last modification, in this format: YYYY-MM-DD hh:mm:ssZ—for example, 2019-08-21T08:34:27Z |
Data access node
Data access node example
{
"name": "getCoffeePrice",
"description": "",
"outputVariables": [{
"id": "47261b77-e96a-426d-a625-c7b6c7f2b405",
"name": "priceAmount",
// ...
"simpleVariableType": "AMOUNT_TYPE",
"timestamp": "2021-03-25T23:16:20.760Z"
}
],
"processingItems": {
"id": "bfc0b157-2336-4802-9335-01dec0e34a1c",
"channelProcessingItemsMap": {
"eba94447-9060-4b17-b0ef-b0981b273a40": {
"processingItems": [{
"promptGroup": {
"id": "3b8bf2e9-8318-4db4-b6df-9acc726c4286",
"name": "please_wait",
"prompts": [
// details of the latency message...
],
"audioFileId": "getCoffeePrice_out_01",
"bargeinDisabled": false,
"lastModified": "2021-11-01T22:22:37.727Z"
},
"id": "6bcc1b8b-cbef-4543-8038-70c848afdf82",
"note": "",
"promptGroupId": "3b8bf2e9-8318-4db4-b6df-9acc726c4286"
}
]
}
},
"lastModified": "2021-08-26T21:15:41.169Z",
"parentNodeId": "0c9dab87-670a-42de-b4a1-38d2d052ac6c"
},
"serviceName": "getCoffeePrice",
"externalFetchEnabled": false,
"successNodeId": "f4041e98-688c-470c-8713-cd56a0e830f7",
"failureNodeId": "8037e018-9b53-4f58-ab91-edb96d707018",
"inputVariablesConcepts": [{
"concept": {
"id": "8e675ac5-1955-4cf1-b754-689e2c11f043",
"projectId": "24420",
"name": "COFFEE_TYPE",
// ...
},
"conceptId": "8e675ac5-1955-4cf1-b754-689e2c11f043"
}, {
"concept": {
"id": "715740fb-41af-4f01-bef0-358e32366756",
"projectId": "24420",
"name": "COFFEE_SIZE",
// ...
},
"conceptId": "715740fb-41af-4f01-bef0-358e32366756"
}
],
"urlExtension": "",
"fetchTimeout": 0,
"connectTimeout": 0,
"methodType": "NOT_SET",
"sourceExpression": "",
"headers": {},
"view": {
"name": "indicator",
"style": "progress"
},
"backendConfig": {
"id": "",
"urlExtension": "/coffee/price",
"fetchTimeout": 0,
"connectTimeout": 0,
"method": "POST",
"dressName": "522",
"headers": [{
"key": "mytoken",
"variable": {
"id": "b25fa304-1f04-4213-afc5-b90586574d29",
"name": "myToken",
// ...
"simpleVariableType": "STRING_TYPE",
"timestamp": "2021-03-30T16:49:43.391Z"
},
"variableId": "b25fa304-1f04-4213-afc5-b90586574d29"
}, {
"key": "apikey",
"constant": "5678"
}
],
"dressAliasId": "522"
},
"nodeSettingOverride": [],
"processingItemsId": "bfc0b157-2336-4802-9335-01dec0e34a1c",
"outputVariableIds": ["47261b77-e96a-426d-a625-c7b6c7f2b405"],
"timestamp": "2021-08-26T21:49:34.309Z"
}
A data access node exchanges information with an external system, typically by retrieving information from a database or application. In a node object literal, the data access node element is identified with this key: dataAccessNode
.
Element | Type | Description |
---|---|---|
name |
String | Name of the node (see Naming guidelines) |
description |
String | Description of the node (maximum 1000 characters) |
outputVariables |
Array of variables | One or more variables to be returned by the backend system |
processingItems |
Processing item group object | Data access latency message (maximum one static message, that is, a single prompt group and no annotations in the prompt payloads |
serviceName |
String | Deprecated |
externalFetchEnabled |
Boolean | true if the data access layer uses an external service to exchange data (client-side integration); otherwise, false (server-side integration) |
successNodeId |
String | UUID of the node to transition to if the query to the backend system succeeded |
failureNodeId |
String | UUID of the node to transition to if the query to the backend system query failed |
inputVariablesConcepts |
Array of inputs | Key-value pairs representing variables, entities, and other objects to pass on to a backend system |
urlExtension |
String | Deprecated |
fetchTimeout |
Number | Deprecated |
connectTimeout |
Number | Deprecated |
methodType |
String | Deprecated |
sourceExpression |
String | Deprecated |
headers |
String | Deprecated |
view |
View object | Formatting information to pass to the client application for the latency message |
backendConfig |
Backend connection data object | Information required by the dialog service to interact directly with a backend system—used when externalFetchEnabled is false (server-side integration) |
nodeSettingOverride |
Array of node setting overrides | Overrides to the default global settings for this node |
processingItemsId |
String | UUID of the processing item group |
outputVariableIds |
Array | UUIDs of the variables to be returned by the backend system |
timestamp |
String | Date and time of the last modification, in this format: YYYY-MM-DD hh:mm:ssZ—for example, 2019-08-21T08:34:27Z |
Backend connection data
Represents the information to access a backend web service from a data access node.
Element | Type | Description |
---|---|---|
id |
String | Not used |
urlExtension |
String | URL extension (maximum 2000 characters) |
fetchTimeout |
Number | Fetch timeout in milliseconds (default: 0) |
connectTimeout |
Number | Connection timeout in milliseconds (default: 0) |
method |
String | Method; one of: POST , GET , PUT , DELETE , PATCH , NOT_SET (default) |
dressName |
String | Deprecated (superseded by dressAliasId) |
headers |
Array of headers | Headers used to query the backend system |
dressAliasId |
String | Numeric ID of the connection profile for the backend system |
Header
Represents a header in the backend connection data for a data access node, or in a backend connection preset.
Element | Type | Description |
---|---|---|
key |
String | Name of the header |
header | Object | Key-value pair representing one of the supported header types. |
variableId |
String | Only present for headers of type variable —UUID of the variable |
variableExpressionId |
String | Only present for headers of type variableExpression —UUID of the complex variable field |
Supported header types
Element key | Value type | Description |
---|---|---|
constant |
String | Static header data (maximum 2048 characters) |
variable |
Variable object | Variable used as dynamic header data |
variableExpression |
Variable expression object | Complex variable field, used as dynamic header data |
Supported input types
Represents information to send to a backend system (from a data access node) or to the client application (from an external actions node or from a question and answer node).
Element key | Value type | Description |
---|---|---|
variable |
Variable | Variable to pass on to the backend system |
variableId |
String | Only present for inputs of type variable —UUID of the variable |
concept |
Entity | Entity to pass on to the backend system |
conceptId |
String | Only present for inputs of type concept —UUID of the entity |
intent |
String | One of: INTENT_VALUE (active intent value), INTENT_LITERAL (active intent literal), INTENT_FORMATTED_LITERAL (formatted version of the active intent literal), INTENT_CONFIDENCE (active intent confidence score) |
specialOperand |
String | One of: LAST_COLLECTION_INTERPRETATION (last collection interpretation), LAST_CONFIRMATION_INTERPRETATION (last confirmation interpretation) |
Question router node
Question router node example
{
"name": "Get order details",
"description": "Skip size for ristretto",
"initialTransition": {
"id": "9e800627-6dd6-4192-b916-af290c340b9d",
"channelProcessingItemsMap": {
//...
}
},
"lastModified": "2020-12-29T19:48:51.200Z",
"parentNodeId": "ddc68564-d074-4345-93b2-fb2fdc17cf7d"
},
"finalTransition": {
"id": "fdfa1eaa-17cf-4871-b1a4-e19b67acef05",
"channelProcessingItemsMap": {
"3dd48643-aa14-4914-9776-e41d0cc76de2": {
"processingItems": [{
"transition": {
"id": "317134e6-9194-4238-932a-b18e359bd8c6",
"transitionType": "GO_TO",
"eventId": "",
"label": "Complete",
"eventLog": "",
"nodeId": "8994cdd2-75a4-4927-bac0-156721f3f537"
},
"id": "6c0c6487-1e7b-4f4d-bfd6-19a85b9b92b4",
"note": ""
}
]
}
},
"lastModified": "2020-12-29T19:48:51.421Z",
"parentNodeId": "ddc68564-d074-4345-93b2-fb2fdc17cf7d"
},
"concepts": [{
"conceptId": "8ec8243b-ca58-4829-b4b8-e2c154b8b1f2",
"collectGotoNodeId": "1fcb3fa2-67ca-4ceb-b7e2-f09e3178762c",
"processGotoNodeId": "1fcb3fa2-67ca-4ceb-b7e2-f09e3178762c",
"conceptName": "",
"manualComplete": false
}, {
"conceptId": "e6b354ea-91f4-4b40-bdcd-13e41e79a9a6",
"collectGotoNodeId": "8b7fd379-7838-4e73-b8a7-b84e76e222ee",
"processGotoNodeId": "8b7fd379-7838-4e73-b8a7-b84e76e222ee",
"conceptName": "",
"manualComplete": false
}
],
"intentSwitchingDisabled": false,
"intentSwitchTransition": {
"id": "966451b8-c49b-4cd2-9271-5d334db45104",
"transitionType": "RETURN_TO_INTENT_MAPPER",
"eventId": "",
"label": "Intent Switch",
"eventLog": ""
},
"intentSwitchTransitionId": "966451b8-c49b-4cd2-9271-5d334db45104",
"initialTransitionId": "9e800627-6dd6-4192-b916-af290c340b9d",
"finalTransitionId": "fdfa1eaa-17cf-4871-b1a4-e19b67acef05",
"timestamp": "2021-09-29T00:05:35.473Z"
}
A question router node specifies multiple pieces of information to be collected and determines the next node in the dialog flow, based on the information collected so far. In a node object literal, the question router node element is identified with this key: controllerNode
.
Element | Type | Description |
---|---|---|
name |
String | Name of the node (see Naming guidelines) |
description |
String | Description of the node (maximum 1000 characters) |
initialTransition |
Processing item group object | Optional transition to execute prior to collection |
finalTransition |
Processing item group object | Mandatory transition specifying where the flow will proceed after collection is completed |
concepts |
Array of entity references | Entities to handle |
intentSwitchingDisabled |
Boolean | true if intent switching is disabled; otherwise, false (default) |
intentSwitchTransition |
Transition | Transition to execute when intent switching is detected, and intentSwitchingDisabled is false |
intentSwitchTransitionId |
String | UUID of the intent switch transition |
initialTransitionId |
String | UUID of the initial transition |
finalTransitionId |
String | UUID of the final transition |
timestamp |
String | Date and time of the last modification, in this format: YYYY-MM-DD hh:mm:ssZ—for example, 2019-08-21T08:34:27Z |
Entity reference
Represents an entity to handle in a question router node.
Element | Type | Description |
---|---|---|
conceptId |
String | UUID of the entity |
collectExpression |
Expression object | Optional expression used to determine that the question router node must not skip collection for the entity |
collectGotoNodeId |
String | UUID of the node to go to for collecting the entity |
processExpression |
Expression object | Optional expression used to perform after collection |
processGotoNodeId |
String | UUID of the node to go to after collection |
multiConceptExpression |
Expression object | Optional expression used to determine if the question router node must support multiple mentions for the entity |
collectExpressionId |
String | UUID of collectExpression |
processExpressionId |
String | UUID of processExpression |
multiConceptExpressionId |
String | UUID of multiConceptExpression |
conceptName |
String | Name of the entity—legacy element, supported for backward compatibility only |
manualComplete |
Boolean | false (default) if the question router node automatically sets completion status and confirmation status for the entity; otherwise, true |
Intent mapper node
Intent mapper node example
{
"name": "Intent Mapper",
"description": "",
"intentMappings": [{
"id": "d597a039-a746-42f3-8343-a658eb944baf",
"nodeId": "77ecb0e0-a448-4f73-8238-adf5a27b9ee3",
"intentId": "fe8d8016-5019-4ac5-b053-693eee193b8e",
"destination": {
"nodeId": "474409e6-afff-49d9-beca-be3e66ac60f2"
}
}
],
"transition": {
"id": "b9b861b5-aad9-4a03-9e91-7d64a2275e79",
"transitionType": "GO_TO",
"eventId": "",
"label": "On Return",
"eventLog": "",
"nodeId": "b6e15b24-3860-43d0-9f50-30fcd80fa019"
},
"transitionId": "b9b861b5-aad9-4a03-9e91-7d64a2275e79",
"timestamp": "2021-09-16T20:11:43.669Z"
}
The intent mapper node handles data for NLU/call routing menus. In a node object literal, the intent mapper node element is identified with this key: intentMapperNode2
.
Element | Type | Description |
---|---|---|
name |
String | Name of the node (see Naming guidelines) |
description |
String | Description of the node (maximum 1000 characters) |
intentMappings |
Array of node intent mappings | Intent mappings specific to this intent mapper node (override any corresponding global intent mappings) |
transition |
Transition object | Specifies what happens when the dialog flow returns from a mapped component after the interaction associated with a specific intent is complete |
transitionId |
String | UUID of the transition to perform upon return from a mapped component |
timestamp |
String | Date and time of the last modification, in this format: YYYY-MM-DD hh:mm:ssZ—for example, 2019-08-21T08:34:27Z |
Node intent mapping
Node intent mapping example
{
"id": "95573456-5c8e-4de1-93e2-190fe13a80a7",
"nodeId": "5b5fb24c-8bcb-4c88-bbf5-136f861724cb",
"intentId": "3478f442-8f6e-483d-8efd-8cb53208c49e",
"destination": {
"componentId": "ae6c8b59-f7bf-4bae-824f-0ed4e054f35a"
}
}
Represents the local mapping of one intent to a component or node set in an intent mapper node.
Element | Type | Description |
---|---|---|
id |
String | UUID of the mapping |
nodeId |
String | UUID of the Intent mapper node |
intentId |
String | UUID of the intent being mapped |
destination |
Mapping destination object | Key-value pair mapping the intent and a component or node |
Node intent mapping destination
Intent mapping destination example
{
"componentId": "ae6c8b59-f7bf-4bae-824f-0ed4e054f35a"
}
Dialog models support these destination types for node-level intent mapping overrides:
Element key | Value type | Description |
---|---|---|
componentId |
String | UUID of a component |
nodeId |
String | UUID of a node |
Component call node
Component call node example
{
"name": "Call USER_AUTH",
"description": "",
"componentId": "d702cadc-f8f2-4689-a075-5592361cad07",
"processingItems": {
"id": "667b70e9-6e46-4d78-8fba-9952f5a02ec0",
"channelProcessingItemsMap": {
"3dd48643-aa14-4914-9776-e41d0cc76de2": {
"processingItems": [{
"condition": {
"id": "1ade84da-87bc-44b9-ae24-4103c166853f",
"statementType": "ALWAYS_TYPE",
"processingItems": [{
"transition": {
"id": "e5a361a6-b167-4ca7-a017-c15b3e5a881e",
"transitionType": "GO_TO",
"eventId": "",
"label": "On Return",
"eventLog": "",
"nodeId": "09fc6928-b9b3-4a87-978c-ac31cfefd3a6"
},
"id": "ccedabf6-96a2-4ed8-bccf-fcebdf94bc5a",
"note": ""
}
],
"expressionId": ""
},
"id": "06d15b4c-f8ac-4794-add1-27970ffba3e5",
"note": ""
}
]
}
},
"lastModified": "2021-07-21T20:02:35.139Z",
"parentNodeId": "9f9e92c3-73b1-4e00-b45a-a4dd8fa34ea0"
},
"processingItemsId": "667b70e9-6e46-4d78-8fba-9952f5a02ec0",
"timestamp": "2021-07-21T20:02:00.036Z"
}
A component call node allows a dialog flow to enter another component and is also the point of return from that component. In a node object literal, the component call node element is identified with this key: componentNode
.
Element | Type | Description |
---|---|---|
name |
String | Name of the node (see Naming guidelines) |
description |
String | Description of the node (maximum 1000 characters) |
componentId |
String | UUID of the component to invoke |
processingItems |
Processing item group object | Processing items to perform upon return from the component (supports elements of type transition only) |
processingItemsId |
String | UUID of the processing item group |
timestamp |
String | Date and time of the last modification, in this format: YYYY-MM-DD hh:mm:ssZ—for example, 2019-08-21T08:34:27Z |
Start or Enter node
Start node example
{
"name": "start",
"description": "",
"processingItems": {
"id": "9d5f2ee8-f731-4afe-827d-2bfa7ed433df",
"channelProcessingItemsMap": {},
"lastModified": "2020-12-29T19:48:49.062Z",
"parentNodeId": "a1037e8e-909e-4a42-88df-d1c0cf2334e9"
},
"nodeId": "869d6d38-d640-4a4d-865a-28dd18babe09",
"processingItemsId": "9d5f2ee8-f731-4afe-827d-2bfa7ed433df",
"timestamp": "2020-12-29T19:48:49.305Z"
}
The Start node represents the beginning of an application, and an Enter node represents the beginning of a component. In a node object literal, the Start node and the Enter node are both identified with this key: startNode
.
Element | Type | Description |
---|---|---|
name |
String | Name of the node (always “start”) |
description |
String | Description of the node (maximum 1000 characters) |
processingItems |
Processing item group object | Processing items to perform (supports elements of type action only) |
nodeId |
String | UUID of the next node in the dialog flow |
processingItemsId |
String | UUID of the processing item group |
timestamp |
String | Date and time of the last modification, in this format: YYYY-MM-DD hh:mm:ssZ—for example, 2019-08-21T08:34:27Z |
External actions node
External actions node example
{
"inputVariablesConcepts": [],
"outputVariables": [],
"successTransition": {
"id": "e41a0034-9f9f-4502-9daf-476fce3c746f",
"transitionType": "GO_TO",
"eventId": "",
"label": "Success",
"eventLog": "",
"nodeId": "65f2dfbd-ce07-43ac-8472-83a60c2e36e7"
},
"failureTransition": {
"id": "68047f5f-cac4-4fc4-9724-65069017f819",
"transitionType": "GO_TO",
"eventId": "",
"label": "Failure",
"eventLog": "",
"nodeId": "9abad8bd-da58-4484-9a73-f348048a8d3d"
},
"name": "Transfer",
"actionType": "ESCALATE",
"description": "",
"successTransitionId": "e41a0034-9f9f-4502-9daf-476fce3c746f",
"failureTransitionId": "68047f5f-cac4-4fc4-9724-65069017f819",
"outputVariableIds": [],
"timestamp": "2020-07-28T01:29:59.225Z"
}
The external actions node represents actions to be performed when ending a conversation, transferring to another system, or escalating to a live agent. In a node object literal, the external actions node element is identified with this key: externalactionNode
.
Element | Type | Description |
---|---|---|
name |
String | Name of the node (see Naming guidelines) |
actionType |
String | Either END or ESCALATE |
description |
String | Description of the node (maximum 1000 characters) |
inputVariablesConcepts |
Array of inputs | Key-value pairs representing variables, entities, and other objects to pass on to the client application |
outputVariables |
Array of variables | One or more variables to be returned by the client application |
successTransition |
Transition object | Only present if actionType is ESCALATE ; transition to perform if the client application returns with a success status |
failureTransition |
Transition object | Only present if actionType is ESCALATE ; transition to perform if the client application returns with a failure status—Not yet supported |
successTransitionId |
String | UUID of the transition to perform if the client application returns with a success status |
failureTransitionId |
String | UUID of the transition to perform if the client application returns with a failure status |
outputVariableIds |
Array | UUIDs of the variables to be returned by the client application |
timestamp |
String | Date and time of the last modification, in this format: YYYY-MM-DD hh:mm:ssZ—for example, 2019-08-21T08:34:27Z |
End node
The end node is a deprecated element, supported for backward compatibility only. Use external actions nodes instead. In a node object literal, the end node element is identified with this key: endNode
.
Transfer node
The transfer node is a deprecated element, supported for backward compatibility only. Use external actions nodes instead. In a node object literal, the transfer node element is identified with this key: transferNode
.
Variable
Variable example
{
"id": "0c124392-a104-4bda-ae1f-68f05814d0fb",
"name": "isFirstTime",
"description": "",
"possibleValues": ["true", "false"],
"uiDefaultValue": "",
"isReserved": false,
"masked": false,
"reportingType": "REPORTING_TYPE_NONE",
"simpleVariableType": "BOOLEAN_TYPE",
"timestamp": "2021-09-10T02:55:03.025Z"
}
Represents a variable used in the project.
Element | Type | Description |
---|---|---|
id |
String | UUID of the variable |
name |
String | Name of the variable (see Naming guidelines) |
description |
String | Description of the variable (maximum 255 characters) |
possibleValues |
Array of strings | Valid values for the variable—Not yet supported in Mix.dialog |
uiDefaultValue |
String | Value to be used during preview in the in Mix.dialog Try tab |
isReserved |
Boolean | true for reserved variables; otherwise, false |
masked |
Boolean | true for sensitive variables to be masked in application logs; otherwise, false |
reportingType |
String | One of the supported reporting properties |
simpleVariableType |
String | Only present for defined simple variables; one of the supported variable types |
simpleGenericType |
String | Only present for variables where simpleVariableType is LIST_TYPE ; indicates the type of the items in the list |
complexGenericTypeId |
String | Only present for variables where simpleVariableType is LIST_TYPE , and the list items are complex variables; UUID of the schema for the items in the list |
complexVariableTypeId |
String | Only present for complex variables; UUID of the schema for this complex variable |
timestamp |
String | Date and time of the last modification, in this format: YYYY-MM-DD hh:mm:ssZ—for example, 2019-08-21T08:34:27Z |
Supported variable types
Dialog models support these types of variables:
Value | Type |
---|---|
STRING_TYPE |
String |
ALPHANUM_TYPE |
String of alphanumeric characters |
DIGITS_TYPE |
String of digits |
BOOLEAN_TYPE |
Boolean |
INTEGER_TYPE |
Integer |
DECIMAL_TYPE |
Decimal-point number |
AMOUNT_TYPE |
Amount, including currency (example: “USD 234.56”) |
DATE_TYPE |
Date, in this format: YYYYMMDD (example: “20201030”) |
TIME_TYPE |
Time, in this format: HHMM (example: “2359”) |
DISTANCE_TYPE |
Distance, including unit and modifier (example: “123.4567 km LT”) |
TEMPERATURE_TYPE |
Temperature, including unit (examples: “-12.3 C”, “273.15 K”) |
LIST_TYPE |
List |
DYNAMIC_ENTITY_DATA |
Dynamic entity data—not supported for list items and schema fields |
Supported reporting properties
Variables in dialog models support these reporting properties:
Value | Description |
---|---|
REPORTING_TYPE_NONE |
Not marked with a reporting property (default), or marked as sensitive (if masked is also true ) |
ATTRIBUTE_TYPE |
Marked as an attribute—Supported for simple variables only |
METRIC_TYPE |
Marked as a metric—Supported for simple variables only |
DIMENSION_TYPE |
Marked as a dimension—Supported for simple variables only |
Schema
Schema example
{
"id": "5f044809-ffad-44cc-ad58-773d6b04bcd3",
"name": "myOrder",
"description": "item, quantity, unitPrice, isReady",
"fields": [
// one or more variables...
],
"isReserved": false
}
Represents a complex variable schema in the project.
Element | Type | Description |
---|---|---|
id |
String | UUID of the schema |
name |
String | Name of the schema (see Naming guidelines) |
description |
String | Description of the schema (maximum 255 characters) |
fields |
Array of variables | One or more variables |
isReserved |
Boolean | True for a reserved schema (for example, DynamicMessageReference); otherwise, false |
Prompt group
Prompt group example
{
"id": "0e1f1917-01cd-4779-a07d-db6963d0d95e",
"name": "what_can_i_get_you_today?",
"prompts": [{
"payload": {
"displayText": "What can I get you today?",
"ttsText": "How may I help you?",
"audioFile": "",
"displayTextAnnotations": [],
"ttsTextAnnotations": [],
"ttsAudioBackup": "",
"ttsAudioBackupAnnotations": []
},
"language": "en-US",
"channel": "752f65fd-7215-4083-ad29-7fd8bf5ae38a",
"lastModified": "2020-09-14T03:17:19.565Z"
}
],
"audioFileId": "",
"bargeinDisabled": false,
"lastModified": "2020-09-14T05:40:26.962Z"
}
Represents a group of related prompts used in the project.
Element | Type | Description |
---|---|---|
id |
String | UUID of the prompt group |
name |
String | Name of the prompt group (see Naming guidelines) |
prompts |
Array of prompts | Prompts in the prompt group |
audioFileId |
String | Name of the audio file to play for the Audio Script modality (maximum 255 characters, see Naming guidelines)—the file extension is determined in the project settings |
bargeinDisabled |
Boolean | false if barge-in is enabled for this prompt group (default); otherwise true |
lastModified |
String | Date and time of the last modification, in this format: YYYY-MM-DD hh:mm:ssZ—for example, 2019-10-17T20:55:38.488Z |
Prompt
Prompt example
{
"payload": {
"displayText": "What can I get you today?",
"ttsText": "How may I help you?",
"audioFile": "",
"displayTextAnnotations": [],
"ttsTextAnnotations": [],
"ttsAudioBackup": "",
"ttsAudioBackupAnnotations": []
},
"language": "en-US",
"channel": "752f65fd-7215-4083-ad29-7fd8bf5ae38a",
"lastModified": "2020-09-14T03:17:19.565Z"
}
Represents a prompt in a prompt group.
Element | Type | Description |
---|---|---|
payload |
Prompt payload object | Payload of the prompt |
language |
String | Locale of the prompt, as a 4-letter language code (for example, en-US )—refer to Languages and Voices for the list of languages available in the current version of Nuance Mix |
channel |
String | UUID of the channel |
lastModified |
String | Date and time of the last modification, in this format: YYYY-MM-DD hh:mm:ssZ—for example, 2019-10-17T20:55:38.488Z |
Prompt payload
Prompt payload example
{
"displayText": "What can I get you today?",
"ttsText": "How may I help you?",
"audioFile": "",
"displayTextAnnotations": [],
"ttsTextAnnotations": [],
"ttsAudioBackup": "",
"ttsAudioBackupAnnotations": []
}
Represents the payload of a prompt.
Element | Type | Description |
---|---|---|
displayText |
String | Text to display; the string may include dynamic placeholders in this format: [placeholder text|uuid of a variable] , where the variables are listed in the displayTextAnnotations element |
ttsText |
String | Text to render using text-to-speech; the string may include dynamic placeholders in this format: [placeholder text|uuid of a variable] , where the variables are listed in the ttsTextAnnotations element |
audioFile |
String | Deprecated |
displayTextAnnotations |
Array of annotations | Dynamic content to include in the text to display |
ttsTextAnnotations |
Array of annotations | Dynamic content to render using text-to-speech |
ttsAudioBackup |
String | Backup text to render using text-to-speech when the specified audio file is unavailable; the string may include dynamic placeholders in this format: [placeholder text|uuid of a variable] , where the variables are listed in the ttsAudioBackupAnnotations element |
ttsAudioBackupAnnotations |
Array of annotations | Dynamic content to include in the audio backup text |
Annotation
Annotation example for a simple variable of type string
{
"variable": {
"id": "5b8382ef-ce06-45e3-9c2b-e488ffd745c2",
"name": "customerFirstName",
"description": "",
"possibleValues": [],
"uiDefaultValue": "",
"simpleVariableType": "STRING_TYPE",
"timestamp": "2019-11-26T23:11:43.065Z"
},
"type": "",
"properties": {
"string": "customer"
},
"variableId": "5b8382ef-ce06-45e3-9c2b-e488ffd745c2"
}
Represents an dynamic placeholder in a prompt payload.
Element | Type | Description |
---|---|---|
annotation payload | Object | Key-value pair representing one of the supported annotation payload types |
variableId |
String | Only present if the annotation payload is of type variable ; UUID of the variable |
variableExpressionId |
String | Only present if the annotation payload is of type variableExpression ; UUID of the element |
type |
String | Controls the validation of output formatting properties, if applicable—possible values include alphaNum , currency , date , digits , cardinalNumber |
properties |
Annotation properties object | Display attributes for the annotation, and formatting parameters for the value associated with the annotation |
Supported annotation payload types
Represents the source of the dynamic value for an annotation.
Element key | Type type | Description |
---|---|---|
variable |
Variable object | Variable that contains dynamic content to include in the message |
variableExpression |
Variable expression object | Complex variable field, or the result of a supported method against a variable, to include in the message |
conceptId |
String | UUID of the entity that contains dynamic content to include in the message |
conceptIdLiteral |
String | UUID of the entity whose literal is to include in the message |
conceptIdFormattedLiteral |
String | UUID of the entity whose formatted literal is to include in the message |
currentEntity |
String | One of: ENTITY_VALUE , ENTITY_LITERAL , ENTITY_FORMATTED_LITERAL , to include in a global confirmation message—Mix.dialog only supports ENTITY_VALUE (current entity value from the last NLU interpretation result) |
Intent |
String | One of: INTENT_VALUE (active intent value), INTENT_LITERAL (active intent literal), INTENT_FORMATTED_LITERAL (formatted version of the active intent literal),INTENT_CONFIDENCE (active intent confidence score), to include in the message |
Annotation properties
Annotation properties example to format a date value for German recorded audio playback
{
"formType": "DATE_TYPE",
"intonation": "medial",
"string": "myDate",
"partsOfDate": "mdy",
"case": "nominative",
"playDayOfTheWeek": "false"
}
Annotation properties example to format a string value as a phone number for TTS playback
{
"formType": "STRING_TYPE",
"string": "userPhoneNumber",
"ssmlOpenFreeform": "<say-as interpret-as=\"phone\">",
"ssmlCloseFreeform": "<\/say-as>"
}
Represents output formatting properties for the value associated with the annotation. Only string
is required, all other elements are optional and depend on the data type. If only string
is present, this means that the raw value is to be included in the message.
Element | Type | Description |
---|---|---|
formType |
String | Determines the format editor to use in Mix.dialog for this annotation—one of: ALPHA_NUM_TYPE , CURRENCY_TYPE , DATE_TYPE , DECIMAL_TYPE , DIGITS_TYPE , DISTANCE_TYPE , CARDINAL_NUMBER_TYPE , TEMPERATURE_TYPE , DISTANCE_TYPE , TIME_TYPE |
string |
String | Display text for the placeholder in the message |
advanced |
Boolean | true if the advanced format editor is to be used in Mix.dialog for this annotation—only for date and time values (in Rich Text messages), and alphanumeric and digits (all message formats)—otherwise, false (default) |
pattern |
String | Pattern string to format the value in the message—only for date and time values (in Rich Text messages), and alphanumeric and digits (all message formats) |
thousandSeparator |
Boolean | Rich Text only, for amount, decimal, distance, integer, and temperature values: true (default) to show the value with the applicable thousands separator; otherwise, false |
playZeroDollars |
Boolean | Amount recorded audio playback only: true (default) to play “zero dollars” (in the session language), when the number of dollars (or selected currency) is zero; otherwise, false |
playZeroCents |
Boolean | Amount TTS and recorded audio playback only: true (default) to play “zero cents” (in the session language), when the number of cents (or sub-unit for the selected currency) is zero; otherwise, false |
playPrehundred |
Boolean | English (United States) recorded audio playback only, for amount values: true to use different audio recordings for hundreds prior to millions/thousands, and for hundreds prior to tens; false (default) to use the same audio recording for hundreds regardless of their position in amounts |
currency |
String | For display purposes only: currency to show on the annotation in Mix.dialog—at runtime (and in preview) the currency is part of the value |
partsOfDate |
String | Specifies which parts to play for a date, and the order—examples: mdy to play something like “February 17, 2021”, or my to play something like “August 2023” |
playDayOfTheWeek |
Boolean | true to display or play the day of the week (for example, “Sunday”); otherwise, false (default)—only for date values |
partsOfTime |
String | For TTS playback only; not exposed in Mix.dialog: Specifies which parts to play for a time value, and the order—default is hms |
clock24 |
String | Hour format to use: 12 (default), or 24 |
decimalPlaces |
String | Number of decimal places to show (0–7, default: 2)—only for decimal, distance, and temperature values |
playZeroUnits |
Boolean | Decimal recorded audio playback only: true (default) to play “zero point” (in the session language), when the value is zero; otherwise, false |
playZeroDecimals |
Boolean | Decimal TTS and recorded audio playback only: true (default) to play “point zero cents” (in the session language), when the value is zero; otherwise, false |
distanceType |
String | For display purposes only: Unit of distance to show on the annotation in Mix.dialog (km , m , cm , mm , mi , yd , ft , in )—at runtime (and in preview) the unit of distance is part of the value |
tempType |
String | For display purposes only: Unit of temperature to show on the annotation in Mix.dialog (C , F , K )—at runtime (and in preview) the unit of temperature is part of the value |
intonation |
String | Recorded audio playback only: intonation to use for the value in the message: medial (default), or final |
case |
String | German recorded audio playback only, for amount, date, and decimal values—Grammatical case to use for the value in the message: nominative (default), or dative |
forceTTS |
Boolean | Audio Script message only: true for TTS-formatted annotation (default for languages that don't support dynamic concatenated audio); false (or empty) for dynamic concatenated audio-formatted annotation |
ssmlOpenFreeform |
String | String value in TTS or Audio Script message only: SSML tag to use for TTS playback |
ssmlCloseFreeform |
String | String value in TTS or Audio Script message only: Closing tag for ssmlOpenFreeform |
Processing item group
Processing item group example
{
"id": "af10e3a6-cb40-44eb-b584-45196ffdaa5c",
"channelProcessingItemsMap": {
"b19690e3-d92d-4052-b343-ceac768bf5a9": {
"processingItems": [{
"condition": {
"id": "a4048ee6-9ea8-4989-863c-49ccc52f84d7",
"statementType": "ALWAYS_TYPE",
"processingItems": [{
"promptGroup": {
"id": "38e68bc5-6d60-47ea-90c7-574ebcb8c468",
"name": "tell_me_again_how_can_i_help_you_today_or_say_\"wha",
"prompts": [{
"payload": {
"displayText": "I need more information. Would you repeat your question in a different way?",
"ttsText": "Tell me again. How can I help you today? Or say \"what are my options?\"",
"audioFile": "",
"displayTextAnnotations": [],
"ttsTextAnnotations": [],
"ttsAudioBackup": "",
"ttsAudioBackupAnnotations": []
},
"language": "en-US",
"channel": "b19690e3-d92d-4052-b343-ceac768bf5a9",
"lastModified": "2022-05-03T00:47:30.012Z"
}
],
"audioFileId": "",
"bargeinDisabled": false,
"lastModified": "2022-05-03T00:47:30.010Z"
},
"id": "f102df4c-266c-4756-8c3e-453244d18375",
"note": "",
"promptGroupId": "38e68bc5-6d60-47ea-90c7-574ebcb8c468"
}
],
"expressionId": ""
},
"id": "be936a1a-6258-40d5-afc2-5fc6c8fe8459",
"note": ""
}
]
}
},
"lastModified": "2022-05-03T00:47:31.581Z",
"parentNodeId": "960162d6-4c7c-437e-bbc0-dbf96bf5fa94"
}
Represents processing items to perform by channel.
Element | Type | Description |
---|---|---|
id |
String | UUID of the processing item group |
channelProcessingItemsMap |
Object | Key-value pairs where the key is a channel UUID and the value contains a processing item list for the specified channel |
lastModified |
String | Date and time of the last modification, in this format: YYYY-MM-DD hh:mm:ssZ—for example, 2019-08-21T08:34:27Z |
parentNodeId |
String | UUID of the parent node |
Processing item list
Represents the processing items to perform for a specific channel, in a processing item group.
Element | Type | Description |
---|---|---|
processingItems |
Array of processing items | Processing items to perform |
Processing item
Processing item example of type condition, with an assign action and a prompt group
{
"condition": {
"id": "9e435be4-813b-4a79-95c0-22ed25f4b561",
"statementType": "IF_TYPE",
"expression": {
"id": "1f298326-34f5-4d67-840a-3273fabd9bc3",
"leftVariable": {
"id": "ee86193a-ee72-406b-a7af-120e40884cf3",
"name": "isFirstTime",
"description": "",
"possibleValues": ["true", "false"],
"uiDefaultValue": "",
"isReserved": false,
"masked": false,
"reportingType": "REPORTING_TYPE_NONE",
"simpleVariableType": "BOOLEAN_TYPE",
"timestamp": "2021-10-26T22:58:53.970Z"
},
"relationalOperator": "EQUAL_OPERATOR",
"rightConstant": "true",
"lastModified": "2021-10-29T18:39:08.455Z",
"leftVariableId": "ee86193a-ee72-406b-a7af-120e40884cf3"
},
"processingItems": [{
"action": {
"assign": {
"lhsVariable": {
"id": "ee86193a-ee72-406b-a7af-120e40884cf3",
"name": "isFirstTime",
"description": "",
"possibleValues": ["true", "false"],
"uiDefaultValue": "",
"isReserved": false,
"masked": false,
"reportingType": "REPORTING_TYPE_NONE",
"simpleVariableType": "BOOLEAN_TYPE",
"timestamp": "2021-10-26T22:58:53.970Z"
},
"constant": "false",
"lhsVariableId": "ee86193a-ee72-406b-a7af-120e40884cf3"
}
},
"id": "4dfcad8b-4c66-483a-ae9c-db01b9509f66",
"note": ""
}, {
"promptGroup": {
"id": "a0ad4459-e55e-42b9-ac84-507b3ca2710f",
"name": "let_me_get_your_file_",
"prompts": [{
"payload": {
"displayText": "Let me get your file...",
"ttsText": "",
"audioFile": "",
"displayTextAnnotations": [],
"ttsTextAnnotations": [],
"ttsAudioBackup": "",
"ttsAudioBackupAnnotations": []
},
"language": "en-US",
"channel": "9e29ee39-75f9-4f9f-a8af-01a6fb7f5df8",
"lastModified": "2021-10-29T18:39:52.982Z"
}
],
"audioFileId": "",
"bargeinDisabled": false,
"lastModified": "2021-10-29T18:41:08.984Z"
},
"id": "6d14faa4-59aa-4ed3-8992-57478b2112d0",
"note": "",
"promptGroupId": "a0ad4459-e55e-42b9-ac84-507b3ca2710f"
}
],
"expressionId": "1f298326-34f5-4d67-840a-3273fabd9bc3"
},
"id": "5e1a9ec5-baf7-4cfd-be09-51b0f8bbd573",
"note": ""
}
Represents a processing item in a processing item list.
Element | Type | Description |
---|---|---|
processing item | Object | One of the supported processing item types |
id |
String | UUID of the processing item |
note |
String | Designer notes such as a description or reminder (maximum 4000 characters) |
promptGroupId |
String | Only present if the processing item is of type promptGroup ; UUID of the prompt group |
Supported processing item types
Dialog models support these types of processing item:
Element key | Processing item type | Description |
---|---|---|
condition |
Condition | Sets a condition (such as if, else if, else) to control the dialog flow |
action |
Action | Performs one of these actions: assign a value to a variable or set a log message |
promptGroup |
Prompt group | Sets a prompt |
transition |
Transition | Sets a transition to another node or throws an event |
placeholderProcessingType |
String | note for designer notes; action for an action that is not yet defined; prompt_tts , prompt_text , or prompt_ttsAudio for a message that is not yet defined |
Expression
Expression example (price is not equal to NULL)
{
"id": "847f16b0-2a48-4406-a903-bbbb5f44a58c",
"leftVariable": {
"id": "056a43f7-464f-4068-9d8d-99ea7a7ebf73",
"name": "price",
// ...
"simpleVariableType": "AMOUNT_TYPE",
"timestamp": "2021-11-01T22:12:44.905Z"
},
"relationalOperator": "NOT_EQUAL_OPERATOR",
"lastModified": "2021-11-01T23:42:53.124Z",
"rightSpecialOperand": "NULL",
"leftVariableId": "056a43f7-464f-4068-9d8d-99ea7a7ebf73"
}
Represents an expression used in the project. It can be part of a condition, an assign action, an entity reference, or another expression. It is composed of a left operand, an operator, and a right operand.
Element | Type | Description |
---|---|---|
id |
String | UUID of the expression |
left operand | Object | Key-value pair representing one of the supported left operand types |
operator | Object | Key-value pair representing one of the supported operator types |
right operand | Object | Key-value pair representing one of the supported right operand types |
lastModified |
String | Date and time of the last modification, in this format: YYYY-MM-DD hh:mm:ssZ—for example, 2019-10-17T20:55:38.488Z |
leftVariableId |
String | Only present if the left operand is of type leftVariable ; UUID of the variable |
leftVariableExpressionId |
String | Only present if the left operand is of type leftVariableExpression ; UUID of the element |
leftExpressionId |
String | Only present if the left operand is of type leftExpression ; UUID of the expression |
rightVariableId |
String | Only present if the right operand is of type rightVariable ; UUID of the variable |
rightVariableExpressionId |
String | Only present if the right operand is of type rightVariableExpression ; UUID of the element |
rightExpressionId |
String | Only present if the right operand is of type rightExpression ; UUID of the expression |
Supported left operand types
Represents the left operand of an expression.
Element key | Value type | Description |
---|---|---|
leftVariable |
Variable object | Variable used as the left operand |
leftVariableExpression |
Variable expression object | Complex variable field, or the result of a supported method against a variable, used as the left operand |
leftExpression |
Expression object | Expression used as the left operand |
leftConceptId |
String | UUID of the entity whose value is used as the left operand |
leftConceptIdLiteral |
String | UUID of the entity whose literal is used as the left operand |
leftConceptIdFormattedLiteral |
String | UUID of the entity whose formatted literal is used as the left operand |
leftIntent |
String | One of: INTENT_VALUE (active intent value), INTENT_LITERAL (active intent literal), INTENT_FORMATTED_LITERAL (formatted version of the active intent literal),INTENT_CONFIDENCE (active intent confidence score) |
leftSpecialOperand |
String | One of: LAST_COLLECTION_INTERPRETATION (last collection interpretation), LAST_CONFIRMATION_INTERPRETATION (last confirmation interpretation), NULL |
Supported operator types
Represents the operator in an expression.
Element key | Value type | Description |
---|---|---|
logicalOperator |
String | One of: NO_LOGICAL_OPERATOR , AND_OPERATOR , OR_OPERATOR |
mathematicalOperator |
String | One of: NO_OP , PLUS , MINUS , TIMES , DIVIDE , MOD |
relationalOperator |
String | One of: NO_RELATIONAL_OPERATOR , EQUAL_OPERATOR , NOT_EQUAL_OPERATOR , LESS_OPERATOR , GREATER_OPERATOR , LESS_EQUAL_OPERATOR , GREATER_EQUAL_OPERATOR |
Supported right operand types
Represents the right operand of an expression.
Element key | Value type | Description |
---|---|---|
rightConstant |
String | Constant used as the right operand (maximum 255 characters) |
rightVariable |
Variable object | Variable used as the right operand |
rightVariableExpression |
Variable expression object | Complex variable field, or the result of a supported method against a variable, used as the right operand |
rightExpression |
Expression object | Expression used as the right operand |
rightConceptId |
String | UUID of the entity whose value is used as the right operand |
rightConceptIdLiteral |
String | UUID of the entity whose literal is used as the right operand |
rightConceptIdFormattedLiteral |
String | UUID of the entity whose formatted literal is used as the right operand |
rightIntent |
String | One of: INTENT_VALUE (active intent value), INTENT_LITERAL (active intent literal), INTENT_FORMATTED_LITERAL (formatted version of the active intent literal), INTENT_CONFIDENCE (active intent confidence score) |
rightSpecialOperand |
String | One of: LAST_COLLECTION_INTERPRETATION (last collection interpretation), LAST_CONFIRMATION_INTERPRETATION (last confirmation interpretation), NULL |
Variable expression
Represents a complex variable field, or the result of a supported method against a variable.
Element | Type | Description |
---|---|---|
id |
String | UUID of the variable expression |
operations |
Array of variable operations | Operations to be performed against the specified variable—multiple operations are chained, that is, each operation is applied to the result of the previous operation |
variableId |
String | UUID of the variable |
timestamp |
String | Date and time of the last modification, in this format: YYYY-MM-DD hh:mm:ssZ—for example, 2019-08-21T08:34:27Z |
Variable operation
Represents an operation in a variable expression.
Element key | Value type | Description |
---|---|---|
selectField |
Object | Key-value pair, where the key is fieldVariableId and the value is the UUID of a field in the schema of a complex variable—to select a deeply nested field, use the required number of selectField operations, to be performed in sequence |
callMethod |
Method call object | Method to be applied to the specified variable or field |
Method call
Represents a method call in a variable operation.
Element key | Value type | Description |
---|---|---|
methodName |
String | Name of the method to call (for example, length , random , getDay )—the available methods depend on the type of the variable to which the method is to be applied |
parameters |
Array of method parameters | Key-value pairs that represent the parameters for the method, if any; otherwise, empty |
Method parameter
Represents a parameter in a method call.
Element key | Value type | Description |
---|---|---|
constant |
String | Constant to be passed to the method |
variableId |
String | UUID of a variable to be passed to the method |
conceptId |
String | UUID of an entity to be passed to the method |
Action
In a processing item, an action element is identified with this key: action
.
An action
object literal represents an assign action, or an entity update action.
Assign action
Assign action example, where the Boolean variable isFirstTime is set to true
{
"lhsVariable": {
"id": "ee86193a-ee72-406b-a7af-120e40884cf3",
"name": "isFirstTime",
"description": "",
"possibleValues": ["true", "false"],
"uiDefaultValue": "",
"isReserved": false,
"masked": false,
"reportingType": "REPORTING_TYPE_NONE",
"simpleVariableType": "BOOLEAN_TYPE",
"timestamp": "2021-10-26T22:58:53.970Z"
},
"constant": "true",
"lhsVariableId": "ee86193a-ee72-406b-a7af-120e40884cf3"
}
Assigns a value to a variable, an entity, or the active intent.
In an action object literal, an assign action is identified with this key: assign
.
Element | Type | Description |
---|---|---|
target | Object | Key-value pair representing one of the supported operand types for the left-hand side of an assignment |
value | Object | Key-value pair representing one of the supported operand types for the right-hand side of an assignment |
lhsVariableId |
String | Only present if the left operand is of type lhsVariable ; UUID of the variable to set |
lhsVariableExpressionId |
String | Only present if the left operand is of type lhsVariableExpression ; UUID of the complex variable field to set |
variableId |
String | Only present if the right operand is of type variable ; UUID of the variable to use |
VariableExpressionId |
String | Only present if the right operand is of type variableExpression ; UUID of the element to use |
expressionId |
String | Only present if the right operand is of type expression ; UUID of the expression to use |
Left assignment operand types
Represents the target for an assign action.
Element key | Value type | Description |
---|---|---|
lhsVariable |
Variable object | Variable being set |
lhsVariableExpression |
Variable expression object | Field being set in a complex variable |
lhsConceptId |
String | UUID of the entity whose value is being set |
lhsIntent |
String | Always INTENT_VALUE (active intent value) |
Right assignment operand types
Represents the value for an assign action.
Element key | Value type | Description |
---|---|---|
constant |
String | Constant used as the right operand (maximum 64000 characters) |
variable |
Variable object | Variable used as the right operand |
variableExpression |
Variable expression object | Complex variable field, or the result of a supported method against a variable, used as the right operand |
expression |
Expression object | Expression used as the right operand |
conceptId |
String | UUID of the entity whose value is used as the right operand |
conceptIdLiteral |
String | UUID of the entity whose literal is used as the right operand |
conceptIdFormattedLiteral |
String | UUID of the entity whose formatted literal is used as the right operand |
intent |
String | One of: INTENT_VALUE (active intent value), INTENT_LITERAL (active intent literal), INTENT_FORMATTED_LITERAL (formatted version of the active intent literal), INTENT_CONFIDENCE (active intent confidence score) |
specialOperand |
String | One of the supported special operands for the right-hand side |
Supported special right operand
Assign actions support these special operands for the right-hand side:
Value | Description |
---|---|
NULL |
Makes a variable or an entity null |
NEW_OBJECT |
Initializes a complex variable as a new object with all fields null—not supported for complex variables with fields that are lists; use separate assign actions to preinitialize complex variable fields that are also complex variables |
Entity update action
Entity update action example, where an entity is cleared
{
"conceptId": "1a5559c6-07b8-49af-b150-1a924f6b78f5",
"clearConcept": true
}
Entity update action example, where the .isCompleted attribute of an entity is set to false
{
"conceptId": "4282658e-34af-4cec-8e22-d92d953e34d9",
"conceptUpdate": {
"requiredStatus": "UNCHANGED",
"completeStatus": "FALSE",
"confirmStatus": "UNCHANGED"
}
Updates the .isRequired, .isCompleted, or .isConfirmed attribute of an entity, or clears the entity completely.
In an action object literal, an entity update action is identified with this key: conceptAction
.
Element | Type | Description |
---|---|---|
conceptId |
String | UUID of the entity |
clearConcept |
Boolean | Only present if the action is to clear the entity; always true |
conceptUpdate |
Object | Key-value pair where the keys requiredStatus , completeStatus , and confirmStatus represent the three entity attributes .isRequired, .isCompleted, and .isConfirmed; and the values are one of UNCHANGED , TRUE , or FALSE . |
Condition
Condition example
{
"id": "e77de595-920e-4d52-8b30-c02ddffc6acc",
"statementType": "IF_TYPE",
"expression": {
"id": "1c052b41-7c4a-4302-9103-0e6c64d2e181",
"leftVariable": {
"id": "7b99d7f5-96d5-43b8-8d55-584bdc6b93de",
"name": "coffeeTypesSpecial",
// ...
"simpleVariableType": "DYNAMIC_ENTITY_DATA",
"timestamp": "2020-07-23T00:05:04.622Z"
},
"relationalOperator": "NOT_EQUAL_OPERATOR",
"lastModified": "2020-07-23T00:05:04.674Z",
"rightSpecialOperand": "NULL",
"leftVariableId": "7b99d7f5-96d5-43b8-8d55-584bdc6b93de"
},
"processingItems": [{
"action": {
"assign": {
"lhsVariable": {
"id": "d01be426-5e80-4b2b-8deb-cda3acc83159",
"name": "gotSpecial",
"description": "Look up special coffee types (once per session)",
"possibleValues": ["true", "false"],
// ...
"simpleVariableType": "BOOLEAN_TYPE",
"timestamp": "2020-07-23T00:05:04.603Z"
},
"constant": "true",
"lhsVariableId": "d01be426-5e80-4b2b-8deb-cda3acc83159"
}
},
"id": "c49b2c3e-32b2-4c50-b8d9-8d693673ac24",
"note": ""
}
],
"expressionId": "1c052b41-7c4a-4302-9103-0e6c64d2e181"
}
Represents a condition in a processing item.
Element | Type | Description |
---|---|---|
id |
String | UUID of the condition |
statementType |
String | Type of condition—one of: NO_TYPE , IF_TYPE , ELSEIF_TYPE , ELSE_TYPE , ALWAYS_TYPE |
expression |
Expression object | Only present if statementType is IF_TYPE or ELSEIF_TYPE ; expression to evaluate |
processingItems |
Array of processing items | Processing items to perform if the condition is true |
expressionId |
String | UUID of the expression to evaluate for IF_TYPE and ELSEIF_TYPE conditions; otherwise, empty |
Transition
Transition example (GoTo)
{
"id": "6ea55136-0879-487f-af10-62b83389b2c3",
"transitionType": "GO_TO",
"eventId": "",
"label": "Always",
"nodeId": "97a91ff7-6e98-49a7-ae2e-f8dc62c9a8b3"
}
Transition example (throw)
{
"id": "8347f5c0-b755-4526-a3f4-24720e253428",
"transitionType": "THROW",
"eventId": "295420a0-7675-4917-9329-35e26654ed05",
"label": "",
"eventLog": "Caught generic event"
}
Represents a transition or a throw event action, in a processing item; the transition in an event handler; or the intent switch transition in a question router node.
Element | Type | Description |
---|---|---|
id |
String | UUID of the transition |
transitionType |
String | Type of transition; one of: GO_TO , GO_BACK_TO , RETURN ,RETURN_TO_INTENT_MAPPER , THROW , NO_TRANSITION_TYPE |
eventId |
String | For transition type THROW : event string to be thrown and then caught elsewhere |
eventLog |
String | For transition type THROW : description or text to be logged when the event is thrown |
label |
String | Descriptive label for the transition; limited to 63 characters |
nodeId |
String | For transition type GO_TO and GO_BACK_TO : UUID of the destination node |
Refer to the Mix.dialog documentation for more information on the transition types.
Ontology
Ontology example
{
"projectId": "2942",
"intents": [{
"id": "9ac597e9-450f-47a5-a3de-a6a9fd0cc2c6",
"projectId": "2942",
"name": "NO_INTENT",
"conceptIds": [],
"isInBaseOntology": true,
"lastModified": "1970-01-01T00:00:00Z"
}, {
"id": "8397e323-1964-4843-91e8-e11717c4553e",
"projectId": "2942",
"name": "ORDER_COFFEE",
"conceptIds": ["fc5b8a5e-440b-4460-9e29-f8fafa546abd", "7a282252-f57f-4b30-8b92-25129c363490"],
"isInBaseOntology": false,
"lastModified": "1970-01-01T00:00:00Z"
}
],
"concepts": [{
"id": "ce1aea9d-4825-4041-b2fa-b19e6f8159de",
"projectId": "2942",
"name": "AND",
"isInBaseOntology": true,
"valuesCount": 0,
"isDialogType": false,
"predefinedConceptId": "",
"isDeprecated": false,
"lastModified": "1970-01-01T00:00:00Z"
}, {
"id": "fc5b8a5e-440b-4460-9e29-f8fafa546abd",
"projectId": "2942",
"name": "COFFEE_SIZE",
"isInBaseOntology": false,
"valuesCount": 4,
"isDialogType": false,
"predefinedConceptId": "",
"isDeprecated": false,
"lastModified": "1970-01-01T00:00:00Z"
}, // more entity types...
{
"id": "572bcd5c-e65d-4a5d-b12c-9e6e85f56973",
"projectId": "2942",
"name": "nuance_TEMPERATURE",
"isInBaseOntology": true,
"valuesCount": 0,
"isDialogType": false,
"predefinedConceptId": "",
"isDeprecated": false,
"lastModified": "1970-01-01T00:00:00Z"
}
],
"lastModified": "1970-01-01T00:00:00Z"
}
Represents the ontology used for this project.
Element | Type | Description |
---|---|---|
projectId |
String | ID of the project |
intents |
Array of intents | Intents in the project |
concepts |
Array of entities | Entities in the project |
lastModified |
String | Future use |
Intent
Represents an intent in the project.
Element | Type | Description |
---|---|---|
id |
String | Unique ID of the intent |
projectId |
String | ID of the project |
name |
String | Name of the intent (see Naming guidelines) |
conceptIds |
Array | UUIDs of the entities for the intent |
isInBaseOntology |
Boolean | true for a predefined intent; false for a custom intent |
lastModified |
String | Not used |
Entity
Represents an entity in the project.
Element | Type | Description |
---|---|---|
id |
String | UUID of the entity |
projectId |
String | ID of the project |
name |
String | Name of the entity (see Naming guidelines) |
isInBaseOntology |
Boolean | true for a predefined entity; false for a custom entity |
valuesCount |
Number | Number of values for the entity |
isDialogType |
Boolean | true for a predefined dialog entity; otherwise, false |
predefinedConceptId |
String | For an isA relationship entity of a predefined entity or dialog entity, UUID of the highest-level parent entity |
isDeprecated |
Boolean | true for a deprecated dialog entity; otherwise, false |
isA |
String | Only present for relationship entities; UUID of the parent entity |
lastModified |
String | Not used |
Sample file
{
"data": {
// project object literal...
}
}
This documentation includes a sample PizzaApp dialog design file. Download PizzaApp.json, to explore its structure. Import it into a project to experiment with the Mix.dialog features.
The sample file contains an object literal with this structure:
Element | Type | Description |
---|---|---|
data |
Project object | Top level of the dialog design |
Change log
Below are changes made to the Dialog Application Specification documentation since the initial Beta release.
2022-08-17
Updated Interactive element in Question and answer node, to reflect support for language-specific interactivity, and that it is no longer required for an entity value to exist in every language to be able to configure an interactive element for this value
2022-08-05
Added disabled
, in Channel and Modality, to reflect changes related with the ability to edit channels
2022-05-02
- Removed obsolete element
projectId
from Node - Removed obsolete element
projectId
from Local recovery behavior, Local confirmation behavior, DTMF mapping, Node setting override, and Local command override, in Question and answer node - Removed obsolete element
projectId
from Prompt group - Removed obsolete element
expressions
from Project
2022-04-27
Removed obsolete element projectId
from Event handler, Transition, Node intent mapping, Expression, Variable expression, and Processing item group
2022-04-25
Removed obsolete element projectId
from Event and Command, in Project
2022-04-13
- Added
INTERNAL_SETTINGS
as a supported category forsettingType
, in Global setting override, to support the new default concatenation behavior for dynamic messages - Removed obsolete element
projectId
from Variable and Schema - Removed obsolete element
projectId
from Channel, Confirmation, Recovery handling, Global setting override, Project intent mapping, and Backend connection preset, in Project
2022-04-07
- Added
DATA_PRIVACY_SETTINGS
to the list of node setting categories, in Node setting override - Removed obsolete element
projectId
from Component
2022-03-15
Marked the expressions
array as deprecated in Project
2022-02-23
- Updated Command, and DTMF mapping in Question and answer node, to mention that you should avoid setting DTMF mappings in your dialog design, for entities meant to be collected based on an external DTMF grammar
- Updated Expression, to mention that, in expressions, the operations are evaluated based on the same operator precedence order that is used in JavaScript and Java
2022-01-13
Added UUIDs for expressions in Entity reference
2021-11-22
- Added
forceTTS
, in Annotation properties - Added UUIDs for packed object literals, in Question and answer node
2021-11-03
Added UUIDs for all packed object literals—for example, variables or transitions, in processing items, event handlers, and expressions
2021-10-22
Marked serviceName
as deprecated, in Data access node
2021-10-13
Added ssmlOpenFreeform
, and ssmlCloseFreeform
, in Annotation properties
2021-09-28
- Added
reportingType
in Variable - Added
nodeSettingOverride
to Data access node, and updated description ofprocessingItems
(no longer deprecated) - Added
DATA_ACCESS_SETTINGS
as a supported category forsettingType
, in Global setting override and Node setting override - Removed obsolete elements (
asrGrammarfileReferences
,confirmationActionConfigurations
,commandActionConfigurations
,settings
,conceptName
) from Question and answer node
2021-09-09
Added enginePackVersion
in Project
2021-07-21
- Added
leftConceptIdFormattedLiteral
, andrightConceptIdFormattedLiteral
, in Expression - Added
conceptIdFormattedLiteral
in Annotation - Added
variableExpression
,conceptIdLiteral
,currentEntity
, andIntent
, in Annotation - Added
INTENT_FORMATTED_LITERAL
, which represents the formatted version of the active intent literal, in Expression, Assign action, Annotation, and Supported input types
2021-07-14
Removed inputVariables
from Data access node to reflect that this deprecated element no longer exists (Mix will skip this element when you import any legacy JSON files where it might appear)
2021-07-07
Removed dialogTypeId
and numberOfTypeUsages
from Entity to reflect that these elements no longer exist (Mix will skip these when you import any legacy JSON files where they might appear)
2021-06-23
Added placeholderProcessingType
to cover designer notes in supported processing item types
2021-05-17
Added intentId
to Component
2021-04-28
- Added
NodeCommandOverride
to Question and answer node - Added
entityId
to DTMF mapping in Question and answer node - Added
id
,order
, andentityId
to Interactive element in Question and answer node - Replaced
conceptId
withentityId
in Question and answer node - Replaced
recognitionNode
withrecognitionNode2
in Supported node types— in existing projects, Mix automatically converts anyrecognitionNode
object literals torecognitionNode2
2021-04-13
- Added
backendConfig
in Data access node - Added Backend connection preset, and Data host alias in Project
2021-03-09
- Added Variable expression to represent a complex variable field, or the result of a supported method against a variable (used in assign actions and expressions)
- Added the
NEW_OBJECT
special operand in Assign action
2021-02-17
Updated Annotation to cover output formatting properties for variables and entities in dynamic messages
2021-02-05
Updated Variable to mention that DYNAMIC_ENTITY_DATA
is not a supported type for list items and schema fields
2021-01-26
- Added
complexGenericTypeId
in Variable - Specified maximum length (255 characters) for
description
in Variable and Schema - Specified maximum length (1000 characters) for
description
in all node types
2020-12-09
- Added
masked
in Variable - Added
bargeinDisabled
in Prompt group - Added
nodeSettingOverride
in Message node - Updated Question and answer node to reflect that value-specific actions, interactivity, and DTMF mappings are only supported for entity values that exist in every language of a multilingual project
- Added Node setting override in Question and answer node
- Updated Local recovery behavior in Question and answer node
- Added Local confirmation behavior in Question and answer node
- Added DTMF mapping in Question and answer node
- Specified maximum length (255 characters) for
rightConstant
in Expression, and foraudioFileId
in Prompt group
2020-10-28
- Added Project intent mapping
- Updated Intent mapper node
- Updated Expression and Supported input types to reflect that the elements that represent the last collection and last confirmation interpretations now include entity interpretations (removed the notes stating otherwise)
2020-10-08
- Added
audioFileId
to Prompt group, deprecatedaudioFile
in Prompt payload - Added Global setting override
2020-10-01
Updated Expression and Supported input types to add elements that represent the last collection and last confirmation interpretations. Note: These representations do not yet include entity interpretations.
2020-09-04
- Updated Schema to add reference to reserved schema DynamicMessageReference
- Updated Expression, Action, and Supported input types, to add elements that represent literals and values for entities and the active intent, and the confidence score for the active intent
2020-08-28
Minor updates in Project
2020-07-20
Added JSON example for decision node
2020-07-13
- Added
DYNAMIC_ENTITY_DATA
tosimpleVariableType
element in Variable - Updated Schema to remove reference to formerly reserved but now deprecated schema WordSet
2020-05-26
- Added Command
- Added Event
- Added Event handler
- Updated Transition
- Updated
view
element and JSON examples, in Message node and Question and answer node - Updated Expression
2020-05-14
- Added
inputVariablesConcepts
to Question and answer node - Updated description of
inputManagerReferenceId
in Question and answer node
2020-05-06
- Added
initialProcessingItem
to Question and answer node - Added Interactive element
- Added Local recovery behavior
- Updated Recovery behavior
- Updated Confirmation
2020-05-01
Added eventHandlers
to Node
2020-04-30
- Updated External actions node
- Updated Component call node
- Updated Action
- Added
eventHandlers
to Component - Added
dressAliasId
to Data access node - Updated Schema (reserved schema WordSet has been renamed DynamicEntityData)
2020-04-01
- Updated Project
- Updated Channel
- Updated Prompt payload
- Added External actions node
- Deprecated End node and Transfer node
2020-03-04
- Updated Project
- Updated Channel
- Updated Ontology
- Updated Question and answer node
2020-02-19
- Updated Project
- Added Ontology
- Updated Question router node
- Updated Question and answer node
- Updated Data access node
2020-02-05
Updated Variable, Schema, and Project sections to match changes in the dialog model structure supporting reserved variables and schemas.
2019-12-11
Updated Processing item section.
2019-12-02
Updated to match changes to the dialog model structure.
2019-11-15
Content reorganized and revised to match changes to the dialog model structure.