Interaction Model Schemas, v0
Note: Sign in to the developer console to build or publish your skill.
Warning: You are viewing the SMAPI v0 API documentation. The current version of SMAPI is Version 1. Switch to v1 to view the latest documentation.
The interaction model resource has the same structure as if you create an interaction model in the developer console using the skill builder. You can create and modify the interaction model resource with Alexa Skills Kit Command Line Interface (ASK CLI) commands or with interaction model operations.
See also: Alexa Skills Kit Command Line Interface (ASK CLI) Overview
Example data
{
"languageModel": {
"invocationName": "string",
"types": [
{
"name": "string",
"values": [
"string"
]
}
],
"intents": [
{
"name": "string",
"slots": [
{
"name": "string",
"type": "string",
"samples": [
"string"
]
}
],
"samples": [
"string"
]
}
]
},
"dialog": {
"intents": [
{
"name": "string",
"slots": [
{
"name": "string",
"prompts": {
"elicitation": "string",
"confirmation": "string"
},
"validations": [
{
"type": "string",
"prompt": "string"
}
]
}
]
}
]
},
"prompts": [
{
"id": "string",
"variations": [
{
"type": "SSML",
"value": "string"
}
]
}
]
}
Interaction Model
Field | Type | Description | Required? |
---|---|---|---|
languageModel | object | Conversational primitives for the skill | yes |
dialog | object | Rules for conducting a multi-turn dialog with the user | no |
prompts | array | Cues to the user on behalf of the skill for eliciting data or providing feedback | no |
languageModel
Field | Type | Description | Required? |
---|---|---|---|
invocationName | string | Invocation name of the skill | yes |
intents | array | Intents and their slots | yes |
types | array | Custom slot types | no |
modelConfiguration | object | Optional settings for the interaction model. Available in supported locales. | no |
languageModel_intents
Field | Type | Description | Required? |
---|---|---|---|
name | string | Name of the intent. For details about intent names, see Intent and slot name requirements. | yes |
slots | array | List of slots within the intent. | no |
samples | array | Sample utterances for the intent | no |
languageModel_intents_slots
Field | Type | Description | Required? |
---|---|---|---|
name | string | Name of the slot. For details about slot names, see Intent and slot name requirements. | yes |
type | string | Type of the slot. | yes |
samples | array | Sample utterances for the slot. | no |
multipleValues | object | Determines whether this slot allows single values or multiple values. When this object isn't present, the slot defaults to allowing single values only. | no |
multipleValues.enabled | boolean | When true, the slot recognizes and collects multiple values spoken in list format, such as "pepperoni, mushrooms, and black olives." For details about multiple-value slots, see Collect Multiple Values in a Slot. | No |
languageModel_types
Field | Type | Description | Required? |
---|---|---|---|
name | string | Name of the custom slot type | yes |
values | array | List of representative values for the slot. | no |
valueSupplier | object | Definition of slot value supplier(s). | no |
Type_ValueCatalog
Field | Type | Description | Required? |
---|---|---|---|
type | string | Type of the value supplier. CatalogValueSupplier is the only supported option. | yes |
CatalogValueSupplier
Field | Type | Description | Required? |
---|---|---|---|
valueCatalog | object | The catalog reference definition. | yes |
valueCatalog
Field | Type | Description | Required? |
---|---|---|---|
catalogId | string | The identifier of the catalog. | yes |
version | string | The version of the catalog. | yes |
types_value
Field | Type | Description | Required? |
---|---|---|---|
id | string | Identifier for a value of a custom slot type | yes |
name | object | Describes a value of a custom slot type | yes |
value_name
Field | Type | Description | Required? |
---|---|---|---|
value | string | A value for a custom slot type | yes |
synonyms | array | List of potential synonyms for a value of a custom slot type | no |
languageModel_modelConfiguration
Field | Type | Description | Required? |
---|---|---|---|
fallbackIntentSensitivity | object | Object containing settings for adjusting AMAZON.FallbackIntent sensitivity. Valid when the model includes AMAZON.FallbackIntent . Available in supported locales. |
no |
languageModel_modelConfiguration_fallbackIntentSensitivity
Field | Type | Description | Required? |
---|---|---|---|
level | enum | Adjusts the sensitivity of AMAZON.FallbackIntent . One of: "HIGH", "MEDIUM", or "LOW". Defaults to "LOW". For more about how to determine when to change this setting, see Adjust AMAZON.FallbackIntent sensitivity. Available in supported locales. |
no |
dialog
Field | Type | Description | Required? |
---|---|---|---|
intents | array | List of intents that have dialog rules associated with them. | yes |
delegationStrategy | string | Specifies whether dialogs in this skill should be automatically delegated to Alexa. This can be ALWAYS (auto-delegation is on for the overall skill) or SKILL_RESPONSE (auto-delegation is off for the overall skill). You can override this setting at the intent level. |
dialog_intents
Field | Type | Description | Required? |
---|---|---|---|
name | string | Name of the intent that has dialog rules | yes |
delegationStrategy | string | Specifies whether the dialog for this intent should be automatically delegated to Alexa. This can be ALWAYS (auto-delegation is on for this intent) or SKILL_RESPONSE (auto-delegation is off for the intent). When this property is not present, the intent uses the skill-level delegationStrategy . |
|
slots | array | List of slots in this intent that have dialog rules | no |
confirmationRequired | boolean | Describes whether confirmation of the intent is required | no |
prompts | Map | Collection of prompts for this intent | no |
dialog_intent_prompt_type
Field | Type | Description | Required? |
---|---|---|---|
confirmation | string | Enum value in the dialog_intents map to reference the confirmation prompt id | no |
dialog_slots
Field | Type | Description | Required? |
---|---|---|---|
name | string | Name of the slot in the dialog intent | yes |
type | string | Type of the slot in the dialog intent | yes |
elicitationRequired | boolean | Describes whether elicitation of the slot is required | no |
confirmationRequired | boolean | Describes whether confirmation of the slot is required | no |
prompts | Map | Collection of prompts for this slot | no |
validations | array | List of validation rules for this slot | no |
dialog_slot_validations
Field | Type | Description | Required? |
---|---|---|---|
type | string | Enum value to reference the type of validation rule. See Validation rules | yes |
prompt | string | ID to reference the set of prompts for this validation rule | yes |
The validation
object includes additional properties specific to the available validations. See Validation rules.
dialog_slot_prompt_type
Field | Type | Description | Required? |
---|---|---|---|
elicitation | string | Enum value in the dialog_slots map to reference the elicitation prompt id | no |
confirmation | string | Enum value in the dialog_slots map to reference the confirmation prompt id | no |
prompts
Field | Type | Description | Required? |
---|---|---|---|
id | string | Identifier of the prompt | yes |
variations | array | List of variations of the prompt. | yes |
variations
Field | Type | Description | Required? |
---|---|---|---|
type | enum | One of: "PlainText" or "SSML" | Yes |
value | string | Text that Alexa says as a prompt. | Yes |
Last updated: Mar 30, 2022