We announced the upcoming end-of-support for AWS SDK for JavaScript v2.
We recommend that you migrate to AWS SDK for JavaScript v3. For dates, additional details, and information on how to migrate, please refer to the linked announcement.

Class: AWS.LexModelsV2

Inherits:
AWS.Service show all
Identifier:
lexmodelsv2
API Version:
2020-08-07
Defined in:
(unknown)

Overview

Constructs a service interface object. Each API operation is exposed as a function on service.

Service Description

Sending a Request Using LexModelsV2

var lexmodelsv2 = new AWS.LexModelsV2();
lexmodelsv2.batchCreateCustomVocabularyItem(params, function (err, data) {
  if (err) console.log(err, err.stack); // an error occurred
  else     console.log(data);           // successful response
});

Locking the API Version

In order to ensure that the LexModelsV2 object uses this specific API, you can construct the object by passing the apiVersion option to the constructor:

var lexmodelsv2 = new AWS.LexModelsV2({apiVersion: '2020-08-07'});

You can also set the API version globally in AWS.config.apiVersions using the lexmodelsv2 service identifier:

AWS.config.apiVersions = {
  lexmodelsv2: '2020-08-07',
  // other service API versions
};

var lexmodelsv2 = new AWS.LexModelsV2();

Version:

  • 2020-08-07

Waiter Resource States

This service supports a list of resource states that can be polled using the waitFor() method. The resource states are:

botAvailable, botAliasAvailable, botExportCompleted, botImportCompleted, botLocaleBuilt, botLocaleExpressTestingAvailable, botVersionAvailable, botLocaleCreated

Constructor Summary collapse

Property Summary collapse

Properties inherited from AWS.Service

apiVersions

Method Summary collapse

Methods inherited from AWS.Service

makeRequest, makeUnauthenticatedRequest, setupRequestListeners, defineService

Constructor Details

new AWS.LexModelsV2(options = {}) ⇒ Object

Constructs a service object. This object has one method for each API operation.

Examples:

Constructing a LexModelsV2 object

var lexmodelsv2 = new AWS.LexModelsV2({apiVersion: '2020-08-07'});

Options Hash (options):

  • params (map)

    An optional map of parameters to bind to every request sent by this service object. For more information on bound parameters, see "Working with Services" in the Getting Started Guide.

  • endpoint (String|AWS.Endpoint)

    The endpoint URI to send requests to. The default endpoint is built from the configured region. The endpoint should be a string like 'https://{service}.{region}.amazonaws.com' or an Endpoint object.

  • accessKeyId (String)

    your AWS access key ID.

  • secretAccessKey (String)

    your AWS secret access key.

  • sessionToken (AWS.Credentials)

    the optional AWS session token to sign requests with.

  • credentials (AWS.Credentials)

    the AWS credentials to sign requests with. You can either specify this object, or specify the accessKeyId and secretAccessKey options directly.

  • credentialProvider (AWS.CredentialProviderChain)

    the provider chain used to resolve credentials if no static credentials property is set.

  • region (String)

    the region to send service requests to. See AWS.LexModelsV2.region for more information.

  • maxRetries (Integer)

    the maximum amount of retries to attempt with a request. See AWS.LexModelsV2.maxRetries for more information.

  • maxRedirects (Integer)

    the maximum amount of redirects to follow with a request. See AWS.LexModelsV2.maxRedirects for more information.

  • sslEnabled (Boolean)

    whether to enable SSL for requests.

  • paramValidation (Boolean|map)

    whether input parameters should be validated against the operation description before sending the request. Defaults to true. Pass a map to enable any of the following specific validation features:

    • min [Boolean] — Validates that a value meets the min constraint. This is enabled by default when paramValidation is set to true.
    • max [Boolean] — Validates that a value meets the max constraint.
    • pattern [Boolean] — Validates that a string value matches a regular expression.
    • enum [Boolean] — Validates that a string value matches one of the allowable enum values.
  • computeChecksums (Boolean)

    whether to compute checksums for payload bodies when the service accepts it (currently supported in S3 only)

  • convertResponseTypes (Boolean)

    whether types are converted when parsing response data. Currently only supported for JSON based services. Turning this off may improve performance on large response payloads. Defaults to true.

  • correctClockSkew (Boolean)

    whether to apply a clock skew correction and retry requests that fail because of an skewed client clock. Defaults to false.

  • s3ForcePathStyle (Boolean)

    whether to force path style URLs for S3 objects.

  • s3BucketEndpoint (Boolean)

    whether the provided endpoint addresses an individual bucket (false if it addresses the root API endpoint). Note that setting this configuration option requires an endpoint to be provided explicitly to the service constructor.

  • s3DisableBodySigning (Boolean)

    whether S3 body signing should be disabled when using signature version v4. Body signing can only be disabled when using https. Defaults to true.

  • s3UsEast1RegionalEndpoint ('legacy'|'regional')

    when region is set to 'us-east-1', whether to send s3 request to global endpoints or 'us-east-1' regional endpoints. This config is only applicable to S3 client. Defaults to legacy

  • s3UseArnRegion (Boolean)

    whether to override the request region with the region inferred from requested resource's ARN. Only available for S3 buckets Defaults to true

  • retryDelayOptions (map)

    A set of options to configure the retry delay on retryable errors. Currently supported options are:

    • base [Integer] — The base number of milliseconds to use in the exponential backoff for operation retries. Defaults to 100 ms for all services except DynamoDB, where it defaults to 50ms.
    • customBackoff [function] — A custom function that accepts a retry count and error and returns the amount of time to delay in milliseconds. If the result is a non-zero negative value, no further retry attempts will be made. The base option will be ignored if this option is supplied. The function is only called for retryable errors.
  • httpOptions (map)

    A set of options to pass to the low-level HTTP request. Currently supported options are:

    • proxy [String] — the URL to proxy requests through
    • agent [http.Agent, https.Agent] — the Agent object to perform HTTP requests with. Used for connection pooling. Defaults to the global agent (http.globalAgent) for non-SSL connections. Note that for SSL connections, a special Agent object is used in order to enable peer certificate verification. This feature is only available in the Node.js environment.
    • connectTimeout [Integer] — Sets the socket to timeout after failing to establish a connection with the server after connectTimeout milliseconds. This timeout has no effect once a socket connection has been established.
    • timeout [Integer] — Sets the socket to timeout after timeout milliseconds of inactivity on the socket. Defaults to two minutes (120000).
    • xhrAsync [Boolean] — Whether the SDK will send asynchronous HTTP requests. Used in the browser environment only. Set to false to send requests synchronously. Defaults to true (async on).
    • xhrWithCredentials [Boolean] — Sets the "withCredentials" property of an XMLHttpRequest object. Used in the browser environment only. Defaults to false.
  • apiVersion (String, Date)

    a String in YYYY-MM-DD format (or a date) that represents the latest possible API version that can be used in all services (unless overridden by apiVersions). Specify 'latest' to use the latest possible version.

  • apiVersions (map<String, String|Date>)

    a map of service identifiers (the lowercase service class name) with the API version to use when instantiating a service. Specify 'latest' for each individual that can use the latest available version.

  • logger (#write, #log)

    an object that responds to .write() (like a stream) or .log() (like the console object) in order to log information about requests

  • systemClockOffset (Number)

    an offset value in milliseconds to apply to all signing times. Use this to compensate for clock skew when your system may be out of sync with the service time. Note that this configuration option can only be applied to the global AWS.config object and cannot be overridden in service-specific configuration. Defaults to 0 milliseconds.

  • signatureVersion (String)

    the signature version to sign requests with (overriding the API configuration). Possible values are: 'v2', 'v3', 'v4'.

  • signatureCache (Boolean)

    whether the signature to sign requests with (overriding the API configuration) is cached. Only applies to the signature version 'v4'. Defaults to true.

  • dynamoDbCrc32 (Boolean)

    whether to validate the CRC32 checksum of HTTP response bodies returned by DynamoDB. Default: true.

  • useAccelerateEndpoint (Boolean)

    Whether to use the S3 Transfer Acceleration endpoint with the S3 service. Default: false.

  • clientSideMonitoring (Boolean)

    whether to collect and publish this client's performance metrics of all its API requests.

  • endpointDiscoveryEnabled (Boolean|undefined)

    whether to call operations with endpoints given by service dynamically. Setting this

  • endpointCacheSize (Number)

    the size of the global cache storing endpoints from endpoint discovery operations. Once endpoint cache is created, updating this setting cannot change existing cache size. Defaults to 1000

  • hostPrefixEnabled (Boolean)

    whether to marshal request parameters to the prefix of hostname. Defaults to true.

  • stsRegionalEndpoints ('legacy'|'regional')

    whether to send sts request to global endpoints or regional endpoints. Defaults to 'legacy'.

  • useFipsEndpoint (Boolean)

    Enables FIPS compatible endpoints. Defaults to false.

  • useDualstackEndpoint (Boolean)

    Enables IPv6 dualstack endpoint. Defaults to false.

Property Details

endpointAWS.Endpoint (readwrite)

Returns an Endpoint object representing the endpoint URL for service requests.

Returns:

  • (AWS.Endpoint)

    an Endpoint object representing the endpoint URL for service requests.

Method Details

batchCreateCustomVocabularyItem(params = {}, callback) ⇒ AWS.Request

Create a batch of custom vocabulary items for a given bot locale's custom vocabulary.

Service Reference:

Examples:

Calling the batchCreateCustomVocabularyItem operation

var params = {
  botId: 'STRING_VALUE', /* required */
  botVersion: 'STRING_VALUE', /* required */
  customVocabularyItemList: [ /* required */
    {
      phrase: 'STRING_VALUE', /* required */
      displayAs: 'STRING_VALUE',
      weight: 'NUMBER_VALUE'
    },
    /* more items */
  ],
  localeId: 'STRING_VALUE' /* required */
};
lexmodelsv2.batchCreateCustomVocabularyItem(params, function(err, data) {
  if (err) console.log(err, err.stack); // an error occurred
  else     console.log(data);           // successful response
});

Parameters:

  • params (Object) (defaults to: {})
    • botId — (String)

      The identifier of the bot associated with this custom vocabulary.

    • botVersion — (String)

      The identifier of the version of the bot associated with this custom vocabulary.

    • localeId — (String)

      The identifier of the language and locale where this custom vocabulary is used. The string must match one of the supported locales. For more information, see Supported Languages .

    • customVocabularyItemList — (Array<map>)

      A list of new custom vocabulary items. Each entry must contain a phrase and can optionally contain a displayAs and/or a weight.

      • phraserequired — (String)

        The unique phrase for the new custom vocabulary item from the custom vocabulary list.

      • weight — (Integer)

        The weight assigned to the new custom vocabulary item from the custom vocabulary list.

      • displayAs — (String)

        The display as value assigned to the new custom vocabulary item from the custom vocabulary list.

Callback (callback):

  • function(err, data) { ... }

    Called when a response from the service is returned. If a callback is not supplied, you must call AWS.Request.send() on the returned request object to initiate the request.

    Context (this):

    • (AWS.Response)

      the response object containing error, data properties, and the original request object.

    Parameters:

    • err (Error)

      the error object returned from the request. Set to null if the request is successful.

    • data (Object)

      the de-serialized data returned from the request. Set to null if a request error occurs. The data object has the following properties:

      • botId — (String)

        The identifier of the bot associated with this custom vocabulary.

      • botVersion — (String)

        The identifier of the version of the bot associated with this custom vocabulary.

      • localeId — (String)

        The identifier of the language and locale where this custom vocabulary is used. The string must match one of the supported locales. For more information, see Supported Languages .

      • errors — (Array<map>)

        A list of custom vocabulary items that failed to create during the operation. The reason for the error is contained within each error object.

        • itemId — (String)

          The unique item identifer for the failed custom vocabulary item from the custom vocabulary list.

        • errorMessage — (String)

          The error message for the failed custom vocabulary item from the custom vocabulary list.

        • errorCode — (String)

          The unique error code for the failed custom vocabulary item from the custom vocabulary list.

          Possible values include:
          • "DUPLICATE_INPUT"
          • "RESOURCE_DOES_NOT_EXIST"
          • "RESOURCE_ALREADY_EXISTS"
          • "INTERNAL_SERVER_FAILURE"
      • resources — (Array<map>)

        A list of custom vocabulary items that were successfully created during the operation.

        • itemIdrequired — (String)

          The unique item identifer for the custom vocabulary item from the custom vocabulary list.

        • phraserequired — (String)

          The unique phrase for the custom vocabulary item from the custom vocabulary list.

        • weight — (Integer)

          The weight assigned for the custom vocabulary item from the custom vocabulary list.

        • displayAs — (String)

          The DisplayAs value for the custom vocabulary item from the custom vocabulary list.

Returns:

  • (AWS.Request)

    a handle to the operation request for subsequent event callback registration.

batchDeleteCustomVocabularyItem(params = {}, callback) ⇒ AWS.Request

Delete a batch of custom vocabulary items for a given bot locale's custom vocabulary.

Service Reference:

Examples:

Calling the batchDeleteCustomVocabularyItem operation

var params = {
  botId: 'STRING_VALUE', /* required */
  botVersion: 'STRING_VALUE', /* required */
  customVocabularyItemList: [ /* required */
    {
      itemId: 'STRING_VALUE' /* required */
    },
    /* more items */
  ],
  localeId: 'STRING_VALUE' /* required */
};
lexmodelsv2.batchDeleteCustomVocabularyItem(params, function(err, data) {
  if (err) console.log(err, err.stack); // an error occurred
  else     console.log(data);           // successful response
});

Parameters:

  • params (Object) (defaults to: {})
    • botId — (String)

      The identifier of the bot associated with this custom vocabulary.

    • botVersion — (String)

      The identifier of the version of the bot associated with this custom vocabulary.

    • localeId — (String)

      The identifier of the language and locale where this custom vocabulary is used. The string must match one of the supported locales. For more information, see Supported Languages .

    • customVocabularyItemList — (Array<map>)

      A list of custom vocabulary items requested to be deleted. Each entry must contain the unique custom vocabulary entry identifier.

      • itemIdrequired — (String)

        The unique item identifier for the custom vocabulary items.

Callback (callback):

  • function(err, data) { ... }

    Called when a response from the service is returned. If a callback is not supplied, you must call AWS.Request.send() on the returned request object to initiate the request.

    Context (this):

    • (AWS.Response)

      the response object containing error, data properties, and the original request object.

    Parameters:

    • err (Error)

      the error object returned from the request. Set to null if the request is successful.

    • data (Object)

      the de-serialized data returned from the request. Set to null if a request error occurs. The data object has the following properties:

      • botId — (String)

        The identifier of the bot associated with this custom vocabulary.

      • botVersion — (String)

        The identifier of the version of the bot associated with this custom vocabulary.

      • localeId — (String)

        The identifier of the language and locale where this custom vocabulary is used. The string must match one of the supported locales. For more information, see Supported languages (https://docs.aws.amazon.com/lexv2/latest/dg/how-languages.html).

      • errors — (Array<map>)

        A list of custom vocabulary items that failed to delete during the operation. The reason for the error is contained within each error object.

        • itemId — (String)

          The unique item identifer for the failed custom vocabulary item from the custom vocabulary list.

        • errorMessage — (String)

          The error message for the failed custom vocabulary item from the custom vocabulary list.

        • errorCode — (String)

          The unique error code for the failed custom vocabulary item from the custom vocabulary list.

          Possible values include:
          • "DUPLICATE_INPUT"
          • "RESOURCE_DOES_NOT_EXIST"
          • "RESOURCE_ALREADY_EXISTS"
          • "INTERNAL_SERVER_FAILURE"
      • resources — (Array<map>)

        A list of custom vocabulary items that were successfully deleted during the operation.

        • itemIdrequired — (String)

          The unique item identifer for the custom vocabulary item from the custom vocabulary list.

        • phraserequired — (String)

          The unique phrase for the custom vocabulary item from the custom vocabulary list.

        • weight — (Integer)

          The weight assigned for the custom vocabulary item from the custom vocabulary list.

        • displayAs — (String)

          The DisplayAs value for the custom vocabulary item from the custom vocabulary list.

Returns:

  • (AWS.Request)

    a handle to the operation request for subsequent event callback registration.

batchUpdateCustomVocabularyItem(params = {}, callback) ⇒ AWS.Request

Update a batch of custom vocabulary items for a given bot locale's custom vocabulary.

Service Reference:

Examples:

Calling the batchUpdateCustomVocabularyItem operation

var params = {
  botId: 'STRING_VALUE', /* required */
  botVersion: 'STRING_VALUE', /* required */
  customVocabularyItemList: [ /* required */
    {
      itemId: 'STRING_VALUE', /* required */
      phrase: 'STRING_VALUE', /* required */
      displayAs: 'STRING_VALUE',
      weight: 'NUMBER_VALUE'
    },
    /* more items */
  ],
  localeId: 'STRING_VALUE' /* required */
};
lexmodelsv2.batchUpdateCustomVocabularyItem(params, function(err, data) {
  if (err) console.log(err, err.stack); // an error occurred
  else     console.log(data);           // successful response
});

Parameters:

  • params (Object) (defaults to: {})
    • botId — (String)

      The identifier of the bot associated with this custom vocabulary

    • botVersion — (String)

      The identifier of the version of the bot associated with this custom vocabulary.

    • localeId — (String)

      The identifier of the language and locale where this custom vocabulary is used. The string must match one of the supported locales. For more information, see Supported Languages .

    • customVocabularyItemList — (Array<map>)

      A list of custom vocabulary items with updated fields. Each entry must contain a phrase and can optionally contain a displayAs and/or a weight.

      • itemIdrequired — (String)

        The unique item identifer for the custom vocabulary item from the custom vocabulary list.

      • phraserequired — (String)

        The unique phrase for the custom vocabulary item from the custom vocabulary list.

      • weight — (Integer)

        The weight assigned for the custom vocabulary item from the custom vocabulary list.

      • displayAs — (String)

        The DisplayAs value for the custom vocabulary item from the custom vocabulary list.

Callback (callback):

  • function(err, data) { ... }

    Called when a response from the service is returned. If a callback is not supplied, you must call AWS.Request.send() on the returned request object to initiate the request.

    Context (this):

    • (AWS.Response)

      the response object containing error, data properties, and the original request object.

    Parameters:

    • err (Error)

      the error object returned from the request. Set to null if the request is successful.

    • data (Object)

      the de-serialized data returned from the request. Set to null if a request error occurs. The data object has the following properties:

      • botId — (String)

        The identifier of the bot associated with this custom vocabulary.

      • botVersion — (String)

        The identifier of the version of the bot associated with this custom vocabulary.

      • localeId — (String)

        The identifier of the language and locale where this custom vocabulary is used. The string must match one of the supported locales. For more information, see Supported Languages .

      • errors — (Array<map>)

        A list of custom vocabulary items that failed to update during the operation. The reason for the error is contained within each error object.

        • itemId — (String)

          The unique item identifer for the failed custom vocabulary item from the custom vocabulary list.

        • errorMessage — (String)

          The error message for the failed custom vocabulary item from the custom vocabulary list.

        • errorCode — (String)

          The unique error code for the failed custom vocabulary item from the custom vocabulary list.

          Possible values include:
          • "DUPLICATE_INPUT"
          • "RESOURCE_DOES_NOT_EXIST"
          • "RESOURCE_ALREADY_EXISTS"
          • "INTERNAL_SERVER_FAILURE"
      • resources — (Array<map>)

        A list of custom vocabulary items that were successfully updated during the operation.

        • itemIdrequired — (String)

          The unique item identifer for the custom vocabulary item from the custom vocabulary list.

        • phraserequired — (String)

          The unique phrase for the custom vocabulary item from the custom vocabulary list.

        • weight — (Integer)

          The weight assigned for the custom vocabulary item from the custom vocabulary list.

        • displayAs — (String)

          The DisplayAs value for the custom vocabulary item from the custom vocabulary list.

Returns:

  • (AWS.Request)

    a handle to the operation request for subsequent event callback registration.

buildBotLocale(params = {}, callback) ⇒ AWS.Request

Builds a bot, its intents, and its slot types into a specific locale. A bot can be built into multiple locales. At runtime the locale is used to choose a specific build of the bot.

Service Reference:

Examples:

Calling the buildBotLocale operation

var params = {
  botId: 'STRING_VALUE', /* required */
  botVersion: 'STRING_VALUE', /* required */
  localeId: 'STRING_VALUE' /* required */
};
lexmodelsv2.buildBotLocale(params, function(err, data) {
  if (err) console.log(err, err.stack); // an error occurred
  else     console.log(data);           // successful response
});

Parameters:

  • params (Object) (defaults to: {})
    • botId — (String)

      The identifier of the bot to build. The identifier is returned in the response from the CreateBot operation.

    • botVersion — (String)

      The version of the bot to build. This can only be the draft version of the bot.

    • localeId — (String)

      The identifier of the language and locale that the bot will be used in. The string must match one of the supported locales. All of the intents, slot types, and slots used in the bot must have the same locale. For more information, see Supported languages.

Callback (callback):

  • function(err, data) { ... }

    Called when a response from the service is returned. If a callback is not supplied, you must call AWS.Request.send() on the returned request object to initiate the request.

    Context (this):

    • (AWS.Response)

      the response object containing error, data properties, and the original request object.

    Parameters:

    • err (Error)

      the error object returned from the request. Set to null if the request is successful.

    • data (Object)

      the de-serialized data returned from the request. Set to null if a request error occurs. The data object has the following properties:

      • botId — (String)

        The identifier of the specified bot.

      • botVersion — (String)

        The version of the bot that was built. This is only the draft version of the bot.

      • localeId — (String)

        The language and locale specified of where the bot can be used.

      • botLocaleStatus — (String)

        The bot's build status. When the status is ReadyExpressTesting you can test the bot using the utterances defined for the intents and slot types. When the status is Built, the bot is ready for use and can be tested using any utterance.

        Possible values include:
        • "Creating"
        • "Building"
        • "Built"
        • "ReadyExpressTesting"
        • "Failed"
        • "Deleting"
        • "NotBuilt"
        • "Importing"
        • "Processing"
      • lastBuildSubmittedDateTime — (Date)

        A timestamp indicating the date and time that the bot was last built for this locale.

Returns:

  • (AWS.Request)

    a handle to the operation request for subsequent event callback registration.

createBot(params = {}, callback) ⇒ AWS.Request

Creates an Amazon Lex conversational bot.

Service Reference:

Examples:

Calling the createBot operation

var params = {
  botName: 'STRING_VALUE', /* required */
  dataPrivacy: { /* required */
    childDirected: true || false /* required */
  },
  idleSessionTTLInSeconds: 'NUMBER_VALUE', /* required */
  roleArn: 'STRING_VALUE', /* required */
  botMembers: [
    {
      botMemberAliasId: 'STRING_VALUE', /* required */
      botMemberAliasName: 'STRING_VALUE', /* required */
      botMemberId: 'STRING_VALUE', /* required */
      botMemberName: 'STRING_VALUE', /* required */
      botMemberVersion: 'STRING_VALUE' /* required */
    },
    /* more items */
  ],
  botTags: {
    '<TagKey>': 'STRING_VALUE',
    /* '<TagKey>': ... */
  },
  botType: Bot | BotNetwork,
  description: 'STRING_VALUE',
  testBotAliasTags: {
    '<TagKey>': 'STRING_VALUE',
    /* '<TagKey>': ... */
  }
};
lexmodelsv2.createBot(params, function(err, data) {
  if (err) console.log(err, err.stack); // an error occurred
  else     console.log(data);           // successful response
});

Parameters:

  • params (Object) (defaults to: {})
    • botName — (String)

      The name of the bot. The bot name must be unique in the account that creates the bot.

    • description — (String)

      A description of the bot. It appears in lists to help you identify a particular bot.

    • roleArn — (String)

      The Amazon Resource Name (ARN) of an IAM role that has permission to access the bot.

    • dataPrivacy — (map)

      Provides information on additional privacy protections Amazon Lex should use with the bot's data.

      • childDirectedrequired — (Boolean)

        For each Amazon Lex bot created with the Amazon Lex Model Building Service, you must specify whether your use of Amazon Lex is related to a website, program, or other application that is directed or targeted, in whole or in part, to children under age 13 and subject to the Children's Online Privacy Protection Act (COPPA) by specifying true or false in the childDirected field. By specifying true in the childDirected field, you confirm that your use of Amazon Lex is related to a website, program, or other application that is directed or targeted, in whole or in part, to children under age 13 and subject to COPPA. By specifying false in the childDirected field, you confirm that your use of Amazon Lex is not related to a website, program, or other application that is directed or targeted, in whole or in part, to children under age 13 and subject to COPPA. You may not specify a default value for the childDirected field that does not accurately reflect whether your use of Amazon Lex is related to a website, program, or other application that is directed or targeted, in whole or in part, to children under age 13 and subject to COPPA. If your use of Amazon Lex relates to a website, program, or other application that is directed in whole or in part, to children under age 13, you must obtain any required verifiable parental consent under COPPA. For information regarding the use of Amazon Lex in connection with websites, programs, or other applications that are directed or targeted, in whole or in part, to children under age 13, see the Amazon Lex FAQ.

    • idleSessionTTLInSeconds — (Integer)

      The time, in seconds, that Amazon Lex should keep information about a user's conversation with the bot.

      A user interaction remains active for the amount of time specified. If no conversation occurs during this time, the session expires and Amazon Lex deletes any data provided before the timeout.

      You can specify between 60 (1 minute) and 86,400 (24 hours) seconds.

    • botTags — (map<String>)

      A list of tags to add to the bot. You can only add tags when you create a bot. You can't use the UpdateBot operation to update tags. To update tags, use the TagResource operation.

    • testBotAliasTags — (map<String>)

      A list of tags to add to the test alias for a bot. You can only add tags when you create a bot. You can't use the UpdateAlias operation to update tags. To update tags on the test alias, use the TagResource operation.

    • botType — (String)

      The type of a bot to create.

      Possible values include:
      • "Bot"
      • "BotNetwork"
    • botMembers — (Array<map>)

      The list of bot members in a network to be created.

      • botMemberIdrequired — (String)

        The unique ID of a bot that is a member of this network of bots.

      • botMemberNamerequired — (String)

        The unique name of a bot that is a member of this network of bots.

      • botMemberAliasIdrequired — (String)

        The alias ID of a bot that is a member of this network of bots.

      • botMemberAliasNamerequired — (String)

        The alias name of a bot that is a member of this network of bots.

      • botMemberVersionrequired — (String)

        The version of a bot that is a member of this network of bots.

Callback (callback):

  • function(err, data) { ... }

    Called when a response from the service is returned. If a callback is not supplied, you must call AWS.Request.send() on the returned request object to initiate the request.

    Context (this):

    • (AWS.Response)

      the response object containing error, data properties, and the original request object.

    Parameters:

    • err (Error)

      the error object returned from the request. Set to null if the request is successful.

    • data (Object)

      the de-serialized data returned from the request. Set to null if a request error occurs. The data object has the following properties:

      • botId — (String)

        A unique identifier for a particular bot. You use this to identify the bot when you call other Amazon Lex API operations.

      • botName — (String)

        The name specified for the bot.

      • description — (String)

        The description specified for the bot.

      • roleArn — (String)

        The IAM role specified for the bot.

      • dataPrivacy — (map)

        The data privacy settings specified for the bot.

        • childDirectedrequired — (Boolean)

          For each Amazon Lex bot created with the Amazon Lex Model Building Service, you must specify whether your use of Amazon Lex is related to a website, program, or other application that is directed or targeted, in whole or in part, to children under age 13 and subject to the Children's Online Privacy Protection Act (COPPA) by specifying true or false in the childDirected field. By specifying true in the childDirected field, you confirm that your use of Amazon Lex is related to a website, program, or other application that is directed or targeted, in whole or in part, to children under age 13 and subject to COPPA. By specifying false in the childDirected field, you confirm that your use of Amazon Lex is not related to a website, program, or other application that is directed or targeted, in whole or in part, to children under age 13 and subject to COPPA. You may not specify a default value for the childDirected field that does not accurately reflect whether your use of Amazon Lex is related to a website, program, or other application that is directed or targeted, in whole or in part, to children under age 13 and subject to COPPA. If your use of Amazon Lex relates to a website, program, or other application that is directed in whole or in part, to children under age 13, you must obtain any required verifiable parental consent under COPPA. For information regarding the use of Amazon Lex in connection with websites, programs, or other applications that are directed or targeted, in whole or in part, to children under age 13, see the Amazon Lex FAQ.

      • idleSessionTTLInSeconds — (Integer)

        The session idle time specified for the bot.

      • botStatus — (String)

        Shows the current status of the bot. The bot is first in the Creating status. Once the bot is read for use, it changes to the Available status. After the bot is created, you can use the DRAFT version of the bot.

        Possible values include:
        • "Creating"
        • "Available"
        • "Inactive"
        • "Deleting"
        • "Failed"
        • "Versioning"
        • "Importing"
        • "Updating"
      • creationDateTime — (Date)

        A timestamp indicating the date and time that the bot was created.

      • botTags — (map<String>)

        A list of tags associated with the bot.

      • testBotAliasTags — (map<String>)

        A list of tags associated with the test alias for the bot.

      • botType — (String)

        The type of a bot that was created.

        Possible values include:
        • "Bot"
        • "BotNetwork"
      • botMembers — (Array<map>)

        The list of bots in a network that was created.

        • botMemberIdrequired — (String)

          The unique ID of a bot that is a member of this network of bots.

        • botMemberNamerequired — (String)

          The unique name of a bot that is a member of this network of bots.

        • botMemberAliasIdrequired — (String)

          The alias ID of a bot that is a member of this network of bots.

        • botMemberAliasNamerequired — (String)

          The alias name of a bot that is a member of this network of bots.

        • botMemberVersionrequired — (String)

          The version of a bot that is a member of this network of bots.

Returns:

  • (AWS.Request)

    a handle to the operation request for subsequent event callback registration.

createBotAlias(params = {}, callback) ⇒ AWS.Request

Creates an alias for the specified version of a bot. Use an alias to enable you to change the version of a bot without updating applications that use the bot.

For example, you can create an alias called "PROD" that your applications use to call the Amazon Lex bot.

Service Reference:

Examples:

Calling the createBotAlias operation

var params = {
  botAliasName: 'STRING_VALUE', /* required */
  botId: 'STRING_VALUE', /* required */
  botAliasLocaleSettings: {
    '<LocaleId>': {
      enabled: true || false, /* required */
      codeHookSpecification: {
        lambdaCodeHook: { /* required */
          codeHookInterfaceVersion: 'STRING_VALUE', /* required */
          lambdaARN: 'STRING_VALUE' /* required */
        }
      }
    },
    /* '<LocaleId>': ... */
  },
  botVersion: 'STRING_VALUE',
  conversationLogSettings: {
    audioLogSettings: [
      {
        destination: { /* required */
          s3Bucket: { /* required */
            logPrefix: 'STRING_VALUE', /* required */
            s3BucketArn: 'STRING_VALUE', /* required */
            kmsKeyArn: 'STRING_VALUE'
          }
        },
        enabled: true || false, /* required */
        selectiveLoggingEnabled: true || false
      },
      /* more items */
    ],
    textLogSettings: [
      {
        destination: { /* required */
          cloudWatch: { /* required */
            cloudWatchLogGroupArn: 'STRING_VALUE', /* required */
            logPrefix: 'STRING_VALUE' /* required */
          }
        },
        enabled: true || false, /* required */
        selectiveLoggingEnabled: true || false
      },
      /* more items */
    ]
  },
  description: 'STRING_VALUE',
  sentimentAnalysisSettings: {
    detectSentiment: true || false /* required */
  },
  tags: {
    '<TagKey>': 'STRING_VALUE',
    /* '<TagKey>': ... */
  }
};
lexmodelsv2.createBotAlias(params, function(err, data) {
  if (err) console.log(err, err.stack); // an error occurred
  else     console.log(data);           // successful response
});

Parameters:

  • params (Object) (defaults to: {})
    • botAliasName — (String)

      The alias to create. The name must be unique for the bot.

    • description — (String)

      A description of the alias. Use this description to help identify the alias.

    • botVersion — (String)

      The version of the bot that this alias points to. You can use the UpdateBotAlias operation to change the bot version associated with the alias.

    • botAliasLocaleSettings — (map<map>)

      Maps configuration information to a specific locale. You can use this parameter to specify a specific Lambda function to run different functions in different locales.

      • enabledrequired — (Boolean)

        Determines whether the locale is enabled for the bot. If the value is false, the locale isn't available for use.

      • codeHookSpecification — (map)

        Specifies the Lambda function that should be used in the locale.

        • lambdaCodeHookrequired — (map)

          Specifies a Lambda function that verifies requests to a bot or fulfills the user's request to a bot.

          • lambdaARNrequired — (String)

            The Amazon Resource Name (ARN) of the Lambda function.

          • codeHookInterfaceVersionrequired — (String)

            The version of the request-response that you want Amazon Lex to use to invoke your Lambda function.

    • conversationLogSettings — (map)

      Specifies whether Amazon Lex logs text and audio for a conversation with the bot. When you enable conversation logs, text logs store text input, transcripts of audio input, and associated metadata in Amazon CloudWatch Logs. Audio logs store audio input in Amazon S3.

      • textLogSettings — (Array<map>)

        The Amazon CloudWatch Logs settings for logging text and metadata.

        • enabledrequired — (Boolean)

          Determines whether conversation logs should be stored for an alias.

        • destinationrequired — (map)

          Defines the Amazon CloudWatch Logs destination log group for conversation text logs.

          • cloudWatchrequired — (map)

            Defines the Amazon CloudWatch Logs log group where text and metadata logs are delivered.

            • cloudWatchLogGroupArnrequired — (String)

              The Amazon Resource Name (ARN) of the log group where text and metadata logs are delivered.

            • logPrefixrequired — (String)

              The prefix of the log stream name within the log group that you specified

        • selectiveLoggingEnabled — (Boolean)

          The option to enable selective conversation log capture for text.

      • audioLogSettings — (Array<map>)

        The Amazon S3 settings for logging audio to an S3 bucket.

        • enabledrequired — (Boolean)

          Determines whether audio logging in enabled for the bot.

        • destinationrequired — (map)

          The location of audio log files collected when conversation logging is enabled for a bot.

          • s3Bucketrequired — (map)

            The Amazon S3 bucket where the audio log files are stored. The IAM role specified in the roleArn parameter of the CreateBot operation must have permission to write to this bucket.

            • kmsKeyArn — (String)

              The Amazon Resource Name (ARN) of an Amazon Web Services Key Management Service (KMS) key for encrypting audio log files stored in an S3 bucket.

            • s3BucketArnrequired — (String)

              The Amazon Resource Name (ARN) of an Amazon S3 bucket where audio log files are stored.

            • logPrefixrequired — (String)

              The S3 prefix to assign to audio log files.

        • selectiveLoggingEnabled — (Boolean)

          The option to enable selective conversation log capture for audio.

    • sentimentAnalysisSettings — (map)

      Determines whether Amazon Lex will use Amazon Comprehend to detect the sentiment of user utterances.

      • detectSentimentrequired — (Boolean)

        Sets whether Amazon Lex uses Amazon Comprehend to detect the sentiment of user utterances.

    • botId — (String)

      The unique identifier of the bot that the alias applies to.

    • tags — (map<String>)

      A list of tags to add to the bot alias. You can only add tags when you create an alias, you can't use the UpdateBotAlias operation to update the tags on a bot alias. To update tags, use the TagResource operation.

Callback (callback):

  • function(err, data) { ... }

    Called when a response from the service is returned. If a callback is not supplied, you must call AWS.Request.send() on the returned request object to initiate the request.

    Context (this):

    • (AWS.Response)

      the response object containing error, data properties, and the original request object.

    Parameters:

    • err (Error)

      the error object returned from the request. Set to null if the request is successful.

    • data (Object)

      the de-serialized data returned from the request. Set to null if a request error occurs. The data object has the following properties:

      • botAliasId — (String)

        The unique identifier of the bot alias.

      • botAliasName — (String)

        The name specified for the bot alias.

      • description — (String)

        The description specified for the bot alias.

      • botVersion — (String)

        The version of the bot associated with this alias.

      • botAliasLocaleSettings — (map<map>)

        Configuration information for a specific locale.

        • enabledrequired — (Boolean)

          Determines whether the locale is enabled for the bot. If the value is false, the locale isn't available for use.

        • codeHookSpecification — (map)

          Specifies the Lambda function that should be used in the locale.

          • lambdaCodeHookrequired — (map)

            Specifies a Lambda function that verifies requests to a bot or fulfills the user's request to a bot.

            • lambdaARNrequired — (String)

              The Amazon Resource Name (ARN) of the Lambda function.

            • codeHookInterfaceVersionrequired — (String)

              The version of the request-response that you want Amazon Lex to use to invoke your Lambda function.

      • conversationLogSettings — (map)

        The conversation log settings specified for the alias.

        • textLogSettings — (Array<map>)

          The Amazon CloudWatch Logs settings for logging text and metadata.

          • enabledrequired — (Boolean)

            Determines whether conversation logs should be stored for an alias.

          • destinationrequired — (map)

            Defines the Amazon CloudWatch Logs destination log group for conversation text logs.

            • cloudWatchrequired — (map)

              Defines the Amazon CloudWatch Logs log group where text and metadata logs are delivered.

              • cloudWatchLogGroupArnrequired — (String)

                The Amazon Resource Name (ARN) of the log group where text and metadata logs are delivered.

              • logPrefixrequired — (String)

                The prefix of the log stream name within the log group that you specified

          • selectiveLoggingEnabled — (Boolean)

            The option to enable selective conversation log capture for text.

        • audioLogSettings — (Array<map>)

          The Amazon S3 settings for logging audio to an S3 bucket.

          • enabledrequired — (Boolean)

            Determines whether audio logging in enabled for the bot.

          • destinationrequired — (map)

            The location of audio log files collected when conversation logging is enabled for a bot.

            • s3Bucketrequired — (map)

              The Amazon S3 bucket where the audio log files are stored. The IAM role specified in the roleArn parameter of the CreateBot operation must have permission to write to this bucket.

              • kmsKeyArn — (String)

                The Amazon Resource Name (ARN) of an Amazon Web Services Key Management Service (KMS) key for encrypting audio log files stored in an S3 bucket.

              • s3BucketArnrequired — (String)

                The Amazon Resource Name (ARN) of an Amazon S3 bucket where audio log files are stored.

              • logPrefixrequired — (String)

                The S3 prefix to assign to audio log files.

          • selectiveLoggingEnabled — (Boolean)

            The option to enable selective conversation log capture for audio.

      • sentimentAnalysisSettings — (map)

        Determines whether Amazon Lex will use Amazon Comprehend to detect the sentiment of user utterances.

        • detectSentimentrequired — (Boolean)

          Sets whether Amazon Lex uses Amazon Comprehend to detect the sentiment of user utterances.

      • botAliasStatus — (String)

        The current status of the alias. The alias is first put into the Creating state. When the alias is ready to be used, it is put into the Available state. You can use the DescribeBotAlias operation to get the current state of an alias.

        Possible values include:
        • "Creating"
        • "Available"
        • "Deleting"
        • "Failed"
      • botId — (String)

        The unique identifier of the bot that this alias applies to.

      • creationDateTime — (Date)

        A Unix timestamp indicating the date and time that the bot alias was created.

      • tags — (map<String>)

        A list of tags associated with the bot alias.

Returns:

  • (AWS.Request)

    a handle to the operation request for subsequent event callback registration.

createBotLocale(params = {}, callback) ⇒ AWS.Request

Creates a locale in the bot. The locale contains the intents and slot types that the bot uses in conversations with users in the specified language and locale. You must add a locale to a bot before you can add intents and slot types to the bot.

Service Reference:

Examples:

Calling the createBotLocale operation

var params = {
  botId: 'STRING_VALUE', /* required */
  botVersion: 'STRING_VALUE', /* required */
  localeId: 'STRING_VALUE', /* required */
  nluIntentConfidenceThreshold: 'NUMBER_VALUE', /* required */
  description: 'STRING_VALUE',
  generativeAISettings: {
    buildtimeSettings: {
      descriptiveBotBuilder: {
        enabled: true || false, /* required */
        bedrockModelSpecification: {
          modelArn: 'STRING_VALUE', /* required */
          customPrompt: 'STRING_VALUE',
          guardrail: {
            identifier: 'STRING_VALUE', /* required */
            version: 'STRING_VALUE' /* required */
          },
          traceStatus: ENABLED | DISABLED
        }
      },
      sampleUtteranceGeneration: {
        enabled: true || false, /* required */
        bedrockModelSpecification: {
          modelArn: 'STRING_VALUE', /* required */
          customPrompt: 'STRING_VALUE',
          guardrail: {
            identifier: 'STRING_VALUE', /* required */
            version: 'STRING_VALUE' /* required */
          },
          traceStatus: ENABLED | DISABLED
        }
      }
    },
    runtimeSettings: {
      slotResolutionImprovement: {
        enabled: true || false, /* required */
        bedrockModelSpecification: {
          modelArn: 'STRING_VALUE', /* required */
          customPrompt: 'STRING_VALUE',
          guardrail: {
            identifier: 'STRING_VALUE', /* required */
            version: 'STRING_VALUE' /* required */
          },
          traceStatus: ENABLED | DISABLED
        }
      }
    }
  },
  voiceSettings: {
    voiceId: 'STRING_VALUE', /* required */
    engine: standard | neural
  }
};
lexmodelsv2.createBotLocale(params, function(err, data) {
  if (err) console.log(err, err.stack); // an error occurred
  else     console.log(data);           // successful response
});

Parameters:

  • params (Object) (defaults to: {})
    • botId — (String)

      The identifier of the bot to create the locale for.

    • botVersion — (String)

      The version of the bot to create the locale for. This can only be the draft version of the bot.

    • localeId — (String)

      The identifier of the language and locale that the bot will be used in. The string must match one of the supported locales. All of the intents, slot types, and slots used in the bot must have the same locale. For more information, see Supported languages.

    • description — (String)

      A description of the bot locale. Use this to help identify the bot locale in lists.

    • nluIntentConfidenceThreshold — (Float)

      Determines the threshold where Amazon Lex will insert the AMAZON.FallbackIntent, AMAZON.KendraSearchIntent, or both when returning alternative intents. AMAZON.FallbackIntent and AMAZON.KendraSearchIntent are only inserted if they are configured for the bot.

      For example, suppose a bot is configured with the confidence threshold of 0.80 and the AMAZON.FallbackIntent. Amazon Lex returns three alternative intents with the following confidence scores: IntentA (0.70), IntentB (0.60), IntentC (0.50). The response from the RecognizeText operation would be:

      • AMAZON.FallbackIntent

      • IntentA

      • IntentB

      • IntentC

    • voiceSettings — (map)

      The Amazon Polly voice ID that Amazon Lex uses for voice interaction with the user.

      • voiceIdrequired — (String)

        The identifier of the Amazon Polly voice to use.

      • engine — (String)

        Indicates the type of Amazon Polly voice that Amazon Lex should use for voice interaction with the user. For more information, see the engine parameter of the SynthesizeSpeech operation in the Amazon Polly developer guide.

        If you do not specify a value, the default is standard.

        Possible values include:
        • "standard"
        • "neural"
    • generativeAISettings — (map)

      Contains specifications about the generative AI capabilities from Amazon Bedrock that you can turn on for your bot.

      • runtimeSettings — (map)

        Contains specifications about the Amazon Lex runtime generative AI capabilities from Amazon Bedrock that you can turn on for your bot.

        • slotResolutionImprovement — (map)

          An object containing specifications for the assisted slot resolution feature.

          • enabledrequired — (Boolean)

            Specifies whether assisted slot resolution is turned on or off.

          • bedrockModelSpecification — (map)

            An object containing information about the Amazon Bedrock model used to assist slot resolution.

            • modelArnrequired — (String)

              The ARN of the foundation model used in descriptive bot building.

            • guardrail — (map)

              The guardrail configuration in the Bedrock model specification details.

              • identifierrequired — (String)

                The unique guardrail id for the Bedrock guardrail configuration.

              • versionrequired — (String)

                The guardrail version for the Bedrock guardrail configuration.

            • traceStatus — (String)

              The Bedrock trace status in the Bedrock model specification details.

              Possible values include:
              • "ENABLED"
              • "DISABLED"
            • customPrompt — (String)

              The custom prompt used in the Bedrock model specification details.

      • buildtimeSettings — (map)

        Contains specifications about the Amazon Lex build time generative AI capabilities from Amazon Bedrock that you can turn on for your bot.

        • descriptiveBotBuilder — (map)

          An object containing specifications for the descriptive bot building feature.

          • enabledrequired — (Boolean)

            Specifies whether the descriptive bot building feature is activated or not.

          • bedrockModelSpecification — (map)

            An object containing information about the Amazon Bedrock model used to interpret the prompt used in descriptive bot building.

            • modelArnrequired — (String)

              The ARN of the foundation model used in descriptive bot building.

            • guardrail — (map)

              The guardrail configuration in the Bedrock model specification details.

              • identifierrequired — (String)

                The unique guardrail id for the Bedrock guardrail configuration.

              • versionrequired — (String)

                The guardrail version for the Bedrock guardrail configuration.

            • traceStatus — (String)

              The Bedrock trace status in the Bedrock model specification details.

              Possible values include:
              • "ENABLED"
              • "DISABLED"
            • customPrompt — (String)

              The custom prompt used in the Bedrock model specification details.

        • sampleUtteranceGeneration — (map)

          Contains specifications for the sample utterance generation feature.

          • enabledrequired — (Boolean)

            Specifies whether to enable sample utterance generation or not.

          • bedrockModelSpecification — (map)

            Contains information about the Amazon Bedrock model used to interpret the prompt used in descriptive bot building.

            • modelArnrequired — (String)

              The ARN of the foundation model used in descriptive bot building.

            • guardrail — (map)

              The guardrail configuration in the Bedrock model specification details.

              • identifierrequired — (String)

                The unique guardrail id for the Bedrock guardrail configuration.

              • versionrequired — (String)

                The guardrail version for the Bedrock guardrail configuration.

            • traceStatus — (String)

              The Bedrock trace status in the Bedrock model specification details.

              Possible values include:
              • "ENABLED"
              • "DISABLED"
            • customPrompt — (String)

              The custom prompt used in the Bedrock model specification details.

Callback (callback):

  • function(err, data) { ... }

    Called when a response from the service is returned. If a callback is not supplied, you must call AWS.Request.send() on the returned request object to initiate the request.

    Context (this):

    • (AWS.Response)

      the response object containing error, data properties, and the original request object.

    Parameters:

    • err (Error)

      the error object returned from the request. Set to null if the request is successful.

    • data (Object)

      the de-serialized data returned from the request. Set to null if a request error occurs. The data object has the following properties:

      • botId — (String)

        The specified bot identifier.

      • botVersion — (String)

        The specified bot version.

      • localeName — (String)

        The specified locale name.

      • localeId — (String)

        The specified locale identifier.

      • description — (String)

        The specified description of the bot locale.

      • nluIntentConfidenceThreshold — (Float)

        The specified confidence threshold for inserting the AMAZON.FallbackIntent and AMAZON.KendraSearchIntent intents.

      • voiceSettings — (map)

        The Amazon Polly voice ID that Amazon Lex uses for voice interaction with the user.

        • voiceIdrequired — (String)

          The identifier of the Amazon Polly voice to use.

        • engine — (String)

          Indicates the type of Amazon Polly voice that Amazon Lex should use for voice interaction with the user. For more information, see the engine parameter of the SynthesizeSpeech operation in the Amazon Polly developer guide.

          If you do not specify a value, the default is standard.

          Possible values include:
          • "standard"
          • "neural"
      • botLocaleStatus — (String)

        The status of the bot.

        When the status is Creating the bot locale is being configured. When the status is Building Amazon Lex is building the bot for testing and use.

        If the status of the bot is ReadyExpressTesting, you can test the bot using the exact utterances specified in the bots' intents. When the bot is ready for full testing or to run, the status is Built.

        If there was a problem with building the bot, the status is Failed. If the bot was saved but not built, the status is NotBuilt.

        Possible values include:
        • "Creating"
        • "Building"
        • "Built"
        • "ReadyExpressTesting"
        • "Failed"
        • "Deleting"
        • "NotBuilt"
        • "Importing"
        • "Processing"
      • creationDateTime — (Date)

        A timestamp specifying the date and time that the bot locale was created.

      • generativeAISettings — (map)

        Contains specifications about the generative AI capabilities from Amazon Bedrock that you can turn on for your bot.

        • runtimeSettings — (map)

          Contains specifications about the Amazon Lex runtime generative AI capabilities from Amazon Bedrock that you can turn on for your bot.

          • slotResolutionImprovement — (map)

            An object containing specifications for the assisted slot resolution feature.

            • enabledrequired — (Boolean)

              Specifies whether assisted slot resolution is turned on or off.

            • bedrockModelSpecification — (map)

              An object containing information about the Amazon Bedrock model used to assist slot resolution.

              • modelArnrequired — (String)

                The ARN of the foundation model used in descriptive bot building.

              • guardrail — (map)

                The guardrail configuration in the Bedrock model specification details.

                • identifierrequired — (String)

                  The unique guardrail id for the Bedrock guardrail configuration.

                • versionrequired — (String)

                  The guardrail version for the Bedrock guardrail configuration.

              • traceStatus — (String)

                The Bedrock trace status in the Bedrock model specification details.

                Possible values include:
                • "ENABLED"
                • "DISABLED"
              • customPrompt — (String)

                The custom prompt used in the Bedrock model specification details.

        • buildtimeSettings — (map)

          Contains specifications about the Amazon Lex build time generative AI capabilities from Amazon Bedrock that you can turn on for your bot.

          • descriptiveBotBuilder — (map)

            An object containing specifications for the descriptive bot building feature.

            • enabledrequired — (Boolean)

              Specifies whether the descriptive bot building feature is activated or not.

            • bedrockModelSpecification — (map)

              An object containing information about the Amazon Bedrock model used to interpret the prompt used in descriptive bot building.

              • modelArnrequired — (String)

                The ARN of the foundation model used in descriptive bot building.

              • guardrail — (map)

                The guardrail configuration in the Bedrock model specification details.

                • identifierrequired — (String)

                  The unique guardrail id for the Bedrock guardrail configuration.

                • versionrequired — (String)

                  The guardrail version for the Bedrock guardrail configuration.

              • traceStatus — (String)

                The Bedrock trace status in the Bedrock model specification details.

                Possible values include:
                • "ENABLED"
                • "DISABLED"
              • customPrompt — (String)

                The custom prompt used in the Bedrock model specification details.

          • sampleUtteranceGeneration — (map)

            Contains specifications for the sample utterance generation feature.

            • enabledrequired — (Boolean)

              Specifies whether to enable sample utterance generation or not.

            • bedrockModelSpecification — (map)

              Contains information about the Amazon Bedrock model used to interpret the prompt used in descriptive bot building.

              • modelArnrequired — (String)

                The ARN of the foundation model used in descriptive bot building.

              • guardrail — (map)

                The guardrail configuration in the Bedrock model specification details.

                • identifierrequired — (String)

                  The unique guardrail id for the Bedrock guardrail configuration.

                • versionrequired — (String)

                  The guardrail version for the Bedrock guardrail configuration.

              • traceStatus — (String)

                The Bedrock trace status in the Bedrock model specification details.

                Possible values include:
                • "ENABLED"
                • "DISABLED"
              • customPrompt — (String)

                The custom prompt used in the Bedrock model specification details.

Returns:

  • (AWS.Request)

    a handle to the operation request for subsequent event callback registration.

createBotReplica(params = {}, callback) ⇒ AWS.Request

Action to create a replication of the source bot in the secondary region.

Service Reference:

Examples:

Calling the createBotReplica operation

var params = {
  botId: 'STRING_VALUE', /* required */
  replicaRegion: 'STRING_VALUE' /* required */
};
lexmodelsv2.createBotReplica(params, function(err, data) {
  if (err) console.log(err, err.stack); // an error occurred
  else     console.log(data);           // successful response
});

Parameters:

  • params (Object) (defaults to: {})
    • botId — (String)

      The request for the unique bot ID of the source bot to be replicated in the secondary region.

    • replicaRegion — (String)

      The request for the secondary region that will be used in the replication of the source bot.

Callback (callback):

  • function(err, data) { ... }

    Called when a response from the service is returned. If a callback is not supplied, you must call AWS.Request.send() on the returned request object to initiate the request.

    Context (this):

    • (AWS.Response)

      the response object containing error, data properties, and the original request object.

    Parameters:

    • err (Error)

      the error object returned from the request. Set to null if the request is successful.

    • data (Object)

      the de-serialized data returned from the request. Set to null if a request error occurs. The data object has the following properties:

      • botId — (String)

        The unique bot ID of the replicated bot generated.

      • replicaRegion — (String)

        The region of the replicated bot generated.

      • sourceRegion — (String)

        The source region for the source bot used for the replicated bot generated.

      • creationDateTime — (Date)

        The creation date and time of the replicated bot generated.

      • botReplicaStatus — (String)

        The operational status of the replicated bot generated.

        Possible values include:
        • "Enabling"
        • "Enabled"
        • "Deleting"
        • "Failed"

Returns:

  • (AWS.Request)

    a handle to the operation request for subsequent event callback registration.

createBotVersion(params = {}, callback) ⇒ AWS.Request

Creates an immutable version of the bot. When you create the first version of a bot, Amazon Lex sets the version number to 1. Subsequent bot versions increase in an increment of 1. The version number will always represent the total number of versions created of the bot, not the current number of versions. If a bot version is deleted, that bot version number will not be reused.

Service Reference:

Examples:

Calling the createBotVersion operation

var params = {
  botId: 'STRING_VALUE', /* required */
  botVersionLocaleSpecification: { /* required */
    '<LocaleId>': {
      sourceBotVersion: 'STRING_VALUE' /* required */
    },
    /* '<LocaleId>': ... */
  },
  description: 'STRING_VALUE'
};
lexmodelsv2.createBotVersion(params, function(err, data) {
  if (err) console.log(err, err.stack); // an error occurred
  else     console.log(data);           // successful response
});

Parameters:

  • params (Object) (defaults to: {})
    • botId — (String)

      The identifier of the bot to create the version for.

    • description — (String)

      A description of the version. Use the description to help identify the version in lists.

    • botVersionLocaleSpecification — (map<map>)

      Specifies the locales that Amazon Lex adds to this version. You can choose the Draft version or any other previously published version for each locale. When you specify a source version, the locale data is copied from the source version to the new version.

      • sourceBotVersionrequired — (String)

        The version of a bot used for a bot locale.

Callback (callback):

  • function(err, data) { ... }

    Called when a response from the service is returned. If a callback is not supplied, you must call AWS.Request.send() on the returned request object to initiate the request.

    Context (this):

    • (AWS.Response)

      the response object containing error, data properties, and the original request object.

    Parameters:

    • err (Error)

      the error object returned from the request. Set to null if the request is successful.

    • data (Object)

      the de-serialized data returned from the request. Set to null if a request error occurs. The data object has the following properties:

      • botId — (String)

        The bot identifier specified in the request.

      • description — (String)

        The description of the version specified in the request.

      • botVersion — (String)

        The version number assigned to the version.

      • botVersionLocaleSpecification — (map<map>)

        The source versions used for each locale in the new version.

        • sourceBotVersionrequired — (String)

          The version of a bot used for a bot locale.

      • botStatus — (String)

        When you send a request to create or update a bot, Amazon Lex sets the status response element to Creating. After Amazon Lex builds the bot, it sets status to Available. If Amazon Lex can't build the bot, it sets status to Failed.

        Possible values include:
        • "Creating"
        • "Available"
        • "Inactive"
        • "Deleting"
        • "Failed"
        • "Versioning"
        • "Importing"
        • "Updating"
      • creationDateTime — (Date)

        A timestamp of the date and time that the version was created.

Returns:

  • (AWS.Request)

    a handle to the operation request for subsequent event callback registration.

createExport(params = {}, callback) ⇒ AWS.Request

Creates a zip archive containing the contents of a bot or a bot locale. The archive contains a directory structure that contains JSON files that define the bot.

You can create an archive that contains the complete definition of a bot, or you can specify that the archive contain only the definition of a single bot locale.

For more information about exporting bots, and about the structure of the export archive, see Importing and exporting bots

Service Reference:

Examples:

Calling the createExport operation

var params = {
  fileFormat: LexJson | TSV | CSV, /* required */
  resourceSpecification: { /* required */
    botExportSpecification: {
      botId: 'STRING_VALUE', /* required */
      botVersion: 'STRING_VALUE' /* required */
    },
    botLocaleExportSpecification: {
      botId: 'STRING_VALUE', /* required */
      botVersion: 'STRING_VALUE', /* required */
      localeId: 'STRING_VALUE' /* required */
    },
    customVocabularyExportSpecification: {
      botId: 'STRING_VALUE', /* required */
      botVersion: 'STRING_VALUE', /* required */
      localeId: 'STRING_VALUE' /* required */
    },
    testSetExportSpecification: {
      testSetId: 'STRING_VALUE' /* required */
    }
  },
  filePassword: 'STRING_VALUE'
};
lexmodelsv2.createExport(params, function(err, data) {
  if (err) console.log(err, err.stack); // an error occurred
  else     console.log(data);           // successful response
});

Parameters:

  • params (Object) (defaults to: {})
    • resourceSpecification — (map)

      Specifies the type of resource to export, either a bot or a bot locale. You can only specify one type of resource to export.

      • botExportSpecification — (map)

        Parameters for exporting a bot.

        • botIdrequired — (String)

          The identifier of the bot assigned by Amazon Lex.

        • botVersionrequired — (String)

          The version of the bot that was exported. This will be either DRAFT or the version number.

      • botLocaleExportSpecification — (map)

        Parameters for exporting a bot locale.

        • botIdrequired — (String)

          The identifier of the bot to create the locale for.

        • botVersionrequired — (String)

          The version of the bot to export.

        • localeIdrequired — (String)

          The identifier of the language and locale to export. The string must match one of the locales in the bot.

      • customVocabularyExportSpecification — (map)

        The parameters required to export a custom vocabulary.

        • botIdrequired — (String)

          The identifier of the bot that contains the custom vocabulary to export.

        • botVersionrequired — (String)

          The version of the bot that contains the custom vocabulary to export.

        • localeIdrequired — (String)

          The locale of the bot that contains the custom vocabulary to export.

      • testSetExportSpecification — (map)

        Specifications for the test set that is exported as a resource.

        • testSetIdrequired — (String)

          The unique identifier of the test set.

    • fileFormat — (String)

      The file format of the bot or bot locale definition files.

      Possible values include:
      • "LexJson"
      • "TSV"
      • "CSV"
    • filePassword — (String)

      An password to use to encrypt the exported archive. Using a password is optional, but you should encrypt the archive to protect the data in transit between Amazon Lex and your local computer.

Callback (callback):

  • function(err, data) { ... }

    Called when a response from the service is returned. If a callback is not supplied, you must call AWS.Request.send() on the returned request object to initiate the request.

    Context (this):

    • (AWS.Response)

      the response object containing error, data properties, and the original request object.

    Parameters:

    • err (Error)

      the error object returned from the request. Set to null if the request is successful.

    • data (Object)

      the de-serialized data returned from the request. Set to null if a request error occurs. The data object has the following properties:

      • exportId — (String)

        An identifier for a specific request to create an export.

      • resourceSpecification — (map)

        A description of the type of resource that was exported, either a bot or a bot locale.

        • botExportSpecification — (map)

          Parameters for exporting a bot.

          • botIdrequired — (String)

            The identifier of the bot assigned by Amazon Lex.

          • botVersionrequired — (String)

            The version of the bot that was exported. This will be either DRAFT or the version number.

        • botLocaleExportSpecification — (map)

          Parameters for exporting a bot locale.

          • botIdrequired — (String)

            The identifier of the bot to create the locale for.

          • botVersionrequired — (String)

            The version of the bot to export.

          • localeIdrequired — (String)

            The identifier of the language and locale to export. The string must match one of the locales in the bot.

        • customVocabularyExportSpecification — (map)

          The parameters required to export a custom vocabulary.

          • botIdrequired — (String)

            The identifier of the bot that contains the custom vocabulary to export.

          • botVersionrequired — (String)

            The version of the bot that contains the custom vocabulary to export.

          • localeIdrequired — (String)

            The locale of the bot that contains the custom vocabulary to export.

        • testSetExportSpecification — (map)

          Specifications for the test set that is exported as a resource.

          • testSetIdrequired — (String)

            The unique identifier of the test set.

      • fileFormat — (String)

        The file format used for the bot or bot locale definition files.

        Possible values include:
        • "LexJson"
        • "TSV"
        • "CSV"
      • exportStatus — (String)

        The status of the export. When the status is Completed, you can use the DescribeExport operation to get the pre-signed S3 URL link to your exported bot or bot locale.

        Possible values include:
        • "InProgress"
        • "Completed"
        • "Failed"
        • "Deleting"
      • creationDateTime — (Date)

        The date and time that the request to export a bot was created.

Returns:

  • (AWS.Request)

    a handle to the operation request for subsequent event callback registration.

createIntent(params = {}, callback) ⇒ AWS.Request

Creates an intent.

To define the interaction between the user and your bot, you define one or more intents. For example, for a pizza ordering bot you would create an OrderPizza intent.

When you create an intent, you must provide a name. You can optionally provide the following:

  • Sample utterances. For example, "I want to order a pizza" and "Can I order a pizza." You can't provide utterances for built-in intents.

  • Information to be gathered. You specify slots for the information that you bot requests from the user. You can specify standard slot types, such as date and time, or custom slot types for your application.

  • How the intent is fulfilled. You can provide a Lambda function or configure the intent to return the intent information to your client application. If you use a Lambda function, Amazon Lex invokes the function when all of the intent information is available.

  • A confirmation prompt to send to the user to confirm an intent. For example, "Shall I order your pizza?"

  • A conclusion statement to send to the user after the intent is fulfilled. For example, "I ordered your pizza."

  • A follow-up prompt that asks the user for additional activity. For example, "Do you want a drink with your pizza?"

Service Reference:

Examples:

Calling the createIntent operation

var params = {
  botId: 'STRING_VALUE', /* required */
  botVersion: 'STRING_VALUE', /* required */
  intentName: 'STRING_VALUE', /* required */
  localeId: 'STRING_VALUE', /* required */
  description: 'STRING_VALUE',
  dialogCodeHook: {
    enabled: true || false /* required */
  },
  fulfillmentCodeHook: {
    enabled: true || false, /* required */
    active: true || false,
    fulfillmentUpdatesSpecification: {
      active: true || false, /* required */
      startResponse: {
        delayInSeconds: 'NUMBER_VALUE', /* required */
        messageGroups: [ /* required */
          {
            message: { /* required */
              customPayload: {
                value: 'STRING_VALUE' /* required */
              },
              imageResponseCard: {
                title: 'STRING_VALUE', /* required */
                buttons: [
                  {
                    text: 'STRING_VALUE', /* required */
                    value: 'STRING_VALUE' /* required */
                  },
                  /* more items */
                ],
                imageUrl: 'STRING_VALUE',
                subtitle: 'STRING_VALUE'
              },
              plainTextMessage: {
                value: 'STRING_VALUE' /* required */
              },
              ssmlMessage: {
                value: 'STRING_VALUE' /* required */
              }
            },
            variations: [
              {
                customPayload: {
                  value: 'STRING_VALUE' /* required */
                },
                imageResponseCard: {
                  title: 'STRING_VALUE', /* required */
                  buttons: [
                    {
                      text: 'STRING_VALUE', /* required */
                      value: 'STRING_VALUE' /* required */
                    },
                    /* more items */
                  ],
                  imageUrl: 'STRING_VALUE',
                  subtitle: 'STRING_VALUE'
                },
                plainTextMessage: {
                  value: 'STRING_VALUE' /* required */
                },
                ssmlMessage: {
                  value: 'STRING_VALUE' /* required */
                }
              },
              /* more items */
            ]
          },
          /* more items */
        ],
        allowInterrupt: true || false
      },
      timeoutInSeconds: 'NUMBER_VALUE',
      updateResponse: {
        frequencyInSeconds: 'NUMBER_VALUE', /* required */
        messageGroups: [ /* required */
          {
            message: { /* required */
              customPayload: {
                value: 'STRING_VALUE' /* required */
              },
              imageResponseCard: {
                title: 'STRING_VALUE', /* required */
                buttons: [
                  {
                    text: 'STRING_VALUE', /* required */
                    value: 'STRING_VALUE' /* required */
                  },
                  /* more items */
                ],
                imageUrl: 'STRING_VALUE',
                subtitle: 'STRING_VALUE'
              },
              plainTextMessage: {
                value: 'STRING_VALUE' /* required */
              },
              ssmlMessage: {
                value: 'STRING_VALUE' /* required */
              }
            },
            variations: [
              {
                customPayload: {
                  value: 'STRING_VALUE' /* required */
                },
                imageResponseCard: {
                  title: 'STRING_VALUE', /* required */
                  buttons: [
                    {
                      text: 'STRING_VALUE', /* required */
                      value: 'STRING_VALUE' /* required */
                    },
                    /* more items */
                  ],
                  imageUrl: 'STRING_VALUE',
                  subtitle: 'STRING_VALUE'
                },
                plainTextMessage: {
                  value: 'STRING_VALUE' /* required */
                },
                ssmlMessage: {
                  value: 'STRING_VALUE' /* required */
                }
              },
              /* more items */
            ]
          },
          /* more items */
        ],
        allowInterrupt: true || false
      }
    },
    postFulfillmentStatusSpecification: {
      failureConditional: {
        active: true || false, /* required */
        conditionalBranches: [ /* required */
          {
            condition: { /* required */
              expressionString: 'STRING_VALUE' /* required */
            },
            name: 'STRING_VALUE', /* required */
            nextStep: { /* required */
              dialogAction: {
                type: ElicitIntent | StartIntent | ElicitSlot | EvaluateConditional | InvokeDialogCodeHook | ConfirmIntent | FulfillIntent | CloseIntent | EndConversation, /* required */
                slotToElicit: 'STRING_VALUE',
                suppressNextMessage: true || false
              },
              intent: {
                name: 'STRING_VALUE',
                slots: {
                  '<Name>': { /* SlotValueOverride */
                    shape: Scalar | List,
                    value: {
                      interpretedValue: 'STRING_VALUE'
                    },
                    values: [
                      /* recursive SlotValueOverride */,
                      /* more items */
                    ]
                  },
                  /* '<Name>': ... */
                }
              },
              sessionAttributes: {
                '<NonEmptyString>': 'STRING_VALUE',
                /* '<NonEmptyString>': ... */
              }
            },
            response: {
              messageGroups: [ /* required */
                {
                  message: { /* required */
                    customPayload: {
                      value: 'STRING_VALUE' /* required */
                    },
                    imageResponseCard: {
                      title: 'STRING_VALUE', /* required */
                      buttons: [
                        {
                          text: 'STRING_VALUE', /* required */
                          value: 'STRING_VALUE' /* required */
                        },
                        /* more items */
                      ],
                      imageUrl: 'STRING_VALUE',
                      subtitle: 'STRING_VALUE'
                    },
                    plainTextMessage: {
                      value: 'STRING_VALUE' /* required */
                    },
                    ssmlMessage: {
                      value: 'STRING_VALUE' /* required */
                    }
                  },
                  variations: [
                    {
                      customPayload: {
                        value: 'STRING_VALUE' /* required */
                      },
                      imageResponseCard: {
                        title: 'STRING_VALUE', /* required */
                        buttons: [
                          {
                            text: 'STRING_VALUE', /* required */
                            value: 'STRING_VALUE' /* required */
                          },
                          /* more items */
                        ],
                        imageUrl: 'STRING_VALUE',
                        subtitle: 'STRING_VALUE'
                      },
                      plainTextMessage: {
                        value: 'STRING_VALUE' /* required */
                      },
                      ssmlMessage: {
                        value: 'STRING_VALUE' /* required */
                      }
                    },
                    /* more items */
                  ]
                },
                /* more items */
              ],
              allowInterrupt: true || false
            }
          },
          /* more items */
        ],
        defaultBranch: { /* required */
          nextStep: {
            dialogAction: {
              type: ElicitIntent | StartIntent | ElicitSlot | EvaluateConditional | InvokeDialogCodeHook | ConfirmIntent | FulfillIntent | CloseIntent | EndConversation, /* required */
              slotToElicit: 'STRING_VALUE',
              suppressNextMessage: true || false
            },
            intent: {
              name: 'STRING_VALUE',
              slots: {
                '<Name>': { /* SlotValueOverride */
                  shape: Scalar | List,
                  value: {
                    interpretedValue: 'STRING_VALUE'
                  },
                  values: [
                    /* recursive SlotValueOverride */,
                    /* more items */
                  ]
                },
                /* '<Name>': ... */
              }
            },
            sessionAttributes: {
              '<NonEmptyString>': 'STRING_VALUE',
              /* '<NonEmptyString>': ... */
            }
          },
          response: {
            messageGroups: [ /* required */
              {
                message: { /* required */
                  customPayload: {
                    value: 'STRING_VALUE' /* required */
                  },
                  imageResponseCard: {
                    title: 'STRING_VALUE', /* required */
                    buttons: [
                      {
                        text: 'STRING_VALUE', /* required */
                        value: 'STRING_VALUE' /* required */
                      },
                      /* more items */
                    ],
                    imageUrl: 'STRING_VALUE',
                    subtitle: 'STRING_VALUE'
                  },
                  plainTextMessage: {
                    value: 'STRING_VALUE' /* required */
                  },
                  ssmlMessage: {
                    value: 'STRING_VALUE' /* required */
                  }
                },
                variations: [
                  {
                    customPayload: {
                      value: 'STRING_VALUE' /* required */
                    },
                    imageResponseCard: {
                      title: 'STRING_VALUE', /* required */
                      buttons: [
                        {
                          text: 'STRING_VALUE', /* required */
                          value: 'STRING_VALUE' /* required */
                        },
                        /* more items */
                      ],
                      imageUrl: 'STRING_VALUE',
                      subtitle: 'STRING_VALUE'
                    },
                    plainTextMessage: {
                      value: 'STRING_VALUE' /* required */
                    },
                    ssmlMessage: {
                      value: 'STRING_VALUE' /* required */
                    }
                  },
                  /* more items */
                ]
              },
              /* more items */
            ],
            allowInterrupt: true || false
          }
        }
      },
      failureNextStep: {
        dialogAction: {
          type: ElicitIntent | StartIntent | ElicitSlot | EvaluateConditional | InvokeDialogCodeHook | ConfirmIntent | FulfillIntent | CloseIntent | EndConversation, /* required */
          slotToElicit: 'STRING_VALUE',
          suppressNextMessage: true || false
        },
        intent: {
          name: 'STRING_VALUE',
          slots: {
            '<Name>': { /* SlotValueOverride */
              shape: Scalar | List,
              value: {
                interpretedValue: 'STRING_VALUE'
              },
              values: [
                /* recursive SlotValueOverride */,
                /* more items */
              ]
            },
            /* '<Name>': ... */
          }
        },
        sessionAttributes: {
          '<NonEmptyString>': 'STRING_VALUE',
          /* '<NonEmptyString>': ... */
        }
      },
      failureResponse: {
        messageGroups: [ /* required */
          {
            message: { /* required */
              customPayload: {
                value: 'STRING_VALUE' /* required */
              },
              imageResponseCard: {
                title: 'STRING_VALUE', /* required */
                buttons: [
                  {
                    text: 'STRING_VALUE', /* required */
                    value: 'STRING_VALUE' /* required */
                  },
                  /* more items */
                ],
                imageUrl: 'STRING_VALUE',
                subtitle: 'STRING_VALUE'
              },
              plainTextMessage: {
                value: 'STRING_VALUE' /* required */
              },
              ssmlMessage: {
                value: 'STRING_VALUE' /* required */
              }
            },
            variations: [
              {
                customPayload: {
                  value: 'STRING_VALUE' /* required */
                },
                imageResponseCard: {
                  title: 'STRING_VALUE', /* required */
                  buttons: [
                    {
                      text: 'STRING_VALUE', /* required */
                      value: 'STRING_VALUE' /* required */
                    },
                    /* more items */
                  ],
                  imageUrl: 'STRING_VALUE',
                  subtitle: 'STRING_VALUE'
                },
                plainTextMessage: {
                  value: 'STRING_VALUE' /* required */
                },
                ssmlMessage: {
                  value: 'STRING_VALUE' /* required */
                }
              },
              /* more items */
            ]
          },
          /* more items */
        ],
        allowInterrupt: true || false
      },
      successConditional: {
        active: true || false, /* required */
        conditionalBranches: [ /* required */
          {
            condition: { /* required */
              expressionString: 'STRING_VALUE' /* required */
            },
            name: 'STRING_VALUE', /* required */
            nextStep: { /* required */
              dialogAction: {
                type: ElicitIntent | StartIntent | ElicitSlot | EvaluateConditional | InvokeDialogCodeHook | ConfirmIntent | FulfillIntent | CloseIntent | EndConversation, /* required */
                slotToElicit: 'STRING_VALUE',
                suppressNextMessage: true || false
              },
              intent: {
                name: 'STRING_VALUE',
                slots: {
                  '<Name>': { /* SlotValueOverride */
                    shape: Scalar | List,
                    value: {
                      interpretedValue: 'STRING_VALUE'
                    },
                    values: [
                      /* recursive SlotValueOverride */,
                      /* more items */
                    ]
                  },
                  /* '<Name>': ... */
                }
              },
              sessionAttributes: {
                '<NonEmptyString>': 'STRING_VALUE',
                /* '<NonEmptyString>': ... */
              }
            },
            response: {
              messageGroups: [ /* required */
                {
                  message: { /* required */
                    customPayload: {
                      value: 'STRING_VALUE' /* required */
                    },
                    imageResponseCard: {
                      title: 'STRING_VALUE', /* required */
                      buttons: [
                        {
                          text: 'STRING_VALUE', /* required */
                          value: 'STRING_VALUE' /* required */
                        },
                        /* more items */
                      ],
                      imageUrl: 'STRING_VALUE',
                      subtitle: 'STRING_VALUE'
                    },
                    plainTextMessage: {
                      value: 'STRING_VALUE' /* required */
                    },
                    ssmlMessage: {
                      value: 'STRING_VALUE' /* required */
                    }
                  },
                  variations: [
                    {
                      customPayload: {
                        value: 'STRING_VALUE' /* required */
                      },
                      imageResponseCard: {
                        title: 'STRING_VALUE', /* required */
                        buttons: [
                          {
                            text: 'STRING_VALUE', /* required */
                            value: 'STRING_VALUE' /* required */
                          },
                          /* more items */
                        ],
                        imageUrl: 'STRING_VALUE',
                        subtitle: 'STRING_VALUE'
                      },
                      plainTextMessage: {
                        value: 'STRING_VALUE' /* required */
                      },
                      ssmlMessage: {
                        value: 'STRING_VALUE' /* required */
                      }
                    },
                    /* more items */
                  ]
                },
                /* more items */
              ],
              allowInterrupt: true || false
            }
          },
          /* more items */
        ],
        defaultBranch: { /* required */
          nextStep: {
            dialogAction: {
              type: ElicitIntent | StartIntent | ElicitSlot | EvaluateConditional | InvokeDialogCodeHook | ConfirmIntent | FulfillIntent | CloseIntent | EndConversation, /* required */
              slotToElicit: 'STRING_VALUE',
              suppressNextMessage: true || false
            },
            intent: {
              name: 'STRING_VALUE',
              slots: {
                '<Name>': { /* SlotValueOverride */
                  shape: Scalar | List,
                  value: {
                    interpretedValue: 'STRING_VALUE'
                  },
                  values: [
                    /* recursive SlotValueOverride */,
                    /* more items */
                  ]
                },
                /* '<Name>': ... */
              }
            },
            sessionAttributes: {
              '<NonEmptyString>': 'STRING_VALUE',
              /* '<NonEmptyString>': ... */
            }
          },
          response: {
            messageGroups: [ /* required */
              {
                message: { /* required */
                  customPayload: {
                    value: 'STRING_VALUE' /* required */
                  },
                  imageResponseCard: {
                    title: 'STRING_VALUE', /* required */
                    buttons: [
                      {
                        text: 'STRING_VALUE', /* required */
                        value: 'STRING_VALUE' /* required */
                      },
                      /* more items */
                    ],
                    imageUrl: 'STRING_VALUE',
                    subtitle: 'STRING_VALUE'
                  },
                  plainTextMessage: {
                    value: 'STRING_VALUE' /* required */
                  },
                  ssmlMessage: {
                    value: 'STRING_VALUE' /* required */
                  }
                },
                variations: [
                  {
                    customPayload: {
                      value: 'STRING_VALUE' /* required */
                    },
                    imageResponseCard: {
                      title: 'STRING_VALUE', /* required */
                      buttons: [
                        {
                          text: 'STRING_VALUE', /* required */
                          value: 'STRING_VALUE' /* required */
                        },
                        /* more items */
                      ],
                      imageUrl: 'STRING_VALUE',
                      subtitle: 'STRING_VALUE'
                    },
                    plainTextMessage: {
                      value: 'STRING_VALUE' /* required */
                    },
                    ssmlMessage: {
                      value: 'STRING_VALUE' /* required */
                    }
                  },
                  /* more items */
                ]
              },
              /* more items */
            ],
            allowInterrupt: true || false
          }
        }
      },
      successNextStep: {
        dialogAction: {
          type: ElicitIntent | StartIntent | ElicitSlot | EvaluateConditional | InvokeDialogCodeHook | ConfirmIntent | FulfillIntent | CloseIntent | EndConversation, /* required */
          slotToElicit: 'STRING_VALUE',
          suppressNextMessage: true || false
        },
        intent: {
          name: 'STRING_VALUE',
          slots: {
            '<Name>': { /* SlotValueOverride */
              shape: Scalar | List,
              value: {
                interpretedValue: 'STRING_VALUE'
              },
              values: [
                /* recursive SlotValueOverride */,
                /* more items */
              ]
            },
            /* '<Name>': ... */
          }
        },
        sessionAttributes: {
          '<NonEmptyString>': 'STRING_VALUE',
          /* '<NonEmptyString>': ... */
        }
      },
      successResponse: {
        messageGroups: [ /* required */
          {
            message: { /* required */
              customPayload: {
                value: 'STRING_VALUE' /* required */
              },
              imageResponseCard: {
                title: 'STRING_VALUE', /* required */
                buttons: [
                  {
                    text: 'STRING_VALUE', /* required */
                    value: 'STRING_VALUE' /* required */
                  },
                  /* more items */
                ],
                imageUrl: 'STRING_VALUE',
                subtitle: 'STRING_VALUE'
              },
              plainTextMessage: {
                value: 'STRING_VALUE' /* required */
              },
              ssmlMessage: {
                value: 'STRING_VALUE' /* required */
              }
            },
            variations: [
              {
                customPayload: {
                  value: 'STRING_VALUE' /* required */
                },
                imageResponseCard: {
                  title: 'STRING_VALUE', /* required */
                  buttons: [
                    {
                      text: 'STRING_VALUE', /* required */
                      value: 'STRING_VALUE' /* required */
                    },
                    /* more items */
                  ],
                  imageUrl: 'STRING_VALUE',
                  subtitle: 'STRING_VALUE'
                },
                plainTextMessage: {
                  value: 'STRING_VALUE' /* required */
                },
                ssmlMessage: {
                  value: 'STRING_VALUE' /* required */
                }
              },
              /* more items */
            ]
          },
          /* more items */
        ],
        allowInterrupt: true || false
      },
      timeoutConditional: {
        active: true || false, /* required */
        conditionalBranches: [ /* required */
          {
            condition: { /* required */
              expressionString: 'STRING_VALUE' /* required */
            },
            name: 'STRING_VALUE', /* required */
            nextStep: { /* required */
              dialogAction: {
                type: ElicitIntent | StartIntent | ElicitSlot | EvaluateConditional | InvokeDialogCodeHook | ConfirmIntent | FulfillIntent | CloseIntent | EndConversation, /* required */
                slotToElicit: 'STRING_VALUE',
                suppressNextMessage: true || false
              },
              intent: {
                name: 'STRING_VALUE',
                slots: {
                  '<Name>': { /* SlotValueOverride */
                    shape: Scalar | List,
                    value: {
                      interpretedValue: 'STRING_VALUE'
                    },
                    values: [
                      /* recursive SlotValueOverride */,
                      /* more items */
                    ]
                  },
                  /* '<Name>': ... */
                }
              },
              sessionAttributes: {
                '<NonEmptyString>': 'STRING_VALUE',
                /* '<NonEmptyString>': ... */
              }
            },
            response: {
              messageGroups: [ /* required */
                {
                  message: { /* required */
                    customPayload: {
                      value: 'STRING_VALUE' /* required */
                    },
                    imageResponseCard: {
                      title: 'STRING_VALUE', /* required */
                      buttons: [
                        {
                          text: 'STRING_VALUE', /* required */
                          value: 'STRING_VALUE' /* required */
                        },
                        /* more items */
                      ],
                      imageUrl: 'STRING_VALUE',
                      subtitle: 'STRING_VALUE'
                    },
                    plainTextMessage: {
                      value: 'STRING_VALUE' /* required */
                    },
                    ssmlMessage: {
                      value: 'STRING_VALUE' /* required */
                    }
                  },
                  variations: [
                    {
                      customPayload: {
                        value: 'STRING_VALUE' /* required */
                      },
                      imageResponseCard: {
                        title: 'STRING_VALUE', /* required */
                        buttons: [
                          {
                            text: 'STRING_VALUE', /* required */
                            value: 'STRING_VALUE' /* required */
                          },
                          /* more items */
                        ],
                        imageUrl: 'STRING_VALUE',
                        subtitle: 'STRING_VALUE'
                      },
                      plainTextMessage: {
                        value: 'STRING_VALUE' /* required */
                      },
                      ssmlMessage: {
                        value: 'STRING_VALUE' /* required */
                      }
                    },
                    /* more items */
                  ]
                },
                /* more items */
              ],
              allowInterrupt: true || false
            }
          },
          /* more items */
        ],
        defaultBranch: { /* required */
          nextStep: {
            dialogAction: {
              type: ElicitIntent | StartIntent | ElicitSlot | EvaluateConditional | InvokeDialogCodeHook | ConfirmIntent | FulfillIntent | CloseIntent | EndConversation, /* required */
              slotToElicit: 'STRING_VALUE',
              suppressNextMessage: true || false
            },
            intent: {
              name: 'STRING_VALUE',
              slots: {
                '<Name>': { /* SlotValueOverride */
                  shape: Scalar | List,
                  value: {
                    interpretedValue: 'STRING_VALUE'
                  },
                  values: [
                    /* recursive SlotValueOverride */,
                    /* more items */
                  ]
                },
                /* '<Name>': ... */
              }
            },
            sessionAttributes: {
              '<NonEmptyString>': 'STRING_VALUE',
              /* '<NonEmptyString>': ... */
            }
          },
          response: {
            messageGroups: [ /* required */
              {
                message: { /* required */
                  customPayload: {
                    value: 'STRING_VALUE' /* required */
                  },
                  imageResponseCard: {
                    title: 'STRING_VALUE', /* required */
                    buttons: [
                      {
                        text: 'STRING_VALUE', /* required */
                        value: 'STRING_VALUE' /* required */
                      },
                      /* more items */
                    ],
                    imageUrl: 'STRING_VALUE',
                    subtitle: 'STRING_VALUE'
                  },
                  plainTextMessage: {
                    value: 'STRING_VALUE' /* required */
                  },
                  ssmlMessage: {
                    value: 'STRING_VALUE' /* required */
                  }
                },
                variations: [
                  {
                    customPayload: {
                      value: 'STRING_VALUE' /* required */
                    },
                    imageResponseCard: {
                      title: 'STRING_VALUE', /* required */
                      buttons: [
                        {
                          text: 'STRING_VALUE', /* required */
                          value: 'STRING_VALUE' /* required */
                        },
                        /* more items */
                      ],
                      imageUrl: 'STRING_VALUE',
                      subtitle: 'STRING_VALUE'
                    },
                    plainTextMessage: {
                      value: 'STRING_VALUE' /* required */
                    },
                    ssmlMessage: {
                      value: 'STRING_VALUE' /* required */
                    }
                  },
                  /* more items */
                ]
              },
              /* more items */
            ],
            allowInterrupt: true || false
          }
        }
      },
      timeoutNextStep: {
        dialogAction: {
          type: ElicitIntent | StartIntent | ElicitSlot | EvaluateConditional | InvokeDialogCodeHook | ConfirmIntent | FulfillIntent | CloseIntent | EndConversation, /* required */
          slotToElicit: 'STRING_VALUE',
          suppressNextMessage: true || false
        },
        intent: {
          name: 'STRING_VALUE',
          slots: {
            '<Name>': { /* SlotValueOverride */
              shape: Scalar | List,
              value: {
                interpretedValue: 'STRING_VALUE'
              },
              values: [
                /* recursive SlotValueOverride */,
                /* more items */
              ]
            },
            /* '<Name>': ... */
          }
        },
        sessionAttributes: {
          '<NonEmptyString>': 'STRING_VALUE',
          /* '<NonEmptyString>': ... */
        }
      },
      timeoutResponse: {
        messageGroups: [ /* required */
          {
            message: { /* required */
              customPayload: {
                value: 'STRING_VALUE' /* required */
              },
              imageResponseCard: {
                title: 'STRING_VALUE', /* required */
                buttons: [
                  {
                    text: 'STRING_VALUE', /* required */
                    value: 'STRING_VALUE' /* required */
                  },
                  /* more items */
                ],
                imageUrl: 'STRING_VALUE',
                subtitle: 'STRING_VALUE'
              },
              plainTextMessage: {
                value: 'STRING_VALUE' /* required */
              },
              ssmlMessage: {
                value: 'STRING_VALUE' /* required */
              }
            },
            variations: [
              {
                customPayload: {
                  value: 'STRING_VALUE' /* required */
                },
                imageResponseCard: {
                  title: 'STRING_VALUE', /* required */
                  buttons: [
                    {
                      text: 'STRING_VALUE', /* required */
                      value: 'STRING_VALUE' /* required */
                    },
                    /* more items */
                  ],
                  imageUrl: 'STRING_VALUE',
                  subtitle: 'STRING_VALUE'
                },
                plainTextMessage: {
                  value: 'STRING_VALUE' /* required */
                },
                ssmlMessage: {
                  value: 'STRING_VALUE' /* required */
                }
              },
              /* more items */
            ]
          },
          /* more items */
        ],
        allowInterrupt: true || false
      }
    }
  },
  initialResponseSetting: {
    codeHook: {
      active: true || false, /* required */
      enableCodeHookInvocation: true || false, /* required */
      postCodeHookSpecification: { /* required */
        failureConditional: {
          active: true || false, /* required */
          conditionalBranches: [ /* required */
            {
              condition: { /* required */
                expressionString: 'STRING_VALUE' /* required */
              },
              name: 'STRING_VALUE', /* required */
              nextStep: { /* required */
                dialogAction: {
                  type: ElicitIntent | StartIntent | ElicitSlot | EvaluateConditional | InvokeDialogCodeHook | ConfirmIntent | FulfillIntent | CloseIntent | EndConversation, /* required */
                  slotToElicit: 'STRING_VALUE',
                  suppressNextMessage: true || false
                },
                intent: {
                  name: 'STRING_VALUE',
                  slots: {
                    '<Name>': { /* SlotValueOverride */
                      shape: Scalar | List,
                      value: {
                        interpretedValue: 'STRING_VALUE'
                      },
                      values: [
                        /* recursive SlotValueOverride */,
                        /* more items */
                      ]
                    },
                    /* '<Name>': ... */
                  }
                },
                sessionAttributes: {
                  '<NonEmptyString>': 'STRING_VALUE',
                  /* '<NonEmptyString>': ... */
                }
              },
              response: {
                messageGroups: [ /* required */
                  {
                    message: { /* required */
                      customPayload: {
                        value: 'STRING_VALUE' /* required */
                      },
                      imageResponseCard: {
                        title: 'STRING_VALUE', /* required */
                        buttons: [
                          {
                            text: 'STRING_VALUE', /* required */
                            value: 'STRING_VALUE' /* required */
                          },
                          /* more items */
                        ],
                        imageUrl: 'STRING_VALUE',
                        subtitle: 'STRING_VALUE'
                      },
                      plainTextMessage: {
                        value: 'STRING_VALUE' /* required */
                      },
                      ssmlMessage: {
                        value: 'STRING_VALUE' /* required */
                      }
                    },
                    variations: [
                      {
                        customPayload: {
                          value: 'STRING_VALUE' /* required */
                        },
                        imageResponseCard: {
                          title: 'STRING_VALUE', /* required */
                          buttons: [
                            {
                              text: 'STRING_VALUE', /* required */
                              value: 'STRING_VALUE' /* required */
                            },
                            /* more items */
                          ],
                          imageUrl: 'STRING_VALUE',
                          subtitle: 'STRING_VALUE'
                        },
                        plainTextMessage: {
                          value: 'STRING_VALUE' /* required */
                        },
                        ssmlMessage: {
                          value: 'STRING_VALUE' /* required */
                        }
                      },
                      /* more items */
                    ]
                  },
                  /* more items */
                ],
                allowInterrupt: true || false
              }
            },
            /* more items */
          ],
          defaultBranch: { /* required */
            nextStep: {
              dialogAction: {
                type: ElicitIntent | StartIntent | ElicitSlot | EvaluateConditional | InvokeDialogCodeHook | ConfirmIntent | FulfillIntent | CloseIntent | EndConversation, /* required */
                slotToElicit: 'STRING_VALUE',
                suppressNextMessage: true || false
              },
              intent: {
                name: 'STRING_VALUE',
                slots: {
                  '<Name>': { /* SlotValueOverride */
                    shape: Scalar | List,
                    value: {
                      interpretedValue: 'STRING_VALUE'
                    },
                    values: [
                      /* recursive SlotValueOverride */,
                      /* more items */
                    ]
                  },
                  /* '<Name>': ... */
                }
              },
              sessionAttributes: {
                '<NonEmptyString>': 'STRING_VALUE',
                /* '<NonEmptyString>': ... */
              }
            },
            response: {
              messageGroups: [ /* required */
                {
                  message: { /* required */
                    customPayload: {
                      value: 'STRING_VALUE' /* required */
                    },
                    imageResponseCard: {
                      title: 'STRING_VALUE', /* required */
                      buttons: [
                        {
                          text: 'STRING_VALUE', /* required */
                          value: 'STRING_VALUE' /* required */
                        },
                        /* more items */
                      ],
                      imageUrl: 'STRING_VALUE',
                      subtitle: 'STRING_VALUE'
                    },
                    plainTextMessage: {
                      value: 'STRING_VALUE' /* required */
                    },
                    ssmlMessage: {
                      value: 'STRING_VALUE' /* required */
                    }
                  },
                  variations: [
                    {
                      customPayload: {
                        value: 'STRING_VALUE' /* required */
                      },
                      imageResponseCard: {
                        title: 'STRING_VALUE', /* required */
                        buttons: [
                          {
                            text: 'STRING_VALUE', /* required */
                            value: 'STRING_VALUE' /* required */
                          },
                          /* more items */
                        ],
                        imageUrl: 'STRING_VALUE',
                        subtitle: 'STRING_VALUE'
                      },
                      plainTextMessage: {
                        value: 'STRING_VALUE' /* required */
                      },
                      ssmlMessage: {
                        value: 'STRING_VALUE' /* required */
                      }
                    },
                    /* more items */
                  ]
                },
                /* more items */
              ],
              allowInterrupt: true || false
            }
          }
        },
        failureNextStep: {
          dialogAction: {
            type: ElicitIntent | StartIntent | ElicitSlot | EvaluateConditional | InvokeDialogCodeHook | ConfirmIntent | FulfillIntent | CloseIntent | EndConversation, /* required */
            slotToElicit: 'STRING_VALUE',
            suppressNextMessage: true || false
          },
          intent: {
            name: 'STRING_VALUE',
            slots: {
              '<Name>': { /* SlotValueOverride */
                shape: Scalar | List,
                value: {
                  interpretedValue: 'STRING_VALUE'
                },
                values: [
                  /* recursive SlotValueOverride */,
                  /* more items */
                ]
              },
              /* '<Name>': ... */
            }
          },
          sessionAttributes: {
            '<NonEmptyString>': 'STRING_VALUE',
            /* '<NonEmptyString>': ... */
          }
        },
        failureResponse: {
          messageGroups: [ /* required */
            {
              message: { /* required */
                customPayload: {
                  value: 'STRING_VALUE' /* required */
                },
                imageResponseCard: {
                  title: 'STRING_VALUE', /* required */
                  buttons: [
                    {
                      text: 'STRING_VALUE', /* required */
                      value: 'STRING_VALUE' /* required */
                    },
                    /* more items */
                  ],
                  imageUrl: 'STRING_VALUE',
                  subtitle: 'STRING_VALUE'
                },
                plainTextMessage: {
                  value: 'STRING_VALUE' /* required */
                },
                ssmlMessage: {
                  value: 'STRING_VALUE' /* required */
                }
              },
              variations: [
                {
                  customPayload: {
                    value: 'STRING_VALUE' /* required */
                  },
                  imageResponseCard: {
                    title: 'STRING_VALUE', /* required */
                    buttons: [
                      {
                        text: 'STRING_VALUE', /* required */
                        value: 'STRING_VALUE' /* required */
                      },
                      /* more items */
                    ],
                    imageUrl: 'STRING_VALUE',
                    subtitle: 'STRING_VALUE'
                  },
                  plainTextMessage: {
                    value: 'STRING_VALUE' /* required */
                  },
                  ssmlMessage: {
                    value: 'STRING_VALUE' /* required */
                  }
                },
                /* more items */
              ]
            },
            /* more items */
          ],
          allowInterrupt: true || false
        },
        successConditional: {
          active: true || false, /* required */
          conditionalBranches: [ /* required */
            {
              condition: { /* required */
                expressionString: 'STRING_VALUE' /* required */
              },
              name: 'STRING_VALUE', /* required */
              nextStep: { /* required */
                dialogAction: {
                  type: ElicitIntent | StartIntent | ElicitSlot | EvaluateConditional | InvokeDialogCodeHook | ConfirmIntent | FulfillIntent | CloseIntent | EndConversation, /* required */
                  slotToElicit: 'STRING_VALUE',
                  suppressNextMessage: true || false
                },
                intent: {
                  name: 'STRING_VALUE',
                  slots: {
                    '<Name>': { /* SlotValueOverride */
                      shape: Scalar | List,
                      value: {
                        interpretedValue: 'STRING_VALUE'
                      },
                      values: [
                        /* recursive SlotValueOverride */,
                        /* more items */
                      ]
                    },
                    /* '<Name>': ... */
                  }
                },
                sessionAttributes: {
                  '<NonEmptyString>': 'STRING_VALUE',
                  /* '<NonEmptyString>': ... */
                }
              },
              response: {
                messageGroups: [ /* required */
                  {
                    message: { /* required */
                      customPayload: {
                        value: 'STRING_VALUE' /* required */
                      },
                      imageResponseCard: {
                        title: 'STRING_VALUE', /* required */
                        buttons: [
                          {
                            text: 'STRING_VALUE', /* required */
                            value: 'STRING_VALUE' /* required */
                          },
                          /* more items */
                        ],
                        imageUrl: 'STRING_VALUE',
                        subtitle: 'STRING_VALUE'
                      },
                      plainTextMessage: {
                        value: 'STRING_VALUE' /* required */
                      },
                      ssmlMessage: {
                        value: 'STRING_VALUE' /* required */
                      }
                    },
                    variations: [
                      {
                        customPayload: {
                          value: 'STRING_VALUE' /* required */
                        },
                        imageResponseCard: {
                          title: 'STRING_VALUE', /* required */
                          buttons: [
                            {
                              text: 'STRING_VALUE', /* required */
                              value: 'STRING_VALUE' /* required */
                            },
                            /* more items */
                          ],
                          imageUrl: 'STRING_VALUE',
                          subtitle: 'STRING_VALUE'
                        },
                        plainTextMessage: {
                          value: 'STRING_VALUE' /* required */
                        },
                        ssmlMessage: {
                          value: 'STRING_VALUE' /* required */
                        }
                      },
                      /* more items */
                    ]
                  },
                  /* more items */
                ],
                allowInterrupt: true || false
              }
            },
            /* more items */
          ],
          defaultBranch: { /* required */
            nextStep: {
              dialogAction: {
                type: ElicitIntent | StartIntent | ElicitSlot | EvaluateConditional | InvokeDialogCodeHook | ConfirmIntent | FulfillIntent | CloseIntent | EndConversation, /* required */
                slotToElicit: 'STRING_VALUE',
                suppressNextMessage: true || false
              },
              intent: {
                name: 'STRING_VALUE',
                slots: {
                  '<Name>': { /* SlotValueOverride */
                    shape: Scalar | List,
                    value: {
                      interpretedValue: 'STRING_VALUE'
                    },
                    values: [
                      /* recursive SlotValueOverride */,
                      /* more items */
                    ]
                  },
                  /* '<Name>': ... */
                }
              },
              sessionAttributes: {
                '<NonEmptyString>': 'STRING_VALUE',
                /* '<NonEmptyString>': ... */
              }
            },
            response: {
              messageGroups: [ /* required */
                {
                  message: { /* required */
                    customPayload: {
                      value: 'STRING_VALUE' /* required */
                    },
                    imageResponseCard: {
                      title: 'STRING_VALUE', /* required */
                      buttons: [
                        {
                          text: 'STRING_VALUE', /* required */
                          value: 'STRING_VALUE' /* required */
                        },
                        /* more items */
                      ],
                      imageUrl: 'STRING_VALUE',
                      subtitle: 'STRING_VALUE'
                    },
                    plainTextMessage: {
                      value: 'STRING_VALUE' /* required */
                    },
                    ssmlMessage: {
                      value: 'STRING_VALUE' /* required */
                    }
                  },
                  variations: [
                    {
                      customPayload: {
                        value: 'STRING_VALUE' /* required */
                      },
                      imageResponseCard: {
                        title: 'STRING_VALUE', /* required */
                        buttons: [
                          {
                            text: 'STRING_VALUE', /* required */
                            value: 'STRING_VALUE' /* required */
                          },
                          /* more items */
                        ],
                        imageUrl: 'STRING_VALUE',
                        subtitle: 'STRING_VALUE'
                      },
                      plainTextMessage: {
                        value: 'STRING_VALUE' /* required */
                      },
                      ssmlMessage: {
                        value: 'STRING_VALUE' /* required */
                      }
                    },
                    /* more items */
                  ]
                },
                /* more items */
              ],
              allowInterrupt: true || false
            }
          }
        },
        successNextStep: {
          dialogAction: {
            type: ElicitIntent | StartIntent | ElicitSlot | EvaluateConditional | InvokeDialogCodeHook | ConfirmIntent | FulfillIntent | CloseIntent | EndConversation, /* required */
            slotToElicit: 'STRING_VALUE',
            suppressNextMessage: true || false
          },
          intent: {
            name: 'STRING_VALUE',
            slots: {
              '<Name>': { /* SlotValueOverride */
                shape: Scalar | List,
                value: {
                  interpretedValue: 'STRING_VALUE'
                },
                values: [
                  /* recursive SlotValueOverride */,
                  /* more items */
                ]
              },
              /* '<Name>': ... */
            }
          },
          sessionAttributes: {
            '<NonEmptyString>': 'STRING_VALUE',
            /* '<NonEmptyString>': ... */
          }
        },
        successResponse: {
          messageGroups: [ /* required */
            {
              message: { /* required */
                customPayload: {
                  value: 'STRING_VALUE' /* required */
                },
                imageResponseCard: {
                  title: 'STRING_VALUE', /* required */
                  buttons: [
                    {
                      text: 'STRING_VALUE', /* required */
                      value: 'STRING_VALUE' /* required */
                    },
                    /* more items */
                  ],
                  imageUrl: 'STRING_VALUE',
                  subtitle: 'STRING_VALUE'
                },
                plainTextMessage: {
                  value: 'STRING_VALUE' /* required */
                },
                ssmlMessage: {
                  value: 'STRING_VALUE' /* required */
                }
              },
              variations: [
                {
                  customPayload: {
                    value: 'STRING_VALUE' /* required */
                  },
                  imageResponseCard: {
                    title: 'STRING_VALUE', /* required */
                    buttons: [
                      {
                        text: 'STRING_VALUE', /* required */
                        value: 'STRING_VALUE' /* required */
                      },
                      /* more items */
                    ],
                    imageUrl: 'STRING_VALUE',
                    subtitle: 'STRING_VALUE'
                  },
                  plainTextMessage: {
                    value: 'STRING_VALUE' /* required */
                  },
                  ssmlMessage: {
                    value: 'STRING_VALUE' /* required */
                  }
                },
                /* more items */
              ]
            },
            /* more items */
          ],
          allowInterrupt: true || false
        },
        timeoutConditional: {
          active: true || false, /* required */
          conditionalBranches: [ /* required */
            {
              condition: { /* required */
                expressionString: 'STRING_VALUE' /* required */
              },
              name: 'STRING_VALUE', /* required */
              nextStep: { /* required */
                dialogAction: {
                  type: ElicitIntent | StartIntent | ElicitSlot | EvaluateConditional | InvokeDialogCodeHook | ConfirmIntent | FulfillIntent | CloseIntent | EndConversation, /* required */
                  slotToElicit: 'STRING_VALUE',
                  suppressNextMessage: true || false
                },
                intent: {
                  name: 'STRING_VALUE',
                  slots: {
                    '<Name>': { /* SlotValueOverride */
                      shape: Scalar | List,
                      value: {
                        interpretedValue: 'STRING_VALUE'
                      },
                      values: [
                        /* recursive SlotValueOverride */,
                        /* more items */
                      ]
                    },
                    /* '<Name>': ... */
                  }
                },
                sessionAttributes: {
                  '<NonEmptyString>': 'STRING_VALUE',
                  /* '<NonEmptyString>': ... */
                }
              },
              response: {
                messageGroups: [ /* required */
                  {
                    message: { /* required */
                      customPayload: {
                        value: 'STRING_VALUE' /* required */
                      },
                      imageResponseCard: {
                        title: 'STRING_VALUE', /* required */
                        buttons: [
                          {
                            text: 'STRING_VALUE', /* required */
                            value: 'STRING_VALUE' /* required */
                          },
                          /* more items */
                        ],
                        imageUrl: 'STRING_VALUE',
                        subtitle: 'STRING_VALUE'
                      },
                      plainTextMessage: {
                        value: 'STRING_VALUE' /* required */
                      },
                      ssmlMessage: {
                        value: 'STRING_VALUE' /* required */
                      }
                    },
                    variations: [
                      {
                        customPayload: {
                          value: 'STRING_VALUE' /* required */
                        },
                        imageResponseCard: {
                          title: 'STRING_VALUE', /* required */
                          buttons: [
                            {
                              text: 'STRING_VALUE', /* required */
                              value: 'STRING_VALUE' /* required */
                            },
                            /* more items */
                          ],
                          imageUrl: 'STRING_VALUE',
                          subtitle: 'STRING_VALUE'
                        },
                        plainTextMessage: {
                          value: 'STRING_VALUE' /* required */
                        },
                        ssmlMessage: {
                          value: 'STRING_VALUE' /* required */
                        }
                      },
                      /* more items */
                    ]
                  },
                  /* more items */
                ],
                allowInterrupt: true || false
              }
            },
            /* more items */
          ],
          defaultBranch: { /* required */
            nextStep: {
              dialogAction: {
                type: ElicitIntent | StartIntent | ElicitSlot | EvaluateConditional | InvokeDialogCodeHook | ConfirmIntent | FulfillIntent | CloseIntent | EndConversation, /* required */
                slotToElicit: 'STRING_VALUE',
                suppressNextMessage: true || false
              },
              intent: {
                name: 'STRING_VALUE',
                slots: {
                  '<Name>': { /* SlotValueOverride */
                    shape: Scalar | List,
                    value: {
                      interpretedValue: 'STRING_VALUE'
                    },
                    values: [
                      /* recursive SlotValueOverride */,
                      /* more items */
                    ]
                  },
                  /* '<Name>': ... */
                }
              },
              sessionAttributes: {
                '<NonEmptyString>': 'STRING_VALUE',
                /* '<NonEmptyString>': ... */
              }
            },
            response: {
              messageGroups: [ /* required */
                {
                  message: { /* required */
                    customPayload: {
                      value: 'STRING_VALUE' /* required */
                    },
                    imageResponseCard: {
                      title: 'STRING_VALUE', /* required */
                      buttons: [
                        {
                          text: 'STRING_VALUE', /* required */
                          value: 'STRING_VALUE' /* required */
                        },
                        /* more items */
                      ],
                      imageUrl: 'STRING_VALUE',
                      subtitle: 'STRING_VALUE'
                    },
                    plainTextMessage: {
                      value: 'STRING_VALUE' /* required */
                    },
                    ssmlMessage: {
                      value: 'STRING_VALUE' /* required */
                    }
                  },
                  variations: [
                    {
                      customPayload: {
                        value: 'STRING_VALUE' /* required */
                      },
                      imageResponseCard: {
                        title: 'STRING_VALUE', /* required */
                        buttons: [
                          {
                            text: 'STRING_VALUE', /* required */
                            value: 'STRING_VALUE' /* required */
                          },
                          /* more items */
                        ],
                        imageUrl: 'STRING_VALUE',
                        subtitle: 'STRING_VALUE'
                      },
                      plainTextMessage: {
                        value: 'STRING_VALUE' /* required */
                      },
                      ssmlMessage: {
                        value: 'STRING_VALUE' /* required */
                      }
                    },
                    /* more items */
                  ]
                },
                /* more items */
              ],
              allowInterrupt: true || false
            }
          }
        },
        timeoutNextStep: {
          dialogAction: {
            type: ElicitIntent | StartIntent | ElicitSlot | EvaluateConditional | InvokeDialogCodeHook | ConfirmIntent | FulfillIntent | CloseIntent | EndConversation, /* required */
            slotToElicit: 'STRING_VALUE',
            suppressNextMessage: true || false
          },
          intent: {
            name: 'STRING_VALUE',
            slots: {
              '<Name>': { /* SlotValueOverride */
                shape: Scalar | List,
                value: {
                  interpretedValue: 'STRING_VALUE'
                },
                values: [
                  /* recursive SlotValueOverride */,
                  /* more items */
                ]
              },
              /* '<Name>': ... */
            }
          },
          sessionAttributes: {
            '<NonEmptyString>': 'STRING_VALUE',
            /* '<NonEmptyString>': ... */
          }
        },
        timeoutResponse: {
          messageGroups: [ /* required */
            {
              message: { /* required */
                customPayload: {
                  value: 'STRING_VALUE' /* required */
                },
                imageResponseCard: {
                  title: 'STRING_VALUE', /* required */
                  buttons: [
                    {
                      text: 'STRING_VALUE', /* required */
                      value: 'STRING_VALUE' /* required */
                    },
                    /* more items */
                  ],
                  imageUrl: 'STRING_VALUE',
                  subtitle: 'STRING_VALUE'
                },
                plainTextMessage: {
                  value: 'STRING_VALUE' /* required */
                },
                ssmlMessage: {
                  value: 'STRING_VALUE' /* required */
                }
              },
              variations: [
                {
                  customPayload: {
                    value: 'STRING_VALUE' /* required */
                  },
                  imageResponseCard: {
                    title: 'STRING_VALUE', /* required */
                    buttons: [
                      {
                        text: 'STRING_VALUE', /* required */
                        value: 'STRING_VALUE' /* required */
                      },
                      /* more items */
                    ],
                    imageUrl: 'STRING_VALUE',
                    subtitle: 'STRING_VALUE'
                  },
                  plainTextMessage: {
                    value: 'STRING_VALUE' /* required */
                  },
                  ssmlMessage: {
                    value: 'STRING_VALUE' /* required */
                  }
                },
                /* more items */
              ]
            },
            /* more items */
          ],
          allowInterrupt: true || false
        }
      },
      invocationLabel: 'STRING_VALUE'
    },
    conditional: {
      active: true || false, /* required */
      conditionalBranches: [ /* required */
        {
          condition: { /* required */
            expressionString: 'STRING_VALUE' /* required */
          },
          name: 'STRING_VALUE', /* required */
          nextStep: { /* required */
            dialogAction: {
              type: ElicitIntent | StartIntent | ElicitSlot | EvaluateConditional | InvokeDialogCodeHook | ConfirmIntent | FulfillIntent | CloseIntent | EndConversation, /* required */
              slotToElicit: 'STRING_VALUE',
              suppressNextMessage: true || false
            },
            intent: {
              name: 'STRING_VALUE',
              slots: {
                '<Name>': { /* SlotValueOverride */
                  shape: Scalar | List,
                  value: {
                    interpretedValue: 'STRING_VALUE'
                  },
                  values: [
                    /* recursive SlotValueOverride */,
                    /* more items */
                  ]
                },
                /* '<Name>': ... */
              }
            },
            sessionAttributes: {
              '<NonEmptyString>': 'STRING_VALUE',
              /* '<NonEmptyString>': ... */
            }
          },
          response: {
            messageGroups: [ /* required */
              {
                message: { /* required */
                  customPayload: {
                    value: 'STRING_VALUE' /* required */
                  },
                  imageResponseCard: {
                    title: 'STRING_VALUE', /* required */
                    buttons: [
                      {
                        text: 'STRING_VALUE', /* required */
                        value: 'STRING_VALUE' /* required */
                      },
                      /* more items */
                    ],
                    imageUrl: 'STRING_VALUE',
                    subtitle: 'STRING_VALUE'
                  },
                  plainTextMessage: {
                    value: 'STRING_VALUE' /* required */
                  },
                  ssmlMessage: {
                    value: 'STRING_VALUE' /* required */
                  }
                },
                variations: [
                  {
                    customPayload: {
                      value: 'STRING_VALUE' /* required */
                    },
                    imageResponseCard: {
                      title: 'STRING_VALUE', /* required */
                      buttons: [
                        {
                          text: 'STRING_VALUE', /* required */
                          value: 'STRING_VALUE' /* required */
                        },
                        /* more items */
                      ],
                      imageUrl: 'STRING_VALUE',
                      subtitle: 'STRING_VALUE'
                    },
                    plainTextMessage: {
                      value: 'STRING_VALUE' /* required */
                    },
                    ssmlMessage: {
                      value: 'STRING_VALUE' /* required */
                    }
                  },
                  /* more items */
                ]
              },
              /* more items */
            ],
            allowInterrupt: true || false
          }
        },
        /* more items */
      ],
      defaultBranch: { /* required */
        nextStep: {
          dialogAction: {
            type: ElicitIntent | StartIntent | ElicitSlot | EvaluateConditional | InvokeDialogCodeHook | ConfirmIntent | FulfillIntent | CloseIntent | EndConversation, /* required */
            slotToElicit: 'STRING_VALUE',
            suppressNextMessage: true || false
          },
          intent: {
            name: 'STRING_VALUE',
            slots: {
              '<Name>': { /* SlotValueOverride */
                shape: Scalar | List,
                value: {
                  interpretedValue: 'STRING_VALUE'
                },
                values: [
                  /* recursive SlotValueOverride */,
                  /* more items */
                ]
              },
              /* '<Name>': ... */
            }
          },
          sessionAttributes: {
            '<NonEmptyString>': 'STRING_VALUE',
            /* '<NonEmptyString>': ... */
          }
        },
        response: {
          messageGroups: [ /* required */
            {
              message: { /* required */
                customPayload: {
                  value: 'STRING_VALUE' /* required */
                },
                imageResponseCard: {
                  title: 'STRING_VALUE', /* required */
                  buttons: [
                    {
                      text: 'STRING_VALUE', /* required */
                      value: 'STRING_VALUE' /* required */
                    },
                    /* more items */
                  ],
                  imageUrl: 'STRING_VALUE',
                  subtitle: 'STRING_VALUE'
                },
                plainTextMessage: {
                  value: 'STRING_VALUE' /* required */
                },
                ssmlMessage: {
                  value: 'STRING_VALUE' /* required */
                }
              },
              variations: [
                {
                  customPayload: {
                    value: 'STRING_VALUE' /* required */
                  },
                  imageResponseCard: {
                    title: 'STRING_VALUE', /* required */
                    buttons: [
                      {
                        text: 'STRING_VALUE', /* required */
                        value: 'STRING_VALUE' /* required */
                      },
                      /* more items */
                    ],
                    imageUrl: 'STRING_VALUE',
                    subtitle: 'STRING_VALUE'
                  },
                  plainTextMessage: {
                    value: 'STRING_VALUE' /* required */
                  },
                  ssmlMessage: {
                    value: 'STRING_VALUE' /* required */
                  }
                },
                /* more items */
              ]
            },
            /* more items */
          ],
          allowInterrupt: true || false
        }
      }
    },
    initialResponse: {
      messageGroups: [ /* required */
        {
          message: { /* required */
            customPayload: {
              value: 'STRING_VALUE' /* required */
            },
            imageResponseCard: {
              title: 'STRING_VALUE', /* required */
              buttons: [
                {
                  text: 'STRING_VALUE', /* required */
                  value: 'STRING_VALUE' /* required */
                },
                /* more items */
              ],
              imageUrl: 'STRING_VALUE',
              subtitle: 'STRING_VALUE'
            },
            plainTextMessage: {
              value: 'STRING_VALUE' /* required */
            },
            ssmlMessage: {
              value: 'STRING_VALUE' /* required */
            }
          },
          variations: [
            {
              customPayload: {
                value: 'STRING_VALUE' /* required */
              },
              imageResponseCard: {
                title: 'STRING_VALUE', /* required */
                buttons: [
                  {
                    text: 'STRING_VALUE', /* required */
                    value: 'STRING_VALUE' /* required */
                  },
                  /* more items */
                ],
                imageUrl: 'STRING_VALUE',
                subtitle: 'STRING_VALUE'
              },
              plainTextMessage: {
                value: 'STRING_VALUE' /* required */
              },
              ssmlMessage: {
                value: 'STRING_VALUE' /* required */
              }
            },
            /* more items */
          ]
        },
        /* more items */
      ],
      allowInterrupt: true || false
    },
    nextStep: {
      dialogAction: {
        type: ElicitIntent | StartIntent | ElicitSlot | EvaluateConditional | InvokeDialogCodeHook | ConfirmIntent | FulfillIntent | CloseIntent | EndConversation, /* required */
        slotToElicit: 'STRING_VALUE',
        suppressNextMessage: true || false
      },
      intent: {
        name: 'STRING_VALUE',
        slots: {
          '<Name>': { /* SlotValueOverride */
            shape: Scalar | List,
            value: {
              interpretedValue: 'STRING_VALUE'
            },
            values: [
              /* recursive SlotValueOverride */,
              /* more items */
            ]
          },
          /* '<Name>': ... */
        }
      },
      sessionAttributes: {
        '<NonEmptyString>': 'STRING_VALUE',
        /* '<NonEmptyString>': ... */
      }
    }
  },
  inputContexts: [
    {
      name: 'STRING_VALUE' /* required */
    },
    /* more items */
  ],
  intentClosingSetting: {
    active: true || false,
    closingResponse: {
      messageGroups: [ /* required */
        {
          message: { /* required */
            customPayload: {
              value: 'STRING_VALUE' /* required */
            },
            imageResponseCard: {
              title: 'STRING_VALUE', /* required */
              buttons: [
                {
                  text: 'STRING_VALUE', /* required */
                  value: 'STRING_VALUE' /* required */
                },
                /* more items */
              ],
              imageUrl: 'STRING_VALUE',
              subtitle: 'STRING_VALUE'
            },
            plainTextMessage: {
              value: 'STRING_VALUE' /* required */
            },
            ssmlMessage: {
              value: 'STRING_VALUE' /* required */
            }
          },
          variations: [
            {
              customPayload: {
                value: 'STRING_VALUE' /* required */
              },
              imageResponseCard: {
                title: 'STRING_VALUE', /* required */
                buttons: [
                  {
                    text: 'STRING_VALUE', /* required */
                    value: 'STRING_VALUE' /* required */
                  },
                  /* more items */
                ],
                imageUrl: 'STRING_VALUE',
                subtitle: 'STRING_VALUE'
              },
              plainTextMessage: {
                value: 'STRING_VALUE' /* required */
              },
              ssmlMessage: {
                value: 'STRING_VALUE' /* required */
              }
            },
            /* more items */
          ]
        },
        /* more items */
      ],
      allowInterrupt: true || false
    },
    conditional: {
      active: true || false, /* required */
      conditionalBranches: [ /* required */
        {
          condition: { /* required */
            expressionString: 'STRING_VALUE' /* required */
          },
          name: 'STRING_VALUE', /* required */
          nextStep: { /* required */
            dialogAction: {
              type: ElicitIntent | StartIntent | ElicitSlot | EvaluateConditional | InvokeDialogCodeHook | ConfirmIntent | FulfillIntent | CloseIntent | EndConversation, /* required */
              slotToElicit: 'STRING_VALUE',
              suppressNextMessage: true || false
            },
            intent: {
              name: 'STRING_VALUE',
              slots: {
                '<Name>': { /* SlotValueOverride */
                  shape: Scalar | List,
                  value: {
                    interpretedValue: 'STRING_VALUE'
                  },
                  values: [
                    /* recursive SlotValueOverride */,
                    /* more items */
                  ]
                },
                /* '<Name>': ... */
              }
            },
            sessionAttributes: {
              '<NonEmptyString>': 'STRING_VALUE',
              /* '<NonEmptyString>': ... */
            }
          },
          response: {
            messageGroups: [ /* required */
              {
                message: { /* required */
                  customPayload: {
                    value: 'STRING_VALUE' /* required */
                  },
                  imageResponseCard: {
                    title: 'STRING_VALUE', /* required */
                    buttons: [
                      {
                        text: 'STRING_VALUE', /* required */
                        value: 'STRING_VALUE' /* required */
                      },
                      /* more items */
                    ],
                    imageUrl: 'STRING_VALUE',
                    subtitle: 'STRING_VALUE'
                  },
                  plainTextMessage: {
                    value: 'STRING_VALUE' /* required */
                  },
                  ssmlMessage: {
                    value: 'STRING_VALUE' /* required */
                  }
                },
                variations: [
                  {
                    customPayload: {
                      value: 'STRING_VALUE' /* required */
                    },
                    imageResponseCard: {
                      title: 'STRING_VALUE', /* required */
                      buttons: [
                        {
                          text: 'STRING_VALUE', /* required */
                          value: 'STRING_VALUE' /* required */
                        },
                        /* more items */
                      ],
                      imageUrl: 'STRING_VALUE',
                      subtitle: 'STRING_VALUE'
                    },
                    plainTextMessage: {
                      value: 'STRING_VALUE' /* required */
                    },
                    ssmlMessage: {
                      value: 'STRING_VALUE' /* required */
                    }
                  },
                  /* more items */
                ]
              },
              /* more items */
            ],
            allowInterrupt: true || false
          }
        },
        /* more items */
      ],
      defaultBranch: { /* required */
        nextStep: {
          dialogAction: {
            type: ElicitIntent | StartIntent | ElicitSlot | EvaluateConditional | InvokeDialogCodeHook | ConfirmIntent | FulfillIntent | CloseIntent | EndConversation, /* required */
            slotToElicit: 'STRING_VALUE',
            suppressNextMessage: true || false
          },
          intent: {
            name: 'STRING_VALUE',
            slots: {
              '<Name>': { /* SlotValueOverride */
                shape: Scalar | List,
                value: {
                  interpretedValue: 'STRING_VALUE'
                },
                values: [
                  /* recursive SlotValueOverride */,
                  /* more items */
                ]
              },
              /* '<Name>': ... */
            }
          },
          sessionAttributes: {
            '<NonEmptyString>': 'STRING_VALUE',
            /* '<NonEmptyString>': ... */
          }
        },
        response: {
          messageGroups: [ /* required */
            {
              message: { /* required */
                customPayload: {
                  value: 'STRING_VALUE' /* required */
                },
                imageResponseCard: {
                  title: 'STRING_VALUE', /* required */
                  buttons: [
                    {
                      text: 'STRING_VALUE', /* required */
                      value: 'STRING_VALUE' /* required */
                    },
                    /* more items */
                  ],
                  imageUrl: 'STRING_VALUE',
                  subtitle: 'STRING_VALUE'
                },
                plainTextMessage: {
                  value: 'STRING_VALUE' /* required */
                },
                ssmlMessage: {
                  value: 'STRING_VALUE' /* required */
                }
              },
              variations: [
                {
                  customPayload: {
                    value: 'STRING_VALUE' /* required */
                  },
                  imageResponseCard: {
                    title: 'STRING_VALUE', /* required */
                    buttons: [
                      {
                        text: 'STRING_VALUE', /* required */
                        value: 'STRING_VALUE' /* required */
                      },
                      /* more items */
                    ],
                    imageUrl: 'STRING_VALUE',
                    subtitle: 'STRING_VALUE'
                  },
                  plainTextMessage: {
                    value: 'STRING_VALUE' /* required */
                  },
                  ssmlMessage: {
                    value: 'STRING_VALUE' /* required */
                  }
                },
                /* more items */
              ]
            },
            /* more items */
          ],
          allowInterrupt: true || false
        }
      }
    },
    nextStep: {
      dialogAction: {
        type: ElicitIntent | StartIntent | ElicitSlot | EvaluateConditional | InvokeDialogCodeHook | ConfirmIntent | FulfillIntent | CloseIntent | EndConversation, /* required */
        slotToElicit: 'STRING_VALUE',
        suppressNextMessage: true || false
      },
      intent: {
        name: 'STRING_VALUE',
        slots: {
          '<Name>': { /* SlotValueOverride */
            shape: Scalar | List,
            value: {
              interpretedValue: 'STRING_VALUE'
            },
            values: [
              /* recursive SlotValueOverride */,
              /* more items */
            ]
          },
          /* '<Name>': ... */
        }
      },
      sessionAttributes: {
        '<NonEmptyString>': 'STRING_VALUE',
        /* '<NonEmptyString>': ... */
      }
    }
  },
  intentConfirmationSetting: {
    promptSpecification: { /* required */
      maxRetries: 'NUMBER_VALUE', /* required */
      messageGroups: [ /* required */
        {
          message: { /* required */
            customPayload: {
              value: 'STRING_VALUE' /* required */
            },
            imageResponseCard: {
              title: 'STRING_VALUE', /* required */
              buttons: [
                {
                  text: 'STRING_VALUE', /* required */
                  value: 'STRING_VALUE' /* required */
                },
                /* more items */
              ],
              imageUrl: 'STRING_VALUE',
              subtitle: 'STRING_VALUE'
            },
            plainTextMessage: {
              value: 'STRING_VALUE' /* required */
            },
            ssmlMessage: {
              value: 'STRING_VALUE' /* required */
            }
          },
          variations: [
            {
              customPayload: {
                value: 'STRING_VALUE' /* required */
              },
              imageResponseCard: {
                title: 'STRING_VALUE', /* required */
                buttons: [
                  {
                    text: 'STRING_VALUE', /* required */
                    value: 'STRING_VALUE' /* required */
                  },
                  /* more items */
                ],
                imageUrl: 'STRING_VALUE',
                subtitle: 'STRING_VALUE'
              },
              plainTextMessage: {
                value: 'STRING_VALUE' /* required */
              },
              ssmlMessage: {
                value: 'STRING_VALUE' /* required */
              }
            },
            /* more items */
          ]
        },
        /* more items */
      ],
      allowInterrupt: true || false,
      messageSelectionStrategy: Random | Ordered,
      promptAttemptsSpecification: {
        '<PromptAttempt>': {
          allowedInputTypes: { /* required */
            allowAudioInput: true || false, /* required */
            allowDTMFInput: true || false /* required */
          },
          allowInterrupt: true || false,
          audioAndDTMFInputSpecification: {
            startTimeoutMs: 'NUMBER_VALUE', /* required */
            audioSpecification: {
              endTimeoutMs: 'NUMBER_VALUE', /* required */
              maxLengthMs: 'NUMBER_VALUE' /* required */
            },
            dtmfSpecification: {
              deletionCharacter: 'STRING_VALUE', /* required */
              endCharacter: 'STRING_VALUE', /* required */
              endTimeoutMs: 'NUMBER_VALUE', /* required */
              maxLength: 'NUMBER_VALUE' /* required */
            }
          },
          textInputSpecification: {
            startTimeoutMs: 'NUMBER_VALUE' /* required */
          }
        },
        /* '<PromptAttempt>': ... */
      }
    },
    active: true || false,
    codeHook: {
      active: true || false, /* required */
      enableCodeHookInvocation: true || false, /* required */
      postCodeHookSpecification: { /* required */
        failureConditional: {
          active: true || false, /* required */
          conditionalBranches: [ /* required */
            {
              condition: { /* required */
                expressionString: 'STRING_VALUE' /* required */
              },
              name: 'STRING_VALUE', /* required */
              nextStep: { /* required */
                dialogAction: {
                  type: ElicitIntent | StartIntent | ElicitSlot | EvaluateConditional | InvokeDialogCodeHook | ConfirmIntent | FulfillIntent | CloseIntent | EndConversation, /* required */
                  slotToElicit: 'STRING_VALUE',
                  suppressNextMessage: true || false
                },
                intent: {
                  name: 'STRING_VALUE',
                  slots: {
                    '<Name>': { /* SlotValueOverride */
                      shape: Scalar | List,
                      value: {
                        interpretedValue: 'STRING_VALUE'
                      },
                      values: [
                        /* recursive SlotValueOverride */,
                        /* more items */
                      ]
                    },
                    /* '<Name>': ... */
                  }
                },
                sessionAttributes: {
                  '<NonEmptyString>': 'STRING_VALUE',
                  /* '<NonEmptyString>': ... */
                }
              },
              response: {
                messageGroups: [ /* required */
                  {
                    message: { /* required */
                      customPayload: {
                        value: 'STRING_VALUE' /* required */
                      },
                      imageResponseCard: {
                        title: 'STRING_VALUE', /* required */
                        buttons: [
                          {
                            text: 'STRING_VALUE', /* required */
                            value: 'STRING_VALUE' /* required */
                          },
                          /* more items */
                        ],
                        imageUrl: 'STRING_VALUE',
                        subtitle: 'STRING_VALUE'
                      },
                      plainTextMessage: {
                        value: 'STRING_VALUE' /* required */
                      },
                      ssmlMessage: {
                        value: 'STRING_VALUE' /* required */
                      }
                    },
                    variations: [
                      {
                        customPayload: {
                          value: 'STRING_VALUE' /* required */
                        },
                        imageResponseCard: {
                          title: 'STRING_VALUE', /* required */
                          buttons: [
                            {
                              text: 'STRING_VALUE', /* required */
                              value: 'STRING_VALUE' /* required */
                            },
                            /* more items */
                          ],
                          imageUrl: 'STRING_VALUE',
                          subtitle: 'STRING_VALUE'
                        },
                        plainTextMessage: {
                          value: 'STRING_VALUE' /* required */
                        },
                        ssmlMessage: {
                          value: 'STRING_VALUE' /* required */
                        }
                      },
                      /* more items */
                    ]
                  },
                  /* more items */
                ],
                allowInterrupt: true || false
              }
            },
            /* more items */
          ],
          defaultBranch: { /* required */
            nextStep: {
              dialogAction: {
                type: ElicitIntent | StartIntent | ElicitSlot | EvaluateConditional | InvokeDialogCodeHook | ConfirmIntent | FulfillIntent | CloseIntent | EndConversation, /* required */
                slotToElicit: 'STRING_VALUE',
                suppressNextMessage: true || false
              },
              intent: {
                name: 'STRING_VALUE',
                slots: {
                  '<Name>': { /* SlotValueOverride */
                    shape: Scalar | List,
                    value: {
                      interpretedValue: 'STRING_VALUE'
                    },
                    values: [
                      /* recursive SlotValueOverride */,
                      /* more items */
                    ]
                  },
                  /* '<Name>': ... */
                }
              },
              sessionAttributes: {
                '<NonEmptyString>': 'STRING_VALUE',
                /* '<NonEmptyString>': ... */
              }
            },
            response: {
              messageGroups: [ /* required */
                {
                  message: { /* required */
                    customPayload: {
                      value: 'STRING_VALUE' /* required */
                    },
                    imageResponseCard: {
                      title: 'STRING_VALUE', /* required */
                      buttons: [
                        {
                          text: 'STRING_VALUE', /* required */
                          value: 'STRING_VALUE' /* required */
                        },
                        /* more items */
                      ],
                      imageUrl: 'STRING_VALUE',
                      subtitle: 'STRING_VALUE'
                    },
                    plainTextMessage: {
                      value: 'STRING_VALUE' /* required */
                    },
                    ssmlMessage: {
                      value: 'STRING_VALUE' /* required */
                    }
                  },
                  variations: [
                    {
                      customPayload: {
                        value: 'STRING_VALUE' /* required */
                      },
                      imageResponseCard: {
                        title: 'STRING_VALUE', /* required */
                        buttons: [
                          {
                            text: 'STRING_VALUE', /* required */
                            value: 'STRING_VALUE' /* required */
                          },
                          /* more items */
                        ],
                        imageUrl: 'STRING_VALUE',
                        subtitle: 'STRING_VALUE'
                      },
                      plainTextMessage: {
                        value: 'STRING_VALUE' /* required */
                      },
                      ssmlMessage: {
                        value: 'STRING_VALUE' /* required */
                      }
                    },
                    /* more items */
                  ]
                },
                /* more items */
              ],
              allowInterrupt: true || false
            }
          }
        },
        failureNextStep: {
          dialogAction: {
            type: ElicitIntent | StartIntent | ElicitSlot | EvaluateConditional | InvokeDialogCodeHook | ConfirmIntent | FulfillIntent | CloseIntent | EndConversation, /* required */
            slotToElicit: 'STRING_VALUE',
            suppressNextMessage: true || false
          },
          intent: {
            name: 'STRING_VALUE',
            slots: {
              '<Name>': { /* SlotValueOverride */
                shape: Scalar | List,
                value: {
                  interpretedValue: 'STRING_VALUE'
                },
                values: [
                  /* recursive SlotValueOverride */,
                  /* more items */
                ]
              },
              /* '<Name>': ... */
            }
          },
          sessionAttributes: {
            '<NonEmptyString>': 'STRING_VALUE',
            /* '<NonEmptyString>': ... */
          }
        },
        failureResponse: {
          messageGroups: [ /* required */
            {
              message: { /* required */
                customPayload: {
                  value: 'STRING_VALUE' /* required */
                },
                imageResponseCard: {
                  title: 'STRING_VALUE', /* required */
                  buttons: [
                    {
                      text: 'STRING_VALUE', /* required */
                      value: 'STRING_VALUE' /* required */
                    },
                    /* more items */
                  ],
                  imageUrl: 'STRING_VALUE',
                  subtitle: 'STRING_VALUE'
                },
                plainTextMessage: {
                  value: 'STRING_VALUE' /* required */
                },
                ssmlMessage: {
                  value: 'STRING_VALUE' /* required */
                }
              },
              variations: [
                {
                  customPayload: {
                    value: 'STRING_VALUE' /* required */
                  },
                  imageResponseCard: {
                    title: 'STRING_VALUE', /* required */
                    buttons: [
                      {
                        text: 'STRING_VALUE', /* required */
                        value: 'STRING_VALUE' /* required */
                      },
                      /* more items */
                    ],
                    imageUrl: 'STRING_VALUE',
                    subtitle: 'STRING_VALUE'
                  },
                  plainTextMessage: {
                    value: 'STRING_VALUE' /* required */
                  },
                  ssmlMessage: {
                    value: 'STRING_VALUE' /* required */
                  }
                },
                /* more items */
              ]
            },
            /* more items */
          ],
          allowInterrupt: true || false
        },
        successConditional: {
          active: true || false, /* required */
          conditionalBranches: [ /* required */
            {
              condition: { /* required */
                expressionString: 'STRING_VALUE' /* required */
              },
              name: 'STRING_VALUE', /* required */
              nextStep: { /* required */
                dialogAction: {
                  type: ElicitIntent | StartIntent | ElicitSlot | EvaluateConditional | InvokeDialogCodeHook | ConfirmIntent | FulfillIntent | CloseIntent | EndConversation, /* required */
                  slotToElicit: 'STRING_VALUE',
                  suppressNextMessage: true || false
                },
                intent: {
                  name: 'STRING_VALUE',
                  slots: {
                    '<Name>': { /* SlotValueOverride */
                      shape: Scalar | List,
                      value: {
                        interpretedValue: 'STRING_VALUE'
                      },
                      values: [
                        /* recursive SlotValueOverride */,
                        /* more items */
                      ]
                    },
                    /* '<Name>': ... */
                  }
                },
                sessionAttributes: {
                  '<NonEmptyString>': 'STRING_VALUE',
                  /* '<NonEmptyString>': ... */
                }
              },
              response: {
                messageGroups: [ /* required */
                  {
                    message: { /* required */
                      customPayload: {
                        value: 'STRING_VALUE' /* required */
                      },
                      imageResponseCard: {
                        title: 'STRING_VALUE', /* required */
                        buttons: [
                          {
                            text: 'STRING_VALUE', /* required */
                            value: 'STRING_VALUE' /* required */
                          },
                          /* more items */
                        ],
                        imageUrl: 'STRING_VALUE',
                        subtitle: 'STRING_VALUE'
                      },
                      plainTextMessage: {
                        value: 'STRING_VALUE' /* required */
                      },
                      ssmlMessage: {
                        value: 'STRING_VALUE' /* required */
                      }
                    },
                    variations: [
                      {
                        customPayload: {
                          value: 'STRING_VALUE' /* required */
                        },
                        imageResponseCard: {
                          title: 'STRING_VALUE', /* required */
                          buttons: [
                            {
                              text: 'STRING_VALUE', /* required */
                              value: 'STRING_VALUE' /* required */
                            },
                            /* more items */
                          ],
                          imageUrl: 'STRING_VALUE',
                          subtitle: 'STRING_VALUE'
                        },
                        plainTextMessage: {
                          value: 'STRING_VALUE' /* required */
                        },
                        ssmlMessage: {
                          value: 'STRING_VALUE' /* required */
                        }
                      },
                      /* more items */
                    ]
                  },
                  /* more items */
                ],
                allowInterrupt: true || false
              }
            },
            /* more items */
          ],
          defaultBranch: { /* required */
            nextStep: {
              dialogAction: {
                type: ElicitIntent | StartIntent | ElicitSlot | EvaluateConditional | InvokeDialogCodeHook | ConfirmIntent | FulfillIntent | CloseIntent | EndConversation, /* required */
                slotToElicit: 'STRING_VALUE',
                suppressNextMessage: true || false
              },
              intent: {
                name: 'STRING_VALUE',
                slots: {
                  '<Name>': { /* SlotValueOverride */
                    shape: Scalar | List,
                    value: {
                      interpretedValue: 'STRING_VALUE'
                    },
                    values: [
                      /* recursive SlotValueOverride */,
                      /* more items */
                    ]
                  },
                  /* '<Name>': ... */
                }
              },
              sessionAttributes: {
                '<NonEmptyString>': 'STRING_VALUE',
                /* '<NonEmptyString>': ... */
              }
            },
            response: {
              messageGroups: [ /* required */
                {
                  message: { /* required */
                    customPayload: {
                      value: 'STRING_VALUE' /* required */
                    },
                    imageResponseCard: {
                      title: 'STRING_VALUE', /* required */
                      buttons: [
                        {
                          text: 'STRING_VALUE', /* required */
                          value: 'STRING_VALUE' /* required */
                        },
                        /* more items */
                      ],
                      imageUrl: 'STRING_VALUE',
                      subtitle: 'STRING_VALUE'
                    },
                    plainTextMessage: {
                      value: 'STRING_VALUE' /* required */
                    },
                    ssmlMessage: {
                      value: 'STRING_VALUE' /* required */
                    }
                  },
                  variations: [
                    {
                      customPayload: {
                        value: 'STRING_VALUE' /* required */
                      },
                      imageResponseCard: {
                        title: 'STRING_VALUE', /* required */
                        buttons: [
                          {
                            text: 'STRING_VALUE', /* required */
                            value: 'STRING_VALUE' /* required */
                          },
                          /* more items */
                        ],
                        imageUrl: 'STRING_VALUE',
                        subtitle: 'STRING_VALUE'
                      },
                      plainTextMessage: {
                        value: 'STRING_VALUE' /* required */
                      },
                      ssmlMessage: {
                        value: 'STRING_VALUE' /* required */
                      }
                    },
                    /* more items */
                  ]
                },
                /* more items */
              ],
              allowInterrupt: true || false
            }
          }
        },
        successNextStep: {
          dialogAction: {
            type: ElicitIntent | StartIntent | ElicitSlot | EvaluateConditional | InvokeDialogCodeHook | ConfirmIntent | FulfillIntent | CloseIntent | EndConversation, /* required */
            slotToElicit: 'STRING_VALUE',
            suppressNextMessage: true || false
          },
          intent: {
            name: 'STRING_VALUE',
            slots: {
              '<Name>': { /* SlotValueOverride */
                shape: Scalar | List,
                value: {
                  interpretedValue: 'STRING_VALUE'
                },
                values: [
                  /* recursive SlotValueOverride */,
                  /* more items */
                ]
              },
              /* '<Name>': ... */
            }
          },
          sessionAttributes: {
            '<NonEmptyString>': 'STRING_VALUE',
            /* '<NonEmptyString>': ... */
          }
        },
        successResponse: {
          messageGroups: [ /* required */
            {
              message: { /* required */
                customPayload: {
                  value: 'STRING_VALUE' /* required */
                },
                imageResponseCard: {
                  title: 'STRING_VALUE', /* required */
                  buttons: [
                    {
                      text: 'STRING_VALUE', /* required */
                      value: 'STRING_VALUE' /* required */
                    },
                    /* more items */
                  ],
                  imageUrl: 'STRING_VALUE',
                  subtitle: 'STRING_VALUE'
                },
                plainTextMessage: {
                  value: 'STRING_VALUE' /* required */
                },
                ssmlMessage: {
                  value: 'STRING_VALUE' /* required */
                }
              },
              variations: [
                {
                  customPayload: {
                    value: 'STRING_VALUE' /* required */
                  },
                  imageResponseCard: {
                    title: 'STRING_VALUE', /* required */
                    buttons: [
                      {
                        text: 'STRING_VALUE', /* required */
                        value: 'STRING_VALUE' /* required */
                      },
                      /* more items */
                    ],
                    imageUrl: 'STRING_VALUE',
                    subtitle: 'STRING_VALUE'
                  },
                  plainTextMessage: {
                    value: 'STRING_VALUE' /* required */
                  },
                  ssmlMessage: {
                    value: 'STRING_VALUE' /* required */
                  }
                },
                /* more items */
              ]
            },
            /* more items */
          ],
          allowInterrupt: true || false
        },
        timeoutConditional: {
          active: true || false, /* required */
          conditionalBranches: [ /* required */
            {
              condition: { /* required */
                expressionString: 'STRING_VALUE' /* required */
              },
              name: 'STRING_VALUE', /* required */
              nextStep: { /* required */
                dialogAction: {
                  type: ElicitIntent | StartIntent | ElicitSlot | EvaluateConditional | InvokeDialogCodeHook | ConfirmIntent | FulfillIntent | CloseIntent | EndConversation, /* required */
                  slotToElicit: 'STRING_VALUE',
                  suppressNextMessage: true || false
                },
                intent: {
                  name: 'STRING_VALUE',
                  slots: {
                    '<Name>': { /* SlotValueOverride */
                      shape: Scalar | List,
                      value: {
                        interpretedValue: 'STRING_VALUE'
                      },
                      values: [
                        /* recursive SlotValueOverride */,
                        /* more items */
                      ]
                    },
                    /* '<Name>': ... */
                  }
                },
                sessionAttributes: {
                  '<NonEmptyString>': 'STRING_VALUE',
                  /* '<NonEmptyString>': ... */
                }
              },
              response: {
                messageGroups: [ /* required */
                  {
                    message: { /* required */
                      customPayload: {
                        value: 'STRING_VALUE' /* required */
                      },
                      imageResponseCard: {
                        title: 'STRING_VALUE', /* required */
                        buttons: [
                          {
                            text: 'STRING_VALUE', /* required */
                            value: 'STRING_VALUE' /* required */
                          },
                          /* more items */
                        ],
                        imageUrl: 'STRING_VALUE',
                        subtitle: 'STRING_VALUE'
                      },
                      plainTextMessage: {
                        value: 'STRING_VALUE' /* required */
                      },
                      ssmlMessage: {
                        value: 'STRING_VALUE' /* required */
                      }
                    },
                    variations: [
                      {
                        customPayload: {
                          value: 'STRING_VALUE' /* required */
                        },
                        imageResponseCard: {
                          title: 'STRING_VALUE', /* required */
                          buttons: [
                            {
                              text: 'STRING_VALUE', /* required */
                              value: 'STRING_VALUE' /* required */
                            },
                            /* more items */
                          ],
                          imageUrl: 'STRING_VALUE',
                          subtitle: 'STRING_VALUE'
                        },
                        plainTextMessage: {
                          value: 'STRING_VALUE' /* required */
                        },
                        ssmlMessage: {
                          value: 'STRING_VALUE' /* required */
                        }
                      },
                      /* more items */
                    ]
                  },
                  /* more items */
                ],
                allowInterrupt: true || false
              }
            },
            /* more items */
          ],
          defaultBranch: { /* required */
            nextStep: {
              dialogAction: {
                type: ElicitIntent | StartIntent | ElicitSlot | EvaluateConditional | InvokeDialogCodeHook | ConfirmIntent | FulfillIntent | CloseIntent | EndConversation, /* required */
                slotToElicit: 'STRING_VALUE',
                suppressNextMessage: true || false
              },
              intent: {
                name: 'STRING_VALUE',
                slots: {
                  '<Name>': { /* SlotValueOverride */
                    shape: Scalar | List,
                    value: {
                      interpretedValue: 'STRING_VALUE'
                    },
                    values: [
                      /* recursive SlotValueOverride */,
                      /* more items */
                    ]
                  },
                  /* '<Name>': ... */
                }
              },
              sessionAttributes: {
                '<NonEmptyString>': 'STRING_VALUE',
                /* '<NonEmptyString>': ... */
              }
            },
            response: {
              messageGroups: [ /* required */
                {
                  message: { /* required */
                    customPayload: {
                      value: 'STRING_VALUE' /* required */
                    },
                    imageResponseCard: {
                      title: 'STRING_VALUE', /* required */
                      buttons: [
                        {
                          text: 'STRING_VALUE', /* required */
                          value: 'STRING_VALUE' /* required */
                        },
                        /* more items */
                      ],
                      imageUrl: 'STRING_VALUE',
                      subtitle: 'STRING_VALUE'
                    },
                    plainTextMessage: {
                      value: 'STRING_VALUE' /* required */
                    },
                    ssmlMessage: {
                      value: 'STRING_VALUE' /* required */
                    }
                  },
                  variations: [
                    {
                      customPayload: {
                        value: 'STRING_VALUE' /* required */
                      },
                      imageResponseCard: {
                        title: 'STRING_VALUE', /* required */
                        buttons: [
                          {
                            text: 'STRING_VALUE', /* required */
                            value: 'STRING_VALUE' /* required */
                          },
                          /* more items */
                        ],
                        imageUrl: 'STRING_VALUE',
                        subtitle: 'STRING_VALUE'
                      },
                      plainTextMessage: {
                        value: 'STRING_VALUE' /* required */
                      },
                      ssmlMessage: {
                        value: 'STRING_VALUE' /* required */
                      }
                    },
                    /* more items */
                  ]
                },
                /* more items */
              ],
              allowInterrupt: true || false
            }
          }
        },
        timeoutNextStep: {
          dialogAction: {
            type: ElicitIntent | StartIntent | ElicitSlot | EvaluateConditional | InvokeDialogCodeHook | ConfirmIntent | FulfillIntent | CloseIntent | EndConversation, /* required */
            slotToElicit: 'STRING_VALUE',
            suppressNextMessage: true || false
          },
          intent: {
            name: 'STRING_VALUE',
            slots: {
              '<Name>': { /* SlotValueOverride */
                shape: Scalar | List,
                value: {
                  interpretedValue: 'STRING_VALUE'
                },
                values: [
                  /* recursive SlotValueOverride */,
                  /* more items */
                ]
              },
              /* '<Name>': ... */
            }
          },
          sessionAttributes: {
            '<NonEmptyString>': 'STRING_VALUE',
            /* '<NonEmptyString>': ... */
          }
        },
        timeoutResponse: {
          messageGroups: [ /* required */
            {
              message: { /* required */
                customPayload: {
                  value: 'STRING_VALUE' /* required */
                },
                imageResponseCard: {
                  title: 'STRING_VALUE', /* required */
                  buttons: [
                    {
                      text: 'STRING_VALUE', /* required */
                      value: 'STRING_VALUE' /* required */
                    },
                    /* more items */
                  ],
                  imageUrl: 'STRING_VALUE',
                  subtitle: 'STRING_VALUE'
                },
                plainTextMessage: {
                  value: 'STRING_VALUE' /* required */
                },
                ssmlMessage: {
                  value: 'STRING_VALUE' /* required */
                }
              },
              variations: [
                {
                  customPayload: {
                    value: 'STRING_VALUE' /* required */
                  },
                  imageResponseCard: {
                    title: 'STRING_VALUE', /* required */
                    buttons: [
                      {
                        text: 'STRING_VALUE', /* required */
                        value: 'STRING_VALUE' /* required */
                      },
                      /* more items */
                    ],
                    imageUrl: 'STRING_VALUE',
                    subtitle: 'STRING_VALUE'
                  },
                  plainTextMessage: {
                    value: 'STRING_VALUE' /* required */
                  },
                  ssmlMessage: {
                    value: 'STRING_VALUE' /* required */
                  }
                },
                /* more items */
              ]
            },
            /* more items */
          ],
          allowInterrupt: true || false
        }
      },
      invocationLabel: 'STRING_VALUE'
    },
    confirmationConditional: {
      active: true || false, /* required */
      conditionalBranches: [ /* required */
        {
          condition: { /* required */
            expressionString: 'STRING_VALUE' /* required */
          },
          name: 'STRING_VALUE', /* required */
          nextStep: { /* required */
            dialogAction: {
              type: ElicitIntent | StartIntent | ElicitSlot | EvaluateConditional | InvokeDialogCodeHook | ConfirmIntent | FulfillIntent | CloseIntent | EndConversation, /* required */
              slotToElicit: 'STRING_VALUE',
              suppressNextMessage: true || false
            },
            intent: {
              name: 'STRING_VALUE',
              slots: {
                '<Name>': { /* SlotValueOverride */
                  shape: Scalar | List,
                  value: {
                    interpretedValue: 'STRING_VALUE'
                  },
                  values: [
                    /* recursive SlotValueOverride */,
                    /* more items */
                  ]
                },
                /* '<Name>': ... */
              }
            },
            sessionAttributes: {
              '<NonEmptyString>': 'STRING_VALUE',
              /* '<NonEmptyString>': ... */
            }
          },
          response: {
            messageGroups: [ /* required */
              {
                message: { /* required */
                  customPayload: {
                    value: 'STRING_VALUE' /* required */
                  },
                  imageResponseCard: {
                    title: 'STRING_VALUE', /* required */
                    buttons: [
                      {
                        text: 'STRING_VALUE', /* required */
                        value: 'STRING_VALUE' /* required */
                      },
                      /* more items */
                    ],
                    imageUrl: 'STRING_VALUE',
                    subtitle: 'STRING_VALUE'
                  },
                  plainTextMessage: {
                    value: 'STRING_VALUE' /* required */
                  },
                  ssmlMessage: {
                    value: 'STRING_VALUE' /* required */
                  }
                },
                variations: [
                  {
                    customPayload: {
                      value: 'STRING_VALUE' /* required */
                    },
                    imageResponseCard: {
                      title: 'STRING_VALUE', /* required */
                      buttons: [
                        {
                          text: 'STRING_VALUE', /* required */
                          value: 'STRING_VALUE' /* required */
                        },
                        /* more items */
                      ],
                      imageUrl: 'STRING_VALUE',
                      subtitle: 'STRING_VALUE'
                    },
                    plainTextMessage: {
                      value: 'STRING_VALUE' /* required */
                    },
                    ssmlMessage: {
                      value: 'STRING_VALUE' /* required */
                    }
                  },
                  /* more items */
                ]
              },
              /* more items */
            ],
            allowInterrupt: true || false
          }
        },
        /* more items */
      ],
      defaultBranch: { /* required */
        nextStep: {
          dialogAction: {
            type: ElicitIntent | StartIntent | ElicitSlot | EvaluateConditional | InvokeDialogCodeHook | ConfirmIntent | FulfillIntent | CloseIntent | EndConversation, /* required */
            slotToElicit: 'STRING_VALUE',
            suppressNextMessage: true || false
          },
          intent: {
            name: 'STRING_VALUE',
            slots: {
              '<Name>': { /* SlotValueOverride */
                shape: Scalar | List,
                value: {
                  interpretedValue: 'STRING_VALUE'
                },
                values: [
                  /* recursive SlotValueOverride */,
                  /* more items */
                ]
              },
              /* '<Name>': ... */
            }
          },
          sessionAttributes: {
            '<NonEmptyString>': 'STRING_VALUE',
            /* '<NonEmptyString>': ... */
          }
        },
        response: {
          messageGroups: [ /* required */
            {
              message: { /* required */
                customPayload: {
                  value: 'STRING_VALUE' /* required */
                },
                imageResponseCard: {
                  title: 'STRING_VALUE', /* required */
                  buttons: [
                    {
                      text: 'STRING_VALUE', /* required */
                      value: 'STRING_VALUE' /* required */
                    },
                    /* more items */
                  ],
                  imageUrl: 'STRING_VALUE',
                  subtitle: 'STRING_VALUE'
                },
                plainTextMessage: {
                  value: 'STRING_VALUE' /* required */
                },
                ssmlMessage: {
                  value: 'STRING_VALUE' /* required */
                }
              },
              variations: [
                {
                  customPayload: {
                    value: 'STRING_VALUE' /* required */
                  },
                  imageResponseCard: {
                    title: 'STRING_VALUE', /* required */
                    buttons: [
                      {
                        text: 'STRING_VALUE', /* required */
                        value: 'STRING_VALUE' /* required */
                      },
                      /* more items */
                    ],
                    imageUrl: 'STRING_VALUE',
                    subtitle: 'STRING_VALUE'
                  },
                  plainTextMessage: {
                    value: 'STRING_VALUE' /* required */
                  },
                  ssmlMessage: {
                    value: 'STRING_VALUE' /* required */
                  }
                },
                /* more items */
              ]
            },
            /* more items */
          ],
          allowInterrupt: true || false
        }
      }
    },
    confirmationNextStep: {
      dialogAction: {
        type: ElicitIntent | StartIntent | ElicitSlot | EvaluateConditional | InvokeDialogCodeHook | ConfirmIntent | FulfillIntent | CloseIntent | EndConversation, /* required */
        slotToElicit: 'STRING_VALUE',
        suppressNextMessage: true || false
      },
      intent: {
        name: 'STRING_VALUE',
        slots: {
          '<Name>': { /* SlotValueOverride */
            shape: Scalar | List,
            value: {
              interpretedValue: 'STRING_VALUE'
            },
            values: [
              /* recursive SlotValueOverride */,
              /* more items */
            ]
          },
          /* '<Name>': ... */
        }
      },
      sessionAttributes: {
        '<NonEmptyString>': 'STRING_VALUE',
        /* '<NonEmptyString>': ... */
      }
    },
    confirmationResponse: {
      messageGroups: [ /* required */
        {
          message: { /* required */
            customPayload: {
              value: 'STRING_VALUE' /* required */
            },
            imageResponseCard: {
              title: 'STRING_VALUE', /* required */
              buttons: [
                {
                  text: 'STRING_VALUE', /* required */
                  value: 'STRING_VALUE' /* required */
                },
                /* more items */
              ],
              imageUrl: 'STRING_VALUE',
              subtitle: 'STRING_VALUE'
            },
            plainTextMessage: {
              value: 'STRING_VALUE' /* required */
            },
            ssmlMessage: {
              value: 'STRING_VALUE' /* required */
            }
          },
          variations: [
            {
              customPayload: {
                value: 'STRING_VALUE' /* required */
              },
              imageResponseCard: {
                title: 'STRING_VALUE', /* required */
                buttons: [
                  {
                    text: 'STRING_VALUE', /* required */
                    value: 'STRING_VALUE' /* required */
                  },
                  /* more items */
                ],
                imageUrl: 'STRING_VALUE',
                subtitle: 'STRING_VALUE'
              },
              plainTextMessage: {
                value: 'STRING_VALUE' /* required */
              },
              ssmlMessage: {
                value: 'STRING_VALUE' /* required */
              }
            },
            /* more items */
          ]
        },
        /* more items */
      ],
      allowInterrupt: true || false
    },
    declinationConditional: {
      active: true || false, /* required */
      conditionalBranches: [ /* required */
        {
          condition: { /* required */
            expressionString: 'STRING_VALUE' /* required */
          },
          name: 'STRING_VALUE', /* required */
          nextStep: { /* required */
            dialogAction: {
              type: ElicitIntent | StartIntent | ElicitSlot | EvaluateConditional | InvokeDialogCodeHook | ConfirmIntent | FulfillIntent | CloseIntent | EndConversation, /* required */
              slotToElicit: 'STRING_VALUE',
              suppressNextMessage: true || false
            },
            intent: {
              name: 'STRING_VALUE',
              slots: {
                '<Name>': { /* SlotValueOverride */
                  shape: Scalar | List,
                  value: {
                    interpretedValue: 'STRING_VALUE'
                  },
                  values: [
                    /* recursive SlotValueOverride */,
                    /* more items */
                  ]
                },
                /* '<Name>': ... */
              }
            },
            sessionAttributes: {
              '<NonEmptyString>': 'STRING_VALUE',
              /* '<NonEmptyString>': ... */
            }
          },
          response: {
            messageGroups: [ /* required */
              {
                message: { /* required */
                  customPayload: {
                    value: 'STRING_VALUE' /* required */
                  },
                  imageResponseCard: {
                    title: 'STRING_VALUE', /* required */
                    buttons: [
                      {
                        text: 'STRING_VALUE', /* required */
                        value: 'STRING_VALUE' /* required */
                      },
                      /* more items */
                    ],
                    imageUrl: 'STRING_VALUE',
                    subtitle: 'STRING_VALUE'
                  },
                  plainTextMessage: {
                    value: 'STRING_VALUE' /* required */
                  },
                  ssmlMessage: {
                    value: 'STRING_VALUE' /* required */
                  }
                },
                variations: [
                  {
                    customPayload: {
                      value: 'STRING_VALUE' /* required */
                    },
                    imageResponseCard: {
                      title: 'STRING_VALUE', /* required */
                      buttons: [
                        {
                          text: 'STRING_VALUE', /* required */
                          value: 'STRING_VALUE' /* required */
                        },
                        /* more items */
                      ],
                      imageUrl: 'STRING_VALUE',
                      subtitle: 'STRING_VALUE'
                    },
                    plainTextMessage: {
                      value: 'STRING_VALUE' /* required */
                    },
                    ssmlMessage: {
                      value: 'STRING_VALUE' /* required */
                    }
                  },
                  /* more items */
                ]
              },
              /* more items */
            ],
            allowInterrupt: true || false
          }
        },
        /* more items */
      ],
      defaultBranch: { /* required */
        nextStep: {
          dialogAction: {
            type: ElicitIntent | StartIntent | ElicitSlot | EvaluateConditional | InvokeDialogCodeHook | ConfirmIntent | FulfillIntent | CloseIntent | EndConversation, /* required */
            slotToElicit: 'STRING_VALUE',
            suppressNextMessage: true || false
          },
          intent: {
            name: 'STRING_VALUE',
            slots: {
              '<Name>': { /* SlotValueOverride */
                shape: Scalar | List,
                value: {
                  interpretedValue: 'STRING_VALUE'
                },
                values: [
                  /* recursive SlotValueOverride */,
                  /* more items */
                ]
              },
              /* '<Name>': ... */
            }
          },
          sessionAttributes: {
            '<NonEmptyString>': 'STRING_VALUE',
            /* '<NonEmptyString>': ... */
          }
        },
        response: {
          messageGroups: [ /* required */
            {
              message: { /* required */
                customPayload: {
                  value: 'STRING_VALUE' /* required */
                },
                imageResponseCard: {
                  title: 'STRING_VALUE', /* required */
                  buttons: [
                    {
                      text: 'STRING_VALUE', /* required */
                      value: 'STRING_VALUE' /* required */
                    },
                    /* more items */
                  ],
                  imageUrl: 'STRING_VALUE',
                  subtitle: 'STRING_VALUE'
                },
                plainTextMessage: {
                  value: 'STRING_VALUE' /* required */
                },
                ssmlMessage: {
                  value: 'STRING_VALUE' /* required */
                }
              },
              variations: [
                {
                  customPayload: {
                    value: 'STRING_VALUE' /* required */
                  },
                  imageResponseCard: {
                    title: 'STRING_VALUE', /* required */
                    buttons: [
                      {
                        text: 'STRING_VALUE', /* required */
                        value: 'STRING_VALUE' /* required */
                      },
                      /* more items */
                    ],
                    imageUrl: 'STRING_VALUE',
                    subtitle: 'STRING_VALUE'
                  },
                  plainTextMessage: {
                    value: 'STRING_VALUE' /* required */
                  },
                  ssmlMessage: {
                    value: 'STRING_VALUE' /* required */
                  }
                },
                /* more items */
              ]
            },
            /* more items */
          ],
          allowInterrupt: true || false
        }
      }
    },
    declinationNextStep: {
      dialogAction: {
        type: ElicitIntent | StartIntent | ElicitSlot | EvaluateConditional | InvokeDialogCodeHook | ConfirmIntent | FulfillIntent | CloseIntent | EndConversation, /* required */
        slotToElicit: 'STRING_VALUE',
        suppressNextMessage: true || false
      },
      intent: {
        name: 'STRING_VALUE',
        slots: {
          '<Name>': { /* SlotValueOverride */
            shape: Scalar | List,
            value: {
              interpretedValue: 'STRING_VALUE'
            },
            values: [
              /* recursive SlotValueOverride */,
              /* more items */
            ]
          },
          /* '<Name>': ... */
        }
      },
      sessionAttributes: {
        '<NonEmptyString>': 'STRING_VALUE',
        /* '<NonEmptyString>': ... */
      }
    },
    declinationResponse: {
      messageGroups: [ /* required */
        {
          message: { /* required */
            customPayload: {
              value: 'STRING_VALUE' /* required */
            },
            imageResponseCard: {
              title: 'STRING_VALUE', /* required */
              buttons: [
                {
                  text: 'STRING_VALUE', /* required */
                  value: 'STRING_VALUE' /* required */
                },
                /* more items */
              ],
              imageUrl: 'STRING_VALUE',
              subtitle: 'STRING_VALUE'
            },
            plainTextMessage: {
              value: 'STRING_VALUE' /* required */
            },
            ssmlMessage: {
              value: 'STRING_VALUE' /* required */
            }
          },
          variations: [
            {
              customPayload: {
                value: 'STRING_VALUE' /* required */
              },
              imageResponseCard: {
                title: 'STRING_VALUE', /* required */
                buttons: [
                  {
                    text: 'STRING_VALUE', /* required */
                    value: 'STRING_VALUE' /* required */
                  },
                  /* more items */
                ],
                imageUrl: 'STRING_VALUE',
                subtitle: 'STRING_VALUE'
              },
              plainTextMessage: {
                value: 'STRING_VALUE' /* required */
              },
              ssmlMessage: {
                value: 'STRING_VALUE' /* required */
              }
            },
            /* more items */
          ]
        },
        /* more items */
      ],
      allowInterrupt: true || false
    },
    elicitationCodeHook: {
      enableCodeHookInvocation: true || false, /* required */
      invocationLabel: 'STRING_VALUE'
    },
    failureConditional: {
      active: true || false, /* required */
      conditionalBranches: [ /* required */
        {
          condition: { /* required */
            expressionString: 'STRING_VALUE' /* required */
          },
          name: 'STRING_VALUE', /* required */
          nextStep: { /* required */
            dialogAction: {
              type: ElicitIntent | StartIntent | ElicitSlot | EvaluateConditional | InvokeDialogCodeHook | ConfirmIntent | FulfillIntent | CloseIntent | EndConversation, /* required */
              slotToElicit: 'STRING_VALUE',
              suppressNextMessage: true || false
            },
            intent: {
              name: 'STRING_VALUE',
              slots: {
                '<Name>': { /* SlotValueOverride */
                  shape: Scalar | List,
                  value: {
                    interpretedValue: 'STRING_VALUE'
                  },
                  values: [
                    /* recursive SlotValueOverride */,
                    /* more items */
                  ]
                },
                /* '<Name>': ... */
              }
            },
            sessionAttributes: {
              '<NonEmptyString>': 'STRING_VALUE',
              /* '<NonEmptyString>': ... */
            }
          },
          response: {
            messageGroups: [ /* required */
              {
                message: { /* required */
                  customPayload: {
                    value: 'STRING_VALUE' /* required */
                  },
                  imageResponseCard: {
                    title: 'STRING_VALUE', /* required */
                    buttons: [
                      {
                        text: 'STRING_VALUE', /* required */
                        value: 'STRING_VALUE' /* required */
                      },
                      /* more items */
                    ],
                    imageUrl: 'STRING_VALUE',
                    subtitle: 'STRING_VALUE'
                  },
                  plainTextMessage: {
                    value: 'STRING_VALUE' /* required */
                  },
                  ssmlMessage: {
                    value: 'STRING_VALUE' /* required */
                  }
                },
                variations: [
                  {
                    customPayload: {
                      value: 'STRING_VALUE' /* required */
                    },
                    imageResponseCard: {
                      title: 'STRING_VALUE', /* required */
                      buttons: [
                        {
                          text: 'STRING_VALUE', /* required */
                          value: 'STRING_VALUE' /* required */
                        },
                        /* more items */
                      ],
                      imageUrl: 'STRING_VALUE',
                      subtitle: 'STRING_VALUE'
                    },
                    plainTextMessage: {
                      value: 'STRING_VALUE' /* required */
                    },
                    ssmlMessage: {
                      value: 'STRING_VALUE' /* required */
                    }
                  },
                  /* more items */
                ]
              },
              /* more items */
            ],
            allowInterrupt: true || false
          }
        },
        /* more items */
      ],
      defaultBranch: { /* required */
        nextStep: {
          dialogAction: {
            type: ElicitIntent | StartIntent | ElicitSlot | EvaluateConditional | InvokeDialogCodeHook | ConfirmIntent | FulfillIntent | CloseIntent | EndConversation, /* required */
            slotToElicit: 'STRING_VALUE',
            suppressNextMessage: true || false
          },
          intent: {
            name: 'STRING_VALUE',
            slots: {
              '<Name>': { /* SlotValueOverride */
                shape: Scalar | List,
                value: {
                  interpretedValue: 'STRING_VALUE'
                },
                values: [
                  /* recursive SlotValueOverride */,
                  /* more items */
                ]
              },
              /* '<Name>': ... */
            }
          },
          sessionAttributes: {
            '<NonEmptyString>': 'STRING_VALUE',
            /* '<NonEmptyString>': ... */
          }
        },
        response: {
          messageGroups: [ /* required */
            {
              message: { /* required */
                customPayload: {
                  value: 'STRING_VALUE' /* required */
                },
                imageResponseCard: {
                  title: 'STRING_VALUE', /* required */
                  buttons: [
                    {
                      text: 'STRING_VALUE', /* required */
                      value: 'STRING_VALUE' /* required */
                    },
                    /* more items */
                  ],
                  imageUrl: 'STRING_VALUE',
                  subtitle: 'STRING_VALUE'
                },
                plainTextMessage: {
                  value: 'STRING_VALUE' /* required */
                },
                ssmlMessage: {
                  value: 'STRING_VALUE' /* required */
                }
              },
              variations: [
                {
                  customPayload: {
                    value: 'STRING_VALUE' /* required */
                  },
                  imageResponseCard: {
                    title: 'STRING_VALUE', /* required */
                    buttons: [
                      {
                        text: 'STRING_VALUE', /* required */
                        value: 'STRING_VALUE' /* required */
                      },
                      /* more items */
                    ],
                    imageUrl: 'STRING_VALUE',
                    subtitle: 'STRING_VALUE'
                  },
                  plainTextMessage: {
                    value: 'STRING_VALUE' /* required */
                  },
                  ssmlMessage: {
                    value: 'STRING_VALUE' /* required */
                  }
                },
                /* more items */
              ]
            },
            /* more items */
          ],
          allowInterrupt: true || false
        }
      }
    },
    failureNextStep: {
      dialogAction: {
        type: ElicitIntent | StartIntent | ElicitSlot | EvaluateConditional | InvokeDialogCodeHook | ConfirmIntent | FulfillIntent | CloseIntent | EndConversation, /* required */
        slotToElicit: 'STRING_VALUE',
        suppressNextMessage: true || false
      },
      intent: {
        name: 'STRING_VALUE',
        slots: {
          '<Name>': { /* SlotValueOverride */
            shape: Scalar | List,
            value: {
              interpretedValue: 'STRING_VALUE'
            },
            values: [
              /* recursive SlotValueOverride */,
              /* more items */
            ]
          },
          /* '<Name>': ... */
        }
      },
      sessionAttributes: {
        '<NonEmptyString>': 'STRING_VALUE',
        /* '<NonEmptyString>': ... */
      }
    },
    failureResponse: {
      messageGroups: [ /* required */
        {
          message: { /* required */
            customPayload: {
              value: 'STRING_VALUE' /* required */
            },
            imageResponseCard: {
              title: 'STRING_VALUE', /* required */
              buttons: [
                {
                  text: 'STRING_VALUE', /* required */
                  value: 'STRING_VALUE' /* required */
                },
                /* more items */
              ],
              imageUrl: 'STRING_VALUE',
              subtitle: 'STRING_VALUE'
            },
            plainTextMessage: {
              value: 'STRING_VALUE' /* required */
            },
            ssmlMessage: {
              value: 'STRING_VALUE' /* required */
            }
          },
          variations: [
            {
              customPayload: {
                value: 'STRING_VALUE' /* required */
              },
              imageResponseCard: {
                title: 'STRING_VALUE', /* required */
                buttons: [
                  {
                    text: 'STRING_VALUE', /* required */
                    value: 'STRING_VALUE' /* required */
                  },
                  /* more items */
                ],
                imageUrl: 'STRING_VALUE',
                subtitle: 'STRING_VALUE'
              },
              plainTextMessage: {
                value: 'STRING_VALUE' /* required */
              },
              ssmlMessage: {
                value: 'STRING_VALUE' /* required */
              }
            },
            /* more items */
          ]
        },
        /* more items */
      ],
      allowInterrupt: true || false
    }
  },
  kendraConfiguration: {
    kendraIndex: 'STRING_VALUE', /* required */
    queryFilterString: 'STRING_VALUE',
    queryFilterStringEnabled: true || false
  },
  outputContexts: [
    {
      name: 'STRING_VALUE', /* required */
      timeToLiveInSeconds: 'NUMBER_VALUE', /* required */
      turnsToLive: 'NUMBER_VALUE' /* required */
    },
    /* more items */
  ],
  parentIntentSignature: 'STRING_VALUE',
  qnAIntentConfiguration: {
    bedrockModelConfiguration: {
      modelArn: 'STRING_VALUE', /* required */
      customPrompt: 'STRING_VALUE',
      guardrail: {
        identifier: 'STRING_VALUE', /* required */
        version: 'STRING_VALUE' /* required */
      },
      traceStatus: ENABLED | DISABLED
    },
    dataSourceConfiguration: {
      bedrockKnowledgeStoreConfiguration: {
        bedrockKnowledgeBaseArn: 'STRING_VALUE', /* required */
        exactResponse: true || false,
        exactResponseFields: {
          answerField: 'STRING_VALUE'
        }
      },
      kendraConfiguration: {
        kendraIndex: 'STRING_VALUE', /* required */
        exactResponse: true || false,
        queryFilterString: 'STRING_VALUE',
        queryFilterStringEnabled: true || false
      },
      opensearchConfiguration: {
        domainEndpoint: 'STRING_VALUE', /* required */
        indexName: 'STRING_VALUE', /* required */
        exactResponse: true || false,
        exactResponseFields: {
          answerField: 'STRING_VALUE', /* required */
          questionField: 'STRING_VALUE' /* required */
        },
        includeFields: [
          'STRING_VALUE',
          /* more items */
        ]
      }
    }
  },
  sampleUtterances: [
    {
      utterance: 'STRING_VALUE' /* required */
    },
    /* more items */
  ]
};
lexmodelsv2.createIntent(params, function(err, data) {
  if (err) console.log(err, err.stack); // an error occurred
  else     console.log(data);           // successful response
});

Parameters:

  • params (Object) (defaults to: {})
    • intentName — (String)

      The name of the intent. Intent names must be unique in the locale that contains the intent and cannot match the name of any built-in intent.

    • description — (String)

      A description of the intent. Use the description to help identify the intent in lists.

    • parentIntentSignature — (String)

      A unique identifier for the built-in intent to base this intent on.

    • sampleUtterances — (Array<map>)

      An array of strings that a user might say to signal the intent. For example, "I want a pizza", or "I want a {PizzaSize} pizza".

      In an utterance, slot names are enclosed in curly braces (""") to indicate where they should be displayed in the utterance shown to the user..

      • utterancerequired — (String)

        The sample utterance that Amazon Lex uses to build its machine-learning model to recognize intents.

    • dialogCodeHook — (map)

      Specifies that Amazon Lex invokes the alias Lambda function for each user input. You can invoke this Lambda function to personalize user interaction.

      For example, suppose that your bot determines that the user's name is John. You Lambda function might retrieve John's information from a backend database and prepopulate some of the values. For example, if you find that John is gluten intolerant, you might set the corresponding intent slot, glutenIntolerant to true. You might find John's phone number and set the corresponding session attribute.

      • enabledrequired — (Boolean)

        Enables the dialog code hook so that it processes user requests.

    • fulfillmentCodeHook — (map)

      Specifies that Amazon Lex invokes the alias Lambda function when the intent is ready for fulfillment. You can invoke this function to complete the bot's transaction with the user.

      For example, in a pizza ordering bot, the Lambda function can look up the closest pizza restaurant to the customer's location and then place an order on the customer's behalf.

      • enabledrequired — (Boolean)

        Indicates whether a Lambda function should be invoked to fulfill a specific intent.

      • postFulfillmentStatusSpecification — (map)

        Provides settings for messages sent to the user for after the Lambda fulfillment function completes. Post-fulfillment messages can be sent for both streaming and non-streaming conversations.

        • successResponse — (map)

          Specifies a list of message groups that Amazon Lex uses to respond the user input.

          • messageGroupsrequired — (Array<map>)

            A collection of responses that Amazon Lex can send to the user. Amazon Lex chooses the actual response to send at runtime.

            • messagerequired — (map)

              The primary message that Amazon Lex should send to the user.

              • plainTextMessage — (map)

                A message in plain text format.

                • valuerequired — (String)

                  The message to send to the user.

              • customPayload — (map)

                A message in a custom format defined by the client application.

                • valuerequired — (String)

                  The string that is sent to your application.

              • ssmlMessage — (map)

                A message in Speech Synthesis Markup Language (SSML).

                • valuerequired — (String)

                  The SSML text that defines the prompt.

              • imageResponseCard — (map)

                A message that defines a response card that the client application can show to the user.

                • titlerequired — (String)

                  The title to display on the response card. The format of the title is determined by the platform displaying the response card.

                • subtitle — (String)

                  The subtitle to display on the response card. The format of the subtitle is determined by the platform displaying the response card.

                • imageUrl — (String)

                  The URL of an image to display on the response card. The image URL must be publicly available so that the platform displaying the response card has access to the image.

                • buttons — (Array<map>)

                  A list of buttons that should be displayed on the response card. The arrangement of the buttons is determined by the platform that displays the button.

                  • textrequired — (String)

                    The text that appears on the button. Use this to tell the user what value is returned when they choose this button.

                  • valuerequired — (String)

                    The value returned to Amazon Lex when the user chooses this button. This must be one of the slot values configured for the slot.

            • variations — (Array<map>)

              Message variations to send to the user. When variations are defined, Amazon Lex chooses the primary message or one of the variations to send to the user.

              • plainTextMessage — (map)

                A message in plain text format.

                • valuerequired — (String)

                  The message to send to the user.

              • customPayload — (map)

                A message in a custom format defined by the client application.

                • valuerequired — (String)

                  The string that is sent to your application.

              • ssmlMessage — (map)

                A message in Speech Synthesis Markup Language (SSML).

                • valuerequired — (String)

                  The SSML text that defines the prompt.

              • imageResponseCard — (map)

                A message that defines a response card that the client application can show to the user.

                • titlerequired — (String)

                  The title to display on the response card. The format of the title is determined by the platform displaying the response card.

                • subtitle — (String)

                  The subtitle to display on the response card. The format of the subtitle is determined by the platform displaying the response card.

                • imageUrl — (String)

                  The URL of an image to display on the response card. The image URL must be publicly available so that the platform displaying the response card has access to the image.

                • buttons — (Array<map>)

                  A list of buttons that should be displayed on the response card. The arrangement of the buttons is determined by the platform that displays the button.

                  • textrequired — (String)

                    The text that appears on the button. Use this to tell the user what value is returned when they choose this button.

                  • valuerequired — (String)

                    The value returned to Amazon Lex when the user chooses this button. This must be one of the slot values configured for the slot.

          • allowInterrupt — (Boolean)

            Indicates whether the user can interrupt a speech response from Amazon Lex.

        • failureResponse — (map)

          Specifies a list of message groups that Amazon Lex uses to respond the user input.

          • messageGroupsrequired — (Array<map>)

            A collection of responses that Amazon Lex can send to the user. Amazon Lex chooses the actual response to send at runtime.

            • messagerequired — (map)

              The primary message that Amazon Lex should send to the user.

              • plainTextMessage — (map)

                A message in plain text format.

                • valuerequired — (String)

                  The message to send to the user.

              • customPayload — (map)

                A message in a custom format defined by the client application.

                • valuerequired — (String)

                  The string that is sent to your application.

              • ssmlMessage — (map)

                A message in Speech Synthesis Markup Language (SSML).

                • valuerequired — (String)

                  The SSML text that defines the prompt.

              • imageResponseCard — (map)

                A message that defines a response card that the client application can show to the user.

                • titlerequired — (String)

                  The title to display on the response card. The format of the title is determined by the platform displaying the response card.

                • subtitle — (String)

                  The subtitle to display on the response card. The format of the subtitle is determined by the platform displaying the response card.

                • imageUrl — (String)

                  The URL of an image to display on the response card. The image URL must be publicly available so that the platform displaying the response card has access to the image.

                • buttons — (Array<map>)

                  A list of buttons that should be displayed on the response card. The arrangement of the buttons is determined by the platform that displays the button.

                  • textrequired — (String)

                    The text that appears on the button. Use this to tell the user what value is returned when they choose this button.

                  • valuerequired — (String)

                    The value returned to Amazon Lex when the user chooses this button. This must be one of the slot values configured for the slot.

            • variations — (Array<map>)

              Message variations to send to the user. When variations are defined, Amazon Lex chooses the primary message or one of the variations to send to the user.

              • plainTextMessage — (map)

                A message in plain text format.

                • valuerequired — (String)

                  The message to send to the user.

              • customPayload — (map)

                A message in a custom format defined by the client application.

                • valuerequired — (String)

                  The string that is sent to your application.

              • ssmlMessage — (map)

                A message in Speech Synthesis Markup Language (SSML).

                • valuerequired — (String)

                  The SSML text that defines the prompt.

              • imageResponseCard — (map)

                A message that defines a response card that the client application can show to the user.

                • titlerequired — (String)

                  The title to display on the response card. The format of the title is determined by the platform displaying the response card.

                • subtitle — (String)

                  The subtitle to display on the response card. The format of the subtitle is determined by the platform displaying the response card.

                • imageUrl — (String)

                  The URL of an image to display on the response card. The image URL must be publicly available so that the platform displaying the response card has access to the image.

                • buttons — (Array<map>)

                  A list of buttons that should be displayed on the response card. The arrangement of the buttons is determined by the platform that displays the button.

                  • textrequired — (String)

                    The text that appears on the button. Use this to tell the user what value is returned when they choose this button.

                  • valuerequired — (String)

                    The value returned to Amazon Lex when the user chooses this button. This must be one of the slot values configured for the slot.

          • allowInterrupt — (Boolean)

            Indicates whether the user can interrupt a speech response from Amazon Lex.

        • timeoutResponse — (map)

          Specifies a list of message groups that Amazon Lex uses to respond the user input.

          • messageGroupsrequired — (Array<map>)

            A collection of responses that Amazon Lex can send to the user. Amazon Lex chooses the actual response to send at runtime.

            • messagerequired — (map)

              The primary message that Amazon Lex should send to the user.

              • plainTextMessage — (map)

                A message in plain text format.

                • valuerequired — (String)

                  The message to send to the user.

              • customPayload — (map)

                A message in a custom format defined by the client application.

                • valuerequired — (String)

                  The string that is sent to your application.

              • ssmlMessage — (map)

                A message in Speech Synthesis Markup Language (SSML).

                • valuerequired — (String)

                  The SSML text that defines the prompt.

              • imageResponseCard — (map)

                A message that defines a response card that the client application can show to the user.

                • titlerequired — (String)

                  The title to display on the response card. The format of the title is determined by the platform displaying the response card.

                • subtitle — (String)

                  The subtitle to display on the response card. The format of the subtitle is determined by the platform displaying the response card.

                • imageUrl — (String)

                  The URL of an image to display on the response card. The image URL must be publicly available so that the platform displaying the response card has access to the image.

                • buttons — (Array<map>)

                  A list of buttons that should be displayed on the response card. The arrangement of the buttons is determined by the platform that displays the button.

                  • textrequired — (String)

                    The text that appears on the button. Use this to tell the user what value is returned when they choose this button.

                  • valuerequired — (String)

                    The value returned to Amazon Lex when the user chooses this button. This must be one of the slot values configured for the slot.

            • variations — (Array<map>)

              Message variations to send to the user. When variations are defined, Amazon Lex chooses the primary message or one of the variations to send to the user.

              • plainTextMessage — (map)

                A message in plain text format.

                • valuerequired — (String)

                  The message to send to the user.

              • customPayload — (map)

                A message in a custom format defined by the client application.

                • valuerequired — (String)

                  The string that is sent to your application.

              • ssmlMessage — (map)

                A message in Speech Synthesis Markup Language (SSML).

                • valuerequired — (String)

                  The SSML text that defines the prompt.

              • imageResponseCard — (map)

                A message that defines a response card that the client application can show to the user.

                • titlerequired — (String)

                  The title to display on the response card. The format of the title is determined by the platform displaying the response card.

                • subtitle — (String)

                  The subtitle to display on the response card. The format of the subtitle is determined by the platform displaying the response card.

                • imageUrl — (String)

                  The URL of an image to display on the response card. The image URL must be publicly available so that the platform displaying the response card has access to the image.

                • buttons — (Array<map>)

                  A list of buttons that should be displayed on the response card. The arrangement of the buttons is determined by the platform that displays the button.

                  • textrequired — (String)

                    The text that appears on the button. Use this to tell the user what value is returned when they choose this button.

                  • valuerequired — (String)

                    The value returned to Amazon Lex when the user chooses this button. This must be one of the slot values configured for the slot.

          • allowInterrupt — (Boolean)

            Indicates whether the user can interrupt a speech response from Amazon Lex.

        • successNextStep — (map)

          Specifies the next step in the conversation that Amazon Lex invokes when the fulfillment code hook completes successfully.

          • dialogAction — (map)

            Defines the action that the bot executes at runtime when the conversation reaches this step.

            • typerequired — (String)

              The action that the bot should execute.

              Possible values include:
              • "ElicitIntent"
              • "StartIntent"
              • "ElicitSlot"
              • "EvaluateConditional"
              • "InvokeDialogCodeHook"
              • "ConfirmIntent"
              • "FulfillIntent"
              • "CloseIntent"
              • "EndConversation"
            • slotToElicit — (String)

              If the dialog action is ElicitSlot, defines the slot to elicit from the user.

            • suppressNextMessage — (Boolean)

              When true the next message for the intent is not used.

          • intent — (map)

            Override settings to configure the intent state.

            • name — (String)

              The name of the intent. Only required when you're switching intents.

            • slots — (map<map>)

              A map of all of the slot value overrides for the intent. The name of the slot maps to the value of the slot. Slots that are not included in the map aren't overridden.

              • shape — (String)

                When the shape value is List, it indicates that the values field contains a list of slot values. When the value is Scalar, it indicates that the value field contains a single value.

                Possible values include:
                • "Scalar"
                • "List"
              • value — (map)

                The current value of the slot.

                • interpretedValue — (String)

                  The value that Amazon Lex determines for the slot. The actual value depends on the setting of the value selection strategy for the bot. You can choose to use the value entered by the user, or you can have Amazon Lex choose the first value in the resolvedValues list.

              • values — (Array<map>)

                A list of one or more values that the user provided for the slot. For example, for a slot that elicits pizza toppings, the values might be "pepperoni" and "pineapple."

          • sessionAttributes — (map<String>)

            Map of key/value pairs representing session-specific context information. It contains application information passed between Amazon Lex and a client application.

        • successConditional — (map)

          A list of conditional branches to evaluate after the fulfillment code hook finishes successfully.

          • activerequired — (Boolean)

            Determines whether a conditional branch is active. When active is false, the conditions are not evaluated.

          • conditionalBranchesrequired — (Array<map>)

            A list of conditional branches. A conditional branch is made up of a condition, a response and a next step. The response and next step are executed when the condition is true.

            • namerequired — (String)

              The name of the branch.

            • conditionrequired — (map)

              Contains the expression to evaluate. If the condition is true, the branch's actions are taken.

              • expressionStringrequired — (String)

                The expression string that is evaluated.

            • nextSteprequired — (map)

              The next step in the conversation.

              • dialogAction — (map)

                Defines the action that the bot executes at runtime when the conversation reaches this step.

                • typerequired — (String)

                  The action that the bot should execute.

                  Possible values include:
                  • "ElicitIntent"
                  • "StartIntent"
                  • "ElicitSlot"
                  • "EvaluateConditional"
                  • "InvokeDialogCodeHook"
                  • "ConfirmIntent"
                  • "FulfillIntent"
                  • "CloseIntent"
                  • "EndConversation"
                • slotToElicit — (String)

                  If the dialog action is ElicitSlot, defines the slot to elicit from the user.

                • suppressNextMessage — (Boolean)

                  When true the next message for the intent is not used.

              • intent — (map)

                Override settings to configure the intent state.

                • name — (String)

                  The name of the intent. Only required when you're switching intents.

                • slots — (map<map>)

                  A map of all of the slot value overrides for the intent. The name of the slot maps to the value of the slot. Slots that are not included in the map aren't overridden.

                  • shape — (String)

                    When the shape value is List, it indicates that the values field contains a list of slot values. When the value is Scalar, it indicates that the value field contains a single value.

                    Possible values include:
                    • "Scalar"
                    • "List"
                  • value — (map)

                    The current value of the slot.

                    • interpretedValue — (String)

                      The value that Amazon Lex determines for the slot. The actual value depends on the setting of the value selection strategy for the bot. You can choose to use the value entered by the user, or you can have Amazon Lex choose the first value in the resolvedValues list.

                  • values — (Array<map>)

                    A list of one or more values that the user provided for the slot. For example, for a slot that elicits pizza toppings, the values might be "pepperoni" and "pineapple."

              • sessionAttributes — (map<String>)

                Map of key/value pairs representing session-specific context information. It contains application information passed between Amazon Lex and a client application.

            • response — (map)

              Specifies a list of message groups that Amazon Lex uses to respond the user input.

              • messageGroupsrequired — (Array<map>)

                A collection of responses that Amazon Lex can send to the user. Amazon Lex chooses the actual response to send at runtime.

                • messagerequired — (map)

                  The primary message that Amazon Lex should send to the user.

                  • plainTextMessage — (map)

                    A message in plain text format.

                    • valuerequired — (String)

                      The message to send to the user.

                  • customPayload — (map)

                    A message in a custom format defined by the client application.

                    • valuerequired — (String)

                      The string that is sent to your application.

                  • ssmlMessage — (map)

                    A message in Speech Synthesis Markup Language (SSML).

                    • valuerequired — (String)

                      The SSML text that defines the prompt.

                  • imageResponseCard — (map)

                    A message that defines a response card that the client application can show to the user.

                    • titlerequired — (String)

                      The title to display on the response card. The format of the title is determined by the platform displaying the response card.

                    • subtitle — (String)

                      The subtitle to display on the response card. The format of the subtitle is determined by the platform displaying the response card.

                    • imageUrl — (String)

                      The URL of an image to display on the response card. The image URL must be publicly available so that the platform displaying the response card has access to the image.

                    • buttons — (Array<map>)

                      A list of buttons that should be displayed on the response card. The arrangement of the buttons is determined by the platform that displays the button.

                      • textrequired — (String)

                        The text that appears on the button. Use this to tell the user what value is returned when they choose this button.

                      • valuerequired — (String)

                        The value returned to Amazon Lex when the user chooses this button. This must be one of the slot values configured for the slot.

                • variations — (Array<map>)

                  Message variations to send to the user. When variations are defined, Amazon Lex chooses the primary message or one of the variations to send to the user.

                  • plainTextMessage — (map)

                    A message in plain text format.

                    • valuerequired — (String)

                      The message to send to the user.

                  • customPayload — (map)

                    A message in a custom format defined by the client application.

                    • valuerequired — (String)

                      The string that is sent to your application.

                  • ssmlMessage — (map)

                    A message in Speech Synthesis Markup Language (SSML).

                    • valuerequired — (String)

                      The SSML text that defines the prompt.

                  • imageResponseCard — (map)

                    A message that defines a response card that the client application can show to the user.

                    • titlerequired — (String)

                      The title to display on the response card. The format of the title is determined by the platform displaying the response card.

                    • subtitle — (String)

                      The subtitle to display on the response card. The format of the subtitle is determined by the platform displaying the response card.

                    • imageUrl — (String)

                      The URL of an image to display on the response card. The image URL must be publicly available so that the platform displaying the response card has access to the image.

                    • buttons — (Array<map>)

                      A list of buttons that should be displayed on the response card. The arrangement of the buttons is determined by the platform that displays the button.

                      • textrequired — (String)

                        The text that appears on the button. Use this to tell the user what value is returned when they choose this button.

                      • valuerequired — (String)

                        The value returned to Amazon Lex when the user chooses this button. This must be one of the slot values configured for the slot.

              • allowInterrupt — (Boolean)

                Indicates whether the user can interrupt a speech response from Amazon Lex.

          • defaultBranchrequired — (map)

            The conditional branch that should be followed when the conditions for other branches are not satisfied. A conditional branch is made up of a condition, a response and a next step.

            • nextStep — (map)

              The next step in the conversation.

              • dialogAction — (map)

                Defines the action that the bot executes at runtime when the conversation reaches this step.

                • typerequired — (String)

                  The action that the bot should execute.

                  Possible values include:
                  • "ElicitIntent"
                  • "StartIntent"
                  • "ElicitSlot"
                  • "EvaluateConditional"
                  • "InvokeDialogCodeHook"
                  • "ConfirmIntent"
                  • "FulfillIntent"
                  • "CloseIntent"
                  • "EndConversation"
                • slotToElicit — (String)

                  If the dialog action is ElicitSlot, defines the slot to elicit from the user.

                • suppressNextMessage — (Boolean)

                  When true the next message for the intent is not used.

              • intent — (map)

                Override settings to configure the intent state.

                • name — (String)

                  The name of the intent. Only required when you're switching intents.

                • slots — (map<map>)

                  A map of all of the slot value overrides for the intent. The name of the slot maps to the value of the slot. Slots that are not included in the map aren't overridden.

                  • shape — (String)

                    When the shape value is List, it indicates that the values field contains a list of slot values. When the value is Scalar, it indicates that the value field contains a single value.

                    Possible values include:
                    • "Scalar"
                    • "List"
                  • value — (map)

                    The current value of the slot.

                    • interpretedValue — (String)

                      The value that Amazon Lex determines for the slot. The actual value depends on the setting of the value selection strategy for the bot. You can choose to use the value entered by the user, or you can have Amazon Lex choose the first value in the resolvedValues list.

                  • values — (Array<map>)

                    A list of one or more values that the user provided for the slot. For example, for a slot that elicits pizza toppings, the values might be "pepperoni" and "pineapple."

              • sessionAttributes — (map<String>)

                Map of key/value pairs representing session-specific context information. It contains application information passed between Amazon Lex and a client application.

            • response — (map)

              Specifies a list of message groups that Amazon Lex uses to respond the user input.

              • messageGroupsrequired — (Array<map>)

                A collection of responses that Amazon Lex can send to the user. Amazon Lex chooses the actual response to send at runtime.

                • messagerequired — (map)

                  The primary message that Amazon Lex should send to the user.

                  • plainTextMessage — (map)

                    A message in plain text format.

                    • valuerequired — (String)

                      The message to send to the user.

                  • customPayload — (map)

                    A message in a custom format defined by the client application.

                    • valuerequired — (String)

                      The string that is sent to your application.

                  • ssmlMessage — (map)

                    A message in Speech Synthesis Markup Language (SSML).

                    • valuerequired — (String)

                      The SSML text that defines the prompt.

                  • imageResponseCard — (map)

                    A message that defines a response card that the client application can show to the user.

                    • titlerequired — (String)

                      The title to display on the response card. The format of the title is determined by the platform displaying the response card.

                    • subtitle — (String)

                      The subtitle to display on the response card. The format of the subtitle is determined by the platform displaying the response card.

                    • imageUrl — (String)

                      The URL of an image to display on the response card. The image URL must be publicly available so that the platform displaying the response card has access to the image.

                    • buttons — (Array<map>)

                      A list of buttons that should be displayed on the response card. The arrangement of the buttons is determined by the platform that displays the button.

                      • textrequired — (String)

                        The text that appears on the button. Use this to tell the user what value is returned when they choose this button.

                      • valuerequired — (String)

                        The value returned to Amazon Lex when the user chooses this button. This must be one of the slot values configured for the slot.

                • variations — (Array<map>)

                  Message variations to send to the user. When variations are defined, Amazon Lex chooses the primary message or one of the variations to send to the user.

                  • plainTextMessage — (map)

                    A message in plain text format.

                    • valuerequired — (String)

                      The message to send to the user.

                  • customPayload — (map)

                    A message in a custom format defined by the client application.

                    • valuerequired — (String)

                      The string that is sent to your application.

                  • ssmlMessage — (map)

                    A message in Speech Synthesis Markup Language (SSML).

                    • valuerequired — (String)

                      The SSML text that defines the prompt.

                  • imageResponseCard — (map)

                    A message that defines a response card that the client application can show to the user.

                    • titlerequired — (String)

                      The title to display on the response card. The format of the title is determined by the platform displaying the response card.

                    • subtitle — (String)

                      The subtitle to display on the response card. The format of the subtitle is determined by the platform displaying the response card.

                    • imageUrl — (String)

                      The URL of an image to display on the response card. The image URL must be publicly available so that the platform displaying the response card has access to the image.

                    • buttons — (Array<map>)

                      A list of buttons that should be displayed on the response card. The arrangement of the buttons is determined by the platform that displays the button.

                      • textrequired — (String)

                        The text that appears on the button. Use this to tell the user what value is returned when they choose this button.

                      • valuerequired — (String)

                        The value returned to Amazon Lex when the user chooses this button. This must be one of the slot values configured for the slot.

              • allowInterrupt — (Boolean)

                Indicates whether the user can interrupt a speech response from Amazon Lex.

        • failureNextStep — (map)

          Specifies the next step the bot runs after the fulfillment code hook throws an exception or returns with the State field of the Intent object set to Failed.

          • dialogAction — (map)

            Defines the action that the bot executes at runtime when the conversation reaches this step.

            • typerequired — (String)

              The action that the bot should execute.

              Possible values include:
              • "ElicitIntent"
              • "StartIntent"
              • "ElicitSlot"
              • "EvaluateConditional"
              • "InvokeDialogCodeHook"
              • "ConfirmIntent"
              • "FulfillIntent"
              • "CloseIntent"
              • "EndConversation"
            • slotToElicit — (String)

              If the dialog action is ElicitSlot, defines the slot to elicit from the user.

            • suppressNextMessage — (Boolean)

              When true the next message for the intent is not used.

          • intent — (map)

            Override settings to configure the intent state.

            • name — (String)

              The name of the intent. Only required when you're switching intents.

            • slots — (map<map>)

              A map of all of the slot value overrides for the intent. The name of the slot maps to the value of the slot. Slots that are not included in the map aren't overridden.

              • shape — (String)

                When the shape value is List, it indicates that the values field contains a list of slot values. When the value is Scalar, it indicates that the value field contains a single value.

                Possible values include:
                • "Scalar"
                • "List"
              • value — (map)

                The current value of the slot.

                • interpretedValue — (String)

                  The value that Amazon Lex determines for the slot. The actual value depends on the setting of the value selection strategy for the bot. You can choose to use the value entered by the user, or you can have Amazon Lex choose the first value in the resolvedValues list.

              • values — (Array<map>)

                A list of one or more values that the user provided for the slot. For example, for a slot that elicits pizza toppings, the values might be "pepperoni" and "pineapple."

          • sessionAttributes — (map<String>)

            Map of key/value pairs representing session-specific context information. It contains application information passed between Amazon Lex and a client application.

        • failureConditional — (map)

          A list of conditional branches to evaluate after the fulfillment code hook throws an exception or returns with the State field of the Intent object set to Failed.

          • activerequired — (Boolean)

            Determines whether a conditional branch is active. When active is false, the conditions are not evaluated.

          • conditionalBranchesrequired — (Array<map>)

            A list of conditional branches. A conditional branch is made up of a condition, a response and a next step. The response and next step are executed when the condition is true.

            • namerequired — (String)

              The name of the branch.

            • conditionrequired — (map)

              Contains the expression to evaluate. If the condition is true, the branch's actions are taken.

              • expressionStringrequired — (String)

                The expression string that is evaluated.

            • nextSteprequired — (map)

              The next step in the conversation.

              • dialogAction — (map)

                Defines the action that the bot executes at runtime when the conversation reaches this step.

                • typerequired — (String)

                  The action that the bot should execute.

                  Possible values include:
                  • "ElicitIntent"
                  • "StartIntent"
                  • "ElicitSlot"
                  • "EvaluateConditional"
                  • "InvokeDialogCodeHook"
                  • "ConfirmIntent"
                  • "FulfillIntent"
                  • "CloseIntent"
                  • "EndConversation"
                • slotToElicit — (String)

                  If the dialog action is ElicitSlot, defines the slot to elicit from the user.

                • suppressNextMessage — (Boolean)

                  When true the next message for the intent is not used.

              • intent — (map)

                Override settings to configure the intent state.

                • name — (String)

                  The name of the intent. Only required when you're switching intents.

                • slots — (map<map>)

                  A map of all of the slot value overrides for the intent. The name of the slot maps to the value of the slot. Slots that are not included in the map aren't overridden.

                  • shape — (String)

                    When the shape value is List, it indicates that the values field contains a list of slot values. When the value is Scalar, it indicates that the value field contains a single value.

                    Possible values include:
                    • "Scalar"
                    • "List"
                  • value — (map)

                    The current value of the slot.

                    • interpretedValue — (String)

                      The value that Amazon Lex determines for the slot. The actual value depends on the setting of the value selection strategy for the bot. You can choose to use the value entered by the user, or you can have Amazon Lex choose the first value in the resolvedValues list.

                  • values — (Array<map>)

                    A list of one or more values that the user provided for the slot. For example, for a slot that elicits pizza toppings, the values might be "pepperoni" and "pineapple."

              • sessionAttributes — (map<String>)

                Map of key/value pairs representing session-specific context information. It contains application information passed between Amazon Lex and a client application.

            • response — (map)

              Specifies a list of message groups that Amazon Lex uses to respond the user input.

              • messageGroupsrequired — (Array<map>)

                A collection of responses that Amazon Lex can send to the user. Amazon Lex chooses the actual response to send at runtime.

                • messagerequired — (map)

                  The primary message that Amazon Lex should send to the user.

                  • plainTextMessage — (map)

                    A message in plain text format.

                    • valuerequired — (String)

                      The message to send to the user.

                  • customPayload — (map)

                    A message in a custom format defined by the client application.

                    • valuerequired — (String)

                      The string that is sent to your application.

                  • ssmlMessage — (map)

                    A message in Speech Synthesis Markup Language (SSML).

                    • valuerequired — (String)

                      The SSML text that defines the prompt.

                  • imageResponseCard — (map)

                    A message that defines a response card that the client application can show to the user.

                    • titlerequired — (String)

                      The title to display on the response card. The format of the title is determined by the platform displaying the response card.

                    • subtitle — (String)

                      The subtitle to display on the response card. The format of the subtitle is determined by the platform displaying the response card.

                    • imageUrl — (String)

                      The URL of an image to display on the response card. The image URL must be publicly available so that the platform displaying the response card has access to the image.

                    • buttons — (Array<map>)

                      A list of buttons that should be displayed on the response card. The arrangement of the buttons is determined by the platform that displays the button.

                      • textrequired — (String)

                        The text that appears on the button. Use this to tell the user what value is returned when they choose this button.

                      • valuerequired — (String)

                        The value returned to Amazon Lex when the user chooses this button. This must be one of the slot values configured for the slot.

                • variations — (Array<map>)

                  Message variations to send to the user. When variations are defined, Amazon Lex chooses the primary message or one of the variations to send to the user.

                  • plainTextMessage — (map)

                    A message in plain text format.

                    • valuerequired — (String)

                      The message to send to the user.

                  • customPayload — (map)

                    A message in a custom format defined by the client application.

                    • valuerequired — (String)

                      The string that is sent to your application.

                  • ssmlMessage — (map)

                    A message in Speech Synthesis Markup Language (SSML).

                    • valuerequired — (String)

                      The SSML text that defines the prompt.

                  • imageResponseCard — (map)

                    A message that defines a response card that the client application can show to the user.

                    • titlerequired — (String)

                      The title to display on the response card. The format of the title is determined by the platform displaying the response card.

                    • subtitle — (String)

                      The subtitle to display on the response card. The format of the subtitle is determined by the platform displaying the response card.

                    • imageUrl — (String)

                      The URL of an image to display on the response card. The image URL must be publicly available so that the platform displaying the response card has access to the image.

                    • buttons — (Array<map>)

                      A list of buttons that should be displayed on the response card. The arrangement of the buttons is determined by the platform that displays the button.

                      • textrequired — (String)

                        The text that appears on the button. Use this to tell the user what value is returned when they choose this button.

                      • valuerequired — (String)

                        The value returned to Amazon Lex when the user chooses this button. This must be one of the slot values configured for the slot.

              • allowInterrupt — (Boolean)

                Indicates whether the user can interrupt a speech response from Amazon Lex.

          • defaultBranchrequired — (map)

            The conditional branch that should be followed when the conditions for other branches are not satisfied. A conditional branch is made up of a condition, a response and a next step.

            • nextStep — (map)

              The next step in the conversation.

              • dialogAction — (map)

                Defines the action that the bot executes at runtime when the conversation reaches this step.

                • typerequired — (String)

                  The action that the bot should execute.

                  Possible values include:
                  • "ElicitIntent"
                  • "StartIntent"
                  • "ElicitSlot"
                  • "EvaluateConditional"
                  • "InvokeDialogCodeHook"
                  • "ConfirmIntent"
                  • "FulfillIntent"
                  • "CloseIntent"
                  • "EndConversation"
                • slotToElicit — (String)

                  If the dialog action is ElicitSlot, defines the slot to elicit from the user.

                • suppressNextMessage — (Boolean)

                  When true the next message for the intent is not used.

              • intent — (map)

                Override settings to configure the intent state.

                • name — (String)

                  The name of the intent. Only required when you're switching intents.

                • slots — (map<map>)

                  A map of all of the slot value overrides for the intent. The name of the slot maps to the value of the slot. Slots that are not included in the map aren't overridden.

                  • shape — (String)

                    When the shape value is List, it indicates that the values field contains a list of slot values. When the value is Scalar, it indicates that the value field contains a single value.

                    Possible values include:
                    • "Scalar"
                    • "List"
                  • value — (map)

                    The current value of the slot.

                    • interpretedValue — (String)

                      The value that Amazon Lex determines for the slot. The actual value depends on the setting of the value selection strategy for the bot. You can choose to use the value entered by the user, or you can have Amazon Lex choose the first value in the resolvedValues list.

                  • values — (Array<map>)

                    A list of one or more values that the user provided for the slot. For example, for a slot that elicits pizza toppings, the values might be "pepperoni" and "pineapple."

              • sessionAttributes — (map<String>)

                Map of key/value pairs representing session-specific context information. It contains application information passed between Amazon Lex and a client application.

            • response — (map)

              Specifies a list of message groups that Amazon Lex uses to respond the user input.

              • messageGroupsrequired — (Array<map>)

                A collection of responses that Amazon Lex can send to the user. Amazon Lex chooses the actual response to send at runtime.

                • messagerequired — (map)

                  The primary message that Amazon Lex should send to the user.

                  • plainTextMessage — (map)

                    A message in plain text format.

                    • valuerequired — (String)

                      The message to send to the user.

                  • customPayload — (map)

                    A message in a custom format defined by the client application.

                    • valuerequired — (String)

                      The string that is sent to your application.

                  • ssmlMessage — (map)

                    A message in Speech Synthesis Markup Language (SSML).

                    • valuerequired — (String)

                      The SSML text that defines the prompt.

                  • imageResponseCard — (map)

                    A message that defines a response card that the client application can show to the user.

                    • titlerequired — (String)

                      The title to display on the response card. The format of the title is determined by the platform displaying the response card.

                    • subtitle — (String)

                      The subtitle to display on the response card. The format of the subtitle is determined by the platform displaying the response card.

                    • imageUrl — (String)

                      The URL of an image to display on the response card. The image URL must be publicly available so that the platform displaying the response card has access to the image.

                    • buttons — (Array<map>)

                      A list of buttons that should be displayed on the response card. The arrangement of the buttons is determined by the platform that displays the button.

                      • textrequired — (String)

                        The text that appears on the button. Use this to tell the user what value is returned when they choose this button.

                      • valuerequired — (String)

                        The value returned to Amazon Lex when the user chooses this button. This must be one of the slot values configured for the slot.

                • variations — (Array<map>)

                  Message variations to send to the user. When variations are defined, Amazon Lex chooses the primary message or one of the variations to send to the user.

                  • plainTextMessage — (map)

                    A message in plain text format.

                    • valuerequired — (String)

                      The message to send to the user.

                  • customPayload — (map)

                    A message in a custom format defined by the client application.

                    • valuerequired — (String)

                      The string that is sent to your application.

                  • ssmlMessage — (map)

                    A message in Speech Synthesis Markup Language (SSML).

                    • valuerequired — (String)

                      The SSML text that defines the prompt.

                  • imageResponseCard — (map)

                    A message that defines a response card that the client application can show to the user.

                    • titlerequired — (String)

                      The title to display on the response card. The format of the title is determined by the platform displaying the response card.

                    • subtitle — (String)

                      The subtitle to display on the response card. The format of the subtitle is determined by the platform displaying the response card.

                    • imageUrl — (String)

                      The URL of an image to display on the response card. The image URL must be publicly available so that the platform displaying the response card has access to the image.

                    • buttons — (Array<map>)

                      A list of buttons that should be displayed on the response card. The arrangement of the buttons is determined by the platform that displays the button.

                      • textrequired — (String)

                        The text that appears on the button. Use this to tell the user what value is returned when they choose this button.

                      • valuerequired — (String)

                        The value returned to Amazon Lex when the user chooses this button. This must be one of the slot values configured for the slot.

              • allowInterrupt — (Boolean)

                Indicates whether the user can interrupt a speech response from Amazon Lex.

        • timeoutNextStep — (map)

          Specifies the next step that the bot runs when the fulfillment code hook times out.

          • dialogAction — (map)

            Defines the action that the bot executes at runtime when the conversation reaches this step.

            • typerequired — (String)

              The action that the bot should execute.

              Possible values include:
              • "ElicitIntent"
              • "StartIntent"
              • "ElicitSlot"
              • "EvaluateConditional"
              • "InvokeDialogCodeHook"
              • "ConfirmIntent"
              • "FulfillIntent"
              • "CloseIntent"
              • "EndConversation"
            • slotToElicit — (String)

              If the dialog action is ElicitSlot, defines the slot to elicit from the user.

            • suppressNextMessage — (Boolean)

              When true the next message for the intent is not used.

          • intent — (map)

            Override settings to configure the intent state.

            • name — (String)

              The name of the intent. Only required when you're switching intents.

            • slots — (map<map>)

              A map of all of the slot value overrides for the intent. The name of the slot maps to the value of the slot. Slots that are not included in the map aren't overridden.

              • shape — (String)

                When the shape value is List, it indicates that the values field contains a list of slot values. When the value is Scalar, it indicates that the value field contains a single value.

                Possible values include:
                • "Scalar"
                • "List"
              • value — (map)

                The current value of the slot.

                • interpretedValue — (String)

                  The value that Amazon Lex determines for the slot. The actual value depends on the setting of the value selection strategy for the bot. You can choose to use the value entered by the user, or you can have Amazon Lex choose the first value in the resolvedValues list.

              • values — (Array<map>)

                A list of one or more values that the user provided for the slot. For example, for a slot that elicits pizza toppings, the values might be "pepperoni" and "pineapple."

          • sessionAttributes — (map<String>)

            Map of key/value pairs representing session-specific context information. It contains application information passed between Amazon Lex and a client application.

        • timeoutConditional — (map)

          A list of conditional branches to evaluate if the fulfillment code hook times out.

          • activerequired — (Boolean)

            Determines whether a conditional branch is active. When active is false, the conditions are not evaluated.

          • conditionalBranchesrequired — (Array<map>)

            A list of conditional branches. A conditional branch is made up of a condition, a response and a next step. The response and next step are executed when the condition is true.

            • namerequired — (String)

              The name of the branch.

            • conditionrequired — (map)

              Contains the expression to evaluate. If the condition is true, the branch's actions are taken.

              • expressionStringrequired — (String)

                The expression string that is evaluated.

            • nextSteprequired — (map)

              The next step in the conversation.

              • dialogAction — (map)

                Defines the action that the bot executes at runtime when the conversation reaches this step.

                • typerequired — (String)

                  The action that the bot should execute.

                  Possible values include:
                  • "ElicitIntent"
                  • "StartIntent"
                  • "ElicitSlot"
                  • "EvaluateConditional"
                  • "InvokeDialogCodeHook"
                  • "ConfirmIntent"
                  • "FulfillIntent"
                  • "CloseIntent"
                  • "EndConversation"
                • slotToElicit — (String)

                  If the dialog action is ElicitSlot, defines the slot to elicit from the user.

                • suppressNextMessage — (Boolean)

                  When true the next message for the intent is not used.

              • intent — (map)

                Override settings to configure the intent state.

                • name — (String)

                  The name of the intent. Only required when you're switching intents.

                • slots — (map<map>)

                  A map of all of the slot value overrides for the intent. The name of the slot maps to the value of the slot. Slots that are not included in the map aren't overridden.

                  • shape — (String)

                    When the shape value is List, it indicates that the values field contains a list of slot values. When the value is Scalar, it indicates that the value field contains a single value.

                    Possible values include:
                    • "Scalar"
                    • "List"
                  • value — (map)

                    The current value of the slot.

                    • interpretedValue — (String)

                      The value that Amazon Lex determines for the slot. The actual value depends on the setting of the value selection strategy for the bot. You can choose to use the value entered by the user, or you can have Amazon Lex choose the first value in the resolvedValues list.

                  • values — (Array<map>)

                    A list of one or more values that the user provided for the slot. For example, for a slot that elicits pizza toppings, the values might be "pepperoni" and "pineapple."

              • sessionAttributes — (map<String>)

                Map of key/value pairs representing session-specific context information. It contains application information passed between Amazon Lex and a client application.

            • response — (map)

              Specifies a list of message groups that Amazon Lex uses to respond the user input.

              • messageGroupsrequired — (Array<map>)

                A collection of responses that Amazon Lex can send to the user. Amazon Lex chooses the actual response to send at runtime.

                • messagerequired — (map)

                  The primary message that Amazon Lex should send to the user.

                  • plainTextMessage — (map)

                    A message in plain text format.

                    • valuerequired — (String)

                      The message to send to the user.

                  • customPayload — (map)

                    A message in a custom format defined by the client application.

                    • valuerequired — (String)

                      The string that is sent to your application.

                  • ssmlMessage — (map)

                    A message in Speech Synthesis Markup Language (SSML).

                    • valuerequired — (String)

                      The SSML text that defines the prompt.

                  • imageResponseCard — (map)

                    A message that defines a response card that the client application can show to the user.

                    • titlerequired — (String)

                      The title to display on the response card. The format of the title is determined by the platform displaying the response card.

                    • subtitle — (String)

                      The subtitle to display on the response card. The format of the subtitle is determined by the platform displaying the response card.

                    • imageUrl — (String)

                      The URL of an image to display on the response card. The image URL must be publicly available so that the platform displaying the response card has access to the image.

                    • buttons — (Array<map>)

                      A list of buttons that should be displayed on the response card. The arrangement of the buttons is determined by the platform that displays the button.

                      • textrequired — (String)

                        The text that appears on the button. Use this to tell the user what value is returned when they choose this button.

                      • valuerequired — (String)

                        The value returned to Amazon Lex when the user chooses this button. This must be one of the slot values configured for the slot.

                • variations — (Array<map>)

                  Message variations to send to the user. When variations are defined, Amazon Lex chooses the primary message or one of the variations to send to the user.

                  • plainTextMessage — (map)

                    A message in plain text format.

                    • valuerequired — (String)

                      The message to send to the user.

                  • customPayload — (map)

                    A message in a custom format defined by the client application.

                    • valuerequired — (String)

                      The string that is sent to your application.

                  • ssmlMessage — (map)

                    A message in Speech Synthesis Markup Language (SSML).

                    • valuerequired — (String)

                      The SSML text that defines the prompt.

                  • imageResponseCard — (map)

                    A message that defines a response card that the client application can show to the user.

                    • titlerequired — (String)

                      The title to display on the response card. The format of the title is determined by the platform displaying the response card.

                    • subtitle — (String)

                      The subtitle to display on the response card. The format of the subtitle is determined by the platform displaying the response card.

                    • imageUrl — (String)

                      The URL of an image to display on the response card. The image URL must be publicly available so that the platform displaying the response card has access to the image.

                    • buttons — (Array<map>)

                      A list of buttons that should be displayed on the response card. The arrangement of the buttons is determined by the platform that displays the button.

                      • textrequired — (String)

                        The text that appears on the button. Use this to tell the user what value is returned when they choose this button.

                      • valuerequired — (String)

                        The value returned to Amazon Lex when the user chooses this button. This must be one of the slot values configured for the slot.

              • allowInterrupt — (Boolean)

                Indicates whether the user can interrupt a speech response from Amazon Lex.

          • defaultBranchrequired — (map)

            The conditional branch that should be followed when the conditions for other branches are not satisfied. A conditional branch is made up of a condition, a response and a next step.

            • nextStep — (map)

              The next step in the conversation.

              • dialogAction — (map)

                Defines the action that the bot executes at runtime when the conversation reaches this step.

                • typerequired — (String)

                  The action that the bot should execute.

                  Possible values include:
                  • "ElicitIntent"
                  • "StartIntent"
                  • "ElicitSlot"
                  • "EvaluateConditional"
                  • "InvokeDialogCodeHook"
                  • "ConfirmIntent"
                  • "FulfillIntent"
                  • "CloseIntent"
                  • "EndConversation"
                • slotToElicit — (String)

                  If the dialog action is ElicitSlot, defines the slot to elicit from the user.

                • suppressNextMessage — (Boolean)

                  When true the next message for the intent is not used.

              • intent — (map)

                Override settings to configure the intent state.

                • name — (String)

                  The name of the intent. Only required when you're switching intents.

                • slots — (map<map>)

                  A map of all of the slot value overrides for the intent. The name of the slot maps to the value of the slot. Slots that are not included in the map aren't overridden.

                  • shape — (String)

                    When the shape value is List, it indicates that the values field contains a list of slot values. When the value is Scalar, it indicates that the value field contains a single value.

                    Possible values include:
                    • "Scalar"
                    • "List"
                  • value — (map)

                    The current value of the slot.

                    • interpretedValue — (String)

                      The value that Amazon Lex determines for the slot. The actual value depends on the setting of the value selection strategy for the bot. You can choose to use the value entered by the user, or you can have Amazon Lex choose the first value in the resolvedValues list.

                  • values — (Array<map>)

                    A list of one or more values that the user provided for the slot. For example, for a slot that elicits pizza toppings, the values might be "pepperoni" and "pineapple."

              • sessionAttributes — (map<String>)

                Map of key/value pairs representing session-specific context information. It contains application information passed between Amazon Lex and a client application.

            • response — (map)

              Specifies a list of message groups that Amazon Lex uses to respond the user input.

              • messageGroupsrequired — (Array<map>)

                A collection of responses that Amazon Lex can send to the user. Amazon Lex chooses the actual response to send at runtime.

                • messagerequired — (map)

                  The primary message that Amazon Lex should send to the user.

                  • plainTextMessage — (map)

                    A message in plain text format.

                    • valuerequired — (String)

                      The message to send to the user.

                  • customPayload — (map)

                    A message in a custom format defined by the client application.

                    • valuerequired — (String)

                      The string that is sent to your application.

                  • ssmlMessage — (map)

                    A message in Speech Synthesis Markup Language (SSML).

                    • valuerequired — (String)

                      The SSML text that defines the prompt.

                  • imageResponseCard — (map)

                    A message that defines a response card that the client application can show to the user.

                    • titlerequired — (String)

                      The title to display on the response card. The format of the title is determined by the platform displaying the response card.

                    • subtitle — (String)

                      The subtitle to display on the response card. The format of the subtitle is determined by the platform displaying the response card.

                    • imageUrl — (String)

                      The URL of an image to display on the response card. The image URL must be publicly available so that the platform displaying the response card has access to the image.

                    • buttons — (Array<map>)

                      A list of buttons that should be displayed on the response card. The arrangement of the buttons is determined by the platform that displays the button.

                      • textrequired — (String)

                        The text that appears on the button. Use this to tell the user what value is returned when they choose this button.

                      • valuerequired — (String)

                        The value returned to Amazon Lex when the user chooses this button. This must be one of the slot values configured for the slot.

                • variations — (Array<map>)

                  Message variations to send to the user. When variations are defined, Amazon Lex chooses the primary message or one of the variations to send to the user.

                  • plainTextMessage — (map)

                    A message in plain text format.

                    • valuerequired — (String)

                      The message to send to the user.

                  • customPayload — (map)

                    A message in a custom format defined by the client application.

                    • valuerequired — (String)

                      The string that is sent to your application.

                  • ssmlMessage — (map)

                    A message in Speech Synthesis Markup Language (SSML).

                    • valuerequired — (String)

                      The SSML text that defines the prompt.

                  • imageResponseCard — (map)

                    A message that defines a response card that the client application can show to the user.

                    • titlerequired — (String)

                      The title to display on the response card. The format of the title is determined by the platform displaying the response card.

                    • subtitle — (String)

                      The subtitle to display on the response card. The format of the subtitle is determined by the platform displaying the response card.

                    • imageUrl — (String)

                      The URL of an image to display on the response card. The image URL must be publicly available so that the platform displaying the response card has access to the image.

                    • buttons — (Array<map>)

                      A list of buttons that should be displayed on the response card. The arrangement of the buttons is determined by the platform that displays the button.

                      • textrequired — (String)

                        The text that appears on the button. Use this to tell the user what value is returned when they choose this button.

                      • valuerequired — (String)

                        The value returned to Amazon Lex when the user chooses this button. This must be one of the slot values configured for the slot.

              • allowInterrupt — (Boolean)

                Indicates whether the user can interrupt a speech response from Amazon Lex.

      • fulfillmentUpdatesSpecification — (map)

        Provides settings for update messages sent to the user for long-running Lambda fulfillment functions. Fulfillment updates can be used only with streaming conversations.

        • activerequired — (Boolean)

          Determines whether fulfillment updates are sent to the user. When this field is true, updates are sent.

          If the active field is set to true, the startResponse, updateResponse, and timeoutInSeconds fields are required.

        • startResponse — (map)

          Provides configuration information for the message sent to users when the fulfillment Lambda functions starts running.

          • delayInSecondsrequired — (Integer)

            The delay between when the Lambda fulfillment function starts running and the start message is played. If the Lambda function returns before the delay is over, the start message isn't played.

          • messageGroupsrequired — (Array<map>)

            1 - 5 message groups that contain start messages. Amazon Lex chooses one of the messages to play to the user.

            • messagerequired — (map)

              The primary message that Amazon Lex should send to the user.

              • plainTextMessage — (map)

                A message in plain text format.

                • valuerequired — (String)

                  The message to send to the user.

              • customPayload — (map)

                A message in a custom format defined by the client application.

                • valuerequired — (String)

                  The string that is sent to your application.

              • ssmlMessage — (map)

                A message in Speech Synthesis Markup Language (SSML).

                • valuerequired — (String)

                  The SSML text that defines the prompt.

              • imageResponseCard — (map)

                A message that defines a response card that the client application can show to the user.

                • titlerequired — (String)

                  The title to display on the response card. The format of the title is determined by the platform displaying the response card.

                • subtitle — (String)

                  The subtitle to display on the response card. The format of the subtitle is determined by the platform displaying the response card.

                • imageUrl — (String)

                  The URL of an image to display on the response card. The image URL must be publicly available so that the platform displaying the response card has access to the image.

                • buttons — (Array<map>)

                  A list of buttons that should be displayed on the response card. The arrangement of the buttons is determined by the platform that displays the button.

                  • textrequired — (String)

                    The text that appears on the button. Use this to tell the user what value is returned when they choose this button.

                  • valuerequired — (String)

                    The value returned to Amazon Lex when the user chooses this button. This must be one of the slot values configured for the slot.

            • variations — (Array<map>)

              Message variations to send to the user. When variations are defined, Amazon Lex chooses the primary message or one of the variations to send to the user.

              • plainTextMessage — (map)

                A message in plain text format.

                • valuerequired — (String)

                  The message to send to the user.

              • customPayload — (map)

                A message in a custom format defined by the client application.

                • valuerequired — (String)

                  The string that is sent to your application.

              • ssmlMessage — (map)

                A message in Speech Synthesis Markup Language (SSML).

                • valuerequired — (String)

                  The SSML text that defines the prompt.

              • imageResponseCard — (map)

                A message that defines a response card that the client application can show to the user.

                • titlerequired — (String)

                  The title to display on the response card. The format of the title is determined by the platform displaying the response card.

                • subtitle — (String)

                  The subtitle to display on the response card. The format of the subtitle is determined by the platform displaying the response card.

                • imageUrl — (String)

                  The URL of an image to display on the response card. The image URL must be publicly available so that the platform displaying the response card has access to the image.

                • buttons — (Array<map>)

                  A list of buttons that should be displayed on the response card. The arrangement of the buttons is determined by the platform that displays the button.

                  • textrequired — (String)

                    The text that appears on the button. Use this to tell the user what value is returned when they choose this button.

                  • valuerequired — (String)

                    The value returned to Amazon Lex when the user chooses this button. This must be one of the slot values configured for the slot.

          • allowInterrupt — (Boolean)

            Determines whether the user can interrupt the start message while it is playing.

        • updateResponse — (map)

          Provides configuration information for messages sent periodically to the user while the fulfillment Lambda function is running.

          • frequencyInSecondsrequired — (Integer)

            The frequency that a message is sent to the user. When the period ends, Amazon Lex chooses a message from the message groups and plays it to the user. If the fulfillment Lambda returns before the first period ends, an update message is not played to the user.

          • messageGroupsrequired — (Array<map>)

            1 - 5 message groups that contain update messages. Amazon Lex chooses one of the messages to play to the user.

            • messagerequired — (map)

              The primary message that Amazon Lex should send to the user.

              • plainTextMessage — (map)

                A message in plain text format.

                • valuerequired — (String)

                  The message to send to the user.

              • customPayload — (map)

                A message in a custom format defined by the client application.

                • valuerequired — (String)

                  The string that is sent to your application.

              • ssmlMessage — (map)

                A message in Speech Synthesis Markup Language (SSML).

                • valuerequired — (String)

                  The SSML text that defines the prompt.

              • imageResponseCard — (map)

                A message that defines a response card that the client application can show to the user.

                • titlerequired — (String)

                  The title to display on the response card. The format of the title is determined by the platform displaying the response card.

                • subtitle — (String)

                  The subtitle to display on the response card. The format of the subtitle is determined by the platform displaying the response card.

                • imageUrl — (String)

                  The URL of an image to display on the response card. The image URL must be publicly available so that the platform displaying the response card has access to the image.

                • buttons — (Array<map>)

                  A list of buttons that should be displayed on the response card. The arrangement of the buttons is determined by the platform that displays the button.

                  • textrequired — (String)

                    The text that appears on the button. Use this to tell the user what value is returned when they choose this button.

                  • valuerequired — (String)

                    The value returned to Amazon Lex when the user chooses this button. This must be one of the slot values configured for the slot.

            • variations — (Array<map>)

              Message variations to send to the user. When variations are defined, Amazon Lex chooses the primary message or one of the variations to send to the user.

              • plainTextMessage — (map)

                A message in plain text format.

                • valuerequired — (String)

                  The message to send to the user.

              • customPayload — (map)

                A message in a custom format defined by the client application.

                • valuerequired — (String)

                  The string that is sent to your application.

              • ssmlMessage — (map)

                A message in Speech Synthesis Markup Language (SSML).

                • valuerequired — (String)

                  The SSML text that defines the prompt.

              • imageResponseCard — (map)

                A message that defines a response card that the client application can show to the user.

                • titlerequired — (String)

                  The title to display on the response card. The format of the title is determined by the platform displaying the response card.

                • subtitle — (String)

                  The subtitle to display on the response card. The format of the subtitle is determined by the platform displaying the response card.

                • imageUrl — (String)

                  The URL of an image to display on the response card. The image URL must be publicly available so that the platform displaying the response card has access to the image.

                • buttons — (Array<map>)

                  A list of buttons that should be displayed on the response card. The arrangement of the buttons is determined by the platform that displays the button.

                  • textrequired — (String)

                    The text that appears on the button. Use this to tell the user what value is returned when they choose this button.

                  • valuerequired — (String)

                    The value returned to Amazon Lex when the user chooses this button. This must be one of the slot values configured for the slot.

          • allowInterrupt — (Boolean)

            Determines whether the user can interrupt an update message while it is playing.

        • timeoutInSeconds — (Integer)

          The length of time that the fulfillment Lambda function should run before it times out.

      • active — (Boolean)

        Determines whether the fulfillment code hook is used. When active is false, the code hook doesn't run.

    • intentConfirmationSetting — (map)

      Provides prompts that Amazon Lex sends to the user to confirm the completion of an intent. If the user answers "no," the settings contain a statement that is sent to the user to end the intent.

      • promptSpecificationrequired — (map)

        Prompts the user to confirm the intent. This question should have a yes or no answer.

        Amazon Lex uses this prompt to ensure that the user acknowledges that the intent is ready for fulfillment. For example, with the OrderPizza intent, you might want to confirm that the order is correct before placing it. For other intents, such as intents that simply respond to user questions, you might not need to ask the user for confirmation before providing the information.

        • messageGroupsrequired — (Array<map>)

          A collection of messages that Amazon Lex can send to the user. Amazon Lex chooses the actual message to send at runtime.

          • messagerequired — (map)

            The primary message that Amazon Lex should send to the user.

            • plainTextMessage — (map)

              A message in plain text format.

              • valuerequired — (String)

                The message to send to the user.

            • customPayload — (map)

              A message in a custom format defined by the client application.

              • valuerequired — (String)

                The string that is sent to your application.

            • ssmlMessage — (map)

              A message in Speech Synthesis Markup Language (SSML).

              • valuerequired — (String)

                The SSML text that defines the prompt.

            • imageResponseCard — (map)

              A message that defines a response card that the client application can show to the user.

              • titlerequired — (String)

                The title to display on the response card. The format of the title is determined by the platform displaying the response card.

              • subtitle — (String)

                The subtitle to display on the response card. The format of the subtitle is determined by the platform displaying the response card.

              • imageUrl — (String)

                The URL of an image to display on the response card. The image URL must be publicly available so that the platform displaying the response card has access to the image.

              • buttons — (Array<map>)

                A list of buttons that should be displayed on the response card. The arrangement of the buttons is determined by the platform that displays the button.

                • textrequired — (String)

                  The text that appears on the button. Use this to tell the user what value is returned when they choose this button.

                • valuerequired — (String)

                  The value returned to Amazon Lex when the user chooses this button. This must be one of the slot values configured for the slot.

          • variations — (Array<map>)

            Message variations to send to the user. When variations are defined, Amazon Lex chooses the primary message or one of the variations to send to the user.

            • plainTextMessage — (map)

              A message in plain text format.

              • valuerequired — (String)

                The message to send to the user.

            • customPayload — (map)

              A message in a custom format defined by the client application.

              • valuerequired — (String)

                The string that is sent to your application.

            • ssmlMessage — (map)

              A message in Speech Synthesis Markup Language (SSML).

              • valuerequired — (String)

                The SSML text that defines the prompt.

            • imageResponseCard — (map)

              A message that defines a response card that the client application can show to the user.

              • titlerequired — (String)

                The title to display on the response card. The format of the title is determined by the platform displaying the response card.

              • subtitle — (String)

                The subtitle to display on the response card. The format of the subtitle is determined by the platform displaying the response card.

              • imageUrl — (String)

                The URL of an image to display on the response card. The image URL must be publicly available so that the platform displaying the response card has access to the image.

              • buttons — (Array<map>)

                A list of buttons that should be displayed on the response card. The arrangement of the buttons is determined by the platform that displays the button.

                • textrequired — (String)

                  The text that appears on the button. Use this to tell the user what value is returned when they choose this button.

                • valuerequired — (String)

                  The value returned to Amazon Lex when the user chooses this button. This must be one of the slot values configured for the slot.

        • maxRetriesrequired — (Integer)

          The maximum number of times the bot tries to elicit a response from the user using this prompt.

        • allowInterrupt — (Boolean)

          Indicates whether the user can interrupt a speech prompt from the bot.

        • messageSelectionStrategy — (String)

          Indicates how a message is selected from a message group among retries.

          Possible values include:
          • "Random"
          • "Ordered"
        • promptAttemptsSpecification — (map<map>)

          Specifies the advanced settings on each attempt of the prompt.

          • allowInterrupt — (Boolean)

            Indicates whether the user can interrupt a speech prompt attempt from the bot.

          • allowedInputTypesrequired — (map)

            Indicates the allowed input types of the prompt attempt.

            • allowAudioInputrequired — (Boolean)

              Indicates whether audio input is allowed.

            • allowDTMFInputrequired — (Boolean)

              Indicates whether DTMF input is allowed.

          • audioAndDTMFInputSpecification — (map)

            Specifies the settings on audio and DTMF input.

            • startTimeoutMsrequired — (Integer)

              Time for which a bot waits before assuming that the customer isn't going to speak or press a key. This timeout is shared between Audio and DTMF inputs.

            • audioSpecification — (map)

              Specifies the settings on audio input.

              • maxLengthMsrequired — (Integer)

                Time for how long Amazon Lex waits before speech input is truncated and the speech is returned to application.

              • endTimeoutMsrequired — (Integer)

                Time for which a bot waits after the customer stops speaking to assume the utterance is finished.

            • dtmfSpecification — (map)

              Specifies the settings on DTMF input.

              • maxLengthrequired — (Integer)

                The maximum number of DTMF digits allowed in an utterance.

              • endTimeoutMsrequired — (Integer)

                How long the bot should wait after the last DTMF character input before assuming that the input has concluded.

              • deletionCharacterrequired — (String)

                The DTMF character that clears the accumulated DTMF digits and immediately ends the input.

              • endCharacterrequired — (String)

                The DTMF character that immediately ends input. If the user does not press this character, the input ends after the end timeout.

          • textInputSpecification — (map)

            Specifies the settings on text input.

            • startTimeoutMsrequired — (Integer)

              Time for which a bot waits before re-prompting a customer for text input.

      • declinationResponse — (map)

        When the user answers "no" to the question defined in promptSpecification, Amazon Lex responds with this response to acknowledge that the intent was canceled.

        • messageGroupsrequired — (Array<map>)

          A collection of responses that Amazon Lex can send to the user. Amazon Lex chooses the actual response to send at runtime.

          • messagerequired — (map)

            The primary message that Amazon Lex should send to the user.

            • plainTextMessage — (map)

              A message in plain text format.

              • valuerequired — (String)

                The message to send to the user.

            • customPayload — (map)

              A message in a custom format defined by the client application.

              • valuerequired — (String)

                The string that is sent to your application.

            • ssmlMessage — (map)

              A message in Speech Synthesis Markup Language (SSML).

              • valuerequired — (String)

                The SSML text that defines the prompt.

            • imageResponseCard — (map)

              A message that defines a response card that the client application can show to the user.

              • titlerequired — (String)

                The title to display on the response card. The format of the title is determined by the platform displaying the response card.

              • subtitle — (String)

                The subtitle to display on the response card. The format of the subtitle is determined by the platform displaying the response card.

              • imageUrl — (String)

                The URL of an image to display on the response card. The image URL must be publicly available so that the platform displaying the response card has access to the image.

              • buttons — (Array<map>)

                A list of buttons that should be displayed on the response card. The arrangement of the buttons is determined by the platform that displays the button.

                • textrequired — (String)

                  The text that appears on the button. Use this to tell the user what value is returned when they choose this button.

                • valuerequired — (String)

                  The value returned to Amazon Lex when the user chooses this button. This must be one of the slot values configured for the slot.

          • variations — (Array<map>)

            Message variations to send to the user. When variations are defined, Amazon Lex chooses the primary message or one of the variations to send to the user.

            • plainTextMessage — (map)

              A message in plain text format.

              • valuerequired — (String)

                The message to send to the user.

            • customPayload — (map)

              A message in a custom format defined by the client application.

              • valuerequired — (String)

                The string that is sent to your application.

            • ssmlMessage — (map)

              A message in Speech Synthesis Markup Language (SSML).

              • valuerequired — (String)

                The SSML text that defines the prompt.

            • imageResponseCard — (map)

              A message that defines a response card that the client application can show to the user.

              • titlerequired — (String)

                The title to display on the response card. The format of the title is determined by the platform displaying the response card.

              • subtitle — (String)

                The subtitle to display on the response card. The format of the subtitle is determined by the platform displaying the response card.

              • imageUrl — (String)

                The URL of an image to display on the response card. The image URL must be publicly available so that the platform displaying the response card has access to the image.

              • buttons — (Array<map>)

                A list of buttons that should be displayed on the response card. The arrangement of the buttons is determined by the platform that displays the button.

                • textrequired — (String)

                  The text that appears on the button. Use this to tell the user what value is returned when they choose this button.

                • valuerequired — (String)

                  The value returned to Amazon Lex when the user chooses this button. This must be one of the slot values configured for the slot.

        • allowInterrupt — (Boolean)

          Indicates whether the user can interrupt a speech response from Amazon Lex.

      • active — (Boolean)

        Specifies whether the intent's confirmation is sent to the user. When this field is false, confirmation and declination responses aren't sent. If the active field isn't specified, the default is true.

      • confirmationResponse — (map)

        Specifies a list of message groups that Amazon Lex uses to respond the user input.

        • messageGroupsrequired — (Array<map>)

          A collection of responses that Amazon Lex can send to the user. Amazon Lex chooses the actual response to send at runtime.

          • messagerequired — (map)

            The primary message that Amazon Lex should send to the user.

            • plainTextMessage — (map)

              A message in plain text format.

              • valuerequired — (String)

                The message to send to the user.

            • customPayload — (map)

              A message in a custom format defined by the client application.

              • valuerequired — (String)

                The string that is sent to your application.

            • ssmlMessage — (map)

              A message in Speech Synthesis Markup Language (SSML).

              • valuerequired — (String)

                The SSML text that defines the prompt.

            • imageResponseCard — (map)

              A message that defines a response card that the client application can show to the user.

              • titlerequired — (String)

                The title to display on the response card. The format of the title is determined by the platform displaying the response card.

              • subtitle — (String)

                The subtitle to display on the response card. The format of the subtitle is determined by the platform displaying the response card.

              • imageUrl — (String)

                The URL of an image to display on the response card. The image URL must be publicly available so that the platform displaying the response card has access to the image.

              • buttons — (Array<map>)

                A list of buttons that should be displayed on the response card. The arrangement of the buttons is determined by the platform that displays the button.

                • textrequired — (String)

                  The text that appears on the button. Use this to tell the user what value is returned when they choose this button.

                • valuerequired — (String)

                  The value returned to Amazon Lex when the user chooses this button. This must be one of the slot values configured for the slot.

          • variations — (Array<map>)

            Message variations to send to the user. When variations are defined, Amazon Lex chooses the primary message or one of the variations to send to the user.

            • plainTextMessage — (map)

              A message in plain text format.

              • valuerequired — (String)

                The message to send to the user.

            • customPayload — (map)

              A message in a custom format defined by the client application.

              • valuerequired — (String)

                The string that is sent to your application.

            • ssmlMessage — (map)

              A message in Speech Synthesis Markup Language (SSML).

              • valuerequired — (String)

                The SSML text that defines the prompt.

            • imageResponseCard — (map)

              A message that defines a response card that the client application can show to the user.

              • titlerequired — (String)

                The title to display on the response card. The format of the title is determined by the platform displaying the response card.

              • subtitle — (String)

                The subtitle to display on the response card. The format of the subtitle is determined by the platform displaying the response card.

              • imageUrl — (String)

                The URL of an image to display on the response card. The image URL must be publicly available so that the platform displaying the response card has access to the image.

              • buttons — (Array<map>)

                A list of buttons that should be displayed on the response card. The arrangement of the buttons is determined by the platform that displays the button.

                • textrequired — (String)

                  The text that appears on the button. Use this to tell the user what value is returned when they choose this button.

                • valuerequired — (String)

                  The value returned to Amazon Lex when the user chooses this button. This must be one of the slot values configured for the slot.

        • allowInterrupt — (Boolean)

          Indicates whether the user can interrupt a speech response from Amazon Lex.

      • confirmationNextStep — (map)

        Specifies the next step that the bot executes when the customer confirms the intent.

        • dialogAction — (map)

          Defines the action that the bot executes at runtime when the conversation reaches this step.

          • typerequired — (String)

            The action that the bot should execute.

            Possible values include:
            • "ElicitIntent"
            • "StartIntent"
            • "ElicitSlot"
            • "EvaluateConditional"
            • "InvokeDialogCodeHook"
            • "ConfirmIntent"
            • "FulfillIntent"
            • "CloseIntent"
            • "EndConversation"
          • slotToElicit — (String)

            If the dialog action is ElicitSlot, defines the slot to elicit from the user.

          • suppressNextMessage — (Boolean)

            When true the next message for the intent is not used.

        • intent — (map)

          Override settings to configure the intent state.

          • name — (String)

            The name of the intent. Only required when you're switching intents.

          • slots — (map<map>)

            A map of all of the slot value overrides for the intent. The name of the slot maps to the value of the slot. Slots that are not included in the map aren't overridden.

            • shape — (String)

              When the shape value is List, it indicates that the values field contains a list of slot values. When the value is Scalar, it indicates that the value field contains a single value.

              Possible values include:
              • "Scalar"
              • "List"
            • value — (map)

              The current value of the slot.

              • interpretedValue — (String)

                The value that Amazon Lex determines for the slot. The actual value depends on the setting of the value selection strategy for the bot. You can choose to use the value entered by the user, or you can have Amazon Lex choose the first value in the resolvedValues list.

            • values — (Array<map>)

              A list of one or more values that the user provided for the slot. For example, for a slot that elicits pizza toppings, the values might be "pepperoni" and "pineapple."

        • sessionAttributes — (map<String>)

          Map of key/value pairs representing session-specific context information. It contains application information passed between Amazon Lex and a client application.

      • confirmationConditional — (map)

        A list of conditional branches to evaluate after the intent is closed.

        • activerequired — (Boolean)

          Determines whether a conditional branch is active. When active is false, the conditions are not evaluated.

        • conditionalBranchesrequired — (Array<map>)

          A list of conditional branches. A conditional branch is made up of a condition, a response and a next step. The response and next step are executed when the condition is true.

          • namerequired — (String)

            The name of the branch.

          • conditionrequired — (map)

            Contains the expression to evaluate. If the condition is true, the branch's actions are taken.

            • expressionStringrequired — (String)

              The expression string that is evaluated.

          • nextSteprequired — (map)

            The next step in the conversation.

            • dialogAction — (map)

              Defines the action that the bot executes at runtime when the conversation reaches this step.

              • typerequired — (String)

                The action that the bot should execute.

                Possible values include:
                • "ElicitIntent"
                • "StartIntent"
                • "ElicitSlot"
                • "EvaluateConditional"
                • "InvokeDialogCodeHook"
                • "ConfirmIntent"
                • "FulfillIntent"
                • "CloseIntent"
                • "EndConversation"
              • slotToElicit — (String)

                If the dialog action is ElicitSlot, defines the slot to elicit from the user.

              • suppressNextMessage — (Boolean)

                When true the next message for the intent is not used.

            • intent — (map)

              Override settings to configure the intent state.

              • name — (String)

                The name of the intent. Only required when you're switching intents.

              • slots — (map<map>)

                A map of all of the slot value overrides for the intent. The name of the slot maps to the value of the slot. Slots that are not included in the map aren't overridden.

                • shape — (String)

                  When the shape value is List, it indicates that the values field contains a list of slot values. When the value is Scalar, it indicates that the value field contains a single value.

                  Possible values include:
                  • "Scalar"
                  • "List"
                • value — (map)

                  The current value of the slot.

                  • interpretedValue — (String)

                    The value that Amazon Lex determines for the slot. The actual value depends on the setting of the value selection strategy for the bot. You can choose to use the value entered by the user, or you can have Amazon Lex choose the first value in the resolvedValues list.

                • values — (Array<map>)

                  A list of one or more values that the user provided for the slot. For example, for a slot that elicits pizza toppings, the values might be "pepperoni" and "pineapple."

            • sessionAttributes — (map<String>)

              Map of key/value pairs representing session-specific context information. It contains application information passed between Amazon Lex and a client application.

          • response — (map)

            Specifies a list of message groups that Amazon Lex uses to respond the user input.

            • messageGroupsrequired — (Array<map>)

              A collection of responses that Amazon Lex can send to the user. Amazon Lex chooses the actual response to send at runtime.

              • messagerequired — (map)

                The primary message that Amazon Lex should send to the user.

                • plainTextMessage — (map)

                  A message in plain text format.

                  • valuerequired — (String)

                    The message to send to the user.

                • customPayload — (map)

                  A message in a custom format defined by the client application.

                  • valuerequired — (String)

                    The string that is sent to your application.

                • ssmlMessage — (map)

                  A message in Speech Synthesis Markup Language (SSML).

                  • valuerequired — (String)

                    The SSML text that defines the prompt.

                • imageResponseCard — (map)

                  A message that defines a response card that the client application can show to the user.

                  • titlerequired — (String)

                    The title to display on the response card. The format of the title is determined by the platform displaying the response card.

                  • subtitle — (String)

                    The subtitle to display on the response card. The format of the subtitle is determined by the platform displaying the response card.

                  • imageUrl — (String)

                    The URL of an image to display on the response card. The image URL must be publicly available so that the platform displaying the response card has access to the image.

                  • buttons — (Array<map>)

                    A list of buttons that should be displayed on the response card. The arrangement of the buttons is determined by the platform that displays the button.

                    • textrequired — (String)

                      The text that appears on the button. Use this to tell the user what value is returned when they choose this button.

                    • valuerequired — (String)

                      The value returned to Amazon Lex when the user chooses this button. This must be one of the slot values configured for the slot.

              • variations — (Array<map>)

                Message variations to send to the user. When variations are defined, Amazon Lex chooses the primary message or one of the variations to send to the user.

                • plainTextMessage — (map)

                  A message in plain text format.

                  • valuerequired — (String)

                    The message to send to the user.

                • customPayload — (map)

                  A message in a custom format defined by the client application.

                  • valuerequired — (String)

                    The string that is sent to your application.

                • ssmlMessage — (map)

                  A message in Speech Synthesis Markup Language (SSML).

                  • valuerequired — (String)

                    The SSML text that defines the prompt.

                • imageResponseCard — (map)

                  A message that defines a response card that the client application can show to the user.

                  • titlerequired — (String)

                    The title to display on the response card. The format of the title is determined by the platform displaying the response card.

                  • subtitle — (String)

                    The subtitle to display on the response card. The format of the subtitle is determined by the platform displaying the response card.

                  • imageUrl — (String)

                    The URL of an image to display on the response card. The image URL must be publicly available so that the platform displaying the response card has access to the image.

                  • buttons — (Array<map>)

                    A list of buttons that should be displayed on the response card. The arrangement of the buttons is determined by the platform that displays the button.

                    • textrequired — (String)

                      The text that appears on the button. Use this to tell the user what value is returned when they choose this button.

                    • valuerequired — (String)

                      The value returned to Amazon Lex when the user chooses this button. This must be one of the slot values configured for the slot.

            • allowInterrupt — (Boolean)

              Indicates whether the user can interrupt a speech response from Amazon Lex.

        • defaultBranchrequired — (map)

          The conditional branch that should be followed when the conditions for other branches are not satisfied. A conditional branch is made up of a condition, a response and a next step.

          • nextStep — (map)

            The next step in the conversation.

            • dialogAction — (map)

              Defines the action that the bot executes at runtime when the conversation reaches this step.

              • typerequired — (String)

                The action that the bot should execute.

                Possible values include:
                • "ElicitIntent"
                • "StartIntent"
                • "ElicitSlot"
                • "EvaluateConditional"
                • "InvokeDialogCodeHook"
                • "ConfirmIntent"
                • "FulfillIntent"
                • "CloseIntent"
                • "EndConversation"
              • slotToElicit — (String)

                If the dialog action is ElicitSlot, defines the slot to elicit from the user.

              • suppressNextMessage — (Boolean)

                When true the next message for the intent is not used.

            • intent — (map)

              Override settings to configure the intent state.

              • name — (String)

                The name of the intent. Only required when you're switching intents.

              • slots — (map<map>)

                A map of all of the slot value overrides for the intent. The name of the slot maps to the value of the slot. Slots that are not included in the map aren't overridden.

                • shape — (String)

                  When the shape value is List, it indicates that the values field contains a list of slot values. When the value is Scalar, it indicates that the value field contains a single value.

                  Possible values include:
                  • "Scalar"
                  • "List"
                • value — (map)

                  The current value of the slot.

                  • interpretedValue — (String)

                    The value that Amazon Lex determines for the slot. The actual value depends on the setting of the value selection strategy for the bot. You can choose to use the value entered by the user, or you can have Amazon Lex choose the first value in the resolvedValues list.

                • values — (Array<map>)

                  A list of one or more values that the user provided for the slot. For example, for a slot that elicits pizza toppings, the values might be "pepperoni" and "pineapple."

            • sessionAttributes — (map<String>)

              Map of key/value pairs representing session-specific context information. It contains application information passed between Amazon Lex and a client application.

          • response — (map)

            Specifies a list of message groups that Amazon Lex uses to respond the user input.

            • messageGroupsrequired — (Array<map>)

              A collection of responses that Amazon Lex can send to the user. Amazon Lex chooses the actual response to send at runtime.

              • messagerequired — (map)

                The primary message that Amazon Lex should send to the user.

                • plainTextMessage — (map)

                  A message in plain text format.

                  • valuerequired — (String)

                    The message to send to the user.

                • customPayload — (map)

                  A message in a custom format defined by the client application.

                  • valuerequired — (String)

                    The string that is sent to your application.

                • ssmlMessage — (map)

                  A message in Speech Synthesis Markup Language (SSML).

                  • valuerequired — (String)

                    The SSML text that defines the prompt.

                • imageResponseCard — (map)

                  A message that defines a response card that the client application can show to the user.

                  • titlerequired — (String)

                    The title to display on the response card. The format of the title is determined by the platform displaying the response card.

                  • subtitle — (String)

                    The subtitle to display on the response card. The format of the subtitle is determined by the platform displaying the response card.

                  • imageUrl — (String)

                    The URL of an image to display on the response card. The image URL must be publicly available so that the platform displaying the response card has access to the image.

                  • buttons — (Array<map>)

                    A list of buttons that should be displayed on the response card. The arrangement of the buttons is determined by the platform that displays the button.

                    • textrequired — (String)

                      The text that appears on the button. Use this to tell the user what value is returned when they choose this button.

                    • valuerequired — (String)

                      The value returned to Amazon Lex when the user chooses this button. This must be one of the slot values configured for the slot.

              • variations — (Array<map>)

                Message variations to send to the user. When variations are defined, Amazon Lex chooses the primary message or one of the variations to send to the user.

                • plainTextMessage — (map)

                  A message in plain text format.

                  • valuerequired — (String)

                    The message to send to the user.

                • customPayload — (map)

                  A message in a custom format defined by the client application.

                  • valuerequired — (String)

                    The string that is sent to your application.

                • ssmlMessage — (map)

                  A message in Speech Synthesis Markup Language (SSML).

                  • valuerequired — (String)

                    The SSML text that defines the prompt.

                • imageResponseCard — (map)

                  A message that defines a response card that the client application can show to the user.

                  • titlerequired — (String)

                    The title to display on the response card. The format of the title is determined by the platform displaying the response card.

                  • subtitle — (String)

                    The subtitle to display on the response card. The format of the subtitle is determined by the platform displaying the response card.

                  • imageUrl — (String)

                    The URL of an image to display on the response card. The image URL must be publicly available so that the platform displaying the response card has access to the image.

                  • buttons — (Array<map>)

                    A list of buttons that should be displayed on the response card. The arrangement of the buttons is determined by the platform that displays the button.

                    • textrequired — (String)

                      The text that appears on the button. Use this to tell the user what value is returned when they choose this button.

                    • valuerequired — (String)

                      The value returned to Amazon Lex when the user chooses this button. This must be one of the slot values configured for the slot.

            • allowInterrupt — (Boolean)

              Indicates whether the user can interrupt a speech response from Amazon Lex.

      • declinationNextStep — (map)

        Specifies the next step that the bot executes when the customer declines the intent.

        • dialogAction — (map)

          Defines the action that the bot executes at runtime when the conversation reaches this step.

          • typerequired — (String)

            The action that the bot should execute.

            Possible values include:
            • "ElicitIntent"
            • "StartIntent"
            • "ElicitSlot"
            • "EvaluateConditional"
            • "InvokeDialogCodeHook"
            • "ConfirmIntent"
            • "FulfillIntent"
            • "CloseIntent"
            • "EndConversation"
          • slotToElicit — (String)

            If the dialog action is ElicitSlot, defines the slot to elicit from the user.

          • suppressNextMessage — (Boolean)

            When true the next message for the intent is not used.

        • intent — (map)

          Override settings to configure the intent state.

          • name — (String)

            The name of the intent. Only required when you're switching intents.

          • slots — (map<map>)

            A map of all of the slot value overrides for the intent. The name of the slot maps to the value of the slot. Slots that are not included in the map aren't overridden.

            • shape — (String)

              When the shape value is List, it indicates that the values field contains a list of slot values. When the value is Scalar, it indicates that the value field contains a single value.

              Possible values include:
              • "Scalar"
              • "List"
            • value — (map)

              The current value of the slot.

              • interpretedValue — (String)

                The value that Amazon Lex determines for the slot. The actual value depends on the setting of the value selection strategy for the bot. You can choose to use the value entered by the user, or you can have Amazon Lex choose the first value in the resolvedValues list.

            • values — (Array<map>)

              A list of one or more values that the user provided for the slot. For example, for a slot that elicits pizza toppings, the values might be "pepperoni" and "pineapple."

        • sessionAttributes — (map<String>)

          Map of key/value pairs representing session-specific context information. It contains application information passed between Amazon Lex and a client application.

      • declinationConditional — (map)

        A list of conditional branches to evaluate after the intent is declined.

        • activerequired — (Boolean)

          Determines whether a conditional branch is active. When active is false, the conditions are not evaluated.

        • conditionalBranchesrequired — (Array<map>)

          A list of conditional branches. A conditional branch is made up of a condition, a response and a next step. The response and next step are executed when the condition is true.

          • namerequired — (String)

            The name of the branch.

          • conditionrequired — (map)

            Contains the expression to evaluate. If the condition is true, the branch's actions are taken.

            • expressionStringrequired — (String)

              The expression string that is evaluated.

          • nextSteprequired — (map)

            The next step in the conversation.

            • dialogAction — (map)

              Defines the action that the bot executes at runtime when the conversation reaches this step.

              • typerequired — (String)

                The action that the bot should execute.

                Possible values include:
                • "ElicitIntent"
                • "StartIntent"
                • "ElicitSlot"
                • "EvaluateConditional"
                • "InvokeDialogCodeHook"
                • "ConfirmIntent"
                • "FulfillIntent"
                • "CloseIntent"
                • "EndConversation"
              • slotToElicit — (String)

                If the dialog action is ElicitSlot, defines the slot to elicit from the user.

              • suppressNextMessage — (Boolean)

                When true the next message for the intent is not used.

            • intent — (map)

              Override settings to configure the intent state.

              • name — (String)

                The name of the intent. Only required when you're switching intents.

              • slots — (map<map>)

                A map of all of the slot value overrides for the intent. The name of the slot maps to the value of the slot. Slots that are not included in the map aren't overridden.

                • shape — (String)

                  When the shape value is List, it indicates that the values field contains a list of slot values. When the value is Scalar, it indicates that the value field contains a single value.

                  Possible values include:
                  • "Scalar"
                  • "List"
                • value — (map)

                  The current value of the slot.

                  • interpretedValue — (String)

                    The value that Amazon Lex determines for the slot. The actual value depends on the setting of the value selection strategy for the bot. You can choose to use the value entered by the user, or you can have Amazon Lex choose the first value in the resolvedValues list.

                • values — (Array<map>)

                  A list of one or more values that the user provided for the slot. For example, for a slot that elicits pizza toppings, the values might be "pepperoni" and "pineapple."

            • sessionAttributes — (map<String>)

              Map of key/value pairs representing session-specific context information. It contains application information passed between Amazon Lex and a client application.

          • response — (map)

            Specifies a list of message groups that Amazon Lex uses to respond the user input.

            • messageGroupsrequired — (Array<map>)

              A collection of responses that Amazon Lex can send to the user. Amazon Lex chooses the actual response to send at runtime.

              • messagerequired — (map)

                The primary message that Amazon Lex should send to the user.

                • plainTextMessage — (map)

                  A message in plain text format.

                  • valuerequired — (String)

                    The message to send to the user.

                • customPayload — (map)

                  A message in a custom format defined by the client application.

                  • valuerequired — (String)

                    The string that is sent to your application.

                • ssmlMessage — (map)

                  A message in Speech Synthesis Markup Language (SSML).

                  • valuerequired — (String)

                    The SSML text that defines the prompt.

                • imageResponseCard — (map)

                  A message that defines a response card that the client application can show to the user.

                  • titlerequired — (String)

                    The title to display on the response card. The format of the title is determined by the platform displaying the response card.

                  • subtitle — (String)

                    The subtitle to display on the response card. The format of the subtitle is determined by the platform displaying the response card.

                  • imageUrl — (String)

                    The URL of an image to display on the response card. The image URL must be publicly available so that the platform displaying the response card has access to the image.

                  • buttons — (Array<map>)

                    A list of buttons that should be displayed on the response card. The arrangement of the buttons is determined by the platform that displays the button.

                    • textrequired — (String)

                      The text that appears on the button. Use this to tell the user what value is returned when they choose this button.

                    • valuerequired — (String)

                      The value returned to Amazon Lex when the user chooses this button. This must be one of the slot values configured for the slot.

              • variations — (Array<map>)

                Message variations to send to the user. When variations are defined, Amazon Lex chooses the primary message or one of the variations to send to the user.

                • plainTextMessage — (map)

                  A message in plain text format.

                  • valuerequired — (String)

                    The message to send to the user.

                • customPayload — (map)

                  A message in a custom format defined by the client application.

                  • valuerequired — (String)

                    The string that is sent to your application.

                • ssmlMessage — (map)

                  A message in Speech Synthesis Markup Language (SSML).

                  • valuerequired — (String)

                    The SSML text that defines the prompt.

                • imageResponseCard — (map)

                  A message that defines a response card that the client application can show to the user.

                  • titlerequired — (String)

                    The title to display on the response card. The format of the title is determined by the platform displaying the response card.

                  • subtitle — (String)

                    The subtitle to display on the response card. The format of the subtitle is determined by the platform displaying the response card.

                  • imageUrl — (String)

                    The URL of an image to display on the response card. The image URL must be publicly available so that the platform displaying the response card has access to the image.

                  • buttons — (Array<map>)

                    A list of buttons that should be displayed on the response card. The arrangement of the buttons is determined by the platform that displays the button.

                    • textrequired — (String)

                      The text that appears on the button. Use this to tell the user what value is returned when they choose this button.

                    • valuerequired — (String)

                      The value returned to Amazon Lex when the user chooses this button. This must be one of the slot values configured for the slot.

            • allowInterrupt — (Boolean)

              Indicates whether the user can interrupt a speech response from Amazon Lex.

        • defaultBranchrequired — (map)

          The conditional branch that should be followed when the conditions for other branches are not satisfied. A conditional branch is made up of a condition, a response and a next step.

          • nextStep — (map)

            The next step in the conversation.

            • dialogAction — (map)

              Defines the action that the bot executes at runtime when the conversation reaches this step.

              • typerequired — (String)

                The action that the bot should execute.

                Possible values include:
                • "ElicitIntent"
                • "StartIntent"
                • "ElicitSlot"
                • "EvaluateConditional"
                • "InvokeDialogCodeHook"
                • "ConfirmIntent"
                • "FulfillIntent"
                • "CloseIntent"
                • "EndConversation"
              • slotToElicit — (String)

                If the dialog action is ElicitSlot, defines the slot to elicit from the user.

              • suppressNextMessage — (Boolean)

                When true the next message for the intent is not used.

            • intent — (map)

              Override settings to configure the intent state.

              • name — (String)

                The name of the intent. Only required when you're switching intents.

              • slots — (map<map>)

                A map of all of the slot value overrides for the intent. The name of the slot maps to the value of the slot. Slots that are not included in the map aren't overridden.

                • shape — (String)

                  When the shape value is List, it indicates that the values field contains a list of slot values. When the value is Scalar, it indicates that the value field contains a single value.

                  Possible values include:
                  • "Scalar"
                  • "List"
                • value — (map)

                  The current value of the slot.

                  • interpretedValue — (String)

                    The value that Amazon Lex determines for the slot. The actual value depends on the setting of the value selection strategy for the bot. You can choose to use the value entered by the user, or you can have Amazon Lex choose the first value in the resolvedValues list.

                • values — (Array<map>)

                  A list of one or more values that the user provided for the slot. For example, for a slot that elicits pizza toppings, the values might be "pepperoni" and "pineapple."

            • sessionAttributes — (map<String>)

              Map of key/value pairs representing session-specific context information. It contains application information passed between Amazon Lex and a client application.

          • response — (map)

            Specifies a list of message groups that Amazon Lex uses to respond the user input.

            • messageGroupsrequired — (Array<map>)

              A collection of responses that Amazon Lex can send to the user. Amazon Lex chooses the actual response to send at runtime.

              • messagerequired — (map)

                The primary message that Amazon Lex should send to the user.

                • plainTextMessage — (map)

                  A message in plain text format.

                  • valuerequired — (String)

                    The message to send to the user.

                • customPayload — (map)

                  A message in a custom format defined by the client application.

                  • valuerequired — (String)

                    The string that is sent to your application.

                • ssmlMessage — (map)

                  A message in Speech Synthesis Markup Language (SSML).

                  • valuerequired — (String)

                    The SSML text that defines the prompt.

                • imageResponseCard — (map)

                  A message that defines a response card that the client application can show to the user.

                  • titlerequired — (String)

                    The title to display on the response card. The format of the title is determined by the platform displaying the response card.

                  • subtitle — (String)

                    The subtitle to display on the response card. The format of the subtitle is determined by the platform displaying the response card.

                  • imageUrl — (String)

                    The URL of an image to display on the response card. The image URL must be publicly available so that the platform displaying the response card has access to the image.

                  • buttons — (Array<map>)

                    A list of buttons that should be displayed on the response card. The arrangement of the buttons is determined by the platform that displays the button.

                    • textrequired — (String)

                      The text that appears on the button. Use this to tell the user what value is returned when they choose this button.

                    • valuerequired — (String)

                      The value returned to Amazon Lex when the user chooses this button. This must be one of the slot values configured for the slot.

              • variations — (Array<map>)

                Message variations to send to the user. When variations are defined, Amazon Lex chooses the primary message or one of the variations to send to the user.

                • plainTextMessage — (map)

                  A message in plain text format.

                  • valuerequired — (String)

                    The message to send to the user.

                • customPayload — (map)

                  A message in a custom format defined by the client application.

                  • valuerequired — (String)

                    The string that is sent to your application.

                • ssmlMessage — (map)

                  A message in Speech Synthesis Markup Language (SSML).

                  • valuerequired — (String)

                    The SSML text that defines the prompt.

                • imageResponseCard — (map)

                  A message that defines a response card that the client application can show to the user.

                  • titlerequired — (String)

                    The title to display on the response card. The format of the title is determined by the platform displaying the response card.

                  • subtitle — (String)

                    The subtitle to display on the response card. The format of the subtitle is determined by the platform displaying the response card.

                  • imageUrl — (String)

                    The URL of an image to display on the response card. The image URL must be publicly available so that the platform displaying the response card has access to the image.

                  • buttons — (Array<map>)

                    A list of buttons that should be displayed on the response card. The arrangement of the buttons is determined by the platform that displays the button.

                    • textrequired — (String)

                      The text that appears on the button. Use this to tell the user what value is returned when they choose this button.

                    • valuerequired — (String)

                      The value returned to Amazon Lex when the user chooses this button. This must be one of the slot values configured for the slot.

            • allowInterrupt — (Boolean)

              Indicates whether the user can interrupt a speech response from Amazon Lex.

      • failureResponse — (map)

        Specifies a list of message groups that Amazon Lex uses to respond the user input.

        • messageGroupsrequired — (Array<map>)

          A collection of responses that Amazon Lex can send to the user. Amazon Lex chooses the actual response to send at runtime.

          • messagerequired — (map)

            The primary message that Amazon Lex should send to the user.

            • plainTextMessage — (map)

              A message in plain text format.

              • valuerequired — (String)

                The message to send to the user.

            • customPayload — (map)

              A message in a custom format defined by the client application.

              • valuerequired — (String)

                The string that is sent to your application.

            • ssmlMessage — (map)

              A message in Speech Synthesis Markup Language (SSML).

              • valuerequired — (String)

                The SSML text that defines the prompt.

            • imageResponseCard — (map)

              A message that defines a response card that the client application can show to the user.

              • titlerequired — (String)

                The title to display on the response card. The format of the title is determined by the platform displaying the response card.

              • subtitle — (String)

                The subtitle to display on the response card. The format of the subtitle is determined by the platform displaying the response card.

              • imageUrl — (String)

                The URL of an image to display on the response card. The image URL must be publicly available so that the platform displaying the response card has access to the image.

              • buttons — (Array<map>)

                A list of buttons that should be displayed on the response card. The arrangement of the buttons is determined by the platform that displays the button.

                • textrequired — (String)

                  The text that appears on the button. Use this to tell the user what value is returned when they choose this button.

                • valuerequired — (String)

                  The value returned to Amazon Lex when the user chooses this button. This must be one of the slot values configured for the slot.

          • variations — (Array<map>)

            Message variations to send to the user. When variations are defined, Amazon Lex chooses the primary message or one of the variations to send to the user.

            • plainTextMessage — (map)

              A message in plain text format.

              • valuerequired — (String)

                The message to send to the user.

            • customPayload — (map)

              A message in a custom format defined by the client application.

              • valuerequired — (String)

                The string that is sent to your application.

            • ssmlMessage — (map)

              A message in Speech Synthesis Markup Language (SSML).

              • valuerequired — (String)

                The SSML text that defines the prompt.

            • imageResponseCard — (map)

              A message that defines a response card that the client application can show to the user.

              • titlerequired — (String)

                The title to display on the response card. The format of the title is determined by the platform displaying the response card.

              • subtitle — (String)

                The subtitle to display on the response card. The format of the subtitle is determined by the platform displaying the response card.

              • imageUrl — (String)

                The URL of an image to display on the response card. The image URL must be publicly available so that the platform displaying the response card has access to the image.

              • buttons — (Array<map>)

                A list of buttons that should be displayed on the response card. The arrangement of the buttons is determined by the platform that displays the button.

                • textrequired — (String)

                  The text that appears on the button. Use this to tell the user what value is returned when they choose this button.

                • valuerequired — (String)

                  The value returned to Amazon Lex when the user chooses this button. This must be one of the slot values configured for the slot.

        • allowInterrupt — (Boolean)

          Indicates whether the user can interrupt a speech response from Amazon Lex.

      • failureNextStep — (map)

        The next step to take in the conversation if the confirmation step fails.

        • dialogAction — (map)

          Defines the action that the bot executes at runtime when the conversation reaches this step.

          • typerequired — (String)

            The action that the bot should execute.

            Possible values include:
            • "ElicitIntent"
            • "StartIntent"
            • "ElicitSlot"
            • "EvaluateConditional"
            • "InvokeDialogCodeHook"
            • "ConfirmIntent"
            • "FulfillIntent"
            • "CloseIntent"
            • "EndConversation"
          • slotToElicit — (String)

            If the dialog action is ElicitSlot, defines the slot to elicit from the user.

          • suppressNextMessage — (Boolean)

            When true the next message for the intent is not used.

        • intent — (map)

          Override settings to configure the intent state.

          • name — (String)

            The name of the intent. Only required when you're switching intents.

          • slots — (map<map>)

            A map of all of the slot value overrides for the intent. The name of the slot maps to the value of the slot. Slots that are not included in the map aren't overridden.

            • shape — (String)

              When the shape value is List, it indicates that the values field contains a list of slot values. When the value is Scalar, it indicates that the value field contains a single value.

              Possible values include:
              • "Scalar"
              • "List"
            • value — (map)

              The current value of the slot.

              • interpretedValue — (String)

                The value that Amazon Lex determines for the slot. The actual value depends on the setting of the value selection strategy for the bot. You can choose to use the value entered by the user, or you can have Amazon Lex choose the first value in the resolvedValues list.

            • values — (Array<map>)

              A list of one or more values that the user provided for the slot. For example, for a slot that elicits pizza toppings, the values might be "pepperoni" and "pineapple."

        • sessionAttributes — (map<String>)

          Map of key/value pairs representing session-specific context information. It contains application information passed between Amazon Lex and a client application.

      • failureConditional — (map)

        Provides a list of conditional branches. Branches are evaluated in the order that they are entered in the list. The first branch with a condition that evaluates to true is executed. The last branch in the list is the default branch. The default branch should not have any condition expression. The default branch is executed if no other branch has a matching condition.

        • activerequired — (Boolean)

          Determines whether a conditional branch is active. When active is false, the conditions are not evaluated.

        • conditionalBranchesrequired — (Array<map>)

          A list of conditional branches. A conditional branch is made up of a condition, a response and a next step. The response and next step are executed when the condition is true.

          • namerequired — (String)

            The name of the branch.

          • conditionrequired — (map)

            Contains the expression to evaluate. If the condition is true, the branch's actions are taken.

            • expressionStringrequired — (String)

              The expression string that is evaluated.

          • nextSteprequired — (map)

            The next step in the conversation.

            • dialogAction — (map)

              Defines the action that the bot executes at runtime when the conversation reaches this step.

              • typerequired — (String)

                The action that the bot should execute.

                Possible values include:
                • "ElicitIntent"
                • "StartIntent"
                • "ElicitSlot"
                • "EvaluateConditional"
                • "InvokeDialogCodeHook"
                • "ConfirmIntent"
                • "FulfillIntent"
                • "CloseIntent"
                • "EndConversation"
              • slotToElicit — (String)

                If the dialog action is ElicitSlot, defines the slot to elicit from the user.

              • suppressNextMessage — (Boolean)

                When true the next message for the intent is not used.

            • intent — (map)

              Override settings to configure the intent state.

              • name — (String)

                The name of the intent. Only required when you're switching intents.

              • slots — (map<map>)

                A map of all of the slot value overrides for the intent. The name of the slot maps to the value of the slot. Slots that are not included in the map aren't overridden.

                • shape — (String)

                  When the shape value is List, it indicates that the values field contains a list of slot values. When the value is Scalar, it indicates that the value field contains a single value.

                  Possible values include:
                  • "Scalar"
                  • "List"
                • value — (map)

                  The current value of the slot.

                  • interpretedValue — (String)

                    The value that Amazon Lex determines for the slot. The actual value depends on the setting of the value selection strategy for the bot. You can choose to use the value entered by the user, or you can have Amazon Lex choose the first value in the resolvedValues list.

                • values — (Array<map>)

                  A list of one or more values that the user provided for the slot. For example, for a slot that elicits pizza toppings, the values might be "pepperoni" and "pineapple."

            • sessionAttributes — (map<String>)

              Map of key/value pairs representing session-specific context information. It contains application information passed between Amazon Lex and a client application.

          • response — (map)

            Specifies a list of message groups that Amazon Lex uses to respond the user input.

            • messageGroupsrequired — (Array<map>)

              A collection of responses that Amazon Lex can send to the user. Amazon Lex chooses the actual response to send at runtime.

              • messagerequired — (map)

                The primary message that Amazon Lex should send to the user.

                • plainTextMessage — (map)

                  A message in plain text format.

                  • valuerequired — (String)

                    The message to send to the user.

                • customPayload — (map)

                  A message in a custom format defined by the client application.

                  • valuerequired — (String)

                    The string that is sent to your application.

                • ssmlMessage — (map)

                  A message in Speech Synthesis Markup Language (SSML).

                  • valuerequired — (String)

                    The SSML text that defines the prompt.

                • imageResponseCard — (map)

                  A message that defines a response card that the client application can show to the user.

                  • titlerequired — (String)

                    The title to display on the response card. The format of the title is determined by the platform displaying the response card.

                  • subtitle — (String)

                    The subtitle to display on the response card. The format of the subtitle is determined by the platform displaying the response card.

                  • imageUrl — (String)

                    The URL of an image to display on the response card. The image URL must be publicly available so that the platform displaying the response card has access to the image.

                  • buttons — (Array<map>)

                    A list of buttons that should be displayed on the response card. The arrangement of the buttons is determined by the platform that displays the button.

                    • textrequired — (String)

                      The text that appears on the button. Use this to tell the user what value is returned when they choose this button.

                    • valuerequired — (String)

                      The value returned to Amazon Lex when the user chooses this button. This must be one of the slot values configured for the slot.

              • variations — (Array<map>)

                Message variations to send to the user. When variations are defined, Amazon Lex chooses the primary message or one of the variations to send to the user.

                • plainTextMessage — (map)

                  A message in plain text format.

                  • valuerequired — (String)

                    The message to send to the user.

                • customPayload — (map)

                  A message in a custom format defined by the client application.

                  • valuerequired — (String)

                    The string that is sent to your application.

                • ssmlMessage — (map)

                  A message in Speech Synthesis Markup Language (SSML).

                  • valuerequired — (String)

                    The SSML text that defines the prompt.

                • imageResponseCard — (map)

                  A message that defines a response card that the client application can show to the user.

                  • titlerequired — (String)

                    The title to display on the response card. The format of the title is determined by the platform displaying the response card.

                  • subtitle — (String)

                    The subtitle to display on the response card. The format of the subtitle is determined by the platform displaying the response card.

                  • imageUrl — (String)

                    The URL of an image to display on the response card. The image URL must be publicly available so that the platform displaying the response card has access to the image.

                  • buttons — (Array<map>)

                    A list of buttons that should be displayed on the response card. The arrangement of the buttons is determined by the platform that displays the button.

                    • textrequired — (String)

                      The text that appears on the button. Use this to tell the user what value is returned when they choose this button.

                    • valuerequired — (String)

                      The value returned to Amazon Lex when the user chooses this button. This must be one of the slot values configured for the slot.

            • allowInterrupt — (Boolean)

              Indicates whether the user can interrupt a speech response from Amazon Lex.

        • defaultBranchrequired — (map)

          The conditional branch that should be followed when the conditions for other branches are not satisfied. A conditional branch is made up of a condition, a response and a next step.

          • nextStep — (map)

            The next step in the conversation.

            • dialogAction — (map)

              Defines the action that the bot executes at runtime when the conversation reaches this step.

              • typerequired — (String)

                The action that the bot should execute.

                Possible values include:
                • "ElicitIntent"
                • "StartIntent"
                • "ElicitSlot"
                • "EvaluateConditional"
                • "InvokeDialogCodeHook"
                • "ConfirmIntent"
                • "FulfillIntent"
                • "CloseIntent"
                • "EndConversation"
              • slotToElicit — (String)

                If the dialog action is ElicitSlot, defines the slot to elicit from the user.

              • suppressNextMessage — (Boolean)

                When true the next message for the intent is not used.

            • intent — (map)

              Override settings to configure the intent state.

              • name — (String)

                The name of the intent. Only required when you're switching intents.

              • slots — (map<map>)

                A map of all of the slot value overrides for the intent. The name of the slot maps to the value of the slot. Slots that are not included in the map aren't overridden.

                • shape — (String)

                  When the shape value is List, it indicates that the values field contains a list of slot values. When the value is Scalar, it indicates that the value field contains a single value.

                  Possible values include:
                  • "Scalar"
                  • "List"
                • value — (map)

                  The current value of the slot.

                  • interpretedValue — (String)

                    The value that Amazon Lex determines for the slot. The actual value depends on the setting of the value selection strategy for the bot. You can choose to use the value entered by the user, or you can have Amazon Lex choose the first value in the resolvedValues list.

                • values — (Array<map>)

                  A list of one or more values that the user provided for the slot. For example, for a slot that elicits pizza toppings, the values might be "pepperoni" and "pineapple."

            • sessionAttributes — (map<String>)

              Map of key/value pairs representing session-specific context information. It contains application information passed between Amazon Lex and a client application.

          • response — (map)

            Specifies a list of message groups that Amazon Lex uses to respond the user input.

            • messageGroupsrequired — (Array<map>)

              A collection of responses that Amazon Lex can send to the user. Amazon Lex chooses the actual response to send at runtime.

              • messagerequired — (map)

                The primary message that Amazon Lex should send to the user.

                • plainTextMessage — (map)

                  A message in plain text format.

                  • valuerequired — (String)

                    The message to send to the user.

                • customPayload — (map)

                  A message in a custom format defined by the client application.

                  • valuerequired — (String)

                    The string that is sent to your application.

                • ssmlMessage — (map)

                  A message in Speech Synthesis Markup Language (SSML).

                  • valuerequired — (String)

                    The SSML text that defines the prompt.

                • imageResponseCard — (map)

                  A message that defines a response card that the client application can show to the user.

                  • titlerequired — (String)

                    The title to display on the response card. The format of the title is determined by the platform displaying the response card.

                  • subtitle — (String)

                    The subtitle to display on the response card. The format of the subtitle is determined by the platform displaying the response card.

                  • imageUrl — (String)

                    The URL of an image to display on the response card. The image URL must be publicly available so that the platform displaying the response card has access to the image.

                  • buttons — (Array<map>)

                    A list of buttons that should be displayed on the response card. The arrangement of the buttons is determined by the platform that displays the button.

                    • textrequired — (String)

                      The text that appears on the button. Use this to tell the user what value is returned when they choose this button.

                    • valuerequired — (String)

                      The value returned to Amazon Lex when the user chooses this button. This must be one of the slot values configured for the slot.

              • variations — (Array<map>)

                Message variations to send to the user. When variations are defined, Amazon Lex chooses the primary message or one of the variations to send to the user.

                • plainTextMessage — (map)

                  A message in plain text format.

                  • valuerequired — (String)

                    The message to send to the user.

                • customPayload — (map)

                  A message in a custom format defined by the client application.

                  • valuerequired — (String)

                    The string that is sent to your application.

                • ssmlMessage — (map)

                  A message in Speech Synthesis Markup Language (SSML).

                  • valuerequired — (String)

                    The SSML text that defines the prompt.

                • imageResponseCard — (map)

                  A message that defines a response card that the client application can show to the user.

                  • titlerequired — (String)

                    The title to display on the response card. The format of the title is determined by the platform displaying the response card.

                  • subtitle — (String)

                    The subtitle to display on the response card. The format of the subtitle is determined by the platform displaying the response card.

                  • imageUrl — (String)

                    The URL of an image to display on the response card. The image URL must be publicly available so that the platform displaying the response card has access to the image.

                  • buttons — (Array<map>)

                    A list of buttons that should be displayed on the response card. The arrangement of the buttons is determined by the platform that displays the button.

                    • textrequired — (String)

                      The text that appears on the button. Use this to tell the user what value is returned when they choose this button.

                    • valuerequired — (String)

                      The value returned to Amazon Lex when the user chooses this button. This must be one of the slot values configured for the slot.

            • allowInterrupt — (Boolean)

              Indicates whether the user can interrupt a speech response from Amazon Lex.

      • codeHook — (map)

        The DialogCodeHookInvocationSetting object associated with intent's confirmation step. The dialog code hook is triggered based on these invocation settings when the confirmation next step or declination next step or failure next step is InvokeDialogCodeHook.

        • enableCodeHookInvocationrequired — (Boolean)

          Indicates whether a Lambda function should be invoked for the dialog.

        • activerequired — (Boolean)

          Determines whether a dialog code hook is used when the intent is activated.

        • invocationLabel — (String)

          A label that indicates the dialog step from which the dialog code hook is happening.

        • postCodeHookSpecificationrequired — (map)

          Contains the responses and actions that Amazon Lex takes after the Lambda function is complete.

          • successResponse — (map)

            Specifies a list of message groups that Amazon Lex uses to respond the user input.

            • messageGroupsrequired — (Array<map>)

              A collection of responses that Amazon Lex can send to the user. Amazon Lex chooses the actual response to send at runtime.

              • messagerequired — (map)

                The primary message that Amazon Lex should send to the user.

                • plainTextMessage — (map)

                  A message in plain text format.

                  • valuerequired — (String)

                    The message to send to the user.

                • customPayload — (map)

                  A message in a custom format defined by the client application.

                  • valuerequired — (String)

                    The string that is sent to your application.

                • ssmlMessage — (map)

                  A message in Speech Synthesis Markup Language (SSML).

                  • valuerequired — (String)

                    The SSML text that defines the prompt.

                • imageResponseCard — (map)

                  A message that defines a response card that the client application can show to the user.

                  • titlerequired — (String)

                    The title to display on the response card. The format of the title is determined by the platform displaying the response card.

                  • subtitle — (String)

                    The subtitle to display on the response card. The format of the subtitle is determined by the platform displaying the response card.

                  • imageUrl — (String)

                    The URL of an image to display on the response card. The image URL must be publicly available so that the platform displaying the response card has access to the image.

                  • buttons — (Array<map>)

                    A list of buttons that should be displayed on the response card. The arrangement of the buttons is determined by the platform that displays the button.

                    • textrequired — (String)

                      The text that appears on the button. Use this to tell the user what value is returned when they choose this button.

                    • valuerequired — (String)

                      The value returned to Amazon Lex when the user chooses this button. This must be one of the slot values configured for the slot.

              • variations — (Array<map>)

                Message variations to send to the user. When variations are defined, Amazon Lex chooses the primary message or one of the variations to send to the user.

                • plainTextMessage — (map)

                  A message in plain text format.

                  • valuerequired — (String)

                    The message to send to the user.

                • customPayload — (map)

                  A message in a custom format defined by the client application.

                  • valuerequired — (String)

                    The string that is sent to your application.

                • ssmlMessage — (map)

                  A message in Speech Synthesis Markup Language (SSML).

                  • valuerequired — (String)

                    The SSML text that defines the prompt.

                • imageResponseCard — (map)

                  A message that defines a response card that the client application can show to the user.

                  • titlerequired — (String)

                    The title to display on the response card. The format of the title is determined by the platform displaying the response card.

                  • subtitle — (String)

                    The subtitle to display on the response card. The format of the subtitle is determined by the platform displaying the response card.

                  • imageUrl — (String)

                    The URL of an image to display on the response card. The image URL must be publicly available so that the platform displaying the response card has access to the image.

                  • buttons — (Array<map>)

                    A list of buttons that should be displayed on the response card. The arrangement of the buttons is determined by the platform that displays the button.

                    • textrequired — (String)

                      The text that appears on the button. Use this to tell the user what value is returned when they choose this button.

                    • valuerequired — (String)

                      The value returned to Amazon Lex when the user chooses this button. This must be one of the slot values configured for the slot.

            • allowInterrupt — (Boolean)

              Indicates whether the user can interrupt a speech response from Amazon Lex.

          • successNextStep — (map)

            Specifics the next step the bot runs after the dialog code hook finishes successfully.

            • dialogAction — (map)

              Defines the action that the bot executes at runtime when the conversation reaches this step.

              • typerequired — (String)

                The action that the bot should execute.

                Possible values include:
                • "ElicitIntent"
                • "StartIntent"
                • "ElicitSlot"
                • "EvaluateConditional"
                • "InvokeDialogCodeHook"
                • "ConfirmIntent"
                • "FulfillIntent"
                • "CloseIntent"
                • "EndConversation"
              • slotToElicit — (String)

                If the dialog action is ElicitSlot, defines the slot to elicit from the user.

              • suppressNextMessage — (Boolean)

                When true the next message for the intent is not used.

            • intent — (map)

              Override settings to configure the intent state.

              • name — (String)

                The name of the intent. Only required when you're switching intents.

              • slots — (map<map>)

                A map of all of the slot value overrides for the intent. The name of the slot maps to the value of the slot. Slots that are not included in the map aren't overridden.

                • shape — (String)

                  When the shape value is List, it indicates that the values field contains a list of slot values. When the value is Scalar, it indicates that the value field contains a single value.

                  Possible values include:
                  • "Scalar"
                  • "List"
                • value — (map)

                  The current value of the slot.

                  • interpretedValue — (String)

                    The value that Amazon Lex determines for the slot. The actual value depends on the setting of the value selection strategy for the bot. You can choose to use the value entered by the user, or you can have Amazon Lex choose the first value in the resolvedValues list.

                • values — (Array<map>)

                  A list of one or more values that the user provided for the slot. For example, for a slot that elicits pizza toppings, the values might be "pepperoni" and "pineapple."

            • sessionAttributes — (map<String>)

              Map of key/value pairs representing session-specific context information. It contains application information passed between Amazon Lex and a client application.

          • successConditional — (map)

            A list of conditional branches to evaluate after the dialog code hook finishes successfully.

            • activerequired — (Boolean)

              Determines whether a conditional branch is active. When active is false, the conditions are not evaluated.

            • conditionalBranchesrequired — (Array<map>)

              A list of conditional branches. A conditional branch is made up of a condition, a response and a next step. The response and next step are executed when the condition is true.

              • namerequired — (String)

                The name of the branch.

              • conditionrequired — (map)

                Contains the expression to evaluate. If the condition is true, the branch's actions are taken.

                • expressionStringrequired — (String)

                  The expression string that is evaluated.

              • nextSteprequired — (map)

                The next step in the conversation.

                • dialogAction — (map)

                  Defines the action that the bot executes at runtime when the conversation reaches this step.

                  • typerequired — (String)

                    The action that the bot should execute.

                    Possible values include:
                    • "ElicitIntent"
                    • "StartIntent"
                    • "ElicitSlot"
                    • "EvaluateConditional"
                    • "InvokeDialogCodeHook"
                    • "ConfirmIntent"
                    • "FulfillIntent"
                    • "CloseIntent"
                    • "EndConversation"
                  • slotToElicit — (String)

                    If the dialog action is ElicitSlot, defines the slot to elicit from the user.

                  • suppressNextMessage — (Boolean)

                    When true the next message for the intent is not used.

                • intent — (map)

                  Override settings to configure the intent state.

                  • name — (String)

                    The name of the intent. Only required when you're switching intents.

                  • slots — (map<map>)

                    A map of all of the slot value overrides for the intent. The name of the slot maps to the value of the slot. Slots that are not included in the map aren't overridden.

                    • shape — (String)

                      When the shape value is List, it indicates that the values field contains a list of slot values. When the value is Scalar, it indicates that the value field contains a single value.

                      Possible values include:
                      • "Scalar"
                      • "List"
                    • value — (map)

                      The current value of the slot.

                      • interpretedValue — (String)

                        The value that Amazon Lex determines for the slot. The actual value depends on the setting of the value selection strategy for the bot. You can choose to use the value entered by the user, or you can have Amazon Lex choose the first value in the resolvedValues list.

                    • values — (Array<map>)

                      A list of one or more values that the user provided for the slot. For example, for a slot that elicits pizza toppings, the values might be "pepperoni" and "pineapple."

                • sessionAttributes — (map<String>)

                  Map of key/value pairs representing session-specific context information. It contains application information passed between Amazon Lex and a client application.

              • response — (map)

                Specifies a list of message groups that Amazon Lex uses to respond the user input.

                • messageGroupsrequired — (Array<map>)

                  A collection of responses that Amazon Lex can send to the user. Amazon Lex chooses the actual response to send at runtime.

                  • messagerequired — (map)

                    The primary message that Amazon Lex should send to the user.

                    • plainTextMessage — (map)

                      A message in plain text format.

                      • valuerequired — (String)

                        The message to send to the user.

                    • customPayload — (map)

                      A message in a custom format defined by the client application.

                      • valuerequired — (String)

                        The string that is sent to your application.

                    • ssmlMessage — (map)

                      A message in Speech Synthesis Markup Language (SSML).

                      • valuerequired — (String)

                        The SSML text that defines the prompt.

                    • imageResponseCard — (map)

                      A message that defines a response card that the client application can show to the user.

                      • titlerequired — (String)

                        The title to display on the response card. The format of the title is determined by the platform displaying the response card.

                      • subtitle — (String)

                        The subtitle to display on the response card. The format of the subtitle is determined by the platform displaying the response card.

                      • imageUrl — (String)

                        The URL of an image to display on the response card. The image URL must be publicly available so that the platform displaying the response card has access to the image.

                      • buttons — (Array<map>)

                        A list of buttons that should be displayed on the response card. The arrangement of the buttons is determined by the platform that displays the button.

                        • textrequired — (String)

                          The text that appears on the button. Use this to tell the user what value is returned when they choose this button.

                        • valuerequired — (String)

                          The value returned to Amazon Lex when the user chooses this button. This must be one of the slot values configured for the slot.

                  • variations — (Array<map>)

                    Message variations to send to the user. When variations are defined, Amazon Lex chooses the primary message or one of the variations to send to the user.

                    • plainTextMessage — (map)

                      A message in plain text format.

                      • valuerequired — (String)

                        The message to send to the user.

                    • customPayload — (map)

                      A message in a custom format defined by the client application.

                      • valuerequired — (String)

                        The string that is sent to your application.

                    • ssmlMessage — (map)

                      A message in Speech Synthesis Markup Language (SSML).

                      • valuerequired — (String)

                        The SSML text that defines the prompt.

                    • imageResponseCard — (map)

                      A message that defines a response card that the client application can show to the user.

                      • titlerequired — (String)

                        The title to display on the response card. The format of the title is determined by the platform displaying the response card.

                      • subtitle — (String)

                        The subtitle to display on the response card. The format of the subtitle is determined by the platform displaying the response card.

                      • imageUrl — (String)

                        The URL of an image to display on the response card. The image URL must be publicly available so that the platform displaying the response card has access to the image.

                      • buttons — (Array<map>)

                        A list of buttons that should be displayed on the response card. The arrangement of the buttons is determined by the platform that displays the button.

                        • textrequired — (String)

                          The text that appears on the button. Use this to tell the user what value is returned when they choose this button.

                        • valuerequired — (String)

                          The value returned to Amazon Lex when the user chooses this button. This must be one of the slot values configured for the slot.

                • allowInterrupt — (Boolean)

                  Indicates whether the user can interrupt a speech response from Amazon Lex.

            • defaultBranchrequired — (map)

              The conditional branch that should be followed when the conditions for other branches are not satisfied. A conditional branch is made up of a condition, a response and a next step.

              • nextStep — (map)

                The next step in the conversation.

                • dialogAction — (map)

                  Defines the action that the bot executes at runtime when the conversation reaches this step.

                  • typerequired — (String)

                    The action that the bot should execute.

                    Possible values include:
                    • "ElicitIntent"
                    • "StartIntent"
                    • "ElicitSlot"
                    • "EvaluateConditional"
                    • "InvokeDialogCodeHook"
                    • "ConfirmIntent"
                    • "FulfillIntent"
                    • "CloseIntent"
                    • "EndConversation"
                  • slotToElicit — (String)

                    If the dialog action is ElicitSlot, defines the slot to elicit from the user.

                  • suppressNextMessage — (Boolean)

                    When true the next message for the intent is not used.

                • intent — (map)

                  Override settings to configure the intent state.

                  • name — (String)

                    The name of the intent. Only required when you're switching intents.

                  • slots — (map<map>)

                    A map of all of the slot value overrides for the intent. The name of the slot maps to the value of the slot. Slots that are not included in the map aren't overridden.

                    • shape — (String)

                      When the shape value is List, it indicates that the values field contains a list of slot values. When the value is Scalar, it indicates that the value field contains a single value.

                      Possible values include:
                      • "Scalar"
                      • "List"
                    • value — (map)

                      The current value of the slot.

                      • interpretedValue — (String)

                        The value that Amazon Lex determines for the slot. The actual value depends on the setting of the value selection strategy for the bot. You can choose to use the value entered by the user, or you can have Amazon Lex choose the first value in the resolvedValues list.

                    • values — (Array<map>)

                      A list of one or more values that the user provided for the slot. For example, for a slot that elicits pizza toppings, the values might be "pepperoni" and "pineapple."

                • sessionAttributes — (map<String>)

                  Map of key/value pairs representing session-specific context information. It contains application information passed between Amazon Lex and a client application.

              • response — (map)

                Specifies a list of message groups that Amazon Lex uses to respond the user input.

                • messageGroupsrequired — (Array<map>)

                  A collection of responses that Amazon Lex can send to the user. Amazon Lex chooses the actual response to send at runtime.

                  • messagerequired — (map)

                    The primary message that Amazon Lex should send to the user.

                    • plainTextMessage — (map)

                      A message in plain text format.

                      • valuerequired — (String)

                        The message to send to the user.

                    • customPayload — (map)

                      A message in a custom format defined by the client application.

                      • valuerequired — (String)

                        The string that is sent to your application.

                    • ssmlMessage — (map)

                      A message in Speech Synthesis Markup Language (SSML).

                      • valuerequired — (String)

                        The SSML text that defines the prompt.

                    • imageResponseCard — (map)

                      A message that defines a response card that the client application can show to the user.

                      • titlerequired — (String)

                        The title to display on the response card. The format of the title is determined by the platform displaying the response card.

                      • subtitle — (String)

                        The subtitle to display on the response card. The format of the subtitle is determined by the platform displaying the response card.

                      • imageUrl — (String)

                        The URL of an image to display on the response card. The image URL must be publicly available so that the platform displaying the response card has access to the image.

                      • buttons — (Array<map>)

                        A list of buttons that should be displayed on the response card. The arrangement of the buttons is determined by the platform that displays the button.

                        • textrequired — (String)

                          The text that appears on the button. Use this to tell the user what value is returned when they choose this button.

                        • valuerequired — (String)

                          The value returned to Amazon Lex when the user chooses this button. This must be one of the slot values configured for the slot.

                  • variations — (Array<map>)

                    Message variations to send to the user. When variations are defined, Amazon Lex chooses the primary message or one of the variations to send to the user.

                    • plainTextMessage — (map)

                      A message in plain text format.

                      • valuerequired — (String)

                        The message to send to the user.

                    • customPayload — (map)

                      A message in a custom format defined by the client application.

                      • valuerequired — (String)

                        The string that is sent to your application.

                    • ssmlMessage — (map)

                      A message in Speech Synthesis Markup Language (SSML).

                      • valuerequired — (String)

                        The SSML text that defines the prompt.

                    • imageResponseCard — (map)

                      A message that defines a response card that the client application can show to the user.

                      • titlerequired — (String)

                        The title to display on the response card. The format of the title is determined by the platform displaying the response card.

                      • subtitle — (String)

                        The subtitle to display on the response card. The format of the subtitle is determined by the platform displaying the response card.

                      • imageUrl — (String)

                        The URL of an image to display on the response card. The image URL must be publicly available so that the platform displaying the response card has access to the image.

                      • buttons — (Array<map>)

                        A list of buttons that should be displayed on the response card. The arrangement of the buttons is determined by the platform that displays the button.

                        • textrequired — (String)

                          The text that appears on the button. Use this to tell the user what value is returned when they choose this button.

                        • valuerequired — (String)

                          The value returned to Amazon Lex when the user chooses this button. This must be one of the slot values configured for the slot.

                • allowInterrupt — (Boolean)

                  Indicates whether the user can interrupt a speech response from Amazon Lex.

          • failureResponse — (map)

            Specifies a list of message groups that Amazon Lex uses to respond the user input.

            • messageGroupsrequired — (Array<map>)

              A collection of responses that Amazon Lex can send to the user. Amazon Lex chooses the actual response to send at runtime.

              • messagerequired — (map)

                The primary message that Amazon Lex should send to the user.

                • plainTextMessage — (map)

                  A message in plain text format.

                  • valuerequired — (String)

                    The message to send to the user.

                • customPayload — (map)

                  A message in a custom format defined by the client application.

                  • valuerequired — (String)

                    The string that is sent to your application.

                • ssmlMessage — (map)

                  A message in Speech Synthesis Markup Language (SSML).

                  • valuerequired — (String)

                    The SSML text that defines the prompt.

                • imageResponseCard — (map)

                  A message that defines a response card that the client application can show to the user.

                  • titlerequired — (String)

                    The title to display on the response card. The format of the title is determined by the platform displaying the response card.

                  • subtitle — (String)

                    The subtitle to display on the response card. The format of the subtitle is determined by the platform displaying the response card.

                  • imageUrl — (String)

                    The URL of an image to display on the response card. The image URL must be publicly available so that the platform displaying the response card has access to the image.

                  • buttons — (Array<map>)

                    A list of buttons that should be displayed on the response card. The arrangement of the buttons is determined by the platform that displays the button.

                    • textrequired — (String)

                      The text that appears on the button. Use this to tell the user what value is returned when they choose this button.

                    • valuerequired — (String)

                      The value returned to Amazon Lex when the user chooses this button. This must be one of the slot values configured for the slot.

              • variations — (Array<map>)

                Message variations to send to the user. When variations are defined, Amazon Lex chooses the primary message or one of the variations to send to the user.

                • plainTextMessage — (map)

                  A message in plain text format.

                  • valuerequired — (String)

                    The message to send to the user.

                • customPayload — (map)

                  A message in a custom format defined by the client application.

                  • valuerequired — (String)

                    The string that is sent to your application.

                • ssmlMessage — (map)

                  A message in Speech Synthesis Markup Language (SSML).

                  • valuerequired — (String)

                    The SSML text that defines the prompt.

                • imageResponseCard — (map)

                  A message that defines a response card that the client application can show to the user.

                  • titlerequired — (String)

                    The title to display on the response card. The format of the title is determined by the platform displaying the response card.

                  • subtitle — (String)

                    The subtitle to display on the response card. The format of the subtitle is determined by the platform displaying the response card.

                  • imageUrl — (String)

                    The URL of an image to display on the response card. The image URL must be publicly available so that the platform displaying the response card has access to the image.

                  • buttons — (Array<map>)

                    A list of buttons that should be displayed on the response card. The arrangement of the buttons is determined by the platform that displays the button.

                    • textrequired — (String)

                      The text that appears on the button. Use this to tell the user what value is returned when they choose this button.

                    • valuerequired — (String)

                      The value returned to Amazon Lex when the user chooses this button. This must be one of the slot values configured for the slot.

            • allowInterrupt — (Boolean)

              Indicates whether the user can interrupt a speech response from Amazon Lex.

          • failureNextStep — (map)

            Specifies the next step the bot runs after the dialog code hook throws an exception or returns with the State field of the Intent object set to Failed.

            • dialogAction — (map)

              Defines the action that the bot executes at runtime when the conversation reaches this step.

              • typerequired — (String)

                The action that the bot should execute.

                Possible values include:
                • "ElicitIntent"
                • "StartIntent"
                • "ElicitSlot"
                • "EvaluateConditional"
                • "InvokeDialogCodeHook"
                • "ConfirmIntent"
                • "FulfillIntent"
                • "CloseIntent"
                • "EndConversation"
              • slotToElicit — (String)

                If the dialog action is ElicitSlot, defines the slot to elicit from the user.

              • suppressNextMessage — (Boolean)

                When true the next message for the intent is not used.

            • intent — (map)

              Override settings to configure the intent state.

              • name — (String)

                The name of the intent. Only required when you're switching intents.

              • slots — (map<map>)

                A map of all of the slot value overrides for the intent. The name of the slot maps to the value of the slot. Slots that are not included in the map aren't overridden.

                • shape — (String)

                  When the shape value is List, it indicates that the values field contains a list of slot values. When the value is Scalar, it indicates that the value field contains a single value.

                  Possible values include:
                  • "Scalar"
                  • "List"
                • value — (map)

                  The current value of the slot.

                  • interpretedValue — (String)

                    The value that Amazon Lex determines for the slot. The actual value depends on the setting of the value selection strategy for the bot. You can choose to use the value entered by the user, or you can have Amazon Lex choose the first value in the resolvedValues list.

                • values — (Array<map>)

                  A list of one or more values that the user provided for the slot. For example, for a slot that elicits pizza toppings, the values might be "pepperoni" and "pineapple."

            • sessionAttributes — (map<String>)

              Map of key/value pairs representing session-specific context information. It contains application information passed between Amazon Lex and a client application.

          • failureConditional — (map)

            A list of conditional branches to evaluate after the dialog code hook throws an exception or returns with the State field of the Intent object set to Failed.

            • activerequired — (Boolean)

              Determines whether a conditional branch is active. When active is false, the conditions are not evaluated.

            • conditionalBranchesrequired — (Array<map>)

              A list of conditional branches. A conditional branch is made up of a condition, a response and a next step. The response and next step are executed when the condition is true.

              • namerequired — (String)

                The name of the branch.

              • conditionrequired — (map)

                Contains the expression to evaluate. If the condition is true, the branch's actions are taken.

                • expressionStringrequired — (String)

                  The expression string that is evaluated.

              • nextSteprequired — (map)

                The next step in the conversation.

                • dialogAction — (map)

                  Defines the action that the bot executes at runtime when the conversation reaches this step.

                  • typerequired — (String)

                    The action that the bot should execute.

                    Possible values include:
                    • "ElicitIntent"
                    • "StartIntent"
                    • "ElicitSlot"
                    • "EvaluateConditional"
                    • "InvokeDialogCodeHook"
                    • "ConfirmIntent"
                    • "FulfillIntent"
                    • "CloseIntent"
                    • "EndConversation"
                  • slotToElicit — (String)

                    If the dialog action is ElicitSlot, defines the slot to elicit from the user.

                  • suppressNextMessage — (Boolean)

                    When true the next message for the intent is not used.

                • intent — (map)

                  Override settings to configure the intent state.

                  • name — (String)

                    The name of the intent. Only required when you're switching intents.

                  • slots — (map<map>)

                    A map of all of the slot value overrides for the intent. The name of the slot maps to the value of the slot. Slots that are not included in the map aren't overridden.

                    • shape — (String)

                      When the shape value is List, it indicates that the values field contains a list of slot values. When the value is Scalar, it indicates that the value field contains a single value.

                      Possible values include:
                      • "Scalar"
                      • "List"
                    • value — (map)

                      The current value of the slot.

                      • interpretedValue — (String)

                        The value that Amazon Lex determines for the slot. The actual value depends on the setting of the value selection strategy for the bot. You can choose to use the value entered by the user, or you can have Amazon Lex choose the first value in the resolvedValues list.

                    • values — (Array<map>)

                      A list of one or more values that the user provided for the slot. For example, for a slot that elicits pizza toppings, the values might be "pepperoni" and "pineapple."

                • sessionAttributes — (map<String>)

                  Map of key/value pairs representing session-specific context information. It contains application information passed between Amazon Lex and a client application.

              • response — (map)

                Specifies a list of message groups that Amazon Lex uses to respond the user input.

                • messageGroupsrequired — (Array<map>)

                  A collection of responses that Amazon Lex can send to the user. Amazon Lex chooses the actual response to send at runtime.

                  • messagerequired — (map)

                    The primary message that Amazon Lex should send to the user.

                    • plainTextMessage — (map)

                      A message in plain text format.

                      • valuerequired — (String)

                        The message to send to the user.

                    • customPayload — (map)

                      A message in a custom format defined by the client application.

                      • valuerequired — (String)

                        The string that is sent to your application.

                    • ssmlMessage — (map)

                      A message in Speech Synthesis Markup Language (SSML).

                      • valuerequired — (String)

                        The SSML text that defines the prompt.

                    • imageResponseCard — (map)

                      A message that defines a response card that the client application can show to the user.

                      • titlerequired — (String)

                        The title to display on the response card. The format of the title is determined by the platform displaying the response card.

                      • subtitle — (String)

                        The subtitle to display on the response card. The format of the subtitle is determined by the platform displaying the response card.

                      • imageUrl — (String)

                        The URL of an image to display on the response card. The image URL must be publicly available so that the platform displaying the response card has access to the image.

                      • buttons — (Array<map>)

                        A list of buttons that should be displayed on the response card. The arrangement of the buttons is determined by the platform that displays the button.

                        • textrequired — (String)

                          The text that appears on the button. Use this to tell the user what value is returned when they choose this button.

                        • valuerequired — (String)

                          The value returned to Amazon Lex when the user chooses this button. This must be one of the slot values configured for the slot.

                  • variations — (Array<map>)

                    Message variations to send to the user. When variations are defined, Amazon Lex chooses the primary message or one of the variations to send to the user.

                    • plainTextMessage — (map)

                      A message in plain text format.

                      • valuerequired — (String)

                        The message to send to the user.

                    • customPayload — (map)

                      A message in a custom format defined by the client application.

                      • valuerequired — (String)

                        The string that is sent to your application.

                    • ssmlMessage — (map)

                      A message in Speech Synthesis Markup Language (SSML).

                      • valuerequired — (String)

                        The SSML text that defines the prompt.

                    • imageResponseCard — (map)

                      A message that defines a response card that the client application can show to the user.

                      • titlerequired — (String)

                        The title to display on the response card. The format of the title is determined by the platform displaying the response card.

                      • subtitle — (String)

                        The subtitle to display on the response card. The format of the subtitle is determined by the platform displaying the response card.

                      • imageUrl — (String)

                        The URL of an image to display on the response card. The image URL must be publicly available so that the platform displaying the response card has access to the image.

                      • buttons — (Array<map>)

                        A list of buttons that should be displayed on the response card. The arrangement of the buttons is determined by the platform that displays the button.

                        • textrequired — (String)

                          The text that appears on the button. Use this to tell the user what value is returned when they choose this button.

                        • valuerequired — (String)

                          The value returned to Amazon Lex when the user chooses this button. This must be one of the slot values configured for the slot.

                • allowInterrupt — (Boolean)

                  Indicates whether the user can interrupt a speech response from Amazon Lex.

            • defaultBranchrequired — (map)

              The conditional branch that should be followed when the conditions for other branches are not satisfied. A conditional branch is made up of a condition, a response and a next step.

              • nextStep — (map)

                The next step in the conversation.

                • dialogAction — (map)

                  Defines the action that the bot executes at runtime when the conversation reaches this step.

                  • typerequired — (String)

                    The action that the bot should execute.

                    Possible values include:
                    • "ElicitIntent"
                    • "StartIntent"
                    • "ElicitSlot"
                    • "EvaluateConditional"
                    • "InvokeDialogCodeHook"
                    • "ConfirmIntent"
                    • "FulfillIntent"
                    • "CloseIntent"
                    • "EndConversation"
                  • slotToElicit — (String)

                    If the dialog action is ElicitSlot, defines the slot to elicit from the user.

                  • suppressNextMessage — (Boolean)

                    When true the next message for the intent is not used.

                • intent — (map)

                  Override settings to configure the intent state.

                  • name — (String)

                    The name of the intent. Only required when you're switching intents.

                  • slots — (map<map>)

                    A map of all of the slot value overrides for the intent. The name of the slot maps to the value of the slot. Slots that are not included in the map aren't overridden.

                    • shape — (String)

                      When the shape value is List, it indicates that the values field contains a list of slot values. When the value is Scalar, it indicates that the value field contains a single value.

                      Possible values include:
                      • "Scalar"
                      • "List"
                    • value — (map)

                      The current value of the slot.

                      • interpretedValue — (String)

                        The value that Amazon Lex determines for the slot. The actual value depends on the setting of the value selection strategy for the bot. You can choose to use the value entered by the user, or you can have Amazon Lex choose the first value in the resolvedValues list.

                    • values — (Array<map>)

                      A list of one or more values that the user provided for the slot. For example, for a slot that elicits pizza toppings, the values might be "pepperoni" and "pineapple."

                • sessionAttributes — (map<String>)

                  Map of key/value pairs representing session-specific context information. It contains application information passed between Amazon Lex and a client application.

              • response — (map)

                Specifies a list of message groups that Amazon Lex uses to respond the user input.

                • messageGroupsrequired — (Array<map>)

                  A collection of responses that Amazon Lex can send to the user. Amazon Lex chooses the actual response to send at runtime.

                  • messagerequired — (map)

                    The primary message that Amazon Lex should send to the user.

                    • plainTextMessage — (map)

                      A message in plain text format.

                      • valuerequired — (String)

                        The message to send to the user.

                    • customPayload — (map)

                      A message in a custom format defined by the client application.

                      • valuerequired — (String)

                        The string that is sent to your application.

                    • ssmlMessage — (map)

                      A message in Speech Synthesis Markup Language (SSML).

                      • valuerequired — (String)

                        The SSML text that defines the prompt.

                    • imageResponseCard — (map)

                      A message that defines a response card that the client application can show to the user.

                      • titlerequired — (String)

                        The title to display on the response card. The format of the title is determined by the platform displaying the response card.

                      • subtitle — (String)

                        The subtitle to display on the response card. The format of the subtitle is determined by the platform displaying the response card.

                      • imageUrl — (String)

                        The URL of an image to display on the response card. The image URL must be publicly available so that the platform displaying the response card has access to the image.

                      • buttons — (Array<map>)

                        A list of buttons that should be displayed on the response card. The arrangement of the buttons is determined by the platform that displays the button.

                        • textrequired — (String)

                          The text that appears on the button. Use this to tell the user what value is returned when they choose this button.

                        • valuerequired — (String)

                          The value returned to Amazon Lex when the user chooses this button. This must be one of the slot values configured for the slot.

                  • variations — (Array<map>)

                    Message variations to send to the user. When variations are defined, Amazon Lex chooses the primary message or one of the variations to send to the user.

                    • plainTextMessage — (map)

                      A message in plain text format.

                      • valuerequired — (String)

                        The message to send to the user.

                    • customPayload — (map)

                      A message in a custom format defined by the client application.

                      • valuerequired — (String)

                        The string that is sent to your application.

                    • ssmlMessage — (map)

                      A message in Speech Synthesis Markup Language (SSML).

                      • valuerequired — (String)

                        The SSML text that defines the prompt.

                    • imageResponseCard — (map)

                      A message that defines a response card that the client application can show to the user.

                      • titlerequired — (String)

                        The title to display on the response card. The format of the title is determined by the platform displaying the response card.

                      • subtitle — (String)

                        The subtitle to display on the response card. The format of the subtitle is determined by the platform displaying the response card.

                      • imageUrl — (String)

                        The URL of an image to display on the response card. The image URL must be publicly available so that the platform displaying the response card has access to the image.

                      • buttons — (Array<map>)

                        A list of buttons that should be displayed on the response card. The arrangement of the buttons is determined by the platform that displays the button.

                        • textrequired — (String)

                          The text that appears on the button. Use this to tell the user what value is returned when they choose this button.

                        • valuerequired — (String)

                          The value returned to Amazon Lex when the user chooses this button. This must be one of the slot values configured for the slot.

                • allowInterrupt — (Boolean)

                  Indicates whether the user can interrupt a speech response from Amazon Lex.

          • timeoutResponse — (map)

            Specifies a list of message groups that Amazon Lex uses to respond the user input.

            • messageGroupsrequired — (Array<map>)

              A collection of responses that Amazon Lex can send to the user. Amazon Lex chooses the actual response to send at runtime.

              • messagerequired — (map)

                The primary message that Amazon Lex should send to the user.

                • plainTextMessage — (map)

                  A message in plain text format.

                  • valuerequired — (String)

                    The message to send to the user.

                • customPayload — (map)

                  A message in a custom format defined by the client application.

                  • valuerequired — (String)

                    The string that is sent to your application.

                • ssmlMessage — (map)

                  A message in Speech Synthesis Markup Language (SSML).

                  • valuerequired — (String)

                    The SSML text that defines the prompt.

                • imageResponseCard — (map)

                  A message that defines a response card that the client application can show to the user.

                  • titlerequired — (String)

                    The title to display on the response card. The format of the title is determined by the platform displaying the response card.

                  • subtitle — (String)

                    The subtitle to display on the response card. The format of the subtitle is determined by the platform displaying the response card.

                  • imageUrl — (String)

                    The URL of an image to display on the response card. The image URL must be publicly available so that the platform displaying the response card has access to the image.

                  • buttons — (Array<map>)

                    A list of buttons that should be displayed on the response card. The arrangement of the buttons is determined by the platform that displays the button.

                    • textrequired — (String)

                      The text that appears on the button. Use this to tell the user what value is returned when they choose this button.

                    • valuerequired — (String)

                      The value returned to Amazon Lex when the user chooses this button. This must be one of the slot values configured for the slot.

              • variations — (Array<map>)

                Message variations to send to the user. When variations are defined, Amazon Lex chooses the primary message or one of the variations to send to the user.

                • plainTextMessage — (map)

                  A message in plain text format.

                  • valuerequired — (String)

                    The message to send to the user.

                • customPayload — (map)

                  A message in a custom format defined by the client application.

                  • valuerequired — (String)

                    The string that is sent to your application.

                • ssmlMessage — (map)

                  A message in Speech Synthesis Markup Language (SSML).

                  • valuerequired — (String)

                    The SSML text that defines the prompt.

                • imageResponseCard — (map)

                  A message that defines a response card that the client application can show to the user.

                  • titlerequired — (String)

                    The title to display on the response card. The format of the title is determined by the platform displaying the response card.

                  • subtitle — (String)

                    The subtitle to display on the response card. The format of the subtitle is determined by the platform displaying the response card.

                  • imageUrl — (String)

                    The URL of an image to display on the response card. The image URL must be publicly available so that the platform displaying the response card has access to the image.

                  • buttons — (Array<map>)

                    A list of buttons that should be displayed on the response card. The arrangement of the buttons is determined by the platform that displays the button.

                    • textrequired — (String)

                      The text that appears on the button. Use this to tell the user what value is returned when they choose this button.

                    • valuerequired — (String)

                      The value returned to Amazon Lex when the user chooses this button. This must be one of the slot values configured for the slot.

            • allowInterrupt — (Boolean)

              Indicates whether the user can interrupt a speech response from Amazon Lex.

          • timeoutNextStep — (map)

            Specifies the next step that the bot runs when the code hook times out.

            • dialogAction — (map)

              Defines the action that the bot executes at runtime when the conversation reaches this step.

              • typerequired — (String)

                The action that the bot should execute.

                Possible values include:
                • "ElicitIntent"
                • "StartIntent"
                • "ElicitSlot"
                • "EvaluateConditional"
                • "InvokeDialogCodeHook"
                • "ConfirmIntent"
                • "FulfillIntent"
                • "CloseIntent"
                • "EndConversation"
              • slotToElicit — (String)

                If the dialog action is ElicitSlot, defines the slot to elicit from the user.

              • suppressNextMessage — (Boolean)

                When true the next message for the intent is not used.

            • intent — (map)

              Override settings to configure the intent state.

              • name — (String)

                The name of the intent. Only required when you're switching intents.

              • slots — (map<map>)

                A map of all of the slot value overrides for the intent. The name of the slot maps to the value of the slot. Slots that are not included in the map aren't overridden.

                • shape — (String)

                  When the shape value is List, it indicates that the values field contains a list of slot values. When the value is Scalar, it indicates that the value field contains a single value.

                  Possible values include:
                  • "Scalar"
                  • "List"
                • value — (map)

                  The current value of the slot.

                  • interpretedValue — (String)

                    The value that Amazon Lex determines for the slot. The actual value depends on the setting of the value selection strategy for the bot. You can choose to use the value entered by the user, or you can have Amazon Lex choose the first value in the resolvedValues list.

                • values — (Array<map>)

                  A list of one or more values that the user provided for the slot. For example, for a slot that elicits pizza toppings, the values might be "pepperoni" and "pineapple."

            • sessionAttributes — (map<String>)

              Map of key/value pairs representing session-specific context information. It contains application information passed between Amazon Lex and a client application.

          • timeoutConditional — (map)

            A list of conditional branches to evaluate if the code hook times out.

            • activerequired — (Boolean)

              Determines whether a conditional branch is active. When active is false, the conditions are not evaluated.

            • conditionalBranchesrequired — (Array<map>)

              A list of conditional branches. A conditional branch is made up of a condition, a response and a next step. The response and next step are executed when the condition is true.

              • namerequired — (String)

                The name of the branch.

              • conditionrequired — (map)

                Contains the expression to evaluate. If the condition is true, the branch's actions are taken.

                • expressionStringrequired — (String)

                  The expression string that is evaluated.

              • nextSteprequired — (map)

                The next step in the conversation.

                • dialogAction — (map)

                  Defines the action that the bot executes at runtime when the conversation reaches this step.

                  • typerequired — (String)

                    The action that the bot should execute.

                    Possible values include:
                    • "ElicitIntent"
                    • "StartIntent"
                    • "ElicitSlot"
                    • "EvaluateConditional"
                    • "InvokeDialogCodeHook"
                    • "ConfirmIntent"
                    • "FulfillIntent"
                    • "CloseIntent"
                    • "EndConversation"
                  • slotToElicit — (String)

                    If the dialog action is ElicitSlot, defines the slot to elicit from the user.

                  • suppressNextMessage — (Boolean)

                    When true the next message for the intent is not used.

                • intent — (map)

                  Override settings to configure the intent state.

                  • name — (String)

                    The name of the intent. Only required when you're switching intents.

                  • slots — (map<map>)

                    A map of all of the slot value overrides for the intent. The name of the slot maps to the value of the slot. Slots that are not included in the map aren't overridden.

                    • shape — (String)

                      When the shape value is List, it indicates that the values field contains a list of slot values. When the value is Scalar, it indicates that the value field contains a single value.

                      Possible values include:
                      • "Scalar"
                      • "List"
                    • value — (map)

                      The current value of the slot.

                      • interpretedValue — (String)

                        The value that Amazon Lex determines for the slot. The actual value depends on the setting of the value selection strategy for the bot. You can choose to use the value entered by the user, or you can have Amazon Lex choose the first value in the resolvedValues list.

                    • values — (Array<map>)

                      A list of one or more values that the user provided for the slot. For example, for a slot that elicits pizza toppings, the values might be "pepperoni" and "pineapple."

                • sessionAttributes — (map<String>)

                  Map of key/value pairs representing session-specific context information. It contains application information passed between Amazon Lex and a client application.

              • response — (map)

                Specifies a list of message groups that Amazon Lex uses to respond the user input.

                • messageGroupsrequired — (Array<map>)

                  A collection of responses that Amazon Lex can send to the user. Amazon Lex chooses the actual response to send at runtime.

                  • messagerequired — (map)

                    The primary message that Amazon Lex should send to the user.

                    • plainTextMessage — (map)

                      A message in plain text format.

                      • valuerequired — (String)

                        The message to send to the user.

                    • customPayload — (map)

                      A message in a custom format defined by the client application.

                      • valuerequired — (String)

                        The string that is sent to your application.

                    • ssmlMessage — (map)

                      A message in Speech Synthesis Markup Language (SSML).

                      • valuerequired — (String)

                        The SSML text that defines the prompt.

                    • imageResponseCard — (map)

                      A message that defines a response card that the client application can show to the user.

                      • titlerequired — (String)

                        The title to display on the response card. The format of the title is determined by the platform displaying the response card.

                      • subtitle — (String)

                        The subtitle to display on the response card. The format of the subtitle is determined by the platform displaying the response card.

                      • imageUrl — (String)

                        The URL of an image to display on the response card. The image URL must be publicly available so that the platform displaying the response card has access to the image.

                      • buttons — (Array<map>)

                        A list of buttons that should be displayed on the response card. The arrangement of the buttons is determined by the platform that displays the button.

                        • textrequired — (String)

                          The text that appears on the button. Use this to tell the user what value is returned when they choose this button.

                        • valuerequired — (String)

                          The value returned to Amazon Lex when the user chooses this button. This must be one of the slot values configured for the slot.

                  • variations — (Array<map>)

                    Message variations to send to the user. When variations are defined, Amazon Lex chooses the primary message or one of the variations to send to the user.

                    • plainTextMessage — (map)

                      A message in plain text format.

                      • valuerequired — (String)

                        The message to send to the user.

                    • customPayload — (map)

                      A message in a custom format defined by the client application.

                      • valuerequired — (String)

                        The string that is sent to your application.

                    • ssmlMessage — (map)

                      A message in Speech Synthesis Markup Language (SSML).

                      • valuerequired — (String)

                        The SSML text that defines the prompt.

                    • imageResponseCard — (map)

                      A message that defines a response card that the client application can show to the user.

                      • titlerequired — (String)

                        The title to display on the response card. The format of the title is determined by the platform displaying the response card.

                      • subtitle — (String)

                        The subtitle to display on the response card. The format of the subtitle is determined by the platform displaying the response card.

                      • imageUrl — (String)

                        The URL of an image to display on the response card. The image URL must be publicly available so that the platform displaying the response card has access to the image.

                      • buttons — (Array<map>)

                        A list of buttons that should be displayed on the response card. The arrangement of the buttons is determined by the platform that displays the button.

                        • textrequired — (String)

                          The text that appears on the button. Use this to tell the user what value is returned when they choose this button.

                        • valuerequired — (String)

                          The value returned to Amazon Lex when the user chooses this button. This must be one of the slot values configured for the slot.

                • allowInterrupt — (Boolean)

                  Indicates whether the user can interrupt a speech response from Amazon Lex.

            • defaultBranchrequired — (map)

              The conditional branch that should be followed when the conditions for other branches are not satisfied. A conditional branch is made up of a condition, a response and a next step.

              • nextStep — (map)

                The next step in the conversation.

                • dialogAction — (map)

                  Defines the action that the bot executes at runtime when the conversation reaches this step.

                  • typerequired — (String)

                    The action that the bot should execute.

                    Possible values include:
                    • "ElicitIntent"
                    • "StartIntent"
                    • "ElicitSlot"
                    • "EvaluateConditional"
                    • "InvokeDialogCodeHook"
                    • "ConfirmIntent"
                    • "FulfillIntent"
                    • "CloseIntent"
                    • "EndConversation"
                  • slotToElicit — (String)

                    If the dialog action is ElicitSlot, defines the slot to elicit from the user.

                  • suppressNextMessage — (Boolean)

                    When true the next message for the intent is not used.

                • intent — (map)

                  Override settings to configure the intent state.

                  • name — (String)

                    The name of the intent. Only required when you're switching intents.

                  • slots — (map<map>)

                    A map of all of the slot value overrides for the intent. The name of the slot maps to the value of the slot. Slots that are not included in the map aren't overridden.

                    • shape — (String)

                      When the shape value is List, it indicates that the values field contains a list of slot values. When the value is Scalar, it indicates that the value field contains a single value.

                      Possible values include:
                      • "Scalar"
                      • "List"
                    • value — (map)

                      The current value of the slot.

                      • interpretedValue — (String)

                        The value that Amazon Lex determines for the slot. The actual value depends on the setting of the value selection strategy for the bot. You can choose to use the value entered by the user, or you can have Amazon Lex choose the first value in the resolvedValues list.

                    • values — (Array<map>)

                      A list of one or more values that the user provided for the slot. For example, for a slot that elicits pizza toppings, the values might be "pepperoni" and "pineapple."

                • sessionAttributes — (map<String>)

                  Map of key/value pairs representing session-specific context information. It contains application information passed between Amazon Lex and a client application.

              • response — (map)

                Specifies a list of message groups that Amazon Lex uses to respond the user input.

                • messageGroupsrequired — (Array<map>)

                  A collection of responses that Amazon Lex can send to the user. Amazon Lex chooses the actual response to send at runtime.

                  • messagerequired — (map)

                    The primary message that Amazon Lex should send to the user.

                    • plainTextMessage — (map)

                      A message in plain text format.

                      • valuerequired — (String)

                        The message to send to the user.

                    • customPayload — (map)

                      A message in a custom format defined by the client application.

                      • valuerequired — (String)

                        The string that is sent to your application.

                    • ssmlMessage — (map)

                      A message in Speech Synthesis Markup Language (SSML).

                      • valuerequired — (String)

                        The SSML text that defines the prompt.

                    • imageResponseCard — (map)

                      A message that defines a response card that the client application can show to the user.

                      • titlerequired — (String)

                        The title to display on the response card. The format of the title is determined by the platform displaying the response card.

                      • subtitle — (String)

                        The subtitle to display on the response card. The format of the subtitle is determined by the platform displaying the response card.

                      • imageUrl — (String)

                        The URL of an image to display on the response card. The image URL must be publicly available so that the platform displaying the response card has access to the image.

                      • buttons — (Array<map>)

                        A list of buttons that should be displayed on the response card. The arrangement of the buttons is determined by the platform that displays the button.

                        • textrequired — (String)

                          The text that appears on the button. Use this to tell the user what value is returned when they choose this button.

                        • valuerequired — (String)

                          The value returned to Amazon Lex when the user chooses this button. This must be one of the slot values configured for the slot.

                  • variations — (Array<map>)

                    Message variations to send to the user. When variations are defined, Amazon Lex chooses the primary message or one of the variations to send to the user.

                    • plainTextMessage — (map)

                      A message in plain text format.

                      • valuerequired — (String)

                        The message to send to the user.

                    • customPayload — (map)

                      A message in a custom format defined by the client application.

                      • valuerequired — (String)

                        The string that is sent to your application.

                    • ssmlMessage — (map)

                      A message in Speech Synthesis Markup Language (SSML).

                      • valuerequired — (String)

                        The SSML text that defines the prompt.

                    • imageResponseCard — (map)

                      A message that defines a response card that the client application can show to the user.

                      • titlerequired — (String)

                        The title to display on the response card. The format of the title is determined by the platform displaying the response card.

                      • subtitle — (String)

                        The subtitle to display on the response card. The format of the subtitle is determined by the platform displaying the response card.

                      • imageUrl — (String)

                        The URL of an image to display on the response card. The image URL must be publicly available so that the platform displaying the response card has access to the image.

                      • buttons — (Array<map>)

                        A list of buttons that should be displayed on the response card. The arrangement of the buttons is determined by the platform that displays the button.

                        • textrequired — (String)

                          The text that appears on the button. Use this to tell the user what value is returned when they choose this button.

                        • valuerequired — (String)

                          The value returned to Amazon Lex when the user chooses this button. This must be one of the slot values configured for the slot.

                • allowInterrupt — (Boolean)

                  Indicates whether the user can interrupt a speech response from Amazon Lex.

      • elicitationCodeHook — (map)

        The DialogCodeHookInvocationSetting used when the code hook is invoked during confirmation prompt retries.

        • enableCodeHookInvocationrequired — (Boolean)

          Indicates whether a Lambda function should be invoked for the dialog.

        • invocationLabel — (String)

          A label that indicates the dialog step from which the dialog code hook is happening.

    • intentClosingSetting — (map)

      Sets the response that Amazon Lex sends to the user when the intent is closed.

      • closingResponse — (map)

        The response that Amazon Lex sends to the user when the intent is complete.

        • messageGroupsrequired — (Array<map>)

          A collection of responses that Amazon Lex can send to the user. Amazon Lex chooses the actual response to send at runtime.

          • messagerequired — (map)

            The primary message that Amazon Lex should send to the user.

            • plainTextMessage — (map)

              A message in plain text format.

              • valuerequired — (String)

                The message to send to the user.

            • customPayload — (map)

              A message in a custom format defined by the client application.

              • valuerequired — (String)

                The string that is sent to your application.

            • ssmlMessage — (map)

              A message in Speech Synthesis Markup Language (SSML).

              • valuerequired — (String)

                The SSML text that defines the prompt.

            • imageResponseCard — (map)

              A message that defines a response card that the client application can show to the user.

              • titlerequired — (String)

                The title to display on the response card. The format of the title is determined by the platform displaying the response card.

              • subtitle — (String)

                The subtitle to display on the response card. The format of the subtitle is determined by the platform displaying the response card.

              • imageUrl — (String)

                The URL of an image to display on the response card. The image URL must be publicly available so that the platform displaying the response card has access to the image.

              • buttons — (Array<map>)

                A list of buttons that should be displayed on the response card. The arrangement of the buttons is determined by the platform that displays the button.

                • textrequired — (String)

                  The text that appears on the button. Use this to tell the user what value is returned when they choose this button.

                • valuerequired — (String)

                  The value returned to Amazon Lex when the user chooses this button. This must be one of the slot values configured for the slot.

          • variations — (Array<map>)

            Message variations to send to the user. When variations are defined, Amazon Lex chooses the primary message or one of the variations to send to the user.

            • plainTextMessage — (map)

              A message in plain text format.

              • valuerequired — (String)

                The message to send to the user.

            • customPayload — (map)

              A message in a custom format defined by the client application.

              • valuerequired — (String)

                The string that is sent to your application.

            • ssmlMessage — (map)

              A message in Speech Synthesis Markup Language (SSML).

              • valuerequired — (String)

                The SSML text that defines the prompt.

            • imageResponseCard — (map)

              A message that defines a response card that the client application can show to the user.

              • titlerequired — (String)

                The title to display on the response card. The format of the title is determined by the platform displaying the response card.

              • subtitle — (String)

                The subtitle to display on the response card. The format of the subtitle is determined by the platform displaying the response card.

              • imageUrl — (String)

                The URL of an image to display on the response card. The image URL must be publicly available so that the platform displaying the response card has access to the image.

              • buttons — (Array<map>)

                A list of buttons that should be displayed on the response card. The arrangement of the buttons is determined by the platform that displays the button.

                • textrequired — (String)

                  The text that appears on the button. Use this to tell the user what value is returned when they choose this button.

                • valuerequired — (String)

                  The value returned to Amazon Lex when the user chooses this button. This must be one of the slot values configured for the slot.

        • allowInterrupt — (Boolean)

          Indicates whether the user can interrupt a speech response from Amazon Lex.

      • active — (Boolean)

        Specifies whether an intent's closing response is used. When this field is false, the closing response isn't sent to the user. If the active field isn't specified, the default is true.

      • nextStep — (map)

        Specifies the next step that the bot executes after playing the intent's closing response.

        • dialogAction — (map)

          Defines the action that the bot executes at runtime when the conversation reaches this step.

          • typerequired — (String)

            The action that the bot should execute.

            Possible values include:
            • "ElicitIntent"
            • "StartIntent"
            • "ElicitSlot"
            • "EvaluateConditional"
            • "InvokeDialogCodeHook"
            • "ConfirmIntent"
            • "FulfillIntent"
            • "CloseIntent"
            • "EndConversation"
          • slotToElicit — (String)

            If the dialog action is ElicitSlot, defines the slot to elicit from the user.

          • suppressNextMessage — (Boolean)

            When true the next message for the intent is not used.

        • intent — (map)

          Override settings to configure the intent state.

          • name — (String)

            The name of the intent. Only required when you're switching intents.

          • slots — (map<map>)

            A map of all of the slot value overrides for the intent. The name of the slot maps to the value of the slot. Slots that are not included in the map aren't overridden.

            • shape — (String)

              When the shape value is List, it indicates that the values field contains a list of slot values. When the value is Scalar, it indicates that the value field contains a single value.

              Possible values include:
              • "Scalar"
              • "List"
            • value — (map)

              The current value of the slot.

              • interpretedValue — (String)

                The value that Amazon Lex determines for the slot. The actual value depends on the setting of the value selection strategy for the bot. You can choose to use the value entered by the user, or you can have Amazon Lex choose the first value in the resolvedValues list.

            • values — (Array<map>)

              A list of one or more values that the user provided for the slot. For example, for a slot that elicits pizza toppings, the values might be "pepperoni" and "pineapple."

        • sessionAttributes — (map<String>)

          Map of key/value pairs representing session-specific context information. It contains application information passed between Amazon Lex and a client application.

      • conditional — (map)

        A list of conditional branches associated with the intent's closing response. These branches are executed when the nextStep attribute is set to EvalutateConditional.

        • activerequired — (Boolean)

          Determines whether a conditional branch is active. When active is false, the conditions are not evaluated.

        • conditionalBranchesrequired — (Array<map>)

          A list of conditional branches. A conditional branch is made up of a condition, a response and a next step. The response and next step are executed when the condition is true.

          • namerequired — (String)

            The name of the branch.

          • conditionrequired — (map)

            Contains the expression to evaluate. If the condition is true, the branch's actions are taken.

            • expressionStringrequired — (String)

              The expression string that is evaluated.

          • nextSteprequired — (map)

            The next step in the conversation.

            • dialogAction — (map)

              Defines the action that the bot executes at runtime when the conversation reaches this step.

              • typerequired — (String)

                The action that the bot should execute.

                Possible values include:
                • "ElicitIntent"
                • "StartIntent"
                • "ElicitSlot"
                • "EvaluateConditional"
                • "InvokeDialogCodeHook"
                • "ConfirmIntent"
                • "FulfillIntent"
                • "CloseIntent"
                • "EndConversation"
              • slotToElicit — (String)

                If the dialog action is ElicitSlot, defines the slot to elicit from the user.

              • suppressNextMessage — (Boolean)

                When true the next message for the intent is not used.

            • intent — (map)

              Override settings to configure the intent state.

              • name — (String)

                The name of the intent. Only required when you're switching intents.

              • slots — (map<map>)

                A map of all of the slot value overrides for the intent. The name of the slot maps to the value of the slot. Slots that are not included in the map aren't overridden.

                • shape — (String)

                  When the shape value is List, it indicates that the values field contains a list of slot values. When the value is Scalar, it indicates that the value field contains a single value.

                  Possible values include:
                  • "Scalar"
                  • "List"
                • value — (map)

                  The current value of the slot.

                  • interpretedValue — (String)

                    The value that Amazon Lex determines for the slot. The actual value depends on the setting of the value selection strategy for the bot. You can choose to use the value entered by the user, or you can have Amazon Lex choose the first value in the resolvedValues list.

                • values — (Array<map>)

                  A list of one or more values that the user provided for the slot. For example, for a slot that elicits pizza toppings, the values might be "pepperoni" and "pineapple."

            • sessionAttributes — (map<String>)

              Map of key/value pairs representing session-specific context information. It contains application information passed between Amazon Lex and a client application.

          • response — (map)

            Specifies a list of message groups that Amazon Lex uses to respond the user input.

            • messageGroupsrequired — (Array<map>)

              A collection of responses that Amazon Lex can send to the user. Amazon Lex chooses the actual response to send at runtime.

              • messagerequired — (map)

                The primary message that Amazon Lex should send to the user.

                • plainTextMessage — (map)

                  A message in plain text format.

                  • valuerequired — (String)

                    The message to send to the user.

                • customPayload — (map)

                  A message in a custom format defined by the client application.

                  • valuerequired — (String)

                    The string that is sent to your application.

                • ssmlMessage — (map)

                  A message in Speech Synthesis Markup Language (SSML).

                  • valuerequired — (String)

                    The SSML text that defines the prompt.

                • imageResponseCard — (map)

                  A message that defines a response card that the client application can show to the user.

                  • titlerequired — (String)

                    The title to display on the response card. The format of the title is determined by the platform displaying the response card.

                  • subtitle — (String)

                    The subtitle to display on the response card. The format of the subtitle is determined by the platform displaying the response card.

                  • imageUrl — (String)

                    The URL of an image to display on the response card. The image URL must be publicly available so that the platform displaying the response card has access to the image.

                  • buttons — (Array<map>)

                    A list of buttons that should be displayed on the response card. The arrangement of the buttons is determined by the platform that displays the button.

                    • textrequired — (String)

                      The text that appears on the button. Use this to tell the user what value is returned when they choose this button.

                    • valuerequired — (String)

                      The value returned to Amazon Lex when the user chooses this button. This must be one of the slot values configured for the slot.

              • variations — (Array<map>)

                Message variations to send to the user. When variations are defined, Amazon Lex chooses the primary message or one of the variations to send to the user.

                • plainTextMessage — (map)

                  A message in plain text format.

                  • valuerequired — (String)

                    The message to send to the user.

                • customPayload — (map)

                  A message in a custom format defined by the client application.

                  • valuerequired — (String)

                    The string that is sent to your application.

                • ssmlMessage — (map)

                  A message in Speech Synthesis Markup Language (SSML).

                  • valuerequired — (String)

                    The SSML text that defines the prompt.

                • imageResponseCard — (map)

                  A message that defines a response card that the client application can show to the user.

                  • titlerequired — (String)

                    The title to display on the response card. The format of the title is determined by the platform displaying the response card.

                  • subtitle — (String)

                    The subtitle to display on the response card. The format of the subtitle is determined by the platform displaying the response card.

                  • imageUrl — (String)

                    The URL of an image to display on the response card. The image URL must be publicly available so that the platform displaying the response card has access to the image.

                  • buttons — (Array<map>)

                    A list of buttons that should be displayed on the response card. The arrangement of the buttons is determined by the platform that displays the button.

                    • textrequired — (String)

                      The text that appears on the button. Use this to tell the user what value is returned when they choose this button.

                    • valuerequired — (String)

                      The value returned to Amazon Lex when the user chooses this button. This must be one of the slot values configured for the slot.

            • allowInterrupt — (Boolean)

              Indicates whether the user can interrupt a speech response from Amazon Lex.

        • defaultBranchrequired — (map)

          The conditional branch that should be followed when the conditions for other branches are not satisfied. A conditional branch is made up of a condition, a response and a next step.

          • nextStep — (map)

            The next step in the conversation.

            • dialogAction — (map)

              Defines the action that the bot executes at runtime when the conversation reaches this step.

              • typerequired — (String)

                The action that the bot should execute.

                Possible values include:
                • "ElicitIntent"
                • "StartIntent"
                • "ElicitSlot"
                • "EvaluateConditional"
                • "InvokeDialogCodeHook"
                • "ConfirmIntent"
                • "FulfillIntent"
                • "CloseIntent"
                • "EndConversation"
              • slotToElicit — (String)

                If the dialog action is ElicitSlot, defines the slot to elicit from the user.

              • suppressNextMessage — (Boolean)

                When true the next message for the intent is not used.

            • intent — (map)

              Override settings to configure the intent state.

              • name — (String)

                The name of the intent. Only required when you're switching intents.

              • slots — (map<map>)

                A map of all of the slot value overrides for the intent. The name of the slot maps to the value of the slot. Slots that are not included in the map aren't overridden.

                • shape — (String)

                  When the shape value is List, it indicates that the values field contains a list of slot values. When the value is Scalar, it indicates that the value field contains a single value.

                  Possible values include:
                  • "Scalar"
                  • "List"
                • value — (map)

                  The current value of the slot.

                  • interpretedValue — (String)

                    The value that Amazon Lex determines for the slot. The actual value depends on the setting of the value selection strategy for the bot. You can choose to use the value entered by the user, or you can have Amazon Lex choose the first value in the resolvedValues list.

                • values — (Array<map>)

                  A list of one or more values that the user provided for the slot. For example, for a slot that elicits pizza toppings, the values might be "pepperoni" and "pineapple."

            • sessionAttributes — (map<String>)

              Map of key/value pairs representing session-specific context information. It contains application information passed between Amazon Lex and a client application.

          • response — (map)

            Specifies a list of message groups that Amazon Lex uses to respond the user input.

            • messageGroupsrequired — (Array<map>)

              A collection of responses that Amazon Lex can send to the user. Amazon Lex chooses the actual response to send at runtime.

              • messagerequired — (map)

                The primary message that Amazon Lex should send to the user.

                • plainTextMessage — (map)

                  A message in plain text format.

                  • valuerequired — (String)

                    The message to send to the user.

                • customPayload — (map)

                  A message in a custom format defined by the client application.

                  • valuerequired — (String)

                    The string that is sent to your application.

                • ssmlMessage — (map)

                  A message in Speech Synthesis Markup Language (SSML).

                  • valuerequired — (String)

                    The SSML text that defines the prompt.

                • imageResponseCard — (map)

                  A message that defines a response card that the client application can show to the user.

                  • titlerequired — (String)

                    The title to display on the response card. The format of the title is determined by the platform displaying the response card.

                  • subtitle — (String)

                    The subtitle to display on the response card. The format of the subtitle is determined by the platform displaying the response card.

                  • imageUrl — (String)

                    The URL of an image to display on the response card. The image URL must be publicly available so that the platform displaying the response card has access to the image.

                  • buttons — (Array<map>)

                    A list of buttons that should be displayed on the response card. The arrangement of the buttons is determined by the platform that displays the button.

                    • textrequired — (String)

                      The text that appears on the button. Use this to tell the user what value is returned when they choose this button.

                    • valuerequired — (String)

                      The value returned to Amazon Lex when the user chooses this button. This must be one of the slot values configured for the slot.

              • variations — (Array<map>)

                Message variations to send to the user. When variations are defined, Amazon Lex chooses the primary message or one of the variations to send to the user.

                • plainTextMessage — (map)

                  A message in plain text format.

                  • valuerequired — (String)

                    The message to send to the user.

                • customPayload — (map)

                  A message in a custom format defined by the client application.

                  • valuerequired — (String)

                    The string that is sent to your application.

                • ssmlMessage — (map)

                  A message in Speech Synthesis Markup Language (SSML).

                  • valuerequired — (String)

                    The SSML text that defines the prompt.

                • imageResponseCard — (map)

                  A message that defines a response card that the client application can show to the user.

                  • titlerequired — (String)

                    The title to display on the response card. The format of the title is determined by the platform displaying the response card.

                  • subtitle — (String)

                    The subtitle to display on the response card. The format of the subtitle is determined by the platform displaying the response card.

                  • imageUrl — (String)

                    The URL of an image to display on the response card. The image URL must be publicly available so that the platform displaying the response card has access to the image.

                  • buttons — (Array<map>)

                    A list of buttons that should be displayed on the response card. The arrangement of the buttons is determined by the platform that displays the button.

                    • textrequired — (String)

                      The text that appears on the button. Use this to tell the user what value is returned when they choose this button.

                    • valuerequired — (String)

                      The value returned to Amazon Lex when the user chooses this button. This must be one of the slot values configured for the slot.

            • allowInterrupt — (Boolean)

              Indicates whether the user can interrupt a speech response from Amazon Lex.

    • inputContexts — (Array<map>)

      A list of contexts that must be active for this intent to be considered by Amazon Lex.

      When an intent has an input context list, Amazon Lex only considers using the intent in an interaction with the user when the specified contexts are included in the active context list for the session. If the contexts are not active, then Amazon Lex will not use the intent.

      A context can be automatically activated using the outputContexts property or it can be set at runtime.

      For example, if there are two intents with different input contexts that respond to the same utterances, only the intent with the active context will respond.

      An intent may have up to 5 input contexts. If an intent has multiple input contexts, all of the contexts must be active to consider the intent.

      • namerequired — (String)

        The name of the context.

    • outputContexts — (Array<map>)

      A lists of contexts that the intent activates when it is fulfilled.

      You can use an output context to indicate the intents that Amazon Lex should consider for the next turn of the conversation with a customer.

      When you use the outputContextsList property, all of the contexts specified in the list are activated when the intent is fulfilled. You can set up to 10 output contexts. You can also set the number of conversation turns that the context should be active, or the length of time that the context should be active.

      • namerequired — (String)

        The name of the output context.

      • timeToLiveInSecondsrequired — (Integer)

        The amount of time, in seconds, that the output context should remain active. The time is figured from the first time the context is sent to the user.

      • turnsToLiverequired — (Integer)

        The number of conversation turns that the output context should remain active. The number of turns is counted from the first time that the context is sent to the user.

    • kendraConfiguration — (map)

      Configuration information required to use the AMAZON.KendraSearchIntent intent to connect to an Amazon Kendra index. The AMAZON.KendraSearchIntent intent is called when Amazon Lex can't determine another intent to invoke.

      • kendraIndexrequired — (String)

        The Amazon Resource Name (ARN) of the Amazon Kendra index that you want the AMAZON.KendraSearchIntent intent to search. The index must be in the same account and Region as the Amazon Lex bot.

      • queryFilterStringEnabled — (Boolean)

        Determines whether the AMAZON.KendraSearchIntent intent uses a custom query string to query the Amazon Kendra index.

      • queryFilterString — (String)

        A query filter that Amazon Lex sends to Amazon Kendra to filter the response from a query. The filter is in the format defined by Amazon Kendra. For more information, see Filtering queries.

    • botId — (String)

      The identifier of the bot associated with this intent.

    • botVersion — (String)

      The version of the bot associated with this intent.

    • localeId — (String)

      The identifier of the language and locale where this intent is used. All of the bots, slot types, and slots used by the intent must have the same locale. For more information, see Supported languages.

    • initialResponseSetting — (map)

      Configuration settings for the response that is sent to the user at the beginning of a conversation, before eliciting slot values.

      • initialResponse — (map)

        Specifies a list of message groups that Amazon Lex uses to respond the user input.

        • messageGroupsrequired — (Array<map>)

          A collection of responses that Amazon Lex can send to the user. Amazon Lex chooses the actual response to send at runtime.

          • messagerequired — (map)

            The primary message that Amazon Lex should send to the user.

            • plainTextMessage — (map)

              A message in plain text format.

              • valuerequired — (String)

                The message to send to the user.

            • customPayload — (map)

              A message in a custom format defined by the client application.

              • valuerequired — (String)

                The string that is sent to your application.

            • ssmlMessage — (map)

              A message in Speech Synthesis Markup Language (SSML).

              • valuerequired — (String)

                The SSML text that defines the prompt.

            • imageResponseCard — (map)

              A message that defines a response card that the client application can show to the user.

              • titlerequired — (String)

                The title to display on the response card. The format of the title is determined by the platform displaying the response card.

              • subtitle — (String)

                The subtitle to display on the response card. The format of the subtitle is determined by the platform displaying the response card.

              • imageUrl — (String)

                The URL of an image to display on the response card. The image URL must be publicly available so that the platform displaying the response card has access to the image.

              • buttons — (Array<map>)

                A list of buttons that should be displayed on the response card. The arrangement of the buttons is determined by the platform that displays the button.

                • textrequired — (String)

                  The text that appears on the button. Use this to tell the user what value is returned when they choose this button.

                • valuerequired — (String)

                  The value returned to Amazon Lex when the user chooses this button. This must be one of the slot values configured for the slot.

          • variations — (Array<map>)

            Message variations to send to the user. When variations are defined, Amazon Lex chooses the primary message or one of the variations to send to the user.

            • plainTextMessage — (map)

              A message in plain text format.

              • valuerequired — (String)

                The message to send to the user.

            • customPayload — (map)

              A message in a custom format defined by the client application.

              • valuerequired — (String)

                The string that is sent to your application.

            • ssmlMessage — (map)

              A message in Speech Synthesis Markup Language (SSML).

              • valuerequired — (String)

                The SSML text that defines the prompt.

            • imageResponseCard — (map)

              A message that defines a response card that the client application can show to the user.

              • titlerequired — (String)

                The title to display on the response card. The format of the title is determined by the platform displaying the response card.

              • subtitle — (String)

                The subtitle to display on the response card. The format of the subtitle is determined by the platform displaying the response card.

              • imageUrl — (String)

                The URL of an image to display on the response card. The image URL must be publicly available so that the platform displaying the response card has access to the image.

              • buttons — (Array<map>)

                A list of buttons that should be displayed on the response card. The arrangement of the buttons is determined by the platform that displays the button.

                • textrequired — (String)

                  The text that appears on the button. Use this to tell the user what value is returned when they choose this button.

                • valuerequired — (String)

                  The value returned to Amazon Lex when the user chooses this button. This must be one of the slot values configured for the slot.

        • allowInterrupt — (Boolean)

          Indicates whether the user can interrupt a speech response from Amazon Lex.

      • nextStep — (map)

        The next step in the conversation.

        • dialogAction — (map)

          Defines the action that the bot executes at runtime when the conversation reaches this step.

          • typerequired — (String)

            The action that the bot should execute.

            Possible values include:
            • "ElicitIntent"
            • "StartIntent"
            • "ElicitSlot"
            • "EvaluateConditional"
            • "InvokeDialogCodeHook"
            • "ConfirmIntent"
            • "FulfillIntent"
            • "CloseIntent"
            • "EndConversation"
          • slotToElicit — (String)

            If the dialog action is ElicitSlot, defines the slot to elicit from the user.

          • suppressNextMessage — (Boolean)

            When true the next message for the intent is not used.

        • intent — (map)

          Override settings to configure the intent state.

          • name — (String)

            The name of the intent. Only required when you're switching intents.

          • slots — (map<map>)

            A map of all of the slot value overrides for the intent. The name of the slot maps to the value of the slot. Slots that are not included in the map aren't overridden.

            • shape — (String)

              When the shape value is List, it indicates that the values field contains a list of slot values. When the value is Scalar, it indicates that the value field contains a single value.

              Possible values include:
              • "Scalar"
              • "List"
            • value — (map)

              The current value of the slot.

              • interpretedValue — (String)

                The value that Amazon Lex determines for the slot. The actual value depends on the setting of the value selection strategy for the bot. You can choose to use the value entered by the user, or you can have Amazon Lex choose the first value in the resolvedValues list.

            • values — (Array<map>)

              A list of one or more values that the user provided for the slot. For example, for a slot that elicits pizza toppings, the values might be "pepperoni" and "pineapple."

        • sessionAttributes — (map<String>)

          Map of key/value pairs representing session-specific context information. It contains application information passed between Amazon Lex and a client application.

      • conditional — (map)

        Provides a list of conditional branches. Branches are evaluated in the order that they are entered in the list. The first branch with a condition that evaluates to true is executed. The last branch in the list is the default branch. The default branch should not have any condition expression. The default branch is executed if no other branch has a matching condition.

        • activerequired — (Boolean)

          Determines whether a conditional branch is active. When active is false, the conditions are not evaluated.

        • conditionalBranchesrequired — (Array<map>)

          A list of conditional branches. A conditional branch is made up of a condition, a response and a next step. The response and next step are executed when the condition is true.

          • namerequired — (String)

            The name of the branch.

          • conditionrequired — (map)

            Contains the expression to evaluate. If the condition is true, the branch's actions are taken.

            • expressionStringrequired — (String)

              The expression string that is evaluated.

          • nextSteprequired — (map)

            The next step in the conversation.

            • dialogAction — (map)

              Defines the action that the bot executes at runtime when the conversation reaches this step.

              • typerequired — (String)

                The action that the bot should execute.

                Possible values include:
                • "ElicitIntent"
                • "StartIntent"
                • "ElicitSlot"
                • "EvaluateConditional"
                • "InvokeDialogCodeHook"
                • "ConfirmIntent"
                • "FulfillIntent"
                • "CloseIntent"
                • "EndConversation"
              • slotToElicit — (String)

                If the dialog action is ElicitSlot, defines the slot to elicit from the user.

              • suppressNextMessage — (Boolean)

                When true the next message for the intent is not used.

            • intent — (map)

              Override settings to configure the intent state.

              • name — (String)

                The name of the intent. Only required when you're switching intents.

              • slots — (map<map>)

                A map of all of the slot value overrides for the intent. The name of the slot maps to the value of the slot. Slots that are not included in the map aren't overridden.

                • shape — (String)

                  When the shape value is List, it indicates that the values field contains a list of slot values. When the value is Scalar, it indicates that the value field contains a single value.

                  Possible values include:
                  • "Scalar"
                  • "List"
                • value — (map)

                  The current value of the slot.

                  • interpretedValue — (String)

                    The value that Amazon Lex determines for the slot. The actual value depends on the setting of the value selection strategy for the bot. You can choose to use the value entered by the user, or you can have Amazon Lex choose the first value in the resolvedValues list.

                • values — (Array<map>)

                  A list of one or more values that the user provided for the slot. For example, for a slot that elicits pizza toppings, the values might be "pepperoni" and "pineapple."

            • sessionAttributes — (map<String>)

              Map of key/value pairs representing session-specific context information. It contains application information passed between Amazon Lex and a client application.

          • response — (map)

            Specifies a list of message groups that Amazon Lex uses to respond the user input.

            • messageGroupsrequired — (Array<map>)

              A collection of responses that Amazon Lex can send to the user. Amazon Lex chooses the actual response to send at runtime.

              • messagerequired — (map)

                The primary message that Amazon Lex should send to the user.

                • plainTextMessage — (map)

                  A message in plain text format.

                  • valuerequired — (String)

                    The message to send to the user.

                • customPayload — (map)

                  A message in a custom format defined by the client application.

                  • valuerequired — (String)

                    The string that is sent to your application.

                • ssmlMessage — (map)

                  A message in Speech Synthesis Markup Language (SSML).

                  • valuerequired — (String)

                    The SSML text that defines the prompt.

                • imageResponseCard — (map)

                  A message that defines a response card that the client application can show to the user.

                  • titlerequired — (String)

                    The title to display on the response card. The format of the title is determined by the platform displaying the response card.

                  • subtitle — (String)

                    The subtitle to display on the response card. The format of the subtitle is determined by the platform displaying the response card.

                  • imageUrl — (String)

                    The URL of an image to display on the response card. The image URL must be publicly available so that the platform displaying the response card has access to the image.

                  • buttons — (Array<map>)

                    A list of buttons that should be displayed on the response card. The arrangement of the buttons is determined by the platform that displays the button.

                    • textrequired — (String)

                      The text that appears on the button. Use this to tell the user what value is returned when they choose this button.

                    • valuerequired — (String)

                      The value returned to Amazon Lex when the user chooses this button. This must be one of the slot values configured for the slot.

              • variations — (Array<map>)

                Message variations to send to the user. When variations are defined, Amazon Lex chooses the primary message or one of the variations to send to the user.

                • plainTextMessage — (map)

                  A message in plain text format.

                  • valuerequired — (String)

                    The message to send to the user.

                • customPayload — (map)

                  A message in a custom format defined by the client application.

                  • valuerequired — (String)

                    The string that is sent to your application.

                • ssmlMessage — (map)

                  A message in Speech Synthesis Markup Language (SSML).

                  • valuerequired — (String)

                    The SSML text that defines the prompt.

                • imageResponseCard — (map)

                  A message that defines a response card that the client application can show to the user.

                  • titlerequired — (String)

                    The title to display on the response card. The format of the title is determined by the platform displaying the response card.

                  • subtitle — (String)

                    The subtitle to display on the response card. The format of the subtitle is determined by the platform displaying the response card.

                  • imageUrl — (String)

                    The URL of an image to display on the response card. The image URL must be publicly available so that the platform displaying the response card has access to the image.

                  • buttons — (Array<map>)

                    A list of buttons that should be displayed on the response card. The arrangement of the buttons is determined by the platform that displays the button.

                    • textrequired — (String)

                      The text that appears on the button. Use this to tell the user what value is returned when they choose this button.

                    • valuerequired — (String)

                      The value returned to Amazon Lex when the user chooses this button. This must be one of the slot values configured for the slot.

            • allowInterrupt — (Boolean)

              Indicates whether the user can interrupt a speech response from Amazon Lex.

        • defaultBranchrequired — (map)

          The conditional branch that should be followed when the conditions for other branches are not satisfied. A conditional branch is made up of a condition, a response and a next step.

          • nextStep — (map)

            The next step in the conversation.

            • dialogAction — (map)

              Defines the action that the bot executes at runtime when the conversation reaches this step.

              • typerequired — (String)

                The action that the bot should execute.

                Possible values include:
                • "ElicitIntent"
                • "StartIntent"
                • "ElicitSlot"
                • "EvaluateConditional"
                • "InvokeDialogCodeHook"
                • "ConfirmIntent"
                • "FulfillIntent"
                • "CloseIntent"
                • "EndConversation"
              • slotToElicit — (String)

                If the dialog action is ElicitSlot, defines the slot to elicit from the user.

              • suppressNextMessage — (Boolean)

                When true the next message for the intent is not used.

            • intent — (map)

              Override settings to configure the intent state.

              • name — (String)

                The name of the intent. Only required when you're switching intents.

              • slots — (map<map>)

                A map of all of the slot value overrides for the intent. The name of the slot maps to the value of the slot. Slots that are not included in the map aren't overridden.

                • shape — (String)

                  When the shape value is List, it indicates that the values field contains a list of slot values. When the value is Scalar, it indicates that the value field contains a single value.

                  Possible values include:
                  • "Scalar"
                  • "List"
                • value — (map)

                  The current value of the slot.

                  • interpretedValue — (String)

                    The value that Amazon Lex determines for the slot. The actual value depends on the setting of the value selection strategy for the bot. You can choose to use the value entered by the user, or you can have Amazon Lex choose the first value in the resolvedValues list.

                • values — (Array<map>)

                  A list of one or more values that the user provided for the slot. For example, for a slot that elicits pizza toppings, the values might be "pepperoni" and "pineapple."

            • sessionAttributes — (map<String>)

              Map of key/value pairs representing session-specific context information. It contains application information passed between Amazon Lex and a client application.

          • response — (map)

            Specifies a list of message groups that Amazon Lex uses to respond the user input.

            • messageGroupsrequired — (Array<map>)

              A collection of responses that Amazon Lex can send to the user. Amazon Lex chooses the actual response to send at runtime.

              • messagerequired — (map)

                The primary message that Amazon Lex should send to the user.

                • plainTextMessage — (map)

                  A message in plain text format.

                  • valuerequired — (String)

                    The message to send to the user.

                • customPayload — (map)

                  A message in a custom format defined by the client application.

                  • valuerequired — (String)

                    The string that is sent to your application.

                • ssmlMessage — (map)

                  A message in Speech Synthesis Markup Language (SSML).

                  • valuerequired — (String)

                    The SSML text that defines the prompt.

                • imageResponseCard — (map)

                  A message that defines a response card that the client application can show to the user.

                  • titlerequired — (String)

                    The title to display on the response card. The format of the title is determined by the platform displaying the response card.

                  • subtitle — (String)

                    The subtitle to display on the response card. The format of the subtitle is determined by the platform displaying the response card.

                  • imageUrl — (String)

                    The URL of an image to display on the response card. The image URL must be publicly available so that the platform displaying the response card has access to the image.

                  • buttons — (Array<map>)

                    A list of buttons that should be displayed on the response card. The arrangement of the buttons is determined by the platform that displays the button.

                    • textrequired — (String)

                      The text that appears on the button. Use this to tell the user what value is returned when they choose this button.

                    • valuerequired — (String)

                      The value returned to Amazon Lex when the user chooses this button. This must be one of the slot values configured for the slot.

              • variations — (Array<map>)

                Message variations to send to the user. When variations are defined, Amazon Lex chooses the primary message or one of the variations to send to the user.

                • plainTextMessage — (map)

                  A message in plain text format.

                  • valuerequired — (String)

                    The message to send to the user.

                • customPayload — (map)

                  A message in a custom format defined by the client application.

                  • valuerequired — (String)

                    The string that is sent to your application.

                • ssmlMessage — (map)

                  A message in Speech Synthesis Markup Language (SSML).

                  • valuerequired — (String)

                    The SSML text that defines the prompt.

                • imageResponseCard — (map)

                  A message that defines a response card that the client application can show to the user.

                  • titlerequired — (String)

                    The title to display on the response card. The format of the title is determined by the platform displaying the response card.

                  • subtitle — (String)

                    The subtitle to display on the response card. The format of the subtitle is determined by the platform displaying the response card.

                  • imageUrl — (String)

                    The URL of an image to display on the response card. The image URL must be publicly available so that the platform displaying the response card has access to the image.

                  • buttons — (Array<map>)

                    A list of buttons that should be displayed on the response card. The arrangement of the buttons is determined by the platform that displays the button.

                    • textrequired — (String)

                      The text that appears on the button. Use this to tell the user what value is returned when they choose this button.

                    • valuerequired — (String)

                      The value returned to Amazon Lex when the user chooses this button. This must be one of the slot values configured for the slot.

            • allowInterrupt — (Boolean)

              Indicates whether the user can interrupt a speech response from Amazon Lex.

      • codeHook — (map)

        Settings that specify the dialog code hook that is called by Amazon Lex at a step of the conversation.

        • enableCodeHookInvocationrequired — (Boolean)

          Indicates whether a Lambda function should be invoked for the dialog.

        • activerequired — (Boolean)

          Determines whether a dialog code hook is used when the intent is activated.

        • invocationLabel — (String)

          A label that indicates the dialog step from which the dialog code hook is happening.

        • postCodeHookSpecificationrequired — (map)

          Contains the responses and actions that Amazon Lex takes after the Lambda function is complete.

          • successResponse — (map)

            Specifies a list of message groups that Amazon Lex uses to respond the user input.

            • messageGroupsrequired — (Array<map>)

              A collection of responses that Amazon Lex can send to the user. Amazon Lex chooses the actual response to send at runtime.

              • messagerequired — (map)

                The primary message that Amazon Lex should send to the user.

                • plainTextMessage — (map)

                  A message in plain text format.

                  • valuerequired — (String)

                    The message to send to the user.

                • customPayload — (map)

                  A message in a custom format defined by the client application.

                  • valuerequired — (String)

                    The string that is sent to your application.

                • ssmlMessage — (map)

                  A message in Speech Synthesis Markup Language (SSML).

                  • valuerequired — (String)

                    The SSML text that defines the prompt.

                • imageResponseCard — (map)

                  A message that defines a response card that the client application can show to the user.

                  • titlerequired — (String)

                    The title to display on the response card. The format of the title is determined by the platform displaying the response card.

                  • subtitle — (String)

                    The subtitle to display on the response card. The format of the subtitle is determined by the platform displaying the response card.

                  • imageUrl — (String)

                    The URL of an image to display on the response card. The image URL must be publicly available so that the platform displaying the response card has access to the image.

                  • buttons — (Array<map>)

                    A list of buttons that should be displayed on the response card. The arrangement of the buttons is determined by the platform that displays the button.

                    • textrequired — (String)

                      The text that appears on the button. Use this to tell the user what value is returned when they choose this button.

                    • valuerequired — (String)

                      The value returned to Amazon Lex when the user chooses this button. This must be one of the slot values configured for the slot.

              • variations — (Array<map>)

                Message variations to send to the user. When variations are defined, Amazon Lex chooses the primary message or one of the variations to send to the user.

                • plainTextMessage — (map)

                  A message in plain text format.

                  • valuerequired — (String)

                    The message to send to the user.

                • customPayload — (map)

                  A message in a custom format defined by the client application.

                  • valuerequired — (String)

                    The string that is sent to your application.

                • ssmlMessage — (map)

                  A message in Speech Synthesis Markup Language (SSML).

                  • valuerequired — (String)

                    The SSML text that defines the prompt.

                • imageResponseCard — (map)

                  A message that defines a response card that the client application can show to the user.

                  • titlerequired — (String)

                    The title to display on the response card. The format of the title is determined by the platform displaying the response card.

                  • subtitle — (String)

                    The subtitle to display on the response card. The format of the subtitle is determined by the platform displaying the response card.

                  • imageUrl — (String)

                    The URL of an image to display on the response card. The image URL must be publicly available so that the platform displaying the response card has access to the image.

                  • buttons — (Array<map>)

                    A list of buttons that should be displayed on the response card. The arrangement of the buttons is determined by the platform that displays the button.

                    • textrequired — (String)

                      The text that appears on the button. Use this to tell the user what value is returned when they choose this button.

                    • valuerequired — (String)

                      The value returned to Amazon Lex when the user chooses this button. This must be one of the slot values configured for the slot.

            • allowInterrupt — (Boolean)

              Indicates whether the user can interrupt a speech response from Amazon Lex.

          • successNextStep — (map)

            Specifics the next step the bot runs after the dialog code hook finishes successfully.

            • dialogAction — (map)

              Defines the action that the bot executes at runtime when the conversation reaches this step.

              • typerequired — (String)

                The action that the bot should execute.

                Possible values include:
                • "ElicitIntent"
                • "StartIntent"
                • "ElicitSlot"
                • "EvaluateConditional"
                • "InvokeDialogCodeHook"
                • "ConfirmIntent"
                • "FulfillIntent"
                • "CloseIntent"
                • "EndConversation"
              • slotToElicit — (String)

                If the dialog action is ElicitSlot, defines the slot to elicit from the user.

              • suppressNextMessage — (Boolean)

                When true the next message for the intent is not used.

            • intent — (map)

              Override settings to configure the intent state.

              • name — (String)

                The name of the intent. Only required when you're switching intents.

              • slots — (map<map>)

                A map of all of the slot value overrides for the intent. The name of the slot maps to the value of the slot. Slots that are not included in the map aren't overridden.

                • shape — (String)

                  When the shape value is List, it indicates that the values field contains a list of slot values. When the value is Scalar, it indicates that the value field contains a single value.

                  Possible values include:
                  • "Scalar"
                  • "List"
                • value — (map)

                  The current value of the slot.

                  • interpretedValue — (String)

                    The value that Amazon Lex determines for the slot. The actual value depends on the setting of the value selection strategy for the bot. You can choose to use the value entered by the user, or you can have Amazon Lex choose the first value in the resolvedValues list.

                • values — (Array<map>)

                  A list of one or more values that the user provided for the slot. For example, for a slot that elicits pizza toppings, the values might be "pepperoni" and "pineapple."

            • sessionAttributes — (map<String>)

              Map of key/value pairs representing session-specific context information. It contains application information passed between Amazon Lex and a client application.

          • successConditional — (map)

            A list of conditional branches to evaluate after the dialog code hook finishes successfully.

            • activerequired — (Boolean)

              Determines whether a conditional branch is active. When active is false, the conditions are not evaluated.

            • conditionalBranchesrequired — (Array<map>)

              A list of conditional branches. A conditional branch is made up of a condition, a response and a next step. The response and next step are executed when the condition is true.

              • namerequired — (String)

                The name of the branch.

              • conditionrequired — (map)

                Contains the expression to evaluate. If the condition is true, the branch's actions are taken.

                • expressionStringrequired — (String)

                  The expression string that is evaluated.

              • nextSteprequired — (map)

                The next step in the conversation.

                • dialogAction — (map)

                  Defines the action that the bot executes at runtime when the conversation reaches this step.

                  • typerequired — (String)

                    The action that the bot should execute.

                    Possible values include:
                    • "ElicitIntent"
                    • "StartIntent"
                    • "ElicitSlot"
                    • "EvaluateConditional"
                    • "InvokeDialogCodeHook"
                    • "ConfirmIntent"
                    • "FulfillIntent"
                    • "CloseIntent"
                    • "EndConversation"
                  • slotToElicit — (String)

                    If the dialog action is ElicitSlot, defines the slot to elicit from the user.

                  • suppressNextMessage — (Boolean)

                    When true the next message for the intent is not used.

                • intent — (map)

                  Override settings to configure the intent state.

                  • name — (String)

                    The name of the intent. Only required when you're switching intents.

                  • slots — (map<map>)

                    A map of all of the slot value overrides for the intent. The name of the slot maps to the value of the slot. Slots that are not included in the map aren't overridden.

                    • shape — (String)

                      When the shape value is List, it indicates that the values field contains a list of slot values. When the value is Scalar, it indicates that the value field contains a single value.

                      Possible values include:
                      • "Scalar"
                      • "List"
                    • value — (map)

                      The current value of the slot.

                      • interpretedValue — (String)

                        The value that Amazon Lex determines for the slot. The actual value depends on the setting of the value selection strategy for the bot. You can choose to use the value entered by the user, or you can have Amazon Lex choose the first value in the resolvedValues list.

                    • values — (Array<map>)

                      A list of one or more values that the user provided for the slot. For example, for a slot that elicits pizza toppings, the values might be "pepperoni" and "pineapple."

                • sessionAttributes — (map<String>)

                  Map of key/value pairs representing session-specific context information. It contains application information passed between Amazon Lex and a client application.

              • response — (map)

                Specifies a list of message groups that Amazon Lex uses to respond the user input.

                • messageGroupsrequired — (Array<map>)

                  A collection of responses that Amazon Lex can send to the user. Amazon Lex chooses the actual response to send at runtime.

                  • messagerequired — (map)

                    The primary message that Amazon Lex should send to the user.

                    • plainTextMessage — (map)

                      A message in plain text format.

                      • valuerequired — (String)

                        The message to send to the user.

                    • customPayload — (map)

                      A message in a custom format defined by the client application.

                      • valuerequired — (String)

                        The string that is sent to your application.

                    • ssmlMessage — (map)

                      A message in Speech Synthesis Markup Language (SSML).

                      • valuerequired — (String)

                        The SSML text that defines the prompt.

                    • imageResponseCard — (map)

                      A message that defines a response card that the client application can show to the user.

                      • titlerequired — (String)

                        The title to display on the response card. The format of the title is determined by the platform displaying the response card.

                      • subtitle — (String)

                        The subtitle to display on the response card. The format of the subtitle is determined by the platform displaying the response card.

                      • imageUrl — (String)

                        The URL of an image to display on the response card. The image URL must be publicly available so that the platform displaying the response card has access to the image.

                      • buttons — (Array<map>)

                        A list of buttons that should be displayed on the response card. The arrangement of the buttons is determined by the platform that displays the button.

                        • textrequired — (String)

                          The text that appears on the button. Use this to tell the user what value is returned when they choose this button.

                        • valuerequired — (String)

                          The value returned to Amazon Lex when the user chooses this button. This must be one of the slot values configured for the slot.

                  • variations — (Array<map>)

                    Message variations to send to the user. When variations are defined, Amazon Lex chooses the primary message or one of the variations to send to the user.

                    • plainTextMessage — (map)

                      A message in plain text format.

                      • valuerequired — (String)

                        The message to send to the user.

                    • customPayload — (map)

                      A message in a custom format defined by the client application.

                      • valuerequired — (String)

                        The string that is sent to your application.

                    • ssmlMessage — (map)

                      A message in Speech Synthesis Markup Language (SSML).

                      • valuerequired — (String)

                        The SSML text that defines the prompt.

                    • imageResponseCard — (map)

                      A message that defines a response card that the client application can show to the user.

                      • titlerequired — (String)

                        The title to display on the response card. The format of the title is determined by the platform displaying the response card.

                      • subtitle — (String)

                        The subtitle to display on the response card. The format of the subtitle is determined by the platform displaying the response card.

                      • imageUrl — (String)

                        The URL of an image to display on the response card. The image URL must be publicly available so that the platform displaying the response card has access to the image.

                      • buttons — (Array<map>)

                        A list of buttons that should be displayed on the response card. The arrangement of the buttons is determined by the platform that displays the button.

                        • textrequired — (String)

                          The text that appears on the button. Use this to tell the user what value is returned when they choose this button.

                        • valuerequired — (String)

                          The value returned to Amazon Lex when the user chooses this button. This must be one of the slot values configured for the slot.

                • allowInterrupt — (Boolean)

                  Indicates whether the user can interrupt a speech response from Amazon Lex.

            • defaultBranchrequired — (map)

              The conditional branch that should be followed when the conditions for other branches are not satisfied. A conditional branch is made up of a condition, a response and a next step.

              • nextStep — (map)

                The next step in the conversation.

                • dialogAction — (map)

                  Defines the action that the bot executes at runtime when the conversation reaches this step.

                  • typerequired — (String)

                    The action that the bot should execute.

                    Possible values include:
                    • "ElicitIntent"
                    • "StartIntent"
                    • "ElicitSlot"
                    • "EvaluateConditional"
                    • "InvokeDialogCodeHook"
                    • "ConfirmIntent"
                    • "FulfillIntent"
                    • "CloseIntent"
                    • "EndConversation"
                  • slotToElicit — (String)

                    If the dialog action is ElicitSlot, defines the slot to elicit from the user.

                  • suppressNextMessage — (Boolean)

                    When true the next message for the intent is not used.

                • intent — (map)

                  Override settings to configure the intent state.

                  • name — (String)

                    The name of the intent. Only required when you're switching intents.

                  • slots — (map<map>)

                    A map of all of the slot value overrides for the intent. The name of the slot maps to the value of the slot. Slots that are not included in the map aren't overridden.

                    • shape — (String)

                      When the shape value is List, it indicates that the values field contains a list of slot values. When the value is Scalar, it indicates that the value field contains a single value.

                      Possible values include:
                      • "Scalar"
                      • "List"
                    • value — (map)

                      The current value of the slot.

                      • interpretedValue — (String)

                        The value that Amazon Lex determines for the slot. The actual value depends on the setting of the value selection strategy for the bot. You can choose to use the value entered by the user, or you can have Amazon Lex choose the first value in the resolvedValues list.

                    • values — (Array<map>)

                      A list of one or more values that the user provided for the slot. For example, for a slot that elicits pizza toppings, the values might be "pepperoni" and "pineapple."

                • sessionAttributes — (map<String>)

                  Map of key/value pairs representing session-specific context information. It contains application information passed between Amazon Lex and a client application.

              • response — (map)

                Specifies a list of message groups that Amazon Lex uses to respond the user input.

                • messageGroupsrequired — (Array<map>)

                  A collection of responses that Amazon Lex can send to the user. Amazon Lex chooses the actual response to send at runtime.

                  • messagerequired — (map)

                    The primary message that Amazon Lex should send to the user.

                    • plainTextMessage — (map)

                      A message in plain text format.

                      • valuerequired — (String)

                        The message to send to the user.

                    • customPayload — (map)

                      A message in a custom format defined by the client application.

                      • valuerequired — (String)

                        The string that is sent to your application.

                    • ssmlMessage — (map)

                      A message in Speech Synthesis Markup Language (SSML).

                      • valuerequired — (String)

                        The SSML text that defines the prompt.

                    • imageResponseCard — (map)

                      A message that defines a response card that the client application can show to the user.

                      • titlerequired — (String)

                        The title to display on the response card. The format of the title is determined by the platform displaying the response card.

                      • subtitle — (String)

                        The subtitle to display on the response card. The format of the subtitle is determined by the platform displaying the response card.

                      • imageUrl — (String)

                        The URL of an image to display on the response card. The image URL must be publicly available so that the platform displaying the response card has access to the image.

                      • buttons — (Array<map>)

                        A list of buttons that should be displayed on the response card. The arrangement of the buttons is determined by the platform that displays the button.

                        • textrequired — (String)

                          The text that appears on the button. Use this to tell the user what value is returned when they choose this button.

                        • valuerequired — (String)

                          The value returned to Amazon Lex when the user chooses this button. This must be one of the slot values configured for the slot.

                  • variations — (Array<map>)

                    Message variations to send to the user. When variations are defined, Amazon Lex chooses the primary message or one of the variations to send to the user.

                    • plainTextMessage — (map)

                      A message in plain text format.

                      • valuerequired — (String)

                        The message to send to the user.

                    • customPayload — (map)

                      A message in a custom format defined by the client application.

                      • valuerequired — (String)

                        The string that is sent to your application.

                    • ssmlMessage — (map)

                      A message in Speech Synthesis Markup Language (SSML).

                      • valuerequired — (String)

                        The SSML text that defines the prompt.

                    • imageResponseCard — (map)

                      A message that defines a response card that the client application can show to the user.

                      • titlerequired — (String)

                        The title to display on the response card. The format of the title is determined by the platform displaying the response card.

                      • subtitle — (String)

                        The subtitle to display on the response card. The format of the subtitle is determined by the platform displaying the response card.

                      • imageUrl — (String)

                        The URL of an image to display on the response card. The image URL must be publicly available so that the platform displaying the response card has access to the image.

                      • buttons — (Array<map>)

                        A list of buttons that should be displayed on the response card. The arrangement of the buttons is determined by the platform that displays the button.

                        • textrequired — (String)

                          The text that appears on the button. Use this to tell the user what value is returned when they choose this button.

                        • valuerequired — (String)

                          The value returned to Amazon Lex when the user chooses this button. This must be one of the slot values configured for the slot.

                • allowInterrupt — (Boolean)

                  Indicates whether the user can interrupt a speech response from Amazon Lex.

          • failureResponse — (map)

            Specifies a list of message groups that Amazon Lex uses to respond the user input.

            • messageGroupsrequired — (Array<map>)

              A collection of responses that Amazon Lex can send to the user. Amazon Lex chooses the actual response to send at runtime.

              • messagerequired — (map)

                The primary message that Amazon Lex should send to the user.

                • plainTextMessage — (map)

                  A message in plain text format.

                  • valuerequired — (String)

                    The message to send to the user.

                • customPayload — (map)

                  A message in a custom format defined by the client application.

                  • valuerequired — (String)

                    The string that is sent to your application.

                • ssmlMessage — (map)

                  A message in Speech Synthesis Markup Language (SSML).

                  • valuerequired — (String)

                    The SSML text that defines the prompt.

                • imageResponseCard — (map)

                  A message that defines a response card that the client application can show to the user.

                  • titlerequired — (String)

                    The title to display on the response card. The format of the title is determined by the platform displaying the response card.

                  • subtitle — (String)

                    The subtitle to display on the response card. The format of the subtitle is determined by the platform displaying the response card.

                  • imageUrl — (String)

                    The URL of an image to display on the response card. The image URL must be publicly available so that the platform displaying the response card has access to the image.

                  • buttons — (Array<map>)

                    A list of buttons that should be displayed on the response card. The arrangement of the buttons is determined by the platform that displays the button.

                    • textrequired — (String)

                      The text that appears on the button. Use this to tell the user what value is returned when they choose this button.

                    • valuerequired — (String)

                      The value returned to Amazon Lex when the user chooses this button. This must be one of the slot values configured for the slot.

              • variations — (Array<map>)

                Message variations to send to the user. When variations are defined, Amazon Lex chooses the primary message or one of the variations to send to the user.

                • plainTextMessage — (map)

                  A message in plain text format.

                  • valuerequired — (String)

                    The message to send to the user.

                • customPayload — (map)

                  A message in a custom format defined by the client application.

                  • valuerequired — (String)

                    The string that is sent to your application.

                • ssmlMessage — (map)

                  A message in Speech Synthesis Markup Language (SSML).

                  • valuerequired — (String)

                    The SSML text that defines the prompt.

                • imageResponseCard — (map)

                  A message that defines a response card that the client application can show to the user.

                  • titlerequired — (String)

                    The title to display on the response card. The format of the title is determined by the platform displaying the response card.

                  • subtitle — (String)

                    The subtitle to display on the response card. The format of the subtitle is determined by the platform displaying the response card.

                  • imageUrl — (String)

                    The URL of an image to display on the response card. The image URL must be publicly available so that the platform displaying the response card has access to the image.

                  • buttons — (Array<map>)

                    A list of buttons that should be displayed on the response card. The arrangement of the buttons is determined by the platform that displays the button.

                    • textrequired — (String)

                      The text that appears on the button. Use this to tell the user what value is returned when they choose this button.

                    • valuerequired — (String)

                      The value returned to Amazon Lex when the user chooses this button. This must be one of the slot values configured for the slot.

            • allowInterrupt — (Boolean)

              Indicates whether the user can interrupt a speech response from Amazon Lex.

          • failureNextStep — (map)

            Specifies the next step the bot runs after the dialog code hook throws an exception or returns with the State field of the Intent object set to Failed.

            • dialogAction — (map)

              Defines the action that the bot executes at runtime when the conversation reaches this step.

              • typerequired — (String)

                The action that the bot should execute.

                Possible values include:
                • "ElicitIntent"
                • "StartIntent"
                • "ElicitSlot"
                • "EvaluateConditional"
                • "InvokeDialogCodeHook"
                • "ConfirmIntent"
                • "FulfillIntent"
                • "CloseIntent"
                • "EndConversation"
              • slotToElicit — (String)

                If the dialog action is ElicitSlot, defines the slot to elicit from the user.

              • suppressNextMessage — (Boolean)

                When true the next message for the intent is not used.

            • intent — (map)

              Override settings to configure the intent state.

              • name — (String)

                The name of the intent. Only required when you're switching intents.

              • slots — (map<map>)

                A map of all of the slot value overrides for the intent. The name of the slot maps to the value of the slot. Slots that are not included in the map aren't overridden.

                • shape — (String)

                  When the shape value is List, it indicates that the values field contains a list of slot values. When the value is Scalar, it indicates that the value field contains a single value.

                  Possible values include:
                  • "Scalar"
                  • "List"
                • value — (map)

                  The current value of the slot.

                  • interpretedValue — (String)

                    The value that Amazon Lex determines for the slot. The actual value depends on the setting of the value selection strategy for the bot. You can choose to use the value entered by the user, or you can have Amazon Lex choose the first value in the resolvedValues list.

                • values — (Array<map>)

                  A list of one or more values that the user provided for the slot. For example, for a slot that elicits pizza toppings, the values might be "pepperoni" and "pineapple."

            • sessionAttributes — (map<String>)

              Map of key/value pairs representing session-specific context information. It contains application information passed between Amazon Lex and a client application.

          • failureConditional — (map)

            A list of conditional branches to evaluate after the dialog code hook throws an exception or returns with the State field of the Intent object set to Failed.

            • activerequired — (Boolean)

              Determines whether a conditional branch is active. When active is false, the conditions are not evaluated.

            • conditionalBranchesrequired — (Array<map>)

              A list of conditional branches. A conditional branch is made up of a condition, a response and a next step. The response and next step are executed when the condition is true.

              • namerequired — (String)

                The name of the branch.

              • conditionrequired — (map)

                Contains the expression to evaluate. If the condition is true, the branch's actions are taken.

                • expressionStringrequired — (String)

                  The expression string that is evaluated.

              • nextSteprequired — (map)

                The next step in the conversation.

                • dialogAction — (map)

                  Defines the action that the bot executes at runtime when the conversation reaches this step.

                  • typerequired — (String)

                    The action that the bot should execute.

                    Possible values include:
                    • "ElicitIntent"
                    • "StartIntent"
                    • "ElicitSlot"
                    • "EvaluateConditional"
                    • "InvokeDialogCodeHook"
                    • "ConfirmIntent"
                    • "FulfillIntent"
                    • "CloseIntent"
                    • "EndConversation"
                  • slotToElicit — (String)

                    If the dialog action is ElicitSlot, defines the slot to elicit from the user.

                  • suppressNextMessage — (Boolean)

                    When true the next message for the intent is not used.

                • intent — (map)

                  Override settings to configure the intent state.

                  • name — (String)

                    The name of the intent. Only required when you're switching intents.

                  • slots — (map<map>)

                    A map of all of the slot value overrides for the intent. The name of the slot maps to the value of the slot. Slots that are not included in the map aren't overridden.

                    • shape — (String)

                      When the shape value is List, it indicates that the values field contains a list of slot values. When the value is Scalar, it indicates that the value field contains a single value.

                      Possible values include:
                      • "Scalar"
                      • "List"
                    • value — (map)

                      The current value of the slot.

                      • interpretedValue — (String)

                        The value that Amazon Lex determines for the slot. The actual value depends on the setting of the value selection strategy for the bot. You can choose to use the value entered by the user, or you can have Amazon Lex choose the first value in the resolvedValues list.

                    • values — (Array<map>)

                      A list of one or more values that the user provided for the slot. For example, for a slot that elicits pizza toppings, the values might be "pepperoni" and "pineapple."

                • sessionAttributes — (map<String>)

                  Map of key/value pairs representing session-specific context information. It contains application information passed between Amazon Lex and a client application.

              • response — (map)

                Specifies a list of message groups that Amazon Lex uses to respond the user input.

                • messageGroupsrequired — (Array<map>)

                  A collection of responses that Amazon Lex can send to the user. Amazon Lex chooses the actual response to send at runtime.

                  • messagerequired — (map)

                    The primary message that Amazon Lex should send to the user.

                    • plainTextMessage — (map)

                      A message in plain text format.

                      • valuerequired — (String)

                        The message to send to the user.

                    • customPayload — (map)

                      A message in a custom format defined by the client application.

                      • valuerequired — (String)

                        The string that is sent to your application.

                    • ssmlMessage — (map)

                      A message in Speech Synthesis Markup Language (SSML).

                      • valuerequired — (String)

                        The SSML text that defines the prompt.

                    • imageResponseCard — (map)

                      A message that defines a response card that the client application can show to the user.

                      • titlerequired — (String)

                        The title to display on the response card. The format of the title is determined by the platform displaying the response card.

                      • subtitle — (String)

                        The subtitle to display on the response card. The format of the subtitle is determined by the platform displaying the response card.

                      • imageUrl — (String)

                        The URL of an image to display on the response card. The image URL must be publicly available so that the platform displaying the response card has access to the image.

                      • buttons — (Array<map>)

                        A list of buttons that should be displayed on the response card. The arrangement of the buttons is determined by the platform that displays the button.

                        • textrequired — (String)

                          The text that appears on the button. Use this to tell the user what value is returned when they choose this button.

                        • valuerequired — (String)

                          The value returned to Amazon Lex when the user chooses this button. This must be one of the slot values configured for the slot.

                  • variations — (Array<map>)

                    Message variations to send to the user. When variations are defined, Amazon Lex chooses the primary message or one of the variations to send to the user.

                    • plainTextMessage — (map)

                      A message in plain text format.

                      • valuerequired — (String)

                        The message to send to the user.

                    • customPayload — (map)

                      A message in a custom format defined by the client application.

                      • valuerequired — (String)

                        The string that is sent to your application.

                    • ssmlMessage — (map)

                      A message in Speech Synthesis Markup Language (SSML).

                      • valuerequired — (String)

                        The SSML text that defines the prompt.

                    • imageResponseCard — (map)

                      A message that defines a response card that the client application can show to the user.

                      • titlerequired — (String)

                        The title to display on the response card. The format of the title is determined by the platform displaying the response card.

                      • subtitle — (String)

                        The subtitle to display on the response card. The format of the subtitle is determined by the platform displaying the response card.

                      • imageUrl — (String)

                        The URL of an image to display on the response card. The image URL must be publicly available so that the platform displaying the response card has access to the image.

                      • buttons — (Array<map>)

                        A list of buttons that should be displayed on the response card. The arrangement of the buttons is determined by the platform that displays the button.

                        • textrequired — (String)

                          The text that appears on the button. Use this to tell the user what value is returned when they choose this button.

                        • valuerequired — (String)

                          The value returned to Amazon Lex when the user chooses this button. This must be one of the slot values configured for the slot.

                • allowInterrupt — (Boolean)

                  Indicates whether the user can interrupt a speech response from Amazon Lex.

            • defaultBranchrequired — (map)

              The conditional branch that should be followed when the conditions for other branches are not satisfied. A conditional branch is made up of a condition, a response and a next step.

              • nextStep — (map)

                The next step in the conversation.

                • dialogAction — (map)

                  Defines the action that the bot executes at runtime when the conversation reaches this step.

                  • typerequired — (String)

                    The action that the bot should execute.

                    Possible values include:
                    • "ElicitIntent"
                    • "StartIntent"
                    • "ElicitSlot"
                    • "EvaluateConditional"
                    • "InvokeDialogCodeHook"
                    • "ConfirmIntent"
                    • "FulfillIntent"
                    • "CloseIntent"
                    • "EndConversation"
                  • slotToElicit — (String)

                    If the dialog action is ElicitSlot, defines the slot to elicit from the user.

                  • suppressNextMessage — (Boolean)

                    When true the next message for the intent is not used.

                • intent — (map)

                  Override settings to configure the intent state.

                  • name — (String)

                    The name of the intent. Only required when you're switching intents.

                  • slots — (map<map>)

                    A map of all of the slot value overrides for the intent. The name of the slot maps to the value of the slot. Slots that are not included in the map aren't overridden.

                    • shape — (String)

                      When the shape value is List, it indicates that the values field contains a list of slot values. When the value is Scalar, it indicates that the value field contains a single value.

                      Possible values include:
                      • "Scalar"
                      • "List"
                    • value — (map)

                      The current value of the slot.

                      • interpretedValue — (String)

                        The value that Amazon Lex determines for the slot. The actual value depends on the setting of the value selection strategy for the bot. You can choose to use the value entered by the user, or you can have Amazon Lex choose the first value in the resolvedValues list.

                    • values — (Array<map>)

                      A list of one or more values that the user provided for the slot. For example, for a slot that elicits pizza toppings, the values might be "pepperoni" and "pineapple."

                • sessionAttributes — (map<String>)

                  Map of key/value pairs representing session-specific context information. It contains application information passed between Amazon Lex and a client application.

              • response — (map)

                Specifies a list of message groups that Amazon Lex uses to respond the user input.

                • messageGroupsrequired — (Array<map>)

                  A collection of responses that Amazon Lex can send to the user. Amazon Lex chooses the actual response to send at runtime.

                  • messagerequired — (map)

                    The primary message that Amazon Lex should send to the user.

                    • plainTextMessage — (map)

                      A message in plain text format.

                      • valuerequired — (String)

                        The message to send to the user.

                    • customPayload — (map)

                      A message in a custom format defined by the client application.

                      • valuerequired — (String)

                        The string that is sent to your application.

                    • ssmlMessage — (map)

                      A message in Speech Synthesis Markup Language (SSML).

                      • valuerequired — (String)

                        The SSML text that defines the prompt.

                    • imageResponseCard — (map)

                      A message that defines a response card that the client application can show to the user.

                      • titlerequired — (String)

                        The title to display on the response card. The format of the title is determined by the platform displaying the response card.

                      • subtitle — (String)

                        The subtitle to display on the response card. The format of the subtitle is determined by the platform displaying the response card.

                      • imageUrl — (String)

                        The URL of an image to display on the response card. The image URL must be publicly available so that the platform displaying the response card has access to the image.

                      • buttons — (Array<map>)

                        A list of buttons that should be displayed on the response card. The arrangement of the buttons is determined by the platform that displays the button.

                        • textrequired — (String)

                          The text that appears on the button. Use this to tell the user what value is returned when they choose this button.

                        • valuerequired — (String)

                          The value returned to Amazon Lex when the user chooses this button. This must be one of the slot values configured for the slot.

                  • variations — (Array<map>)

                    Message variations to send to the user. When variations are defined, Amazon Lex chooses the primary message or one of the variations to send to the user.

                    • plainTextMessage — (map)

                      A message in plain text format.

                      • valuerequired — (String)

                        The message to send to the user.

                    • customPayload — (map)

                      A message in a custom format defined by the client application.

                      • valuerequired — (String)

                        The string that is sent to your application.

                    • ssmlMessage — (map)

                      A message in Speech Synthesis Markup Language (SSML).

                      • valuerequired — (String)

                        The SSML text that defines the prompt.

                    • imageResponseCard — (map)

                      A message that defines a response card that the client application can show to the user.

                      • titlerequired — (String)

                        The title to display on the response card. The format of the title is determined by the platform displaying the response card.

                      • subtitle — (String)

                        The subtitle to display on the response card. The format of the subtitle is determined by the platform displaying the response card.

                      • imageUrl — (String)

                        The URL of an image to display on the response card. The image URL must be publicly available so that the platform displaying the response card has access to the image.

                      • buttons — (Array<map>)

                        A list of buttons that should be displayed on the response card. The arrangement of the buttons is determined by the platform that displays the button.

                        • textrequired — (String)

                          The text that appears on the button. Use this to tell the user what value is returned when they choose this button.

                        • valuerequired — (String)

                          The value returned to Amazon Lex when the user chooses this button. This must be one of the slot values configured for the slot.

                • allowInterrupt — (Boolean)

                  Indicates whether the user can interrupt a speech response from Amazon Lex.

          • timeoutResponse — (map)

            Specifies a list of message groups that Amazon Lex uses to respond the user input.

            • messageGroupsrequired — (Array<map>)

              A collection of responses that Amazon Lex can send to the user. Amazon Lex chooses the actual response to send at runtime.

              • messagerequired — (map)

                The primary message that Amazon Lex should send to the user.

                • plainTextMessage — (map)

                  A message in plain text format.

                  • valuerequired — (String)

                    The message to send to the user.

                • customPayload — (map)

                  A message in a custom format defined by the client application.

                  • valuerequired — (String)

                    The string that is sent to your application.

                • ssmlMessage — (map)

                  A message in Speech Synthesis Markup Language (SSML).

                  • valuerequired — (String)

                    The SSML text that defines the prompt.

                • imageResponseCard — (map)

                  A message that defines a response card that the client application can show to the user.

                  • titlerequired — (String)

                    The title to display on the response card. The format of the title is determined by the platform displaying the response card.

                  • subtitle — (String)

                    The subtitle to display on the response card. The format of the subtitle is determined by the platform displaying the response card.

                  • imageUrl — (String)

                    The URL of an image to display on the response card. The image URL must be publicly available so that the platform displaying the response card has access to the image.

                  • buttons — (Array<map>)

                    A list of buttons that should be displayed on the response card. The arrangement of the buttons is determined by the platform that displays the button.

                    • textrequired — (String)

                      The text that appears on the button. Use this to tell the user what value is returned when they choose this button.

                    • valuerequired — (String)

                      The value returned to Amazon Lex when the user chooses this button. This must be one of the slot values configured for the slot.

              • variations — (Array<map>)

                Message variations to send to the user. When variations are defined, Amazon Lex chooses the primary message or one of the variations to send to the user.

                • plainTextMessage — (map)

                  A message in plain text format.

                  • valuerequired — (String)

                    The message to send to the user.

                • customPayload — (map)

                  A message in a custom format defined by the client application.

                  • valuerequired — (String)

                    The string that is sent to your application.

                • ssmlMessage — (map)

                  A message in Speech Synthesis Markup Language (SSML).

                  • valuerequired — (String)

                    The SSML text that defines the prompt.

                • imageResponseCard — (map)

                  A message that defines a response card that the client application can show to the user.

                  • titlerequired — (String)

                    The title to display on the response card. The format of the title is determined by the platform displaying the response card.

                  • subtitle — (String)

                    The subtitle to display on the response card. The format of the subtitle is determined by the platform displaying the response card.

                  • imageUrl — (String)

                    The URL of an image to display on the response card. The image URL must be publicly available so that the platform displaying the response card has access to the image.

                  • buttons — (Array<map>)

                    A list of buttons that should be displayed on the response card. The arrangement of the buttons is determined by the platform that displays the button.

                    • textrequired — (String)

                      The text that appears on the button. Use this to tell the user what value is returned when they choose this button.

                    • valuerequired — (String)

                      The value returned to Amazon Lex when the user chooses this button. This must be one of the slot values configured for the slot.

            • allowInterrupt — (Boolean)

              Indicates whether the user can interrupt a speech response from Amazon Lex.

          • timeoutNextStep — (map)

            Specifies the next step that the bot runs when the code hook times out.

            • dialogAction — (map)

              Defines the action that the bot executes at runtime when the conversation reaches this step.

              • typerequired — (String)

                The action that the bot should execute.

                Possible values include:
                • "ElicitIntent"
                • "StartIntent"
                • "ElicitSlot"
                • "EvaluateConditional"
                • "InvokeDialogCodeHook"
                • "ConfirmIntent"
                • "FulfillIntent"
                • "CloseIntent"
                • "EndConversation"
              • slotToElicit — (String)

                If the dialog action is ElicitSlot, defines the slot to elicit from the user.

              • suppressNextMessage — (Boolean)

                When true the next message for the intent is not used.

            • intent — (map)

              Override settings to configure the intent state.

              • name — (String)

                The name of the intent. Only required when you're switching intents.

              • slots — (map<map>)

                A map of all of the slot value overrides for the intent. The name of the slot maps to the value of the slot. Slots that are not included in the map aren't overridden.

                • shape — (String)

                  When the shape value is List, it indicates that the values field contains a list of slot values. When the value is Scalar, it indicates that the value field contains a single value.

                  Possible values include:
                  • "Scalar"
                  • "List"
                • value — (map)

                  The current value of the slot.

                  • interpretedValue — (String)

                    The value that Amazon Lex determines for the slot. The actual value depends on the setting of the value selection strategy for the bot. You can choose to use the value entered by the user, or you can have Amazon Lex choose the first value in the resolvedValues list.

                • values — (Array<map>)

                  A list of one or more values that the user provided for the slot. For example, for a slot that elicits pizza toppings, the values might be "pepperoni" and "pineapple."

            • sessionAttributes — (map<String>)

              Map of key/value pairs representing session-specific context information. It contains application information passed between Amazon Lex and a client application.

          • timeoutConditional — (map)

            A list of conditional branches to evaluate if the code hook times out.

            • activerequired — (Boolean)

              Determines whether a conditional branch is active. When active is false, the conditions are not evaluated.

            • conditionalBranchesrequired — (Array<map>)

              A list of conditional branches. A conditional branch is made up of a condition, a response and a next step. The response and next step are executed when the condition is true.

              • namerequired — (String)

                The name of the branch.

              • conditionrequired — (map)

                Contains the expression to evaluate. If the condition is true, the branch's actions are taken.

                • expressionStringrequired — (String)

                  The expression string that is evaluated.

              • nextSteprequired — (map)

                The next step in the conversation.

                • dialogAction — (map)

                  Defines the action that the bot executes at runtime when the conversation reaches this step.

                  • typerequired — (String)

                    The action that the bot should execute.

                    Possible values include:
                    • "ElicitIntent"
                    • "StartIntent"
                    • "ElicitSlot"
                    • "EvaluateConditional"
                    • "InvokeDialogCodeHook"
                    • "ConfirmIntent"
                    • "FulfillIntent"
                    • "CloseIntent"
                    • "EndConversation"
                  • slotToElicit — (String)

                    If the dialog action is ElicitSlot, defines the slot to elicit from the user.

                  • suppressNextMessage — (Boolean)

                    When true the next message for the intent is not used.

                • intent — (map)

                  Override settings to configure the intent state.

                  • name — (String)

                    The name of the intent. Only required when you're switching intents.

                  • slots — (map<map>)

                    A map of all of the slot value overrides for the intent. The name of the slot maps to the value of the slot. Slots that are not included in the map aren't overridden.

                    • shape — (String)

                      When the shape value is List, it indicates that the values field contains a list of slot values. When the value is Scalar, it indicates that the value field contains a single value.

                      Possible values include:
                      • "Scalar"
                      • "List"
                    • value — (map)

                      The current value of the slot.

                      • interpretedValue — (String)

                        The value that Amazon Lex determines for the slot. The actual value depends on the setting of the value selection strategy for the bot. You can choose to use the value entered by the user, or you can have Amazon Lex choose the first value in the resolvedValues list.

                    • values — (Array<map>)

                      A list of one or more values that the user provided for the slot. For example, for a slot that elicits pizza toppings, the values might be "pepperoni" and "pineapple."

                • sessionAttributes — (map<String>)

                  Map of key/value pairs representing session-specific context information. It contains application information passed between Amazon Lex and a client application.

              • response — (map)

                Specifies a list of message groups that Amazon Lex uses to respond the user input.

                • messageGroupsrequired — (Array<map>)

                  A collection of responses that Amazon Lex can send to the user. Amazon Lex chooses the actual response to send at runtime.

                  • messagerequired — (map)

                    The primary message that Amazon Lex should send to the user.

                    • plainTextMessage — (map)

                      A message in plain text format.

                      • valuerequired — (String)

                        The message to send to the user.

                    • customPayload — (map)

                      A message in a custom format defined by the client application.

                      • valuerequired — (String)

                        The string that is sent to your application.

                    • ssmlMessage — (map)

                      A message in Speech Synthesis Markup Language (SSML).

                      • valuerequired — (String)

                        The SSML text that defines the prompt.

                    • imageResponseCard — (map)

                      A message that defines a response card that the client application can show to the user.

                      • titlerequired — (String)

                        The title to display on the response card. The format of the title is determined by the platform displaying the response card.

                      • subtitle — (String)

                        The subtitle to display on the response card. The format of the subtitle is determined by the platform displaying the response card.

                      • imageUrl — (String)

                        The URL of an image to display on the response card. The image URL must be publicly available so that the platform displaying the response card has access to the image.

                      • buttons — (Array<map>)

                        A list of buttons that should be displayed on the response card. The arrangement of the buttons is determined by the platform that displays the button.

                        • textrequired — (String)

                          The text that appears on the button. Use this to tell the user what value is returned when they choose this button.

                        • valuerequired — (String)

                          The value returned to Amazon Lex when the user chooses this button. This must be one of the slot values configured for the slot.

                  • variations — (Array<map>)

                    Message variations to send to the user. When variations are defined, Amazon Lex chooses the primary message or one of the variations to send to the user.

                    • plainTextMessage — (map)

                      A message in plain text format.

                      • valuerequired — (String)

                        The message to send to the user.

                    • customPayload — (map)

                      A message in a custom format defined by the client application.

                      • valuerequired — (String)

                        The string that is sent to your application.

                    • ssmlMessage — (map)

                      A message in Speech Synthesis Markup Language (SSML).

                      • valuerequired — (String)

                        The SSML text that defines the prompt.

                    • imageResponseCard — (map)

                      A message that defines a response card that the client application can show to the user.

                      • titlerequired — (String)

                        The title to display on the response card. The format of the title is determined by the platform displaying the response card.

                      • subtitle — (String)

                        The subtitle to display on the response card. The format of the subtitle is determined by the platform displaying the response card.

                      • imageUrl — (String)

                        The URL of an image to display on the response card. The image URL must be publicly available so that the platform displaying the response card has access to the image.

                      • buttons — (Array<map>)

                        A list of buttons that should be displayed on the response card. The arrangement of the buttons is determined by the platform that displays the button.

                        • textrequired — (String)

                          The text that appears on the button. Use this to tell the user what value is returned when they choose this button.

                        • valuerequired — (String)

                          The value returned to Amazon Lex when the user chooses this button. This must be one of the slot values configured for the slot.

                • allowInterrupt — (Boolean)

                  Indicates whether the user can interrupt a speech response from Amazon Lex.

            • defaultBranchrequired — (map)

              The conditional branch that should be followed when the conditions for other branches are not satisfied. A conditional branch is made up of a condition, a response and a next step.

              • nextStep — (map)

                The next step in the conversation.

                • dialogAction — (map)

                  Defines the action that the bot executes at runtime when the conversation reaches this step.

                  • typerequired — (String)

                    The action that the bot should execute.

                    Possible values include:
                    • "ElicitIntent"
                    • "StartIntent"
                    • "ElicitSlot"
                    • "EvaluateConditional"
                    • "InvokeDialogCodeHook"
                    • "ConfirmIntent"
                    • "FulfillIntent"
                    • "CloseIntent"
                    • "EndConversation"
                  • slotToElicit — (String)

                    If the dialog action is ElicitSlot, defines the slot to elicit from the user.

                  • suppressNextMessage — (Boolean)

                    When true the next message for the intent is not used.

                • intent — (map)

                  Override settings to configure the intent state.

                  • name — (String)

                    The name of the intent. Only required when you're switching intents.

                  • slots — (map<map>)

                    A map of all of the slot value overrides for the intent. The name of the slot maps to the value of the slot. Slots that are not included in the map aren't overridden.

                    • shape — (String)

                      When the shape value is List, it indicates that the values field contains a list of slot values. When the value is Scalar, it indicates that the value field contains a single value.

                      Possible values include:
                      • "Scalar"
                      • "List"
                    • value — (map)

                      The current value of the slot.

                      • interpretedValue — (String)

                        The value that Amazon Lex determines for the slot. The actual value depends on the setting of the value selection strategy for the bot. You can choose to use the value entered by the user, or you can have Amazon Lex choose the first value in the resolvedValues list.

                    • values — (Array<map>)

                      A list of one or more values that the user provided for the slot. For example, for a slot that elicits pizza toppings, the values might be "pepperoni" and "pineapple."

                • sessionAttributes — (map<String>)

                  Map of key/value pairs representing session-specific context information. It contains application information passed between Amazon Lex and a client application.

              • response — (map)

                Specifies a list of message groups that Amazon Lex uses to respond the user input.

                • messageGroupsrequired — (Array<map>)

                  A collection of responses that Amazon Lex can send to the user. Amazon Lex chooses the actual response to send at runtime.

                  • messagerequired — (map)

                    The primary message that Amazon Lex should send to the user.

                    • plainTextMessage — (map)

                      A message in plain text format.

                      • valuerequired — (String)

                        The message to send to the user.

                    • customPayload — (map)

                      A message in a custom format defined by the client application.

                      • valuerequired — (String)

                        The string that is sent to your application.

                    • ssmlMessage — (map)

                      A message in Speech Synthesis Markup Language (SSML).

                      • valuerequired — (String)

                        The SSML text that defines the prompt.

                    • imageResponseCard — (map)

                      A message that defines a response card that the client application can show to the user.

                      • titlerequired — (String)

                        The title to display on the response card. The format of the title is determined by the platform displaying the response card.

                      • subtitle — (String)

                        The subtitle to display on the response card. The format of the subtitle is determined by the platform displaying the response card.

                      • imageUrl — (String)

                        The URL of an image to display on the response card. The image URL must be publicly available so that the platform displaying the response card has access to the image.

                      • buttons — (Array<map>)

                        A list of buttons that should be displayed on the response card. The arrangement of the buttons is determined by the platform that displays the button.

                        • textrequired — (String)

                          The text that appears on the button. Use this to tell the user what value is returned when they choose this button.

                        • valuerequired — (String)

                          The value returned to Amazon Lex when the user chooses this button. This must be one of the slot values configured for the slot.

                  • variations — (Array<map>)

                    Message variations to send to the user. When variations are defined, Amazon Lex chooses the primary message or one of the variations to send to the user.

                    • plainTextMessage — (map)

                      A message in plain text format.

                      • valuerequired — (String)

                        The message to send to the user.

                    • customPayload — (map)

                      A message in a custom format defined by the client application.

                      • valuerequired — (String)

                        The string that is sent to your application.

                    • ssmlMessage — (map)

                      A message in Speech Synthesis Markup Language (SSML).

                      • valuerequired — (String)

                        The SSML text that defines the prompt.

                    • imageResponseCard — (map)

                      A message that defines a response card that the client application can show to the user.

                      • titlerequired — (String)

                        The title to display on the response card. The format of the title is determined by the platform displaying the response card.

                      • subtitle — (String)

                        The subtitle to display on the response card. The format of the subtitle is determined by the platform displaying the response card.

                      • imageUrl — (String)

                        The URL of an image to display on the response card. The image URL must be publicly available so that the platform displaying the response card has access to the image.

                      • buttons — (Array<map>)

                        A list of buttons that should be displayed on the response card. The arrangement of the buttons is determined by the platform that displays the button.

                        • textrequired — (String)

                          The text that appears on the button. Use this to tell the user what value is returned when they choose this button.

                        • valuerequired — (String)

                          The value returned to Amazon Lex when the user chooses this button. This must be one of the slot values configured for the slot.

                • allowInterrupt — (Boolean)

                  Indicates whether the user can interrupt a speech response from Amazon Lex.

    • qnAIntentConfiguration — (map)

      Specifies the configuration of the built-in Amazon.QnAIntent. The AMAZON.QnAIntent intent is called when Amazon Lex can't determine another intent to invoke. If you specify this field, you can't specify the kendraConfiguration field.

      • dataSourceConfiguration — (map)

        Contains details about the configuration of the data source used for the AMAZON.QnAIntent.

        • opensearchConfiguration — (map)

          Contains details about the configuration of the Amazon OpenSearch Service database used for the AMAZON.QnAIntent. To create a domain, follow the steps at Creating and managing Amazon OpenSearch Service domains.

          • domainEndpointrequired — (String)

            The endpoint of the Amazon OpenSearch Service domain.

          • indexNamerequired — (String)

            The name of the Amazon OpenSearch Service index.

          • exactResponse — (Boolean)

            Specifies whether to return an exact response or to return an answer generated by the model using the fields you specify from the database.

          • exactResponseFields — (map)

            Contains the names of the fields used for an exact response to the user.

            • questionFieldrequired — (String)

              The name of the field that contains the query made to the OpenSearch Service database.

            • answerFieldrequired — (String)

              The name of the field that contains the answer to the query made to the OpenSearch Service database.

          • includeFields — (Array<String>)

            Contains a list of fields from the Amazon OpenSearch Service that the model can use to generate the answer to the query.

        • kendraConfiguration — (map)

          Contains details about the configuration of the Amazon Kendra index used for the AMAZON.QnAIntent. To create a Amazon Kendra index, follow the steps at Creating an index.

          • kendraIndexrequired — (String)

            The ARN of the Amazon Kendra index to use.

          • queryFilterStringEnabled — (Boolean)

            Specifies whether to enable an Amazon Kendra filter string or not.

          • queryFilterString — (String)

            Contains the Amazon Kendra filter string to use if enabled. For more information on the Amazon Kendra search filter JSON format, see Using document attributes to filter search results.

          • exactResponse — (Boolean)

            Specifies whether to return an exact response from the Amazon Kendra index or to let the Amazon Bedrock model you select generate a response based on the results. To use this feature, you must first add FAQ questions to your index by following the steps at Adding frequently asked questions (FAQs) to an index.

        • bedrockKnowledgeStoreConfiguration — (map)

          Contains details about the configuration of the Amazon Bedrock knowledge base used for the AMAZON.QnAIntent. To set up a knowledge base, follow the steps at Building a knowledge base.

          • bedrockKnowledgeBaseArnrequired — (String)

            The base ARN of the knowledge base used.

          • exactResponse — (Boolean)

            Specifies whether to return an exact response, or to return an answer generated by the model, using the fields you specify from the database.

          • exactResponseFields — (map)

            Contains the names of the fields used for an exact response to the user.

            • answerField — (String)

              The answer field used for an exact response from Bedrock Knowledge Store.

      • bedrockModelConfiguration — (map)

        Contains information about the Amazon Bedrock model used to interpret the prompt used in descriptive bot building.

        • modelArnrequired — (String)

          The ARN of the foundation model used in descriptive bot building.

        • guardrail — (map)

          The guardrail configuration in the Bedrock model specification details.

          • identifierrequired — (String)

            The unique guardrail id for the Bedrock guardrail configuration.

          • versionrequired — (String)

            The guardrail version for the Bedrock guardrail configuration.

        • traceStatus — (String)

          The Bedrock trace status in the Bedrock model specification details.

          Possible values include:
          • "ENABLED"
          • "DISABLED"
        • customPrompt — (String)

          The custom prompt used in the Bedrock model specification details.

Callback (callback):

  • function(err, data) { ... }

    Called when a response from the service is returned. If a callback is not supplied, you must call AWS.Request.send() on the returned request object to initiate the request.

    Context (this):

    • (AWS.Response)

      the response object containing error, data properties, and the original request object.

    Parameters:

    • err (Error)

      the error object returned from the request. Set to null if the request is successful.

    • data (Object)

      the de-serialized data returned from the request. Set to null if a request error occurs. The data object has the following properties:

      • intentId — (String)

        A unique identifier for the intent.

      • intentName — (String)

        The name specified for the intent.

      • description — (String)

        The description specified for the intent.

      • parentIntentSignature — (String)

        The signature of the parent intent specified for the intent.

      • sampleUtterances — (Array<map>)

        The sample utterances specified for the intent.

        • utterancerequired — (String)

          The sample utterance that Amazon Lex uses to build its machine-learning model to recognize intents.

      • dialogCodeHook — (map)

        The dialog Lambda function specified for the intent.

        • enabledrequired — (Boolean)

          Enables the dialog code hook so that it processes user requests.

      • fulfillmentCodeHook — (map)

        The fulfillment Lambda function specified for the intent.

        • enabledrequired — (Boolean)

          Indicates whether a Lambda function should be invoked to fulfill a specific intent.

        • postFulfillmentStatusSpecification — (map)

          Provides settings for messages sent to the user for after the Lambda fulfillment function completes. Post-fulfillment messages can be sent for both streaming and non-streaming conversations.

          • successResponse — (map)

            Specifies a list of message groups that Amazon Lex uses to respond the user input.

            • messageGroupsrequired — (Array<map>)

              A collection of responses that Amazon Lex can send to the user. Amazon Lex chooses the actual response to send at runtime.

              • messagerequired — (map)

                The primary message that Amazon Lex should send to the user.

                • plainTextMessage — (map)

                  A message in plain text format.

                  • valuerequired — (String)

                    The message to send to the user.

                • customPayload — (map)

                  A message in a custom format defined by the client application.

                  • valuerequired — (String)

                    The string that is sent to your application.

                • ssmlMessage — (map)

                  A message in Speech Synthesis Markup Language (SSML).

                  • valuerequired — (String)

                    The SSML text that defines the prompt.

                • imageResponseCard — (map)

                  A message that defines a response card that the client application can show to the user.

                  • titlerequired — (String)

                    The title to display on the response card. The format of the title is determined by the platform displaying the response card.

                  • subtitle — (String)

                    The subtitle to display on the response card. The format of the subtitle is determined by the platform displaying the response card.

                  • imageUrl — (String)

                    The URL of an image to display on the response card. The image URL must be publicly available so that the platform displaying the response card has access to the image.

                  • buttons — (Array<map>)

                    A list of buttons that should be displayed on the response card. The arrangement of the buttons is determined by the platform that displays the button.

                    • textrequired — (String)

                      The text that appears on the button. Use this to tell the user what value is returned when they choose this button.

                    • valuerequired — (String)

                      The value returned to Amazon Lex when the user chooses this button. This must be one of the slot values configured for the slot.

              • variations — (Array<map>)

                Message variations to send to the user. When variations are defined, Amazon Lex chooses the primary message or one of the variations to send to the user.

                • plainTextMessage — (map)

                  A message in plain text format.

                  • valuerequired — (String)

                    The message to send to the user.

                • customPayload — (map)

                  A message in a custom format defined by the client application.

                  • valuerequired — (String)

                    The string that is sent to your application.

                • ssmlMessage — (map)

                  A message in Speech Synthesis Markup Language (SSML).

                  • valuerequired — (String)

                    The SSML text that defines the prompt.

                • imageResponseCard — (map)

                  A message that defines a response card that the client application can show to the user.

                  • titlerequired — (String)

                    The title to display on the response card. The format of the title is determined by the platform displaying the response card.

                  • subtitle — (String)

                    The subtitle to display on the response card. The format of the subtitle is determined by the platform displaying the response card.

                  • imageUrl — (String)

                    The URL of an image to display on the response card. The image URL must be publicly available so that the platform displaying the response card has access to the image.

                  • buttons — (Array<map>)

                    A list of buttons that should be displayed on the response card. The arrangement of the buttons is determined by the platform that displays the button.

                    • textrequired — (String)

                      The text that appears on the button. Use this to tell the user what value is returned when they choose this button.

                    • valuerequired — (String)

                      The value returned to Amazon Lex when the user chooses this button. This must be one of the slot values configured for the slot.

            • allowInterrupt — (Boolean)

              Indicates whether the user can interrupt a speech response from Amazon Lex.

          • failureResponse — (map)

            Specifies a list of message groups that Amazon Lex uses to respond the user input.

            • messageGroupsrequired — (Array<map>)

              A collection of responses that Amazon Lex can send to the user. Amazon Lex chooses the actual response to send at runtime.

              • messagerequired — (map)

                The primary message that Amazon Lex should send to the user.

                • plainTextMessage — (map)

                  A message in plain text format.

                  • valuerequired — (String)

                    The message to send to the user.

                • customPayload — (map)

                  A message in a custom format defined by the client application.

                  • valuerequired — (String)

                    The string that is sent to your application.

                • ssmlMessage — (map)

                  A message in Speech Synthesis Markup Language (SSML).

                  • valuerequired — (String)

                    The SSML text that defines the prompt.

                • imageResponseCard — (map)

                  A message that defines a response card that the client application can show to the user.

                  • titlerequired — (String)

                    The title to display on the response card. The format of the title is determined by the platform displaying the response card.

                  • subtitle — (String)

                    The subtitle to display on the response card. The format of the subtitle is determined by the platform displaying the response card.

                  • imageUrl — (String)

                    The URL of an image to display on the response card. The image URL must be publicly available so that the platform displaying the response card has access to the image.

                  • buttons — (Array<map>)

                    A list of buttons that should be displayed on the response card. The arrangement of the buttons is determined by the platform that displays the button.

                    • textrequired — (String)

                      The text that appears on the button. Use this to tell the user what value is returned when they choose this button.

                    • valuerequired — (String)

                      The value returned to Amazon Lex when the user chooses this button. This must be one of the slot values configured for the slot.

              • variations — (Array<map>)

                Message variations to send to the user. When variations are defined, Amazon Lex chooses the primary message or one of the variations to send to the user.

                • plainTextMessage — (map)

                  A message in plain text format.

                  • valuerequired — (String)

                    The message to send to the user.

                • customPayload — (map)

                  A message in a custom format defined by the client application.

                  • valuerequired — (String)

                    The string that is sent to your application.

                • ssmlMessage — (map)

                  A message in Speech Synthesis Markup Language (SSML).

                  • valuerequired — (String)

                    The SSML text that defines the prompt.

                • imageResponseCard — (map)

                  A message that defines a response card that the client application can show to the user.

                  • titlerequired — (String)

                    The title to display on the response card. The format of the title is determined by the platform displaying the response card.

                  • subtitle — (String)

                    The subtitle to display on the response card. The format of the subtitle is determined by the platform displaying the response card.

                  • imageUrl — (String)

                    The URL of an image to display on the response card. The image URL must be publicly available so that the platform displaying the response card has access to the image.

                  • buttons — (Array<map>)

                    A list of buttons that should be displayed on the response card. The arrangement of the buttons is determined by the platform that displays the button.

                    • textrequired — (String)

                      The text that appears on the button. Use this to tell the user what value is returned when they choose this button.

                    • valuerequired — (String)

                      The value returned to Amazon Lex when the user chooses this button. This must be one of the slot values configured for the slot.

            • allowInterrupt — (Boolean)

              Indicates whether the user can interrupt a speech response from Amazon Lex.

          • timeoutResponse — (map)

            Specifies a list of message groups that Amazon Lex uses to respond the user input.

            • messageGroupsrequired — (Array<map>)

              A collection of responses that Amazon Lex can send to the user. Amazon Lex chooses the actual response to send at runtime.

              • messagerequired — (map)

                The primary message that Amazon Lex should send to the user.

                • plainTextMessage — (map)

                  A message in plain text format.

                  • valuerequired — (String)

                    The message to send to the user.

                • customPayload — (map)

                  A message in a custom format defined by the client application.

                  • valuerequired — (String)

                    The string that is sent to your application.

                • ssmlMessage — (map)

                  A message in Speech Synthesis Markup Language (SSML).

                  • valuerequired — (String)

                    The SSML text that defines the prompt.

                • imageResponseCard — (map)

                  A message that defines a response card that the client application can show to the user.

                  • titlerequired — (String)

                    The title to display on the response card. The format of the title is determined by the platform displaying the response card.

                  • subtitle — (String)

                    The subtitle to display on the response card. The format of the subtitle is determined by the platform displaying the response card.

                  • imageUrl — (String)

                    The URL of an image to display on the response card. The image URL must be publicly available so that the platform displaying the response card has access to the image.

                  • buttons — (Array<map>)

                    A list of buttons that should be displayed on the response card. The arrangement of the buttons is determined by the platform that displays the button.

                    • textrequired — (String)

                      The text that appears on the button. Use this to tell the user what value is returned when they choose this button.

                    • valuerequired — (String)

                      The value returned to Amazon Lex when the user chooses this button. This must be one of the slot values configured for the slot.

              • variations — (Array<map>)

                Message variations to send to the user. When variations are defined, Amazon Lex chooses the primary message or one of the variations to send to the user.

                • plainTextMessage — (map)

                  A message in plain text format.

                  • valuerequired — (String)

                    The message to send to the user.

                • customPayload — (map)

                  A message in a custom format defined by the client application.

                  • valuerequired — (String)

                    The string that is sent to your application.

                • ssmlMessage — (map)

                  A message in Speech Synthesis Markup Language (SSML).

                  • valuerequired — (String)

                    The SSML text that defines the prompt.

                • imageResponseCard — (map)

                  A message that defines a response card that the client application can show to the user.

                  • titlerequired — (String)

                    The title to display on the response card. The format of the title is determined by the platform displaying the response card.

                  • subtitle — (String)

                    The subtitle to display on the response card. The format of the subtitle is determined by the platform displaying the response card.

                  • imageUrl — (String)

                    The URL of an image to display on the response card. The image URL must be publicly available so that the platform displaying the response card has access to the image.

                  • buttons — (Array<map>)

                    A list of buttons that should be displayed on the response card. The arrangement of the buttons is determined by the platform that displays the button.

                    • textrequired — (String)

                      The text that appears on the button. Use this to tell the user what value is returned when they choose this button.

                    • valuerequired — (String)

                      The value returned to Amazon Lex when the user chooses this button. This must be one of the slot values configured for the slot.

            • allowInterrupt — (Boolean)

              Indicates whether the user can interrupt a speech response from Amazon Lex.

          • successNextStep — (map)

            Specifies the next step in the conversation that Amazon Lex invokes when the fulfillment code hook completes successfully.

            • dialogAction — (map)

              Defines the action that the bot executes at runtime when the conversation reaches this step.

              • typerequired — (String)

                The action that the bot should execute.

                Possible values include:
                • "ElicitIntent"
                • "StartIntent"
                • "ElicitSlot"
                • "EvaluateConditional"
                • "InvokeDialogCodeHook"
                • "ConfirmIntent"
                • "FulfillIntent"
                • "CloseIntent"
                • "EndConversation"
              • slotToElicit — (String)

                If the dialog action is ElicitSlot, defines the slot to elicit from the user.

              • suppressNextMessage — (Boolean)

                When true the next message for the intent is not used.

            • intent — (map)

              Override settings to configure the intent state.

              • name — (String)

                The name of the intent. Only required when you're switching intents.

              • slots — (map<map>)

                A map of all of the slot value overrides for the intent. The name of the slot maps to the value of the slot. Slots that are not included in the map aren't overridden.

                • shape — (String)

                  When the shape value is List, it indicates that the values field contains a list of slot values. When the value is Scalar, it indicates that the value field contains a single value.

                  Possible values include:
                  • "Scalar"
                  • "List"
                • value — (map)

                  The current value of the slot.

                  • interpretedValue — (String)

                    The value that Amazon Lex determines for the slot. The actual value depends on the setting of the value selection strategy for the bot. You can choose to use the value entered by the user, or you can have Amazon Lex choose the first value in the resolvedValues list.

                • values — (Array<map>)

                  A list of one or more values that the user provided for the slot. For example, for a slot that elicits pizza toppings, the values might be "pepperoni" and "pineapple."

            • sessionAttributes — (map<String>)

              Map of key/value pairs representing session-specific context information. It contains application information passed between Amazon Lex and a client application.

          • successConditional — (map)

            A list of conditional branches to evaluate after the fulfillment code hook finishes successfully.

            • activerequired — (Boolean)

              Determines whether a conditional branch is active. When active is false, the conditions are not evaluated.

            • conditionalBranchesrequired — (Array<map>)

              A list of conditional branches. A conditional branch is made up of a condition, a response and a next step. The response and next step are executed when the condition is true.

              • namerequired — (String)

                The name of the branch.

              • conditionrequired — (map)

                Contains the expression to evaluate. If the condition is true, the branch's actions are taken.

                • expressionStringrequired — (String)

                  The expression string that is evaluated.

              • nextSteprequired — (map)

                The next step in the conversation.

                • dialogAction — (map)

                  Defines the action that the bot executes at runtime when the conversation reaches this step.

                  • typerequired — (String)

                    The action that the bot should execute.

                    Possible values include:
                    • "ElicitIntent"
                    • "StartIntent"
                    • "ElicitSlot"
                    • "EvaluateConditional"
                    • "InvokeDialogCodeHook"
                    • "ConfirmIntent"
                    • "FulfillIntent"
                    • "CloseIntent"
                    • "EndConversation"
                  • slotToElicit — (String)

                    If the dialog action is ElicitSlot, defines the slot to elicit from the user.

                  • suppressNextMessage — (Boolean)

                    When true the next message for the intent is not used.

                • intent — (map)

                  Override settings to configure the intent state.

                  • name — (String)

                    The name of the intent. Only required when you're switching intents.

                  • slots — (map<map>)

                    A map of all of the slot value overrides for the intent. The name of the slot maps to the value of the slot. Slots that are not included in the map aren't overridden.

                    • shape — (String)

                      When the shape value is List, it indicates that the values field contains a list of slot values. When the value is Scalar, it indicates that the value field contains a single value.

                      Possible values include:
                      • "Scalar"
                      • "List"
                    • value — (map)

                      The current value of the slot.

                      • interpretedValue — (String)

                        The value that Amazon Lex determines for the slot. The actual value depends on the setting of the value selection strategy for the bot. You can choose to use the value entered by the user, or you can have Amazon Lex choose the first value in the resolvedValues list.

                    • values — (Array<map>)

                      A list of one or more values that the user provided for the slot. For example, for a slot that elicits pizza toppings, the values might be "pepperoni" and "pineapple."

                • sessionAttributes — (map<String>)

                  Map of key/value pairs representing session-specific context information. It contains application information passed between Amazon Lex and a client application.

              • response — (map)

                Specifies a list of message groups that Amazon Lex uses to respond the user input.

                • messageGroupsrequired — (Array<map>)

                  A collection of responses that Amazon Lex can send to the user. Amazon Lex chooses the actual response to send at runtime.

                  • messagerequired — (map)

                    The primary message that Amazon Lex should send to the user.

                    • plainTextMessage — (map)

                      A message in plain text format.

                      • valuerequired — (String)

                        The message to send to the user.

                    • customPayload — (map)

                      A message in a custom format defined by the client application.

                      • valuerequired — (String)

                        The string that is sent to your application.

                    • ssmlMessage — (map)

                      A message in Speech Synthesis Markup Language (SSML).

                      • valuerequired — (String)

                        The SSML text that defines the prompt.

                    • imageResponseCard — (map)

                      A message that defines a response card that the client application can show to the user.

                      • titlerequired — (String)

                        The title to display on the response card. The format of the title is determined by the platform displaying the response card.

                      • subtitle — (String)

                        The subtitle to display on the response card. The format of the subtitle is determined by the platform displaying the response card.

                      • imageUrl — (String)

                        The URL of an image to display on the response card. The image URL must be publicly available so that the platform displaying the response card has access to the image.

                      • buttons — (Array<map>)

                        A list of buttons that should be displayed on the response card. The arrangement of the buttons is determined by the platform that displays the button.

                        • textrequired — (String)

                          The text that appears on the button. Use this to tell the user what value is returned when they choose this button.

                        • valuerequired — (String)

                          The value returned to Amazon Lex when the user chooses this button. This must be one of the slot values configured for the slot.

                  • variations — (Array<map>)

                    Message variations to send to the user. When variations are defined, Amazon Lex chooses the primary message or one of the variations to send to the user.

                    • plainTextMessage — (map)

                      A message in plain text format.

                      • valuerequired — (String)

                        The message to send to the user.

                    • customPayload — (map)

                      A message in a custom format defined by the client application.

                      • valuerequired — (String)

                        The string that is sent to your application.

                    • ssmlMessage — (map)

                      A message in Speech Synthesis Markup Language (SSML).

                      • valuerequired — (String)

                        The SSML text that defines the prompt.

                    • imageResponseCard — (map)

                      A message that defines a response card that the client application can show to the user.

                      • titlerequired — (String)

                        The title to display on the response card. The format of the title is determined by the platform displaying the response card.

                      • subtitle — (String)

                        The subtitle to display on the response card. The format of the subtitle is determined by the platform displaying the response card.

                      • imageUrl — (String)

                        The URL of an image to display on the response card. The image URL must be publicly available so that the platform displaying the response card has access to the image.

                      • buttons — (Array<map>)

                        A list of buttons that should be displayed on the response card. The arrangement of the buttons is determined by the platform that displays the button.

                        • textrequired — (String)

                          The text that appears on the button. Use this to tell the user what value is returned when they choose this button.

                        • valuerequired — (String)

                          The value returned to Amazon Lex when the user chooses this button. This must be one of the slot values configured for the slot.

                • allowInterrupt — (Boolean)

                  Indicates whether the user can interrupt a speech response from Amazon Lex.

            • defaultBranchrequired — (map)

              The conditional branch that should be followed when the conditions for other branches are not satisfied. A conditional branch is made up of a condition, a response and a next step.

              • nextStep — (map)

                The next step in the conversation.

                • dialogAction — (map)

                  Defines the action that the bot executes at runtime when the conversation reaches this step.

                  • typerequired — (String)

                    The action that the bot should execute.

                    Possible values include:
                    • "ElicitIntent"
                    • "StartIntent"
                    • "ElicitSlot"
                    • "EvaluateConditional"
                    • "InvokeDialogCodeHook"
                    • "ConfirmIntent"
                    • "FulfillIntent"
                    • "CloseIntent"
                    • "EndConversation"
                  • slotToElicit — (String)

                    If the dialog action is ElicitSlot, defines the slot to elicit from the user.

                  • suppressNextMessage — (Boolean)

                    When true the next message for the intent is not used.

                • intent — (map)

                  Override settings to configure the intent state.

                  • name — (String)

                    The name of the intent. Only required when you're switching intents.

                  • slots — (map<map>)

                    A map of all of the slot value overrides for the intent. The name of the slot maps to the value of the slot. Slots that are not included in the map aren't overridden.

                    • shape — (String)

                      When the shape value is List, it indicates that the values field contains a list of slot values. When the value is Scalar, it indicates that the value field contains a single value.

                      Possible values include:
                      • "Scalar"
                      • "List"
                    • value — (map)

                      The current value of the slot.

                      • interpretedValue — (String)

                        The value that Amazon Lex determines for the slot. The actual value depends on the setting of the value selection strategy for the bot. You can choose to use the value entered by the user, or you can have Amazon Lex choose the first value in the resolvedValues list.

                    • values — (Array<map>)

                      A list of one or more values that the user provided for the slot. For example, for a slot that elicits pizza toppings, the values might be "pepperoni" and "pineapple."

                • sessionAttributes — (map<String>)

                  Map of key/value pairs representing session-specific context information. It contains application information passed between Amazon Lex and a client application.

              • response — (map)

                Specifies a list of message groups that Amazon Lex uses to respond the user input.

                • messageGroupsrequired — (Array<map>)

                  A collection of responses that Amazon Lex can send to the user. Amazon Lex chooses the actual response to send at runtime.

                  • messagerequired — (map)

                    The primary message that Amazon Lex should send to the user.

                    • plainTextMessage — (map)

                      A message in plain text format.

                      • valuerequired — (String)

                        The message to send to the user.

                    • customPayload — (map)

                      A message in a custom format defined by the client application.

                      • valuerequired — (String)

                        The string that is sent to your application.

                    • ssmlMessage — (map)

                      A message in Speech Synthesis Markup Language (SSML).

                      • valuerequired — (String)

                        The SSML text that defines the prompt.

                    • imageResponseCard — (map)

                      A message that defines a response card that the client application can show to the user.

                      • titlerequired — (String)

                        The title to display on the response card. The format of the title is determined by the platform displaying the response card.

                      • subtitle — (String)

                        The subtitle to display on the response card. The format of the subtitle is determined by the platform displaying the response card.

                      • imageUrl — (String)

                        The URL of an image to display on the response card. The image URL must be publicly available so that the platform displaying the response card has access to the image.

                      • buttons — (Array<map>)

                        A list of buttons that should be displayed on the response card. The arrangement of the buttons is determined by the platform that displays the button.

                        • textrequired — (String)

                          The text that appears on the button. Use this to tell the user what value is returned when they choose this button.

                        • valuerequired — (String)

                          The value returned to Amazon Lex when the user chooses this button. This must be one of the slot values configured for the slot.

                  • variations — (Array<map>)

                    Message variations to send to the user. When variations are defined, Amazon Lex chooses the primary message or one of the variations to send to the user.

                    • plainTextMessage — (map)

                      A message in plain text format.

                      • valuerequired — (String)

                        The message to send to the user.

                    • customPayload — (map)

                      A message in a custom format defined by the client application.

                      • valuerequired — (String)

                        The string that is sent to your application.

                    • ssmlMessage — (map)

                      A message in Speech Synthesis Markup Language (SSML).

                      • valuerequired — (String)

                        The SSML text that defines the prompt.

                    • imageResponseCard — (map)

                      A message that defines a response card that the client application can show to the user.

                      • titlerequired — (String)

                        The title to display on the response card. The format of the title is determined by the platform displaying the response card.

                      • subtitle — (String)

                        The subtitle to display on the response card. The format of the subtitle is determined by the platform displaying the response card.

                      • imageUrl — (String)

                        The URL of an image to display on the response card. The image URL must be publicly available so that the platform displaying the response card has access to the image.

                      • buttons — (Array<map>)

                        A list of buttons that should be displayed on the response card. The arrangement of the buttons is determined by the platform that displays the button.

                        • textrequired — (String)

                          The text that appears on the button. Use this to tell the user what value is returned when they choose this button.

                        • valuerequired — (String)

                          The value returned to Amazon Lex when the user chooses this button. This must be one of the slot values configured for the slot.

                • allowInterrupt — (Boolean)

                  Indicates whether the user can interrupt a speech response from Amazon Lex.

          • failureNextStep — (map)

            Specifies the next step the bot runs after the fulfillment code hook throws an exception or returns with the State field of the Intent object set to Failed.

            • dialogAction — (map)

              Defines the action that the bot executes at runtime when the conversation reaches this step.

              • typerequired — (String)

                The action that the bot should execute.

                Possible values include:
                • "ElicitIntent"
                • "StartIntent"
                • "ElicitSlot"
                • "EvaluateConditional"
                • "InvokeDialogCodeHook"
                • "ConfirmIntent"
                • "FulfillIntent"
                • "CloseIntent"
                • "EndConversation"
              • slotToElicit — (String)

                If the dialog action is ElicitSlot, defines the slot to elicit from the user.

              • suppressNextMessage — (Boolean)

                When true the next message for the intent is not used.

            • intent — (map)

              Override settings to configure the intent state.

              • name — (String)

                The name of the intent. Only required when you're switching intents.

              • slots — (map<map>)

                A map of all of the slot value overrides for the intent. The name of the slot maps to the value of the slot. Slots that are not included in the map aren't overridden.

                • shape — (String)

                  When the shape value is List, it indicates that the values field contains a list of slot values. When the value is Scalar, it indicates that the value field contains a single value.

                  Possible values include:
                  • "Scalar"
                  • "List"
                • value — (map)

                  The current value of the slot.

                  • interpretedValue — (String)

                    The value that Amazon Lex determines for the slot. The actual value depends on the setting of the value selection strategy for the bot. You can choose to use the value entered by the user, or you can have Amazon Lex choose the first value in the resolvedValues list.

                • values — (Array<map>)

                  A list of one or more values that the user provided for the slot. For example, for a slot that elicits pizza toppings, the values might be "pepperoni" and "pineapple."

            • sessionAttributes — (map<String>)

              Map of key/value pairs representing session-specific context information. It contains application information passed between Amazon Lex and a client application.

          • failureConditional — (map)

            A list of conditional branches to evaluate after the fulfillment code hook throws an exception or returns with the State field of the Intent object set to Failed.

            • activerequired — (Boolean)

              Determines whether a conditional branch is active. When active is false, the conditions are not evaluated.

            • conditionalBranchesrequired — (Array<map>)

              A list of conditional branches. A conditional branch is made up of a condition, a response and a next step. The response and next step are executed when the condition is true.

              • namerequired — (String)

                The name of the branch.

              • conditionrequired — (map)

                Contains the expression to evaluate. If the condition is true, the branch's actions are taken.

                • expressionStringrequired — (String)

                  The expression string that is evaluated.

              • nextSteprequired — (map)

                The next step in the conversation.

                • dialogAction — (map)

                  Defines the action that the bot executes at runtime when the conversation reaches this step.

                  • typerequired — (String)

                    The action that the bot should execute.

                    Possible values include:
                    • "ElicitIntent"
                    • "StartIntent"
                    • "ElicitSlot"
                    • "EvaluateConditional"
                    • "InvokeDialogCodeHook"
                    • "ConfirmIntent"
                    • "FulfillIntent"
                    • "CloseIntent"
                    • "EndConversation"
                  • slotToElicit — (String)

                    If the dialog action is ElicitSlot, defines the slot to elicit from the user.

                  • suppressNextMessage — (Boolean)

                    When true the next message for the intent is not used.

                • intent — (map)

                  Override settings to configure the intent state.

                  • name — (String)

                    The name of the intent. Only required when you're switching intents.

                  • slots — (map<map>)

                    A map of all of the slot value overrides for the intent. The name of the slot maps to the value of the slot. Slots that are not included in the map aren't overridden.

                    • shape — (String)

                      When the shape value is List, it indicates that the values field contains a list of slot values. When the value is Scalar, it indicates that the value field contains a single value.

                      Possible values include:
                      • "Scalar"
                      • "List"
                    • value — (map)

                      The current value of the slot.

                      • interpretedValue — (String)

                        The value that Amazon Lex determines for the slot. The actual value depends on the setting of the value selection strategy for the bot. You can choose to use the value entered by the user, or you can have Amazon Lex choose the first value in the resolvedValues list.

                    • values — (Array<map>)

                      A list of one or more values that the user provided for the slot. For example, for a slot that elicits pizza toppings, the values might be "pepperoni" and "pineapple."

                • sessionAttributes — (map<String>)

                  Map of key/value pairs representing session-specific context information. It contains application information passed between Amazon Lex and a client application.

              • response — (map)

                Specifies a list of message groups that Amazon Lex uses to respond the user input.

                • messageGroupsrequired — (Array<map>)

                  A collection of responses that Amazon Lex can send to the user. Amazon Lex chooses the actual response to send at runtime.

                  • messagerequired — (map)

                    The primary message that Amazon Lex should send to the user.

                    • plainTextMessage — (map)

                      A message in plain text format.

                      • valuerequired — (String)

                        The message to send to the user.

                    • customPayload — (map)

                      A message in a custom format defined by the client application.

                      • valuerequired — (String)

                        The string that is sent to your application.

                    • ssmlMessage — (map)

                      A message in Speech Synthesis Markup Language (SSML).

                      • valuerequired — (String)

                        The SSML text that defines the prompt.

                    • imageResponseCard — (map)

                      A message that defines a response card that the client application can show to the user.

                      • titlerequired — (String)

                        The title to display on the response card. The format of the title is determined by the platform displaying the response card.

                      • subtitle — (String)

                        The subtitle to display on the response card. The format of the subtitle is determined by the platform displaying the response card.

                      • imageUrl — (String)

                        The URL of an image to display on the response card. The image URL must be publicly available so that the platform displaying the response card has access to the image.

                      • buttons — (Array<map>)

                        A list of buttons that should be displayed on the response card. The arrangement of the buttons is determined by the platform that displays the button.

                        • textrequired — (String)

                          The text that appears on the button. Use this to tell the user what value is returned when they choose this button.

                        • valuerequired — (String)

                          The value returned to Amazon Lex when the user chooses this button. This must be one of the slot values configured for the slot.

                  • variations — (Array<map>)

                    Message variations to send to the user. When variations are defined, Amazon Lex chooses the primary message or one of the variations to send to the user.

                    • plainTextMessage — (map)

                      A message in plain text format.

                      • valuerequired — (String)

                        The message to send to the user.

                    • customPayload — (map)

                      A message in a custom format defined by the client application.

                      • valuerequired — (String)

                        The string that is sent to your application.

                    • ssmlMessage — (map)

                      A message in Speech Synthesis Markup Language (SSML).

                      • valuerequired — (String)

                        The SSML text that defines the prompt.

                    • imageResponseCard — (map)

                      A message that defines a response card that the client application can show to the user.

                      • titlerequired — (String)

                        The title to display on the response card. The format of the title is determined by the platform displaying the response card.

                      • subtitle — (String)

                        The subtitle to display on the response card. The format of the subtitle is determined by the platform displaying the response card.

                      • imageUrl — (String)

                        The URL of an image to display on the response card. The image URL must be publicly available so that the platform displaying the response card has access to the image.

                      • buttons — (Array<map>)

                        A list of buttons that should be displayed on the response card. The arrangement of the buttons is determined by the platform that displays the button.

                        • textrequired — (String)

                          The text that appears on the button. Use this to tell the user what value is returned when they choose this button.

                        • valuerequired — (String)

                          The value returned to Amazon Lex when the user chooses this button. This must be one of the slot values configured for the slot.

                • allowInterrupt — (Boolean)

                  Indicates whether the user can interrupt a speech response from Amazon Lex.

            • defaultBranchrequired — (map)

              The conditional branch that should be followed when the conditions for other branches are not satisfied. A conditional branch is made up of a condition, a response and a next step.

              • nextStep — (map)

                The next step in the conversation.

                • dialogAction — (map)

                  Defines the action that the bot executes at runtime when the conversation reaches this step.

                  • typerequired — (String)

                    The action that the bot should execute.

                    Possible values include:
                    • "ElicitIntent"
                    • "StartIntent"
                    • "ElicitSlot"
                    • "EvaluateConditional"
                    • "InvokeDialogCodeHook"
                    • "ConfirmIntent"
                    • "FulfillIntent"
                    • "CloseIntent"
                    • "EndConversation"
                  • slotToElicit — (String)

                    If the dialog action is ElicitSlot, defines the slot to elicit from the user.

                  • suppressNextMessage — (Boolean)

                    When true the next message for the intent is not used.

                • intent — (map)

                  Override settings to configure the intent state.

                  • name — (String)

                    The name of the intent. Only required when you're switching intents.

                  • slots — (map<map>)

                    A map of all of the slot value overrides for the intent. The name of the slot maps to the value of the slot. Slots that are not included in the map aren't overridden.

                    • shape — (String)

                      When the shape value is List, it indicates that the values field contains a list of slot values. When the value is Scalar, it indicates that the value field contains a single value.

                      Possible values include:
                      • "Scalar"
                      • "List"
                    • value — (map)

                      The current value of the slot.

                      • interpretedValue — (String)

                        The value that Amazon Lex determines for the slot. The actual value depends on the setting of the value selection strategy for the bot. You can choose to use the value entered by the user, or you can have Amazon Lex choose the first value in the resolvedValues list.

                    • values — (Array<map>)

                      A list of one or more values that the user provided for the slot. For example, for a slot that elicits pizza toppings, the values might be "pepperoni" and "pineapple."

                • sessionAttributes — (map<String>)

                  Map of key/value pairs representing session-specific context information. It contains application information passed between Amazon Lex and a client application.

              • response — (map)

                Specifies a list of message groups that Amazon Lex uses to respond the user input.

                • messageGroupsrequired — (Array<map>)

                  A collection of responses that Amazon Lex can send to the user. Amazon Lex chooses the actual response to send at runtime.

                  • messagerequired — (map)

                    The primary message that Amazon Lex should send to the user.

                    • plainTextMessage — (map)

                      A message in plain text format.

                      • valuerequired — (String)

                        The message to send to the user.

                    • customPayload — (map)

                      A message in a custom format defined by the client application.

                      • valuerequired — (String)

                        The string that is sent to your application.

                    • ssmlMessage — (map)

                      A message in Speech Synthesis Markup Language (SSML).

                      • valuerequired — (String)

                        The SSML text that defines the prompt.

                    • imageResponseCard — (map)

                      A message that defines a response card that the client application can show to the user.

                      • titlerequired — (String)

                        The title to display on the response card. The format of the title is determined by the platform displaying the response card.

                      • subtitle — (String)

                        The subtitle to display on the response card. The format of the subtitle is determined by the platform displaying the response card.

                      • imageUrl — (String)

                        The URL of an image to display on the response card. The image URL must be publicly available so that the platform displaying the response card has access to the image.

                      • buttons — (Array<map>)

                        A list of buttons that should be displayed on the response card. The arrangement of the buttons is determined by the platform that displays the button.

                        • textrequired — (String)

                          The text that appears on the button. Use this to tell the user what value is returned when they choose this button.

                        • valuerequired — (String)

                          The value returned to Amazon Lex when the user chooses this button. This must be one of the slot values configured for the slot.

                  • variations — (Array<map>)

                    Message variations to send to the user. When variations are defined, Amazon Lex chooses the primary message or one of the variations to send to the user.

                    • plainTextMessage — (map)

                      A message in plain text format.

                      • valuerequired — (String)

                        The message to send to the user.

                    • customPayload — (map)

                      A message in a custom format defined by the client application.

                      • valuerequired — (String)

                        The string that is sent to your application.

                    • ssmlMessage — (map)

                      A message in Speech Synthesis Markup Language (SSML).

                      • valuerequired — (String)

                        The SSML text that defines the prompt.

                    • imageResponseCard — (map)

                      A message that defines a response card that the client application can show to the user.

                      • titlerequired — (String)

                        The title to display on the response card. The format of the title is determined by the platform displaying the response card.

                      • subtitle — (String)

                        The subtitle to display on the response card. The format of the subtitle is determined by the platform displaying the response card.

                      • imageUrl — (String)

                        The URL of an image to display on the response card. The image URL must be publicly available so that the platform displaying the response card has access to the image.

                      • buttons — (Array<map>)

                        A list of buttons that should be displayed on the response card. The arrangement of the buttons is determined by the platform that displays the button.

                        • textrequired — (String)

                          The text that appears on the button. Use this to tell the user what value is returned when they choose this button.

                        • valuerequired — (String)

                          The value returned to Amazon Lex when the user chooses this button. This must be one of the slot values configured for the slot.

                • allowInterrupt — (Boolean)

                  Indicates whether the user can interrupt a speech response from Amazon Lex.

          • timeoutNextStep — (map)

            Specifies the next step that the bot runs when the fulfillment code hook times out.

            • dialogAction — (map)

              Defines the action that the bot executes at runtime when the conversation reaches this step.

              • typerequired — (String)

                The action that the bot should execute.

                Possible values include:
                • "ElicitIntent"
                • "StartIntent"
                • "ElicitSlot"
                • "EvaluateConditional"
                • "InvokeDialogCodeHook"
                • "ConfirmIntent"
                • "FulfillIntent"
                • "CloseIntent"
                • "EndConversation"
              • slotToElicit — (String)

                If the dialog action is ElicitSlot, defines the slot to elicit from the user.

              • suppressNextMessage — (Boolean)

                When true the next message for the intent is not used.

            • intent — (map)

              Override settings to configure the intent state.

              • name — (String)

                The name of the intent. Only required when you're switching intents.

              • slots — (map<map>)

                A map of all of the slot value overrides for the intent. The name of the slot maps to the value of the slot. Slots that are not included in the map aren't overridden.

                • shape — (String)

                  When the shape value is List, it indicates that the values field contains a list of slot values. When the value is Scalar, it indicates that the value field contains a single value.

                  Possible values include:
                  • "Scalar"
                  • "List"
                • value — (map)

                  The current value of the slot.

                  • interpretedValue — (String)

                    The value that Amazon Lex determines for the slot. The actual value depends on the setting of the value selection strategy for the bot. You can choose to use the value entered by the user, or you can have Amazon Lex choose the first value in the resolvedValues list.

                • values — (Array<map>)

                  A list of one or more values that the user provided for the slot. For example, for a slot that elicits pizza toppings, the values might be "pepperoni" and "pineapple."

            • sessionAttributes — (map<String>)

              Map of key/value pairs representing session-specific context information. It contains application information passed between Amazon Lex and a client application.

          • timeoutConditional — (map)

            A list of conditional branches to evaluate if the fulfillment code hook times out.

            • activerequired — (Boolean)

              Determines whether a conditional branch is active. When active is false, the conditions are not evaluated.

            • conditionalBranchesrequired — (Array<map>)

              A list of conditional branches. A conditional branch is made up of a condition, a response and a next step. The response and next step are executed when the condition is true.

              • namerequired — (String)

                The name of the branch.

              • conditionrequired — (map)

                Contains the expression to evaluate. If the condition is true, the branch's actions are taken.

                • expressionStringrequired — (String)

                  The expression string that is evaluated.

              • nextSteprequired — (map)

                The next step in the conversation.

                • dialogAction — (map)

                  Defines the action that the bot executes at runtime when the conversation reaches this step.

                  • typerequired — (String)

                    The action that the bot should execute.

                    Possible values include:
                    • "ElicitIntent"
                    • "StartIntent"
                    • "ElicitSlot"
                    • "EvaluateConditional"
                    • "InvokeDialogCodeHook"
                    • "ConfirmIntent"
                    • "FulfillIntent"
                    • "CloseIntent"
                    • "EndConversation"
                  • slotToElicit — (String)

                    If the dialog action is ElicitSlot, defines the slot to elicit from the user.

                  • suppressNextMessage — (Boolean)

                    When true the next message for the intent is not used.

                • intent — (map)

                  Override settings to configure the intent state.

                  • name — (String)

                    The name of the intent. Only required when you're switching intents.

                  • slots — (map<map>)

                    A map of all of the slot value overrides for the intent. The name of the slot maps to the value of the slot. Slots that are not included in the map aren't overridden.

                    • shape — (String)

                      When the shape value is List, it indicates that the values field contains a list of slot values. When the value is Scalar, it indicates that the value field contains a single value.

                      Possible values include:
                      • "Scalar"
                      • "List"
                    • value — (map)

                      The current value of the slot.

                      • interpretedValue — (String)

                        The value that Amazon Lex determines for the slot. The actual value depends on the setting of the value selection strategy for the bot. You can choose to use the value entered by the user, or you can have Amazon Lex choose the first value in the resolvedValues list.

                    • values — (Array<map>)

                      A list of one or more values that the user provided for the slot. For example, for a slot that elicits pizza toppings, the values might be "pepperoni" and "pineapple."

                • sessionAttributes — (map<String>)

                  Map of key/value pairs representing session-specific context information. It contains application information passed between Amazon Lex and a client application.

              • response — (map)

                Specifies a list of message groups that Amazon Lex uses to respond the user input.

                • messageGroupsrequired — (Array<map>)

                  A collection of responses that Amazon Lex can send to the user. Amazon Lex chooses the actual response to send at runtime.

                  • messagerequired — (map)

                    The primary message that Amazon Lex should send to the user.

                    • plainTextMessage — (map)

                      A message in plain text format.

                      • valuerequired — (String)

                        The message to send to the user.

                    • customPayload — (map)

                      A message in a custom format defined by the client application.

                      • valuerequired — (String)

                        The string that is sent to your application.

                    • ssmlMessage — (map)

                      A message in Speech Synthesis Markup Language (SSML).

                      • valuerequired — (String)

                        The SSML text that defines the prompt.

                    • imageResponseCard — (map)

                      A message that defines a response card that the client application can show to the user.

                      • titlerequired — (String)

                        The title to display on the response card. The format of the title is determined by the platform displaying the response card.

                      • subtitle — (String)

                        The subtitle to display on the response card. The format of the subtitle is determined by the platform displaying the response card.

                      • imageUrl — (String)

                        The URL of an image to display on the response card. The image URL must be publicly available so that the platform displaying the response card has access to the image.

                      • buttons — (Array<map>)

                        A list of buttons that should be displayed on the response card. The arrangement of the buttons is determined by the platform that displays the button.

                        • textrequired — (String)

                          The text that appears on the button. Use this to tell the user what value is returned when they choose this button.

                        • valuerequired — (String)

                          The value returned to Amazon Lex when the user chooses this button. This must be one of the slot values configured for the slot.

                  • variations — (Array<map>)

                    Message variations to send to the user. When variations are defined, Amazon Lex chooses the primary message or one of the variations to send to the user.

                    • plainTextMessage — (map)

                      A message in plain text format.

                      • valuerequired — (String)

                        The message to send to the user.

                    • customPayload — (map)

                      A message in a custom format defined by the client application.

                      • valuerequired — (String)

                        The string that is sent to your application.

                    • ssmlMessage — (map)

                      A message in Speech Synthesis Markup Language (SSML).

                      • valuerequired — (String)

                        The SSML text that defines the prompt.

                    • imageResponseCard — (map)

                      A message that defines a response card that the client application can show to the user.

                      • titlerequired — (String)

                        The title to display on the response card. The format of the title is determined by the platform displaying the response card.

                      • subtitle — (String)

                        The subtitle to display on the response card. The format of the subtitle is determined by the platform displaying the response card.

                      • imageUrl — (String)

                        The URL of an image to display on the response card. The image URL must be publicly available so that the platform displaying the response card has access to the image.

                      • buttons — (Array<map>)

                        A list of buttons that should be displayed on the response card. The arrangement of the buttons is determined by the platform that displays the button.

                        • textrequired — (String)

                          The text that appears on the button. Use this to tell the user what value is returned when they choose this button.

                        • valuerequired — (String)

                          The value returned to Amazon Lex when the user chooses this button. This must be one of the slot values configured for the slot.

                • allowInterrupt — (Boolean)

                  Indicates whether the user can interrupt a speech response from Amazon Lex.

            • defaultBranchrequired — (map)

              The conditional branch that should be followed when the conditions for other branches are not satisfied. A conditional branch is made up of a condition, a response and a next step.

              • nextStep — (map)

                The next step in the conversation.

                • dialogAction — (map)

                  Defines the action that the bot executes at runtime when the conversation reaches this step.

                  • typerequired — (String)

                    The action that the bot should execute.

                    Possible values include:
                    • "ElicitIntent"
                    • "StartIntent"
                    • "ElicitSlot"
                    • "EvaluateConditional"
                    • "InvokeDialogCodeHook"
                    • "ConfirmIntent"
                    • "FulfillIntent"
                    • "CloseIntent"
                    • "EndConversation"
                  • slotToElicit — (String)

                    If the dialog action is ElicitSlot, defines the slot to elicit from the user.

                  • suppressNextMessage — (Boolean)

                    When true the next message for the intent is not used.

                • intent — (map)

                  Override settings to configure the intent state.

                  • name — (String)

                    The name of the intent. Only required when you're switching intents.

                  • slots — (map<map>)

                    A map of all of the slot value overrides for the intent. The name of the slot maps to the value of the slot. Slots that are not included in the map aren't overridden.

                    • shape — (String)

                      When the shape value is List, it indicates that the values field contains a list of slot values. When the value is Scalar, it indicates that the value field contains a single value.

                      Possible values include:
                      • "Scalar"
                      • "List"
                    • value — (map)

                      The current value of the slot.

                      • interpretedValue — (String)

                        The value that Amazon Lex determines for the slot. The actual value depends on the setting of the value selection strategy for the bot. You can choose to use the value entered by the user, or you can have Amazon Lex choose the first value in the resolvedValues list.

                    • values — (Array<map>)

                      A list of one or more values that the user provided for the slot. For example, for a slot that elicits pizza toppings, the values might be "pepperoni" and "pineapple."

                • sessionAttributes — (map<String>)

                  Map of key/value pairs representing session-specific context information. It contains application information passed between Amazon Lex and a client application.

              • response — (map)

                Specifies a list of message groups that Amazon Lex uses to respond the user input.

                • messageGroupsrequired — (Array<map>)

                  A collection of responses that Amazon Lex can send to the user. Amazon Lex chooses the actual response to send at runtime.

                  • messagerequired — (map)

                    The primary message that Amazon Lex should send to the user.

                    • plainTextMessage — (map)

                      A message in plain text format.

                      • valuerequired — (String)

                        The message to send to the user.

                    • customPayload — (map)

                      A message in a custom format defined by the client application.

                      • valuerequired — (String)

                        The string that is sent to your application.

                    • ssmlMessage — (map)

                      A message in Speech Synthesis Markup Language (SSML).

                      • valuerequired — (String)

                        The SSML text that defines the prompt.

                    • imageResponseCard — (map)

                      A message that defines a response card that the client application can show to the user.

                      • titlerequired — (String)

                        The title to display on the response card. The format of the title is determined by the platform displaying the response card.

                      • subtitle — (String)

                        The subtitle to display on the response card. The format of the subtitle is determined by the platform displaying the response card.

                      • imageUrl — (String)

                        The URL of an image to display on the response card. The image URL must be publicly available so that the platform displaying the response card has access to the image.

                      • buttons — (Array<map>)

                        A list of buttons that should be displayed on the response card. The arrangement of the buttons is determined by the platform that displays the button.

                        • textrequired — (String)

                          The text that appears on the button. Use this to tell the user what value is returned when they choose this button.

                        • valuerequired — (String)

                          The value returned to Amazon Lex when the user chooses this button. This must be one of the slot values configured for the slot.

                  • variations — (Array<map>)

                    Message variations to send to the user. When variations are defined, Amazon Lex chooses the primary message or one of the variations to send to the user.

                    • plainTextMessage — (map)

                      A message in plain text format.

                      • valuerequired — (String)

                        The message to send to the user.

                    • customPayload — (map)

                      A message in a custom format defined by the client application.

                      • valuerequired — (String)

                        The string that is sent to your application.

                    • ssmlMessage — (map)

                      A message in Speech Synthesis Markup Language (SSML).

                      • valuerequired — (String)

                        The SSML text that defines the prompt.

                    • imageResponseCard — (map)

                      A message that defines a response card that the client application can show to the user.

                      • titlerequired — (String)

                        The title to display on the response card. The format of the title is determined by the platform displaying the response card.

                      • subtitle — (String)

                        The subtitle to display on the response card. The format of the subtitle is determined by the platform displaying the response card.

                      • imageUrl — (String)

                        The URL of an image to display on the response card. The image URL must be publicly available so that the platform displaying the response card has access to the image.

                      • buttons — (Array<map>)

                        A list of buttons that should be displayed on the response card. The arrangement of the buttons is determined by the platform that displays the button.

                        • textrequired — (String)

                          The text that appears on the button. Use this to tell the user what value is returned when they choose this button.

                        • valuerequired — (String)

                          The value returned to Amazon Lex when the user chooses this button. This must be one of the slot values configured for the slot.

                • allowInterrupt — (Boolean)

                  Indicates whether the user can interrupt a speech response from Amazon Lex.

        • fulfillmentUpdatesSpecification — (map)

          Provides settings for update messages sent to the user for long-running Lambda fulfillment functions. Fulfillment updates can be used only with streaming conversations.

          • activerequired — (Boolean)

            Determines whether fulfillment updates are sent to the user. When this field is true, updates are sent.

            If the active field is set to true, the startResponse, updateResponse, and timeoutInSeconds fields are required.

          • startResponse — (map)

            Provides configuration information for the message sent to users when the fulfillment Lambda functions starts running.

            • delayInSecondsrequired — (Integer)

              The delay between when the Lambda fulfillment function starts running and the start message is played. If the Lambda function returns before the delay is over, the start message isn't played.

            • messageGroupsrequired — (Array<map>)

              1 - 5 message groups that contain start messages. Amazon Lex chooses one of the messages to play to the user.

              • messagerequired — (map)

                The primary message that Amazon Lex should send to the user.

                • plainTextMessage — (map)

                  A message in plain text format.

                  • valuerequired — (String)

                    The message to send to the user.

                • customPayload — (map)

                  A message in a custom format defined by the client application.

                  • valuerequired — (String)

                    The string that is sent to your application.

                • ssmlMessage — (map)

                  A message in Speech Synthesis Markup Language (SSML).

                  • valuerequired — (String)

                    The SSML text that defines the prompt.

                • imageResponseCard — (map)

                  A message that defines a response card that the client application can show to the user.

                  • titlerequired — (String)

                    The title to display on the response card. The format of the title is determined by the platform displaying the response card.

                  • subtitle — (String)

                    The subtitle to display on the response card. The format of the subtitle is determined by the platform displaying the response card.

                  • imageUrl — (String)

                    The URL of an image to display on the response card. The image URL must be publicly available so that the platform displaying the response card has access to the image.

                  • buttons — (Array<map>)

                    A list of buttons that should be displayed on the response card. The arrangement of the buttons is determined by the platform that displays the button.

                    • textrequired — (String)

                      The text that appears on the button. Use this to tell the user what value is returned when they choose this button.

                    • valuerequired — (String)

                      The value returned to Amazon Lex when the user chooses this button. This must be one of the slot values configured for the slot.

              • variations — (Array<map>)

                Message variations to send to the user. When variations are defined, Amazon Lex chooses the primary message or one of the variations to send to the user.

                • plainTextMessage — (map)

                  A message in plain text format.

                  • valuerequired — (String)

                    The message to send to the user.

                • customPayload — (map)

                  A message in a custom format defined by the client application.

                  • valuerequired — (String)

                    The string that is sent to your application.

                • ssmlMessage — (map)

                  A message in Speech Synthesis Markup Language (SSML).

                  • valuerequired — (String)

                    The SSML text that defines the prompt.

                • imageResponseCard — (map)

                  A message that defines a response card that the client application can show to the user.

                  • titlerequired — (String)

                    The title to display on the response card. The format of the title is determined by the platform displaying the response card.

                  • subtitle — (String)

                    The subtitle to display on the response card. The format of the subtitle is determined by the platform displaying the response card.

                  • imageUrl — (String)

                    The URL of an image to display on the response card. The image URL must be publicly available so that the platform displaying the response card has access to the image.

                  • buttons — (Array<map>)

                    A list of buttons that should be displayed on the response card. The arrangement of the buttons is determined by the platform that displays the button.

                    • textrequired — (String)

                      The text that appears on the button. Use this to tell the user what value is returned when they choose this button.

                    • valuerequired — (String)

                      The value returned to Amazon Lex when the user chooses this button. This must be one of the slot values configured for the slot.

            • allowInterrupt — (Boolean)

              Determines whether the user can interrupt the start message while it is playing.

          • updateResponse — (map)

            Provides configuration information for messages sent periodically to the user while the fulfillment Lambda function is running.

            • frequencyInSecondsrequired — (Integer)

              The frequency that a message is sent to the user. When the period ends, Amazon Lex chooses a message from the message groups and plays it to the user. If the fulfillment Lambda returns before the first period ends, an update message is not played to the user.

            • messageGroupsrequired — (Array<map>)

              1 - 5 message groups that contain update messages. Amazon Lex chooses one of the messages to play to the user.

              • messagerequired — (map)

                The primary message that Amazon Lex should send to the user.

                • plainTextMessage — (map)

                  A message in plain text format.

                  • valuerequired — (String)

                    The message to send to the user.

                • customPayload — (map)

                  A message in a custom format defined by the client application.

                  • valuerequired — (String)

                    The string that is sent to your application.

                • ssmlMessage — (map)

                  A message in Speech Synthesis Markup Language (SSML).

                  • valuerequired — (String)

                    The SSML text that defines the prompt.

                • imageResponseCard — (map)

                  A message that defines a response card that the client application can show to the user.

                  • titlerequired — (String)

                    The title to display on the response card. The format of the title is determined by the platform displaying the response card.

                  • subtitle — (String)

                    The subtitle to display on the response card. The format of the subtitle is determined by the platform displaying the response card.

                  • imageUrl — (String)

                    The URL of an image to display on the response card. The image URL must be publicly available so that the platform displaying the response card has access to the image.

                  • buttons — (Array<map>)

                    A list of buttons that should be displayed on the response card. The arrangement of the buttons is determined by the platform that displays the button.

                    • textrequired — (String)

                      The text that appears on the button. Use this to tell the user what value is returned when they choose this button.

                    • valuerequired — (String)

                      The value returned to Amazon Lex when the user chooses this button. This must be one of the slot values configured for the slot.

              • variations — (Array<map>)

                Message variations to send to the user. When variations are defined, Amazon Lex chooses the primary message or one of the variations to send to the user.

                • plainTextMessage — (map)

                  A message in plain text format.

                  • valuerequired — (String)

                    The message to send to the user.

                • customPayload — (map)

                  A message in a custom format defined by the client application.

                  • valuerequired — (String)

                    The string that is sent to your application.

                • ssmlMessage — (map)

                  A message in Speech Synthesis Markup Language (SSML).

                  • valuerequired — (String)

                    The SSML text that defines the prompt.

                • imageResponseCard — (map)

                  A message that defines a response card that the client application can show to the user.

                  • titlerequired — (String)

                    The title to display on the response card. The format of the title is determined by the platform displaying the response card.

                  • subtitle — (String)

                    The subtitle to display on the response card. The format of the subtitle is determined by the platform displaying the response card.

                  • imageUrl — (String)

                    The URL of an image to display on the response card. The image URL must be publicly available so that the platform displaying the response card has access to the image.

                  • buttons — (Array<map>)

                    A list of buttons that should be displayed on the response card. The arrangement of the buttons is determined by the platform that displays the button.

                    • textrequired — (String)

                      The text that appears on the button. Use this to tell the user what value is returned when they choose this button.

                    • valuerequired — (String)

                      The value returned to Amazon Lex when the user chooses this button. This must be one of the slot values configured for the slot.

            • allowInterrupt — (Boolean)

              Determines whether the user can interrupt an update message while it is playing.

          • timeoutInSeconds — (Integer)

            The length of time that the fulfillment Lambda function should run before it times out.

        • active — (Boolean)

          Determines whether the fulfillment code hook is used. When active is false, the code hook doesn't run.

      • intentConfirmationSetting — (map)

        The confirmation setting specified for the intent.

        • promptSpecificationrequired — (map)

          Prompts the user to confirm the intent. This question should have a yes or no answer.

          Amazon Lex uses this prompt to ensure that the user acknowledges that the intent is ready for fulfillment. For example, with the OrderPizza intent, you might want to confirm that the order is correct before placing it. For other intents, such as intents that simply respond to user questions, you might not need to ask the user for confirmation before providing the information.

          • messageGroupsrequired — (Array<map>)

            A collection of messages that Amazon Lex can send to the user. Amazon Lex chooses the actual message to send at runtime.

            • messagerequired — (map)

              The primary message that Amazon Lex should send to the user.

              • plainTextMessage — (map)

                A message in plain text format.

                • valuerequired — (String)

                  The message to send to the user.

              • customPayload — (map)

                A message in a custom format defined by the client application.

                • valuerequired — (String)

                  The string that is sent to your application.

              • ssmlMessage — (map)

                A message in Speech Synthesis Markup Language (SSML).

                • valuerequired — (String)

                  The SSML text that defines the prompt.

              • imageResponseCard — (map)

                A message that defines a response card that the client application can show to the user.

                • titlerequired — (String)

                  The title to display on the response card. The format of the title is determined by the platform displaying the response card.

                • subtitle — (String)

                  The subtitle to display on the response card. The format of the subtitle is determined by the platform displaying the response card.

                • imageUrl — (String)

                  The URL of an image to display on the response card. The image URL must be publicly available so that the platform displaying the response card has access to the image.

                • buttons — (Array<map>)

                  A list of buttons that should be displayed on the response card. The arrangement of the buttons is determined by the platform that displays the button.

                  • textrequired — (String)

                    The text that appears on the button. Use this to tell the user what value is returned when they choose this button.

                  • valuerequired — (String)

                    The value returned to Amazon Lex when the user chooses this button. This must be one of the slot values configured for the slot.

            • variations — (Array<map>)

              Message variations to send to the user. When variations are defined, Amazon Lex chooses the primary message or one of the variations to send to the user.

              • plainTextMessage — (map)

                A message in plain text format.

                • valuerequired — (String)

                  The message to send to the user.

              • customPayload — (map)

                A message in a custom format defined by the client application.

                • valuerequired — (String)

                  The string that is sent to your application.

              • ssmlMessage — (map)

                A message in Speech Synthesis Markup Language (SSML).

                • valuerequired — (String)

                  The SSML text that defines the prompt.

              • imageResponseCard — (map)

                A message that defines a response card that the client application can show to the user.

                • titlerequired — (String)

                  The title to display on the response card. The format of the title is determined by the platform displaying the response card.

                • subtitle — (String)

                  The subtitle to display on the response card. The format of the subtitle is determined by the platform displaying the response card.

                • imageUrl — (String)

                  The URL of an image to display on the response card. The image URL must be publicly available so that the platform displaying the response card has access to the image.

                • buttons — (Array<map>)

                  A list of buttons that should be displayed on the response card. The arrangement of the buttons is determined by the platform that displays the button.

                  • textrequired — (String)

                    The text that appears on the button. Use this to tell the user what value is returned when they choose this button.

                  • valuerequired — (String)

                    The value returned to Amazon Lex when the user chooses this button. This must be one of the slot values configured for the slot.

          • maxRetriesrequired — (Integer)

            The maximum number of times the bot tries to elicit a response from the user using this prompt.

          • allowInterrupt — (Boolean)

            Indicates whether the user can interrupt a speech prompt from the bot.

          • messageSelectionStrategy — (String)

            Indicates how a message is selected from a message group among retries.

            Possible values include:
            • "Random"
            • "Ordered"
          • promptAttemptsSpecification — (map<map>)

            Specifies the advanced settings on each attempt of the prompt.

            • allowInterrupt — (Boolean)

              Indicates whether the user can interrupt a speech prompt attempt from the bot.

            • allowedInputTypesrequired — (map)

              Indicates the allowed input types of the prompt attempt.

              • allowAudioInputrequired — (Boolean)

                Indicates whether audio input is allowed.

              • allowDTMFInputrequired — (Boolean)

                Indicates whether DTMF input is allowed.

            • audioAndDTMFInputSpecification — (map)

              Specifies the settings on audio and DTMF input.

              • startTimeoutMsrequired — (Integer)

                Time for which a bot waits before assuming that the customer isn't going to speak or press a key. This timeout is shared between Audio and DTMF inputs.

              • audioSpecification — (map)

                Specifies the settings on audio input.

                • maxLengthMsrequired — (Integer)

                  Time for how long Amazon Lex waits before speech input is truncated and the speech is returned to application.

                • endTimeoutMsrequired — (Integer)

                  Time for which a bot waits after the customer stops speaking to assume the utterance is finished.

              • dtmfSpecification — (map)

                Specifies the settings on DTMF input.

                • maxLengthrequired — (Integer)

                  The maximum number of DTMF digits allowed in an utterance.

                • endTimeoutMsrequired — (Integer)

                  How long the bot should wait after the last DTMF character input before assuming that the input has concluded.

                • deletionCharacterrequired — (String)

                  The DTMF character that clears the accumulated DTMF digits and immediately ends the input.

                • endCharacterrequired — (String)

                  The DTMF character that immediately ends input. If the user does not press this character, the input ends after the end timeout.

            • textInputSpecification — (map)

              Specifies the settings on text input.

              • startTimeoutMsrequired — (Integer)

                Time for which a bot waits before re-prompting a customer for text input.

        • declinationResponse — (map)

          When the user answers "no" to the question defined in promptSpecification, Amazon Lex responds with this response to acknowledge that the intent was canceled.

          • messageGroupsrequired — (Array<map>)

            A collection of responses that Amazon Lex can send to the user. Amazon Lex chooses the actual response to send at runtime.

            • messagerequired — (map)

              The primary message that Amazon Lex should send to the user.

              • plainTextMessage — (map)

                A message in plain text format.

                • valuerequired — (String)

                  The message to send to the user.

              • customPayload — (map)

                A message in a custom format defined by the client application.

                • valuerequired — (String)

                  The string that is sent to your application.

              • ssmlMessage — (map)

                A message in Speech Synthesis Markup Language (SSML).

                • valuerequired — (String)

                  The SSML text that defines the prompt.

              • imageResponseCard — (map)

                A message that defines a response card that the client application can show to the user.

                • titlerequired — (String)

                  The title to display on the response card. The format of the title is determined by the platform displaying the response card.

                • subtitle — (String)

                  The subtitle to display on the response card. The format of the subtitle is determined by the platform displaying the response card.

                • imageUrl — (String)

                  The URL of an image to display on the response card. The image URL must be publicly available so that the platform displaying the response card has access to the image.

                • buttons — (Array<map>)

                  A list of buttons that should be displayed on the response card. The arrangement of the buttons is determined by the platform that displays the button.

                  • textrequired — (String)

                    The text that appears on the button. Use this to tell the user what value is returned when they choose this button.

                  • valuerequired — (String)

                    The value returned to Amazon Lex when the user chooses this button. This must be one of the slot values configured for the slot.

            • variations — (Array<map>)

              Message variations to send to the user. When variations are defined, Amazon Lex chooses the primary message or one of the variations to send to the user.

              • plainTextMessage — (map)

                A message in plain text format.

                • valuerequired — (String)

                  The message to send to the user.

              • customPayload — (map)

                A message in a custom format defined by the client application.

                • valuerequired — (String)

                  The string that is sent to your application.

              • ssmlMessage — (map)

                A message in Speech Synthesis Markup Language (SSML).

                • valuerequired — (String)

                  The SSML text that defines the prompt.

              • imageResponseCard — (map)

                A message that defines a response card that the client application can show to the user.

                • titlerequired — (String)

                  The title to display on the response card. The format of the title is determined by the platform displaying the response card.

                • subtitle — (String)

                  The subtitle to display on the response card. The format of the subtitle is determined by the platform displaying the response card.

                • imageUrl — (String)

                  The URL of an image to display on the response card. The image URL must be publicly available so that the platform displaying the response card has access to the image.

                • buttons — (Array<map>)

                  A list of buttons that should be displayed on the response card. The arrangement of the buttons is determined by the platform that displays the button.

                  • textrequired — (String)

                    The text that appears on the button. Use this to tell the user what value is returned when they choose this button.

                  • valuerequired — (String)

                    The value returned to Amazon Lex when the user chooses this button. This must be one of the slot values configured for the slot.

          • allowInterrupt — (Boolean)

            Indicates whether the user can interrupt a speech response from Amazon Lex.

        • active — (Boolean)

          Specifies whether the intent's confirmation is sent to the user. When this field is false, confirmation and declination responses aren't sent. If the active field isn't specified, the default is true.

        • confirmationResponse — (map)

          Specifies a list of message groups that Amazon Lex uses to respond the user input.

          • messageGroupsrequired — (Array<map>)

            A collection of responses that Amazon Lex can send to the user. Amazon Lex chooses the actual response to send at runtime.

            • messagerequired — (map)

              The primary message that Amazon Lex should send to the user.

              • plainTextMessage — (map)

                A message in plain text format.

                • valuerequired — (String)

                  The message to send to the user.

              • customPayload — (map)

                A message in a custom format defined by the client application.

                • valuerequired — (String)

                  The string that is sent to your application.

              • ssmlMessage — (map)

                A message in Speech Synthesis Markup Language (SSML).

                • valuerequired — (String)

                  The SSML text that defines the prompt.

              • imageResponseCard — (map)

                A message that defines a response card that the client application can show to the user.

                • titlerequired — (String)

                  The title to display on the response card. The format of the title is determined by the platform displaying the response card.

                • subtitle — (String)

                  The subtitle to display on the response card. The format of the subtitle is determined by the platform displaying the response card.

                • imageUrl — (String)

                  The URL of an image to display on the response card. The image URL must be publicly available so that the platform displaying the response card has access to the image.

                • buttons — (Array<map>)

                  A list of buttons that should be displayed on the response card. The arrangement of the buttons is determined by the platform that displays the button.

                  • textrequired — (String)

                    The text that appears on the button. Use this to tell the user what value is returned when they choose this button.

                  • valuerequired — (String)

                    The value returned to Amazon Lex when the user chooses this button. This must be one of the slot values configured for the slot.

            • variations — (Array<map>)

              Message variations to send to the user. When variations are defined, Amazon Lex chooses the primary message or one of the variations to send to the user.

              • plainTextMessage — (map)

                A message in plain text format.

                • valuerequired — (String)

                  The message to send to the user.

              • customPayload — (map)

                A message in a custom format defined by the client application.

                • valuerequired — (String)

                  The string that is sent to your application.

              • ssmlMessage — (map)

                A message in Speech Synthesis Markup Language (SSML).

                • valuerequired — (String)

                  The SSML text that defines the prompt.

              • imageResponseCard — (map)

                A message that defines a response card that the client application can show to the user.

                • titlerequired — (String)

                  The title to display on the response card. The format of the title is determined by the platform displaying the response card.

                • subtitle — (String)

                  The subtitle to display on the response card. The format of the subtitle is determined by the platform displaying the response card.

                • imageUrl — (String)

                  The URL of an image to display on the response card. The image URL must be publicly available so that the platform displaying the response card has access to the image.

                • buttons — (Array<map>)

                  A list of buttons that should be displayed on the response card. The arrangement of the buttons is determined by the platform that displays the button.

                  • textrequired — (String)

                    The text that appears on the button. Use this to tell the user what value is returned when they choose this button.

                  • valuerequired — (String)

                    The value returned to Amazon Lex when the user chooses this button. This must be one of the slot values configured for the slot.

          • allowInterrupt — (Boolean)

            Indicates whether the user can interrupt a speech response from Amazon Lex.

        • confirmationNextStep — (map)

          Specifies the next step that the bot executes when the customer confirms the intent.

          • dialogAction — (map)

            Defines the action that the bot executes at runtime when the conversation reaches this step.

            • typerequired — (String)

              The action that the bot should execute.

              Possible values include:
              • "ElicitIntent"
              • "StartIntent"
              • "ElicitSlot"
              • "EvaluateConditional"
              • "InvokeDialogCodeHook"
              • "ConfirmIntent"
              • "FulfillIntent"
              • "CloseIntent"
              • "EndConversation"
            • slotToElicit — (String)

              If the dialog action is ElicitSlot, defines the slot to elicit from the user.

            • suppressNextMessage — (Boolean)

              When true the next message for the intent is not used.

          • intent — (map)

            Override settings to configure the intent state.

            • name — (String)

              The name of the intent. Only required when you're switching intents.

            • slots — (map<map>)

              A map of all of the slot value overrides for the intent. The name of the slot maps to the value of the slot. Slots that are not included in the map aren't overridden.

              • shape — (String)

                When the shape value is List, it indicates that the values field contains a list of slot values. When the value is Scalar, it indicates that the value field contains a single value.

                Possible values include:
                • "Scalar"
                • "List"
              • value — (map)

                The current value of the slot.

                • interpretedValue — (String)

                  The value that Amazon Lex determines for the slot. The actual value depends on the setting of the value selection strategy for the bot. You can choose to use the value entered by the user, or you can have Amazon Lex choose the first value in the resolvedValues list.

              • values — (Array<map>)

                A list of one or more values that the user provided for the slot. For example, for a slot that elicits pizza toppings, the values might be "pepperoni" and "pineapple."

          • sessionAttributes — (map<String>)

            Map of key/value pairs representing session-specific context information. It contains application information passed between Amazon Lex and a client application.

        • confirmationConditional — (map)

          A list of conditional branches to evaluate after the intent is closed.

          • activerequired — (Boolean)

            Determines whether a conditional branch is active. When active is false, the conditions are not evaluated.

          • conditionalBranchesrequired — (Array<map>)

            A list of conditional branches. A conditional branch is made up of a condition, a response and a next step. The response and next step are executed when the condition is true.

            • namerequired — (String)

              The name of the branch.

            • conditionrequired — (map)

              Contains the expression to evaluate. If the condition is true, the branch's actions are taken.

              • expressionStringrequired — (String)

                The expression string that is evaluated.

            • nextSteprequired — (map)

              The next step in the conversation.

              • dialogAction — (map)

                Defines the action that the bot executes at runtime when the conversation reaches this step.

                • typerequired — (String)

                  The action that the bot should execute.

                  Possible values include:
                  • "ElicitIntent"
                  • "StartIntent"
                  • "ElicitSlot"
                  • "EvaluateConditional"
                  • "InvokeDialogCodeHook"
                  • "ConfirmIntent"
                  • "FulfillIntent"
                  • "CloseIntent"
                  • "EndConversation"
                • slotToElicit — (String)

                  If the dialog action is ElicitSlot, defines the slot to elicit from the user.

                • suppressNextMessage — (Boolean)

                  When true the next message for the intent is not used.

              • intent — (map)

                Override settings to configure the intent state.

                • name — (String)

                  The name of the intent. Only required when you're switching intents.

                • slots — (map<map>)

                  A map of all of the slot value overrides for the intent. The name of the slot maps to the value of the slot. Slots that are not included in the map aren't overridden.

                  • shape — (String)

                    When the shape value is List, it indicates that the values field contains a list of slot values. When the value is Scalar, it indicates that the value field contains a single value.

                    Possible values include:
                    • "Scalar"
                    • "List"
                  • value — (map)

                    The current value of the slot.

                    • interpretedValue — (String)

                      The value that Amazon Lex determines for the slot. The actual value depends on the setting of the value selection strategy for the bot. You can choose to use the value entered by the user, or you can have Amazon Lex choose the first value in the resolvedValues list.

                  • values — (Array<map>)

                    A list of one or more values that the user provided for the slot. For example, for a slot that elicits pizza toppings, the values might be "pepperoni" and "pineapple."

              • sessionAttributes — (map<String>)

                Map of key/value pairs representing session-specific context information. It contains application information passed between Amazon Lex and a client application.

            • response — (map)

              Specifies a list of message groups that Amazon Lex uses to respond the user input.

              • messageGroupsrequired — (Array<map>)

                A collection of responses that Amazon Lex can send to the user. Amazon Lex chooses the actual response to send at runtime.

                • messagerequired — (map)

                  The primary message that Amazon Lex should send to the user.

                  • plainTextMessage — (map)

                    A message in plain text format.

                    • valuerequired — (String)

                      The message to send to the user.

                  • customPayload — (map)

                    A message in a custom format defined by the client application.

                    • valuerequired — (String)

                      The string that is sent to your application.

                  • ssmlMessage — (map)

                    A message in Speech Synthesis Markup Language (SSML).

                    • valuerequired — (String)

                      The SSML text that defines the prompt.

                  • imageResponseCard — (map)

                    A message that defines a response card that the client application can show to the user.

                    • titlerequired — (String)

                      The title to display on the response card. The format of the title is determined by the platform displaying the response card.

                    • subtitle — (String)

                      The subtitle to display on the response card. The format of the subtitle is determined by the platform displaying the response card.

                    • imageUrl — (String)

                      The URL of an image to display on the response card. The image URL must be publicly available so that the platform displaying the response card has access to the image.

                    • buttons — (Array<map>)

                      A list of buttons that should be displayed on the response card. The arrangement of the buttons is determined by the platform that displays the button.

                      • textrequired — (String)

                        The text that appears on the button. Use this to tell the user what value is returned when they choose this button.

                      • valuerequired — (String)

                        The value returned to Amazon Lex when the user chooses this button. This must be one of the slot values configured for the slot.

                • variations — (Array<map>)

                  Message variations to send to the user. When variations are defined, Amazon Lex chooses the primary message or one of the variations to send to the user.

                  • plainTextMessage — (map)

                    A message in plain text format.

                    • valuerequired — (String)

                      The message to send to the user.

                  • customPayload — (map)

                    A message in a custom format defined by the client application.

                    • valuerequired — (String)

                      The string that is sent to your application.

                  • ssmlMessage — (map)

                    A message in Speech Synthesis Markup Language (SSML).

                    • valuerequired — (String)

                      The SSML text that defines the prompt.

                  • imageResponseCard — (map)

                    A message that defines a response card that the client application can show to the user.

                    • titlerequired — (String)

                      The title to display on the response card. The format of the title is determined by the platform displaying the response card.

                    • subtitle — (String)

                      The subtitle to display on the response card. The format of the subtitle is determined by the platform displaying the response card.

                    • imageUrl — (String)

                      The URL of an image to display on the response card. The image URL must be publicly available so that the platform displaying the response card has access to the image.

                    • buttons — (Array<map>)

                      A list of buttons that should be displayed on the response card. The arrangement of the buttons is determined by the platform that displays the button.

                      • textrequired — (String)

                        The text that appears on the button. Use this to tell the user what value is returned when they choose this button.

                      • valuerequired — (String)

                        The value returned to Amazon Lex when the user chooses this button. This must be one of the slot values configured for the slot.

              • allowInterrupt — (Boolean)

                Indicates whether the user can interrupt a speech response from Amazon Lex.

          • defaultBranchrequired — (map)

            The conditional branch that should be followed when the conditions for other branches are not satisfied. A conditional branch is made up of a condition, a response and a next step.

            • nextStep — (map)

              The next step in the conversation.

              • dialogAction — (map)

                Defines the action that the bot executes at runtime when the conversation reaches this step.

                • typerequired — (String)

                  The action that the bot should execute.

                  Possible values include:
                  • "ElicitIntent"
                  • "StartIntent"
                  • "ElicitSlot"
                  • "EvaluateConditional"
                  • "InvokeDialogCodeHook"
                  • "ConfirmIntent"
                  • "FulfillIntent"
                  • "CloseIntent"
                  • "EndConversation"
                • slotToElicit — (String)

                  If the dialog action is ElicitSlot, defines the slot to elicit from the user.

                • suppressNextMessage — (Boolean)

                  When true the next message for the intent is not used.

              • intent — (map)

                Override settings to configure the intent state.

                • name — (String)

                  The name of the intent. Only required when you're switching intents.

                • slots — (map<map>)

                  A map of all of the slot value overrides for the intent. The name of the slot maps to the value of the slot. Slots that are not included in the map aren't overridden.

                  • shape — (String)

                    When the shape value is List, it indicates that the values field contains a list of slot values. When the value is Scalar, it indicates that the value field contains a single value.

                    Possible values include:
                    • "Scalar"
                    • "List"
                  • value — (map)

                    The current value of the slot.

                    • interpretedValue — (String)

                      The value that Amazon Lex determines for the slot. The actual value depends on the setting of the value selection strategy for the bot. You can choose to use the value entered by the user, or you can have Amazon Lex choose the first value in the resolvedValues list.

                  • values — (Array<map>)

                    A list of one or more values that the user provided for the slot. For example, for a slot that elicits pizza toppings, the values might be "pepperoni" and "pineapple."

              • sessionAttributes — (map<String>)

                Map of key/value pairs representing session-specific context information. It contains application information passed between Amazon Lex and a client application.

            • response — (map)

              Specifies a list of message groups that Amazon Lex uses to respond the user input.

              • messageGroupsrequired — (Array<map>)

                A collection of responses that Amazon Lex can send to the user. Amazon Lex chooses the actual response to send at runtime.

                • messagerequired — (map)

                  The primary message that Amazon Lex should send to the user.

                  • plainTextMessage — (map)

                    A message in plain text format.

                    • valuerequired — (String)

                      The message to send to the user.

                  • customPayload — (map)

                    A message in a custom format defined by the client application.

                    • valuerequired — (String)

                      The string that is sent to your application.

                  • ssmlMessage — (map)

                    A message in Speech Synthesis Markup Language (SSML).

                    • valuerequired — (String)

                      The SSML text that defines the prompt.

                  • imageResponseCard — (map)

                    A message that defines a response card that the client application can show to the user.

                    • titlerequired — (String)

                      The title to display on the response card. The format of the title is determined by the platform displaying the response card.

                    • subtitle — (String)

                      The subtitle to display on the response card. The format of the subtitle is determined by the platform displaying the response card.

                    • imageUrl — (String)

                      The URL of an image to display on the response card. The image URL must be publicly available so that the platform displaying the response card has access to the image.

                    • buttons — (Array<map>)

                      A list of buttons that should be displayed on the response card. The arrangement of the buttons is determined by the platform that displays the button.

                      • textrequired — (String)

                        The text that appears on the button. Use this to tell the user what value is returned when they choose this button.

                      • valuerequired — (String)

                        The value returned to Amazon Lex when the user chooses this button. This must be one of the slot values configured for the slot.

                • variations — (Array<map>)

                  Message variations to send to the user. When variations are defined, Amazon Lex chooses the primary message or one of the variations to send to the user.

                  • plainTextMessage — (map)

                    A message in plain text format.

                    • valuerequired — (String)

                      The message to send to the user.

                  • customPayload — (map)

                    A message in a custom format defined by the client application.

                    • valuerequired — (String)

                      The string that is sent to your application.

                  • ssmlMessage — (map)

                    A message in Speech Synthesis Markup Language (SSML).

                    • valuerequired — (String)

                      The SSML text that defines the prompt.

                  • imageResponseCard — (map)

                    A message that defines a response card that the client application can show to the user.

                    • titlerequired — (String)

                      The title to display on the response card. The format of the title is determined by the platform displaying the response card.

                    • subtitle — (String)

                      The subtitle to display on the response card. The format of the subtitle is determined by the platform displaying the response card.

                    • imageUrl — (String)

                      The URL of an image to display on the response card. The image URL must be publicly available so that the platform displaying the response card has access to the image.

                    • buttons — (Array<map>)

                      A list of buttons that should be displayed on the response card. The arrangement of the buttons is determined by the platform that displays the button.

                      • textrequired — (String)

                        The text that appears on the button. Use this to tell the user what value is returned when they choose this button.

                      • valuerequired — (String)

                        The value returned to Amazon Lex when the user chooses this button. This must be one of the slot values configured for the slot.

              • allowInterrupt — (Boolean)

                Indicates whether the user can interrupt a speech response from Amazon Lex.

        • declinationNextStep — (map)

          Specifies the next step that the bot executes when the customer declines the intent.

          • dialogAction — (map)

            Defines the action that the bot executes at runtime when the conversation reaches this step.

            • typerequired — (String)

              The action that the bot should execute.

              Possible values include:
              • "ElicitIntent"
              • "StartIntent"
              • "ElicitSlot"
              • "EvaluateConditional"
              • "InvokeDialogCodeHook"
              • "ConfirmIntent"
              • "FulfillIntent"
              • "CloseIntent"
              • "EndConversation"
            • slotToElicit — (String)

              If the dialog action is ElicitSlot, defines the slot to elicit from the user.

            • suppressNextMessage — (Boolean)

              When true the next message for the intent is not used.

          • intent — (map)

            Override settings to configure the intent state.

            • name — (String)

              The name of the intent. Only required when you're switching intents.

            • slots — (map<map>)

              A map of all of the slot value overrides for the intent. The name of the slot maps to the value of the slot. Slots that are not included in the map aren't overridden.

              • shape — (String)

                When the shape value is List, it indicates that the values field contains a list of slot values. When the value is Scalar, it indicates that the value field contains a single value.

                Possible values include:
                • "Scalar"
                • "List"
              • value — (map)

                The current value of the slot.

                • interpretedValue — (String)

                  The value that Amazon Lex determines for the slot. The actual value depends on the setting of the value selection strategy for the bot. You can choose to use the value entered by the user, or you can have Amazon Lex choose the first value in the resolvedValues list.

              • values — (Array<map>)

                A list of one or more values that the user provided for the slot. For example, for a slot that elicits pizza toppings, the values might be "pepperoni" and "pineapple."

          • sessionAttributes — (map<String>)

            Map of key/value pairs representing session-specific context information. It contains application information passed between Amazon Lex and a client application.

        • declinationConditional — (map)

          A list of conditional branches to evaluate after the intent is declined.

          • activerequired — (Boolean)

            Determines whether a conditional branch is active. When active is false, the conditions are not evaluated.

          • conditionalBranchesrequired — (Array<map>)

            A list of conditional branches. A conditional branch is made up of a condition, a response and a next step. The response and next step are executed when the condition is true.

            • namerequired — (String)

              The name of the branch.

            • conditionrequired — (map)

              Contains the expression to evaluate. If the condition is true, the branch's actions are taken.

              • expressionStringrequired — (String)

                The expression string that is evaluated.

            • nextSteprequired — (map)

              The next step in the conversation.

              • dialogAction — (map)

                Defines the action that the bot executes at runtime when the conversation reaches this step.

                • typerequired — (String)

                  The action that the bot should execute.

                  Possible values include:
                  • "ElicitIntent"
                  • "StartIntent"
                  • "ElicitSlot"
                  • "EvaluateConditional"
                  • "InvokeDialogCodeHook"
                  • "ConfirmIntent"
                  • "FulfillIntent"
                  • "CloseIntent"
                  • "EndConversation"
                • slotToElicit — (String)

                  If the dialog action is ElicitSlot, defines the slot to elicit from the user.

                • suppressNextMessage — (Boolean)

                  When true the next message for the intent is not used.

              • intent — (map)

                Override settings to configure the intent state.

                • name — (String)

                  The name of the intent. Only required when you're switching intents.

                • slots — (map<map>)

                  A map of all of the slot value overrides for the intent. The name of the slot maps to the value of the slot. Slots that are not included in the map aren't overridden.

                  • shape — (String)

                    When the shape value is List, it indicates that the values field contains a list of slot values. When the value is Scalar, it indicates that the value field contains a single value.

                    Possible values include:
                    • "Scalar"
                    • "List"
                  • value — (map)

                    The current value of the slot.

                    • interpretedValue — (String)

                      The value that Amazon Lex determines for the slot. The actual value depends on the setting of the value selection strategy for the bot. You can choose to use the value entered by the user, or you can have Amazon Lex choose the first value in the resolvedValues list.

                  • values — (Array<map>)

                    A list of one or more values that the user provided for the slot. For example, for a slot that elicits pizza toppings, the values might be "pepperoni" and "pineapple."

              • sessionAttributes — (map<String>)

                Map of key/value pairs representing session-specific context information. It contains application information passed between Amazon Lex and a client application.

            • response — (map)

              Specifies a list of message groups that Amazon Lex uses to respond the user input.

              • messageGroupsrequired — (Array<map>)

                A collection of responses that Amazon Lex can send to the user. Amazon Lex chooses the actual response to send at runtime.

                • messagerequired — (map)

                  The primary message that Amazon Lex should send to the user.

                  • plainTextMessage — (map)

                    A message in plain text format.

                    • valuerequired — (String)

                      The message to send to the user.

                  • customPayload — (map)

                    A message in a custom format defined by the client application.

                    • valuerequired — (String)

                      The string that is sent to your application.

                  • ssmlMessage — (map)

                    A message in Speech Synthesis Markup Language (SSML).

                    • valuerequired — (String)

                      The SSML text that defines the prompt.

                  • imageResponseCard — (map)

                    A message that defines a response card that the client application can show to the user.

                    • titlerequired — (String)

                      The title to display on the response card. The format of the title is determined by the platform displaying the response card.

                    • subtitle — (String)

                      The subtitle to display on the response card. The format of the subtitle is determined by the platform displaying the response card.

                    • imageUrl — (String)

                      The URL of an image to display on the response card. The image URL must be publicly available so that the platform displaying the response card has access to the image.

                    • buttons — (Array<map>)

                      A list of buttons that should be displayed on the response card. The arrangement of the buttons is determined by the platform that displays the button.

                      • textrequired — (String)

                        The text that appears on the button. Use this to tell the user what value is returned when they choose this button.

                      • valuerequired — (String)

                        The value returned to Amazon Lex when the user chooses this button. This must be one of the slot values configured for the slot.

                • variations — (Array<map>)

                  Message variations to send to the user. When variations are defined, Amazon Lex chooses the primary message or one of the variations to send to the user.

                  • plainTextMessage — (map)

                    A message in plain text format.

                    • valuerequired — (String)

                      The message to send to the user.

                  • customPayload — (map)

                    A message in a custom format defined by the client application.

                    • valuerequired — (String)

                      The string that is sent to your application.

                  • ssmlMessage — (map)

                    A message in Speech Synthesis Markup Language (SSML).

                    • valuerequired — (String)

                      The SSML text that defines the prompt.

                  • imageResponseCard — (map)

                    A message that defines a response card that the client application can show to the user.

                    • titlerequired — (String)

                      The title to display on the response card. The format of the title is determined by the platform displaying the response card.

                    • subtitle — (String)

                      The subtitle to display on the response card. The format of the subtitle is determined by the platform displaying the response card.

                    • imageUrl — (String)

                      The URL of an image to display on the response card. The image URL must be publicly available so that the platform displaying the response card has access to the image.

                    • buttons — (Array<map>)

                      A list of buttons that should be displayed on the response card. The arrangement of the buttons is determined by the platform that displays the button.

                      • textrequired — (String)

                        The text that appears on the button. Use this to tell the user what value is returned when they choose this button.

                      • valuerequired — (String)

                        The value returned to Amazon Lex when the user chooses this button. This must be one of the slot values configured for the slot.

              • allowInterrupt — (Boolean)

                Indicates whether the user can interrupt a speech response from Amazon Lex.

          • defaultBranchrequired — (map)

            The conditional branch that should be followed when the conditions for other branches are not satisfied. A conditional branch is made up of a condition, a response and a next step.

            • nextStep — (map)

              The next step in the conversation.

              • dialogAction — (map)

                Defines the action that the bot executes at runtime when the conversation reaches this step.

                • typerequired — (String)

                  The action that the bot should execute.

                  Possible values include:
                  • "ElicitIntent"
                  • "StartIntent"
                  • "ElicitSlot"
                  • "EvaluateConditional"
                  • "InvokeDialogCodeHook"
                  • "ConfirmIntent"
                  • "FulfillIntent"
                  • "CloseIntent"
                  • "EndConversation"
                • slotToElicit — (String)

                  If the dialog action is ElicitSlot, defines the slot to elicit from the user.

                • suppressNextMessage — (Boolean)

                  When true the next message for the intent is not used.

              • intent — (map)

                Override settings to configure the intent state.

                • name — (String)

                  The name of the intent. Only required when you're switching intents.

                • slots — (map<map>)

                  A map of all of the slot value overrides for the intent. The name of the slot maps to the value of the slot. Slots that are not included in the map aren't overridden.

                  • shape — (String)

                    When the shape value is List, it indicates that the values field contains a list of slot values. When the value is Scalar, it indicates that the value field contains a single value.

                    Possible values include:
                    • "Scalar"
                    • "List"
                  • value — (map)

                    The current value of the slot.

                    • interpretedValue — (String)

                      The value that Amazon Lex determines for the slot. The actual value depends on the setting of the value selection strategy for the bot. You can choose to use the value entered by the user, or you can have Amazon Lex choose the first value in the resolvedValues list.

                  • values — (Array<map>)

                    A list of one or more values that the user provided for the slot. For example, for a slot that elicits pizza toppings, the values might be "pepperoni" and "pineapple."

              • sessionAttributes — (map<String>)

                Map of key/value pairs representing session-specific context information. It contains application information passed between Amazon Lex and a client application.

            • response — (map)

              Specifies a list of message groups that Amazon Lex uses to respond the user input.

              • messageGroupsrequired — (Array<map>)

                A collection of responses that Amazon Lex can send to the user. Amazon Lex chooses the actual response to send at runtime.

                • messagerequired — (map)

                  The primary message that Amazon Lex should send to the user.

                  • plainTextMessage — (map)

                    A message in plain text format.

                    • valuerequired — (String)

                      The message to send to the user.

                  • customPayload — (map)

                    A message in a custom format defined by the client application.

                    • valuerequired — (String)

                      The string that is sent to your application.

                  • ssmlMessage — (map)

                    A message in Speech Synthesis Markup Language (SSML).

                    • valuerequired — (String)

                      The SSML text that defines the prompt.

                  • imageResponseCard — (map)

                    A message that defines a response card that the client application can show to the user.

                    • titlerequired — (String)

                      The title to display on the response card. The format of the title is determined by the platform displaying the response card.

                    • subtitle — (String)

                      The subtitle to display on the response card. The format of the subtitle is determined by the platform displaying the response card.

                    • imageUrl — (String)

                      The URL of an image to display on the response card. The image URL must be publicly available so that the platform displaying the response card has access to the image.

                    • buttons — (Array<map>)

                      A list of buttons that should be displayed on the response card. The arrangement of the buttons is determined by the platform that displays the button.

                      • textrequired — (String)

                        The text that appears on the button. Use this to tell the user what value is returned when they choose this button.

                      • valuerequired — (String)

                        The value returned to Amazon Lex when the user chooses this button. This must be one of the slot values configured for the slot.

                • variations — (Array<map>)

                  Message variations to send to the user. When variations are defined, Amazon Lex chooses the primary message or one of the variations to send to the user.

                  • plainTextMessage — (map)

                    A message in plain text format.

                    • valuerequired — (String)

                      The message to send to the user.

                  • customPayload — (map)

                    A message in a custom format defined by the client application.

                    • valuerequired — (String)

                      The string that is sent to your application.

                  • ssmlMessage — (map)

                    A message in Speech Synthesis Markup Language (SSML).

                    • valuerequired — (String)

                      The SSML text that defines the prompt.

                  • imageResponseCard — (map)

                    A message that defines a response card that the client application can show to the user.

                    • titlerequired — (String)

                      The title to display on the response card. The format of the title is determined by the platform displaying the response card.

                    • subtitle — (String)

                      The subtitle to display on the response card. The format of the subtitle is determined by the platform displaying the response card.

                    • imageUrl — (String)

                      The URL of an image to display on the response card. The image URL must be publicly available so that the platform displaying the response card has access to the image.

                    • buttons — (Array<map>)

                      A list of buttons that should be displayed on the response card. The arrangement of the buttons is determined by the platform that displays the button.

                      • textrequired — (String)

                        The text that appears on the button. Use this to tell the user what value is returned when they choose this button.

                      • valuerequired — (String)

                        The value returned to Amazon Lex when the user chooses this button. This must be one of the slot values configured for the slot.

              • allowInterrupt — (Boolean)

                Indicates whether the user can interrupt a speech response from Amazon Lex.

        • failureResponse — (map)

          Specifies a list of message groups that Amazon Lex uses to respond the user input.

          • messageGroupsrequired — (Array<map>)

            A collection of responses that Amazon Lex can send to the user. Amazon Lex chooses the actual response to send at runtime.

            • messagerequired — (map)

              The primary message that Amazon Lex should send to the user.

              • plainTextMessage — (map)

                A message in plain text format.

                • valuerequired — (String)

                  The message to send to the user.

              • customPayload — (map)

                A message in a custom format defined by the client application.

                • valuerequired — (String)

                  The string that is sent to your application.

              • ssmlMessage — (map)

                A message in Speech Synthesis Markup Language (SSML).

                • valuerequired — (String)

                  The SSML text that defines the prompt.

              • imageResponseCard — (map)

                A message that defines a response card that the client application can show to the user.

                • titlerequired — (String)

                  The title to display on the response card. The format of the title is determined by the platform displaying the response card.

                • subtitle — (String)

                  The subtitle to display on the response card. The format of the subtitle is determined by the platform displaying the response card.

                • imageUrl — (String)

                  The URL of an image to display on the response card. The image URL must be publicly available so that the platform displaying the response card has access to the image.

                • buttons — (Array<map>)

                  A list of buttons that should be displayed on the response card. The arrangement of the buttons is determined by the platform that displays the button.

                  • textrequired — (String)

                    The text that appears on the button. Use this to tell the user what value is returned when they choose this button.

                  • valuerequired — (String)

                    The value returned to Amazon Lex when the user chooses this button. This must be one of the slot values configured for the slot.

            • variations — (Array<map>)

              Message variations to send to the user. When variations are defined, Amazon Lex chooses the primary message or one of the variations to send to the user.

              • plainTextMessage — (map)

                A message in plain text format.

                • valuerequired — (String)

                  The message to send to the user.

              • customPayload — (map)

                A message in a custom format defined by the client application.

                • valuerequired — (String)

                  The string that is sent to your application.

              • ssmlMessage — (map)

                A message in Speech Synthesis Markup Language (SSML).

                • valuerequired — (String)

                  The SSML text that defines the prompt.

              • imageResponseCard — (map)

                A message that defines a response card that the client application can show to the user.

                • titlerequired — (String)

                  The title to display on the response card. The format of the title is determined by the platform displaying the response card.

                • subtitle — (String)

                  The subtitle to display on the response card. The format of the subtitle is determined by the platform displaying the response card.

                • imageUrl — (String)

                  The URL of an image to display on the response card. The image URL must be publicly available so that the platform displaying the response card has access to the image.

                • buttons — (Array<map>)

                  A list of buttons that should be displayed on the response card. The arrangement of the buttons is determined by the platform that displays the button.

                  • textrequired — (String)

                    The text that appears on the button. Use this to tell the user what value is returned when they choose this button.

                  • valuerequired — (String)

                    The value returned to Amazon Lex when the user chooses this button. This must be one of the slot values configured for the slot.

          • allowInterrupt — (Boolean)

            Indicates whether the user can interrupt a speech response from Amazon Lex.

        • failureNextStep — (map)

          The next step to take in the conversation if the confirmation step fails.

          • dialogAction — (map)

            Defines the action that the bot executes at runtime when the conversation reaches this step.

            • typerequired — (String)

              The action that the bot should execute.

              Possible values include:
              • "ElicitIntent"
              • "StartIntent"
              • "ElicitSlot"
              • "EvaluateConditional"
              • "InvokeDialogCodeHook"
              • "ConfirmIntent"
              • "FulfillIntent"
              • "CloseIntent"
              • "EndConversation"
            • slotToElicit — (String)

              If the dialog action is ElicitSlot, defines the slot to elicit from the user.

            • suppressNextMessage — (Boolean)

              When true the next message for the intent is not used.

          • intent — (map)

            Override settings to configure the intent state.

            • name — (String)

              The name of the intent. Only required when you're switching intents.

            • slots — (map<map>)

              A map of all of the slot value overrides for the intent. The name of the slot maps to the value of the slot. Slots that are not included in the map aren't overridden.

              • shape — (String)

                When the shape value is List, it indicates that the values field contains a list of slot values. When the value is Scalar, it indicates that the value field contains a single value.

                Possible values include:
                • "Scalar"
                • "List"
              • value — (map)

                The current value of the slot.

                • interpretedValue — (String)

                  The value that Amazon Lex determines for the slot. The actual value depends on the setting of the value selection strategy for the bot. You can choose to use the value entered by the user, or you can have Amazon Lex choose the first value in the resolvedValues list.

              • values — (Array<map>)

                A list of one or more values that the user provided for the slot. For example, for a slot that elicits pizza toppings, the values might be "pepperoni" and "pineapple."

          • sessionAttributes — (map<String>)

            Map of key/value pairs representing session-specific context information. It contains application information passed between Amazon Lex and a client application.

        • failureConditional — (map)

          Provides a list of conditional branches. Branches are evaluated in the order that they are entered in the list. The first branch with a condition that evaluates to true is executed. The last branch in the list is the default branch. The default branch should not have any condition expression. The default branch is executed if no other branch has a matching condition.

          • activerequired — (Boolean)

            Determines whether a conditional branch is active. When active is false, the conditions are not evaluated.

          • conditionalBranchesrequired — (Array<map>)

            A list of conditional branches. A conditional branch is made up of a condition, a response and a next step. The response and next step are executed when the condition is true.

            • namerequired — (String)

              The name of the branch.

            • conditionrequired — (map)

              Contains the expression to evaluate. If the condition is true, the branch's actions are taken.

              • expressionStringrequired — (String)

                The expression string that is evaluated.

            • nextSteprequired — (map)

              The next step in the conversation.

              • dialogAction — (map)

                Defines the action that the bot executes at runtime when the conversation reaches this step.

                • typerequired — (String)

                  The action that the bot should execute.

                  Possible values include:
                  • "ElicitIntent"
                  • "StartIntent"
                  • "ElicitSlot"
                  • "EvaluateConditional"
                  • "InvokeDialogCodeHook"
                  • "ConfirmIntent"
                  • "FulfillIntent"
                  • "CloseIntent"
                  • "EndConversation"
                • slotToElicit — (String)

                  If the dialog action is ElicitSlot, defines the slot to elicit from the user.

                • suppressNextMessage — (Boolean)

                  When true the next message for the intent is not used.

              • intent — (map)

                Override settings to configure the intent state.

                • name — (String)

                  The name of the intent. Only required when you're switching intents.

                • slots — (map<map>)

                  A map of all of the slot value overrides for the intent. The name of the slot maps to the value of the slot. Slots that are not included in the map aren't overridden.

                  • shape — (String)

                    When the shape value is List, it indicates that the values field contains a list of slot values. When the value is Scalar, it indicates that the value field contains a single value.

                    Possible values include:
                    • "Scalar"
                    • "List"
                  • value — (map)

                    The current value of the slot.

                    • interpretedValue — (String)

                      The value that Amazon Lex determines for the slot. The actual value depends on the setting of the value selection strategy for the bot. You can choose to use the value entered by the user, or you can have Amazon Lex choose the first value in the resolvedValues list.

                  • values — (Array<map>)

                    A list of one or more values that the user provided for the slot. For example, for a slot that elicits pizza toppings, the values might be "pepperoni" and "pineapple."

              • sessionAttributes — (map<String>)

                Map of key/value pairs representing session-specific context information. It contains application information passed between Amazon Lex and a client application.

            • response — (map)

              Specifies a list of message groups that Amazon Lex uses to respond the user input.

              • messageGroupsrequired — (Array<map>)

                A collection of responses that Amazon Lex can send to the user. Amazon Lex chooses the actual response to send at runtime.

                • messagerequired — (map)

                  The primary message that Amazon Lex should send to the user.

                  • plainTextMessage — (map)

                    A message in plain text format.

                    • valuerequired — (String)

                      The message to send to the user.

                  • customPayload — (map)

                    A message in a custom format defined by the client application.

                    • valuerequired — (String)

                      The string that is sent to your application.

                  • ssmlMessage — (map)

                    A message in Speech Synthesis Markup Language (SSML).

                    • valuerequired — (String)

                      The SSML text that defines the prompt.

                  • imageResponseCard — (map)

                    A message that defines a response card that the client application can show to the user.

                    • titlerequired — (String)

                      The title to display on the response card. The format of the title is determined by the platform displaying the response card.

                    • subtitle — (String)

                      The subtitle to display on the response card. The format of the subtitle is determined by the platform displaying the response card.

                    • imageUrl — (String)

                      The URL of an image to display on the response card. The image URL must be publicly available so that the platform displaying the response card has access to the image.

                    • buttons — (Array<map>)

                      A list of buttons that should be displayed on the response card. The arrangement of the buttons is determined by the platform that displays the button.

                      • textrequired — (String)

                        The text that appears on the button. Use this to tell the user what value is returned when they choose this button.

                      • valuerequired — (String)

                        The value returned to Amazon Lex when the user chooses this button. This must be one of the slot values configured for the slot.

                • variations — (Array<map>)

                  Message variations to send to the user. When variations are defined, Amazon Lex chooses the primary message or one of the variations to send to the user.

                  • plainTextMessage — (map)

                    A message in plain text format.

                    • valuerequired — (String)

                      The message to send to the user.

                  • customPayload — (map)

                    A message in a custom format defined by the client application.

                    • valuerequired — (String)

                      The string that is sent to your application.

                  • ssmlMessage — (map)

                    A message in Speech Synthesis Markup Language (SSML).

                    • valuerequired — (String)

                      The SSML text that defines the prompt.

                  • imageResponseCard — (map)

                    A message that defines a response card that the client application can show to the user.

                    • titlerequired — (String)

                      The title to display on the response card. The format of the title is determined by the platform displaying the response card.

                    • subtitle — (String)

                      The subtitle to display on the response card. The format of the subtitle is determined by the platform displaying the response card.

                    • imageUrl — (String)

                      The URL of an image to display on the response card. The image URL must be publicly available so that the platform displaying the response card has access to the image.

                    • buttons — (Array<map>)

                      A list of buttons that should be displayed on the response card. The arrangement of the buttons is determined by the platform that displays the button.

                      • textrequired — (String)

                        The text that appears on the button. Use this to tell the user what value is returned when they choose this button.

                      • valuerequired — (String)

                        The value returned to Amazon Lex when the user chooses this button. This must be one of the slot values configured for the slot.

              • allowInterrupt — (Boolean)

                Indicates whether the user can interrupt a speech response from Amazon Lex.

          • defaultBranchrequired — (map)

            The conditional branch that should be followed when the conditions for other branches are not satisfied. A conditional branch is made up of a condition, a response and a next step.

            • nextStep — (map)

              The next step in the conversation.

              • dialogAction — (map)

                Defines the action that the bot executes at runtime when the conversation reaches this step.

                • typerequired — (String)

                  The action that the bot should execute.

                  Possible values include:
                  • "ElicitIntent"
                  • "StartIntent"
                  • "ElicitSlot"
                  • "EvaluateConditional"
                  • "InvokeDialogCodeHook"
                  • "ConfirmIntent"
                  • "FulfillIntent"
                  • "CloseIntent"
                  • "EndConversation"
                • slotToElicit — (String)

                  If the dialog action is ElicitSlot, defines the slot to elicit from the user.

                • suppressNextMessage — (Boolean)

                  When true the next message for the intent is not used.

              • intent — (map)

                Override settings to configure the intent state.

                • name — (String)

                  The name of the intent. Only required when you're switching intents.

                • slots — (map<map>)

                  A map of all of the slot value overrides for the intent. The name of the slot maps to the value of the slot. Slots that are not included in the map aren't overridden.

                  • shape — (String)

                    When the shape value is List, it indicates that the values field contains a list of slot values. When the value is Scalar, it indicates that the value field contains a single value.

                    Possible values include:
                    • "Scalar"
                    • "List"
                  • value — (map)

                    The current value of the slot.

                    • interpretedValue — (String)

                      The value that Amazon Lex determines for the slot. The actual value depends on the setting of the value selection strategy for the bot. You can choose to use the value entered by the user, or you can have Amazon Lex choose the first value in the resolvedValues list.

                  • values — (Array<map>)

                    A list of one or more values that the user provided for the slot. For example, for a slot that elicits pizza toppings, the values might be "pepperoni" and "pineapple."

              • sessionAttributes — (map<String>)

                Map of key/value pairs representing session-specific context information. It contains application information passed between Amazon Lex and a client application.

            • response — (map)

              Specifies a list of message groups that Amazon Lex uses to respond the user input.

              • messageGroupsrequired — (Array<map>)

                A collection of responses that Amazon Lex can send to the user. Amazon Lex chooses the actual response to send at runtime.

                • messagerequired — (map)

                  The primary message that Amazon Lex should send to the user.

                  • plainTextMessage — (map)

                    A message in plain text format.

                    • valuerequired — (String)

                      The message to send to the user.

                  • customPayload — (map)

                    A message in a custom format defined by the client application.

                    • valuerequired — (String)

                      The string that is sent to your application.

                  • ssmlMessage — (map)

                    A message in Speech Synthesis Markup Language (SSML).

                    • valuerequired — (String)

                      The SSML text that defines the prompt.

                  • imageResponseCard — (map)

                    A message that defines a response card that the client application can show to the user.

                    • titlerequired — (String)

                      The title to display on the response card. The format of the title is determined by the platform displaying the response card.

                    • subtitle — (String)

                      The subtitle to display on the response card. The format of the subtitle is determined by the platform displaying the response card.

                    • imageUrl — (String)

                      The URL of an image to display on the response card. The image URL must be publicly available so that the platform displaying the response card has access to the image.

                    • buttons — (Array<map>)

                      A list of buttons that should be displayed on the response card. The arrangement of the buttons is determined by the platform that displays the button.

                      • textrequired — (String)

                        The text that appears on the button. Use this to tell the user what value is returned when they choose this button.

                      • valuerequired — (String)

                        The value returned to Amazon Lex when the user chooses this button. This must be one of the slot values configured for the slot.

                • variations — (Array<map>)

                  Message variations to send to the user. When variations are defined, Amazon Lex chooses the primary message or one of the variations to send to the user.

                  • plainTextMessage — (map)

                    A message in plain text format.

                    • valuerequired — (String)

                      The message to send to the user.

                  • customPayload — (map)

                    A message in a custom format defined by the client application.

                    • valuerequired — (String)

                      The string that is sent to your application.

                  • ssmlMessage — (map)

                    A message in Speech Synthesis Markup Language (SSML).

                    • valuerequired — (String)

                      The SSML text that defines the prompt.

                  • imageResponseCard — (map)

                    A message that defines a response card that the client application can show to the user.

                    • titlerequired — (String)

                      The title to display on the response card. The format of the title is determined by the platform displaying the response card.

                    • subtitle — (String)

                      The subtitle to display on the response card. The format of the subtitle is determined by the platform displaying the response card.

                    • imageUrl — (String)

                      The URL of an image to display on the response card. The image URL must be publicly available so that the platform displaying the response card has access to the image.

                    • buttons — (Array<map>)

                      A list of buttons that should be displayed on the response card. The arrangement of the buttons is determined by the platform that displays the button.

                      • textrequired — (String)

                        The text that appears on the button. Use this to tell the user what value is returned when they choose this button.

                      • valuerequired — (String)

                        The value returned to Amazon Lex when the user chooses this button. This must be one of the slot values configured for the slot.

              • allowInterrupt — (Boolean)

                Indicates whether the user can interrupt a speech response from Amazon Lex.

        • codeHook — (map)

          The DialogCodeHookInvocationSetting object associated with intent's confirmation step. The dialog code hook is triggered based on these invocation settings when the confirmation next step or declination next step or failure next step is InvokeDialogCodeHook.

          • enableCodeHookInvocationrequired — (Boolean)

            Indicates whether a Lambda function should be invoked for the dialog.

          • activerequired — (Boolean)

            Determines whether a dialog code hook is used when the intent is activated.

          • invocationLabel — (String)

            A label that indicates the dialog step from which the dialog code hook is happening.

          • postCodeHookSpecificationrequired — (map)

            Contains the responses and actions that Amazon Lex takes after the Lambda function is complete.

            • successResponse — (map)

              Specifies a list of message groups that Amazon Lex uses to respond the user input.

              • messageGroupsrequired — (Array<map>)

                A collection of responses that Amazon Lex can send to the user. Amazon Lex chooses the actual response to send at runtime.

                • messagerequired — (map)

                  The primary message that Amazon Lex should send to the user.

                  • plainTextMessage — (map)

                    A message in plain text format.

                    • valuerequired — (String)

                      The message to send to the user.

                  • customPayload — (map)

                    A message in a custom format defined by the client application.

                    • valuerequired — (String)

                      The string that is sent to your application.

                  • ssmlMessage — (map)

                    A message in Speech Synthesis Markup Language (SSML).

                    • valuerequired — (String)

                      The SSML text that defines the prompt.

                  • imageResponseCard — (map)

                    A message that defines a response card that the client application can show to the user.

                    • titlerequired — (String)

                      The title to display on the response card. The format of the title is determined by the platform displaying the response card.

                    • subtitle — (String)

                      The subtitle to display on the response card. The format of the subtitle is determined by the platform displaying the response card.

                    • imageUrl — (String)

                      The URL of an image to display on the response card. The image URL must be publicly available so that the platform displaying the response card has access to the image.

                    • buttons — (Array<map>)

                      A list of buttons that should be displayed on the response card. The arrangement of the buttons is determined by the platform that displays the button.

                      • textrequired — (String)

                        The text that appears on the button. Use this to tell the user what value is returned when they choose this button.

                      • valuerequired — (String)

                        The value returned to Amazon Lex when the user chooses this button. This must be one of the slot values configured for the slot.

                • variations — (Array<map>)

                  Message variations to send to the user. When variations are defined, Amazon Lex chooses the primary message or one of the variations to send to the user.

                  • plainTextMessage — (map)

                    A message in plain text format.

                    • valuerequired — (String)

                      The message to send to the user.

                  • customPayload — (map)

                    A message in a custom format defined by the client application.

                    • valuerequired — (String)

                      The string that is sent to your application.

                  • ssmlMessage — (map)

                    A message in Speech Synthesis Markup Language (SSML).

                    • valuerequired — (String)

                      The SSML text that defines the prompt.

                  • imageResponseCard — (map)

                    A message that defines a response card that the client application can show to the user.

                    • titlerequired — (String)

                      The title to display on the response card. The format of the title is determined by the platform displaying the response card.

                    • subtitle — (String)

                      The subtitle to display on the response card. The format of the subtitle is determined by the platform displaying the response card.

                    • imageUrl — (String)

                      The URL of an image to display on the response card. The image URL must be publicly available so that the platform displaying the response card has access to the image.

                    • buttons — (Array<map>)

                      A list of buttons that should be displayed on the response card. The arrangement of the buttons is determined by the platform that displays the button.

                      • textrequired — (String)

                        The text that appears on the button. Use this to tell the user what value is returned when they choose this button.

                      • valuerequired — (String)

                        The value returned to Amazon Lex when the user chooses this button. This must be one of the slot values configured for the slot.

              • allowInterrupt — (Boolean)

                Indicates whether the user can interrupt a speech response from Amazon Lex.

            • successNextStep — (map)

              Specifics the next step the bot runs after the dialog code hook finishes successfully.

              • dialogAction — (map)

                Defines the action that the bot executes at runtime when the conversation reaches this step.

                • typerequired — (String)

                  The action that the bot should execute.

                  Possible values include:
                  • "ElicitIntent"
                  • "StartIntent"
                  • "ElicitSlot"
                  • "EvaluateConditional"
                  • "InvokeDialogCodeHook"
                  • "ConfirmIntent"
                  • "FulfillIntent"
                  • "CloseIntent"
                  • "EndConversation"
                • slotToElicit — (String)

                  If the dialog action is ElicitSlot, defines the slot to elicit from the user.

                • suppressNextMessage — (Boolean)

                  When true the next message for the intent is not used.

              • intent — (map)

                Override settings to configure the intent state.

                • name — (String)

                  The name of the intent. Only required when you're switching intents.

                • slots — (map<map>)

                  A map of all of the slot value overrides for the intent. The name of the slot maps to the value of the slot. Slots that are not included in the map aren't overridden.

                  • shape — (String)

                    When the shape value is List, it indicates that the values field contains a list of slot values. When the value is Scalar, it indicates that the value field contains a single value.

                    Possible values include:
                    • "Scalar"
                    • "List"
                  • value — (map)

                    The current value of the slot.

                    • interpretedValue — (String)

                      The value that Amazon Lex determines for the slot. The actual value depends on the setting of the value selection strategy for the bot. You can choose to use the value entered by the user, or you can have Amazon Lex choose the first value in the resolvedValues list.

                  • values — (Array<map>)

                    A list of one or more values that the user provided for the slot. For example, for a slot that elicits pizza toppings, the values might be "pepperoni" and "pineapple."

              • sessionAttributes — (map<String>)

                Map of key/value pairs representing session-specific context information. It contains application information passed between Amazon Lex and a client application.

            • successConditional — (map)

              A list of conditional branches to evaluate after the dialog code hook finishes successfully.

              • activerequired — (Boolean)

                Determines whether a conditional branch is active. When active is false, the conditions are not evaluated.

              • conditionalBranchesrequired — (Array<map>)

                A list of conditional branches. A conditional branch is made up of a condition, a response and a next step. The response and next step are executed when the condition is true.

                • namerequired — (String)

                  The name of the branch.

                • conditionrequired — (map)

                  Contains the expression to evaluate. If the condition is true, the branch's actions are taken.

                  • expressionStringrequired — (String)

                    The expression string that is evaluated.

                • nextSteprequired — (map)

                  The next step in the conversation.

                  • dialogAction — (map)

                    Defines the action that the bot executes at runtime when the conversation reaches this step.

                    • typerequired — (String)

                      The action that the bot should execute.

                      Possible values include:
                      • "ElicitIntent"
                      • "StartIntent"
                      • "ElicitSlot"
                      • "EvaluateConditional"
                      • "InvokeDialogCodeHook"
                      • "ConfirmIntent"
                      • "FulfillIntent"
                      • "CloseIntent"
                      • "EndConversation"
                    • slotToElicit — (String)

                      If the dialog action is ElicitSlot, defines the slot to elicit from the user.

                    • suppressNextMessage — (Boolean)

                      When true the next message for the intent is not used.

                  • intent — (map)

                    Override settings to configure the intent state.

                    • name — (String)

                      The name of the intent. Only required when you're switching intents.

                    • slots — (map<map>)

                      A map of all of the slot value overrides for the intent. The name of the slot maps to the value of the slot. Slots that are not included in the map aren't overridden.

                      • shape — (String)

                        When the shape value is List, it indicates that the values field contains a list of slot values. When the value is Scalar, it indicates that the value field contains a single value.

                        Possible values include:
                        • "Scalar"
                        • "List"
                      • value — (map)

                        The current value of the slot.

                        • interpretedValue — (String)

                          The value that Amazon Lex determines for the slot. The actual value depends on the setting of the value selection strategy for the bot. You can choose to use the value entered by the user, or you can have Amazon Lex choose the first value in the resolvedValues list.

                      • values — (Array<map>)

                        A list of one or more values that the user provided for the slot. For example, for a slot that elicits pizza toppings, the values might be "pepperoni" and "pineapple."

                  • sessionAttributes — (map<String>)

                    Map of key/value pairs representing session-specific context information. It contains application information passed between Amazon Lex and a client application.

                • response — (map)

                  Specifies a list of message groups that Amazon Lex uses to respond the user input.

                  • messageGroupsrequired — (Array<map>)

                    A collection of responses that Amazon Lex can send to the user. Amazon Lex chooses the actual response to send at runtime.

                    • messagerequired — (map)

                      The primary message that Amazon Lex should send to the user.

                      • plainTextMessage — (map)

                        A message in plain text format.

                        • valuerequired — (String)

                          The message to send to the user.

                      • customPayload — (map)

                        A message in a custom format defined by the client application.

                        • valuerequired — (String)

                          The string that is sent to your application.

                      • ssmlMessage — (map)

                        A message in Speech Synthesis Markup Language (SSML).

                        • valuerequired — (String)

                          The SSML text that defines the prompt.

                      • imageResponseCard — (map)

                        A message that defines a response card that the client application can show to the user.

                        • titlerequired — (String)

                          The title to display on the response card. The format of the title is determined by the platform displaying the response card.

                        • subtitle — (String)

                          The subtitle to display on the response card. The format of the subtitle is determined by the platform displaying the response card.

                        • imageUrl — (String)

                          The URL of an image to display on the response card. The image URL must be publicly available so that the platform displaying the response card has access to the image.

                        • buttons — (Array<map>)

                          A list of buttons that should be displayed on the response card. The arrangement of the buttons is determined by the platform that displays the button.

                          • textrequired — (String)

                            The text that appears on the button. Use this to tell the user what value is returned when they choose this button.

                          • valuerequired — (String)

                            The value returned to Amazon Lex when the user chooses this button. This must be one of the slot values configured for the slot.

                    • variations — (Array<map>)

                      Message variations to send to the user. When variations are defined, Amazon Lex chooses the primary message or one of the variations to send to the user.

                      • plainTextMessage — (map)

                        A message in plain text format.

                        • valuerequired — (String)

                          The message to send to the user.

                      • customPayload — (map)

                        A message in a custom format defined by the client application.

                        • valuerequired — (String)

                          The string that is sent to your application.

                      • ssmlMessage — (map)

                        A message in Speech Synthesis Markup Language (SSML).

                        • valuerequired — (String)

                          The SSML text that defines the prompt.

                      • imageResponseCard — (map)

                        A message that defines a response card that the client application can show to the user.

                        • titlerequired — (String)

                          The title to display on the response card. The format of the title is determined by the platform displaying the response card.

                        • subtitle — (String)

                          The subtitle to display on the response card. The format of the subtitle is determined by the platform displaying the response card.

                        • imageUrl — (String)

                          The URL of an image to display on the response card. The image URL must be publicly available so that the platform displaying the response card has access to the image.

                        • buttons — (Array<map>)

                          A list of buttons that should be displayed on the response card. The arrangement of the buttons is determined by the platform that displays the button.

                          • textrequired — (String)

                            The text that appears on the button. Use this to tell the user what value is returned when they choose this button.

                          • valuerequired — (String)

                            The value returned to Amazon Lex when the user chooses this button. This must be one of the slot values configured for the slot.

                  • allowInterrupt — (Boolean)

                    Indicates whether the user can interrupt a speech response from Amazon Lex.

              • defaultBranchrequired — (map)

                The conditional branch that should be followed when the conditions for other branches are not satisfied. A conditional branch is made up of a condition, a response and a next step.

                • nextStep — (map)

                  The next step in the conversation.

                  • dialogAction — (map)

                    Defines the action that the bot executes at runtime when the conversation reaches this step.

                    • typerequired — (String)

                      The action that the bot should execute.

                      Possible values include:
                      • "ElicitIntent"
                      • "StartIntent"
                      • "ElicitSlot"
                      • "EvaluateConditional"
                      • "InvokeDialogCodeHook"
                      • "ConfirmIntent"
                      • "FulfillIntent"
                      • "CloseIntent"
                      • "EndConversation"
                    • slotToElicit — (String)

                      If the dialog action is ElicitSlot, defines the slot to elicit from the user.

                    • suppressNextMessage — (Boolean)

                      When true the next message for the intent is not used.

                  • intent — (map)

                    Override settings to configure the intent state.

                    • name — (String)

                      The name of the intent. Only required when you're switching intents.

                    • slots — (map<map>)

                      A map of all of the slot value overrides for the intent. The name of the slot maps to the value of the slot. Slots that are not included in the map aren't overridden.

                      • shape — (String)

                        When the shape value is List, it indicates that the values field contains a list of slot values. When the value is Scalar, it indicates that the value field contains a single value.

                        Possible values include:
                        • "Scalar"
                        • "List"
                      • value — (map)

                        The current value of the slot.

                        • interpretedValue — (String)

                          The value that Amazon Lex determines for the slot. The actual value depends on the setting of the value selection strategy for the bot. You can choose to use the value entered by the user, or you can have Amazon Lex choose the first value in the resolvedValues list.

                      • values — (Array<map>)

                        A list of one or more values that the user provided for the slot. For example, for a slot that elicits pizza toppings, the values might be "pepperoni" and "pineapple."

                  • sessionAttributes — (map<String>)

                    Map of key/value pairs representing session-specific context information. It contains application information passed between Amazon Lex and a client application.

                • response — (map)

                  Specifies a list of message groups that Amazon Lex uses to respond the user input.

                  • messageGroupsrequired — (Array<map>)

                    A collection of responses that Amazon Lex can send to the user. Amazon Lex chooses the actual response to send at runtime.

                    • messagerequired — (map)

                      The primary message that Amazon Lex should send to the user.

                      • plainTextMessage — (map)

                        A message in plain text format.

                        • valuerequired — (String)

                          The message to send to the user.

                      • customPayload — (map)

                        A message in a custom format defined by the client application.

                        • valuerequired — (String)

                          The string that is sent to your application.

                      • ssmlMessage — (map)

                        A message in Speech Synthesis Markup Language (SSML).

                        • valuerequired — (String)

                          The SSML text that defines the prompt.

                      • imageResponseCard — (map)

                        A message that defines a response card that the client application can show to the user.

                        • titlerequired — (String)

                          The title to display on the response card. The format of the title is determined by the platform displaying the response card.

                        • subtitle — (String)

                          The subtitle to display on the response card. The format of the subtitle is determined by the platform displaying the response card.

                        • imageUrl — (String)

                          The URL of an image to display on the response card. The image URL must be publicly available so that the platform displaying the response card has access to the image.

                        • buttons — (Array<map>)

                          A list of buttons that should be displayed on the response card. The arrangement of the buttons is determined by the platform that displays the button.

                          • textrequired — (String)

                            The text that appears on the button. Use this to tell the user what value is returned when they choose this button.

                          • valuerequired — (String)

                            The value returned to Amazon Lex when the user chooses this button. This must be one of the slot values configured for the slot.

                    • variations — (Array<map>)

                      Message variations to send to the user. When variations are defined, Amazon Lex chooses the primary message or one of the variations to send to the user.

                      • plainTextMessage — (map)

                        A message in plain text format.

                        • valuerequired — (String)

                          The message to send to the user.

                      • customPayload — (map)

                        A message in a custom format defined by the client application.

                        • valuerequired — (String)

                          The string that is sent to your application.

                      • ssmlMessage — (map)

                        A message in Speech Synthesis Markup Language (SSML).

                        • valuerequired — (String)

                          The SSML text that defines the prompt.

                      • imageResponseCard — (map)

                        A message that defines a response card that the client application can show to the user.

                        • titlerequired — (String)

                          The title to display on the response card. The format of the title is determined by the platform displaying the response card.

                        • subtitle — (String)

                          The subtitle to display on the response card. The format of the subtitle is determined by the platform displaying the response card.

                        • imageUrl — (String)

                          The URL of an image to display on the response card. The image URL must be publicly available so that the platform displaying the response card has access to the image.

                        • buttons — (Array<map>)

                          A list of buttons that should be displayed on the response card. The arrangement of the buttons is determined by the platform that displays the button.

                          • textrequired — (String)

                            The text that appears on the button. Use this to tell the user what value is returned when they choose this button.

                          • valuerequired — (String)

                            The value returned to Amazon Lex when the user chooses this button. This must be one of the slot values configured for the slot.

                  • allowInterrupt — (Boolean)

                    Indicates whether the user can interrupt a speech response from Amazon Lex.

            • failureResponse — (map)

              Specifies a list of message groups that Amazon Lex uses to respond the user input.

              • messageGroupsrequired — (Array<map>)

                A collection of responses that Amazon Lex can send to the user. Amazon Lex chooses the actual response to send at runtime.

                • messagerequired — (map)

                  The primary message that Amazon Lex should send to the user.

                  • plainTextMessage — (map)

                    A message in plain text format.

                    • valuerequired — (String)

                      The message to send to the user.

                  • customPayload — (map)

                    A message in a custom format defined by the client application.

                    • valuerequired — (String)

                      The string that is sent to your application.

                  • ssmlMessage — (map)

                    A message in Speech Synthesis Markup Language (SSML).

                    • valuerequired — (String)

                      The SSML text that defines the prompt.

                  • imageResponseCard — (map)

                    A message that defines a response card that the client application can show to the user.

                    • titlerequired — (String)

                      The title to display on the response card. The format of the title is determined by the platform displaying the response card.

                    • subtitle — (String)

                      The subtitle to display on the response card. The format of the subtitle is determined by the platform displaying the response card.

                    • imageUrl — (String)

                      The URL of an image to display on the response card. The image URL must be publicly available so that the platform displaying the response card has access to the image.

                    • buttons — (Array<map>)

                      A list of buttons that should be displayed on the response card. The arrangement of the buttons is determined by the platform that displays the button.

                      • textrequired — (String)

                        The text that appears on the button. Use this to tell the user what value is returned when they choose this button.

                      • valuerequired — (String)

                        The value returned to Amazon Lex when the user chooses this button. This must be one of the slot values configured for the slot.

                • variations — (Array<map>)

                  Message variations to send to the user. When variations are defined, Amazon Lex chooses the primary message or one of the variations to send to the user.

                  • plainTextMessage — (map)

                    A message in plain text format.

                    • valuerequired — (String)

                      The message to send to the user.

                  • customPayload — (map)

                    A message in a custom format defined by the client application.

                    • valuerequired — (String)

                      The string that is sent to your application.

                  • ssmlMessage — (map)

                    A message in Speech Synthesis Markup Language (SSML).

                    • valuerequired — (String)

                      The SSML text that defines the prompt.

                  • imageResponseCard — (map)

                    A message that defines a response card that the client application can show to the user.

                    • titlerequired — (String)

                      The title to display on the response card. The format of the title is determined by the platform displaying the response card.

                    • subtitle — (String)

                      The subtitle to display on the response card. The format of the subtitle is determined by the platform displaying the response card.

                    • imageUrl — (String)

                      The URL of an image to display on the response card. The image URL must be publicly available so that the platform displaying the response card has access to the image.

                    • buttons — (Array<map>)

                      A list of buttons that should be displayed on the response card. The arrangement of the buttons is determined by the platform that displays the button.

                      • textrequired — (String)

                        The text that appears on the button. Use this to tell the user what value is returned when they choose this button.

                      • valuerequired — (String)

                        The value returned to Amazon Lex when the user chooses this button. This must be one of the slot values configured for the slot.

              • allowInterrupt — (Boolean)

                Indicates whether the user can interrupt a speech response from Amazon Lex.

            • failureNextStep — (map)

              Specifies the next step the bot runs after the dialog code hook throws an exception or returns with the State field of the Intent object set to Failed.

              • dialogAction — (map)

                Defines the action that the bot executes at runtime when the conversation reaches this step.

                • typerequired — (String)

                  The action that the bot should execute.

                  Possible values include:
                  • "ElicitIntent"
                  • "StartIntent"
                  • "ElicitSlot"
                  • "EvaluateConditional"
                  • "InvokeDialogCodeHook"
                  • "ConfirmIntent"
                  • "FulfillIntent"
                  • "CloseIntent"
                  • "EndConversation"
                • slotToElicit — (String)

                  If the dialog action is ElicitSlot, defines the slot to elicit from the user.

                • suppressNextMessage — (Boolean)

                  When true the next message for the intent is not used.

              • intent — (map)

                Override settings to configure the intent state.

                • name — (String)

                  The name of the intent. Only required when you're switching intents.

                • slots — (map<map>)

                  A map of all of the slot value overrides for the intent. The name of the slot maps to the value of the slot. Slots that are not included in the map aren't overridden.

                  • shape — (String)

                    When the shape value is List, it indicates that the values field contains a list of slot values. When the value is Scalar, it indicates that the value field contains a single value.

                    Possible values include:
                    • "Scalar"
                    • "List"
                  • value — (map)

                    The current value of the slot.

                    • interpretedValue — (String)

                      The value that Amazon Lex determines for the slot. The actual value depends on the setting of the value selection strategy for the bot. You can choose to use the value entered by the user, or you can have Amazon Lex choose the first value in the resolvedValues list.

                  • values — (Array<map>)

                    A list of one or more values that the user provided for the slot. For example, for a slot that elicits pizza toppings, the values might be "pepperoni" and "pineapple."

              • sessionAttributes — (map<String>)

                Map of key/value pairs representing session-specific context information. It contains application information passed between Amazon Lex and a client application.

            • failureConditional — (map)

              A list of conditional branches to evaluate after the dialog code hook throws an exception or returns with the State field of the Intent object set to Failed.

              • activerequired — (Boolean)

                Determines whether a conditional branch is active. When active is false, the conditions are not evaluated.

              • conditionalBranchesrequired — (Array<map>)

                A list of conditional branches. A conditional branch is made up of a condition, a response and a next step. The response and next step are executed when the condition is true.

                • namerequired — (String)

                  The name of the branch.

                • conditionrequired — (map)

                  Contains the expression to evaluate. If the condition is true, the branch's actions are taken.

                  • expressionStringrequired — (String)

                    The expression string that is evaluated.

                • nextSteprequired — (map)

                  The next step in the conversation.

                  • dialogAction — (map)

                    Defines the action that the bot executes at runtime when the conversation reaches this step.

                    • typerequired — (String)

                      The action that the bot should execute.

                      Possible values include:
                      • "ElicitIntent"
                      • "StartIntent"
                      • "ElicitSlot"
                      • "EvaluateConditional"
                      • "InvokeDialogCodeHook"
                      • "ConfirmIntent"
                      • "FulfillIntent"
                      • "CloseIntent"
                      • "EndConversation"
                    • slotToElicit — (String)

                      If the dialog action is ElicitSlot, defines the slot to elicit from the user.

                    • suppressNextMessage — (Boolean)

                      When true the next message for the intent is not used.

                  • intent — (map)

                    Override settings to configure the intent state.

                    • name — (String)

                      The name of the intent. Only required when you're switching intents.

                    • slots — (map<map>)

                      A map of all of the slot value overrides for the intent. The name of the slot maps to the value of the slot. Slots that are not included in the map aren't overridden.

                      • shape — (String)

                        When the shape value is List, it indicates that the values field contains a list of slot values. When the value is Scalar, it indicates that the value field contains a single value.

                        Possible values include:
                        • "Scalar"
                        • "List"
                      • value — (map)

                        The current value of the slot.

                        • interpretedValue — (String)

                          The value that Amazon Lex determines for the slot. The actual value depends on the setting of the value selection strategy for the bot. You can choose to use the value entered by the user, or you can have Amazon Lex choose the first value in the resolvedValues list.

                      • values — (Array<map>)

                        A list of one or more values that the user provided for the slot. For example, for a slot that elicits pizza toppings, the values might be "pepperoni" and "pineapple."

                  • sessionAttributes — (map<String>)

                    Map of key/value pairs representing session-specific context information. It contains application information passed between Amazon Lex and a client application.

                • response — (map)

                  Specifies a list of message groups that Amazon Lex uses to respond the user input.

                  • messageGroupsrequired — (Array<map>)

                    A collection of responses that Amazon Lex can send to the user. Amazon Lex chooses the actual response to send at runtime.

                    • messagerequired — (map)

                      The primary message that Amazon Lex should send to the user.

                      • plainTextMessage — (map)

                        A message in plain text format.

                        • valuerequired — (String)

                          The message to send to the user.

                      • customPayload — (map)

                        A message in a custom format defined by the client application.

                        • valuerequired — (String)

                          The string that is sent to your application.

                      • ssmlMessage — (map)

                        A message in Speech Synthesis Markup Language (SSML).

                        • valuerequired — (String)

                          The SSML text that defines the prompt.

                      • imageResponseCard — (map)

                        A message that defines a response card that the client application can show to the user.

                        • titlerequired — (String)

                          The title to display on the response card. The format of the title is determined by the platform displaying the response card.

                        • subtitle — (String)

                          The subtitle to display on the response card. The format of the subtitle is determined by the platform displaying the response card.

                        • imageUrl — (String)

                          The URL of an image to display on the response card. The image URL must be publicly available so that the platform displaying the response card has access to the image.

                        • buttons — (Array<map>)

                          A list of buttons that should be displayed on the response card. The arrangement of the buttons is determined by the platform that displays the button.

                          • textrequired — (String)

                            The text that appears on the button. Use this to tell the user what value is returned when they choose this button.

                          • valuerequired — (String)

                            The value returned to Amazon Lex when the user chooses this button. This must be one of the slot values configured for the slot.

                    • variations — (Array<map>)

                      Message variations to send to the user. When variations are defined, Amazon Lex chooses the primary message or one of the variations to send to the user.

                      • plainTextMessage — (map)

                        A message in plain text format.

                        • valuerequired — (String)

                          The message to send to the user.

                      • customPayload — (map)

                        A message in a custom format defined by the client application.

                        • valuerequired — (String)

                          The string that is sent to your application.

                      • ssmlMessage — (map)

                        A message in Speech Synthesis Markup Language (SSML).

                        • valuerequired — (String)

                          The SSML text that defines the prompt.

                      • imageResponseCard — (map)

                        A message that defines a response card that the client application can show to the user.

                        • titlerequired — (String)

                          The title to display on the response card. The format of the title is determined by the platform displaying the response card.

                        • subtitle — (String)

                          The subtitle to display on the response card. The format of the subtitle is determined by the platform displaying the response card.

                        • imageUrl — (String)

                          The URL of an image to display on the response card. The image URL must be publicly available so that the platform displaying the response card has access to the image.

                        • buttons — (Array<map>)

                          A list of buttons that should be displayed on the response card. The arrangement of the buttons is determined by the platform that displays the button.

                          • textrequired — (String)

                            The text that appears on the button. Use this to tell the user what value is returned when they choose this button.

                          • valuerequired — (String)

                            The value returned to Amazon Lex when the user chooses this button. This must be one of the slot values configured for the slot.

                  • allowInterrupt — (Boolean)

                    Indicates whether the user can interrupt a speech response from Amazon Lex.

              • defaultBranchrequired — (map)

                The conditional branch that should be followed when the conditions for other branches are not satisfied. A conditional branch is made up of a condition, a response and a next step.

                • nextStep — (map)

                  The next step in the conversation.

                  • dialogAction — (map)

                    Defines the action that the bot executes at runtime when the conversation reaches this step.

                    • typerequired — (String)

                      The action that the bot should execute.

                      Possible values include:
                      • "ElicitIntent"
                      • "StartIntent"
                      • "ElicitSlot"
                      • "EvaluateConditional"
                      • "InvokeDialogCodeHook"
                      • "ConfirmIntent"
                      • "FulfillIntent"
                      • "CloseIntent"
                      • "EndConversation"
                    • slotToElicit — (String)

                      If the dialog action is ElicitSlot, defines the slot to elicit from the user.

                    • suppressNextMessage — (Boolean)

                      When true the next message for the intent is not used.

                  • intent — (map)

                    Override settings to configure the intent state.

                    • name — (String)

                      The name of the intent. Only required when you're switching intents.

                    • slots — (map<map>)

                      A map of all of the slot value overrides for the intent. The name of the slot maps to the value of the slot. Slots that are not included in the map aren't overridden.

                      • shape — (String)

                        When the shape value is List, it indicates that the values field contains a list of slot values. When the value is Scalar, it indicates that the value field contains a single value.

                        Possible values include:
                        • "Scalar"
                        • "List"
                      • value — (map)

                        The current value of the slot.

                        • interpretedValue — (String)

                          The value that Amazon Lex determines for the slot. The actual value depends on the setting of the value selection strategy for the bot. You can choose to use the value entered by the user, or you can have Amazon Lex choose the first value in the resolvedValues list.

                      • values — (Array<map>)

                        A list of one or more values that the user provided for the slot. For example, for a slot that elicits pizza toppings, the values might be "pepperoni" and "pineapple."

                  • sessionAttributes — (map<String>)

                    Map of key/value pairs representing session-specific context information. It contains application information passed between Amazon Lex and a client application.

                • response — (map)

                  Specifies a list of message groups that Amazon Lex uses to respond the user input.

                  • messageGroupsrequired — (Array<map>)

                    A collection of responses that Amazon Lex can send to the user. Amazon Lex chooses the actual response to send at runtime.

                    • messagerequired — (map)

                      The primary message that Amazon Lex should send to the user.

                      • plainTextMessage — (map)

                        A message in plain text format.

                        • valuerequired — (String)

                          The message to send to the user.

                      • customPayload — (map)

                        A message in a custom format defined by the client application.

                        • valuerequired — (String)

                          The string that is sent to your application.

                      • ssmlMessage — (map)

                        A message in Speech Synthesis Markup Language (SSML).

                        • valuerequired — (String)

                          The SSML text that defines the prompt.

                      • imageResponseCard — (map)

                        A message that defines a response card that the client application can show to the user.

                        • titlerequired — (String)

                          The title to display on the response card. The format of the title is determined by the platform displaying the response card.

                        • subtitle — (String)

                          The subtitle to display on the response card. The format of the subtitle is determined by the platform displaying the response card.

                        • imageUrl — (String)

                          The URL of an image to display on the response card. The image URL must be publicly available so that the platform displaying the response card has access to the image.

                        • buttons — (Array<map>)

                          A list of buttons that should be displayed on the response card. The arrangement of the buttons is determined by the platform that displays the button.

                          • textrequired — (String)

                            The text that appears on the button. Use this to tell the user what value is returned when they choose this button.

                          • valuerequired — (String)

                            The value returned to Amazon Lex when the user chooses this button. This must be one of the slot values configured for the slot.

                    • variations — (Array<map>)

                      Message variations to send to the user. When variations are defined, Amazon Lex chooses the primary message or one of the variations to send to the user.

                      • plainTextMessage — (map)

                        A message in plain text format.

                        • valuerequired — (String)

                          The message to send to the user.

                      • customPayload — (map)

                        A message in a custom format defined by the client application.

                        • valuerequired — (String)

                          The string that is sent to your application.

                      • ssmlMessage — (map)

                        A message in Speech Synthesis Markup Language (SSML).

                        • valuerequired — (String)

                          The SSML text that defines the prompt.

                      • imageResponseCard — (map)

                        A message that defines a response card that the client application can show to the user.

                        • titlerequired — (String)

                          The title to display on the response card. The format of the title is determined by the platform displaying the response card.

                        • subtitle — (String)

                          The subtitle to display on the response card. The format of the subtitle is determined by the platform displaying the response card.

                        • imageUrl — (String)

                          The URL of an image to display on the response card. The image URL must be publicly available so that the platform displaying the response card has access to the image.

                        • buttons — (Array<map>)

                          A list of buttons that should be displayed on the response card. The arrangement of the buttons is determined by the platform that displays the button.

                          • textrequired — (String)

                            The text that appears on the button. Use this to tell the user what value is returned when they choose this button.

                          • valuerequired — (String)

                            The value returned to Amazon Lex when the user chooses this button. This must be one of the slot values configured for the slot.

                  • allowInterrupt — (Boolean)

                    Indicates whether the user can interrupt a speech response from Amazon Lex.

            • timeoutResponse — (map)

              Specifies a list of message groups that Amazon Lex uses to respond the user input.

              • messageGroupsrequired — (Array<map>)

                A collection of responses that Amazon Lex can send to the user. Amazon Lex chooses the actual response to send at runtime.

                • messagerequired — (map)

                  The primary message that Amazon Lex should send to the user.

                  • plainTextMessage — (map)

                    A message in plain text format.

                    • valuerequired — (String)

                      The message to send to the user.

                  • customPayload — (map)

                    A message in a custom format defined by the client application.

                    • valuerequired — (String)

                      The string that is sent to your application.

                  • ssmlMessage — (map)

                    A message in Speech Synthesis Markup Language (SSML).

                    • valuerequired — (String)

                      The SSML text that defines the prompt.

                  • imageResponseCard — (map)

                    A message that defines a response card that the client application can show to the user.

                    • titlerequired — (String)

                      The title to display on the response card. The format of the title is determined by the platform displaying the response card.

                    • subtitle — (String)

                      The subtitle to display on the response card. The format of the subtitle is determined by the platform displaying the response card.

                    • imageUrl — (String)

                      The URL of an image to display on the response card. The image URL must be publicly available so that the platform displaying the response card has access to the image.

                    • buttons — (Array<map>)

                      A list of buttons that should be displayed on the response card. The arrangement of the buttons is determined by the platform that displays the button.

                      • textrequired — (String)

                        The text that appears on the button. Use this to tell the user what value is returned when they choose this button.

                      • valuerequired — (String)

                        The value returned to Amazon Lex when the user chooses this button. This must be one of the slot values configured for the slot.

                • variations — (Array<map>)

                  Message variations to send to the user. When variations are defined, Amazon Lex chooses the primary message or one of the variations to send to the user.

                  • plainTextMessage — (map)

                    A message in plain text format.

                    • valuerequired — (String)

                      The message to send to the user.

                  • customPayload — (map)

                    A message in a custom format defined by the client application.

                    • valuerequired — (String)

                      The string that is sent to your application.

                  • ssmlMessage — (map)

                    A message in Speech Synthesis Markup Language (SSML).

                    • valuerequired — (String)

                      The SSML text that defines the prompt.

                  • imageResponseCard — (map)

                    A message that defines a response card that the client application can show to the user.

                    • titlerequired — (String)

                      The title to display on the response card. The format of the title is determined by the platform displaying the response card.

                    • subtitle — (String)

                      The subtitle to display on the response card. The format of the subtitle is determined by the platform displaying the response card.

                    • imageUrl — (String)

                      The URL of an image to display on the response card. The image URL must be publicly available so that the platform displaying the response card has access to the image.

                    • buttons — (Array<map>)

                      A list of buttons that should be displayed on the response card. The arrangement of the buttons is determined by the platform that displays the button.

                      • textrequired — (String)

                        The text that appears on the button. Use this to tell the user what value is returned when they choose this button.

                      • valuerequired — (String)

                        The value returned to Amazon Lex when the user chooses this button. This must be one of the slot values configured for the slot.

              • allowInterrupt — (Boolean)

                Indicates whether the user can interrupt a speech response from Amazon Lex.

            • timeoutNextStep — (map)

              Specifies the next step that the bot runs when the code hook times out.

              • dialogAction — (map)

                Defines the action that the bot executes at runtime when the conversation reaches this step.

                • typerequired — (String)

                  The action that the bot should execute.

                  Possible values include:
                  • "ElicitIntent"
                  • "StartIntent"
                  • "ElicitSlot"
                  • "EvaluateConditional"
                  • "InvokeDialogCodeHook"
                  • "ConfirmIntent"
                  • "FulfillIntent"
                  • "CloseIntent"
                  • "EndConversation"
                • slotToElicit — (String)

                  If the dialog action is ElicitSlot, defines the slot to elicit from the user.

                • suppressNextMessage — (Boolean)

                  When true the next message for the intent is not used.

              • intent — (map)

                Override settings to configure the intent state.

                • name — (String)

                  The name of the intent. Only required when you're switching intents.

                • slots — (map<map>)

                  A map of all of the slot value overrides for the intent. The name of the slot maps to the value of the slot. Slots that are not included in the map aren't overridden.

                  • shape — (String)

                    When the shape value is List, it indicates that the values field contains a list of slot values. When the value is Scalar, it indicates that the value field contains a single value.

                    Possible values include:
                    • "Scalar"
                    • "List"
                  • value — (map)

                    The current value of the slot.

                    • interpretedValue — (String)

                      The value that Amazon Lex determines for the slot. The actual value depends on the setting of the value selection strategy for the bot. You can choose to use the value entered by the user, or you can have Amazon Lex choose the first value in the resolvedValues list.

                  • values — (Array<map>)

                    A list of one or more values that the user provided for the slot. For example, for a slot that elicits pizza toppings, the values might be "pepperoni" and "pineapple."

              • sessionAttributes — (map<String>)

                Map of key/value pairs representing session-specific context information. It contains application information passed between Amazon Lex and a client application.

            • timeoutConditional — (map)

              A list of conditional branches to evaluate if the code hook times out.

              • activerequired — (Boolean)

                Determines whether a conditional branch is active. When active is false, the conditions are not evaluated.

              • conditionalBranchesrequired — (Array<map>)

                A list of conditional branches. A conditional branch is made up of a condition, a response and a next step. The response and next step are executed when the condition is true.

                • namerequired — (String)

                  The name of the branch.

                • conditionrequired — (map)

                  Contains the expression to evaluate. If the condition is true, the branch's actions are taken.

                  • expressionStringrequired — (String)

                    The expression string that is evaluated.

                • nextSteprequired — (map)

                  The next step in the conversation.

                  • dialogAction — (map)

                    Defines the action that the bot executes at runtime when the conversation reaches this step.

                    • typerequired — (String)

                      The action that the bot should execute.

                      Possible values include:
                      • "ElicitIntent"
                      • "StartIntent"
                      • "ElicitSlot"
                      • "EvaluateConditional"
                      • "InvokeDialogCodeHook"
                      • "ConfirmIntent"
                      • "FulfillIntent"
                      • "CloseIntent"
                      • "EndConversation"
                    • slotToElicit — (String)

                      If the dialog action is ElicitSlot, defines the slot to elicit from the user.

                    • suppressNextMessage — (Boolean)

                      When true the next message for the intent is not used.

                  • intent — (map)

                    Override settings to configure the intent state.

                    • name — (String)

                      The name of the intent. Only required when you're switching intents.

                    • slots — (map<map>)

                      A map of all of the slot value overrides for the intent. The name of the slot maps to the value of the slot. Slots that are not included in the map aren't overridden.

                      • shape — (String)

                        When the shape value is List, it indicates that the values field contains a list of slot values. When the value is Scalar, it indicates that the value field contains a single value.

                        Possible values include:
                        • "Scalar"
                        • "List"
                      • value — (map)

                        The current value of the slot.

                        • interpretedValue — (String)

                          The value that Amazon Lex determines for the slot. The actual value depends on the setting of the value selection strategy for the bot. You can choose to use the value entered by the user, or you can have Amazon Lex choose the first value in the resolvedValues list.

                      • values — (Array<map>)

                        A list of one or more values that the user provided for the slot. For example, for a slot that elicits pizza toppings, the values might be "pepperoni" and "pineapple."

                  • sessionAttributes — (map<String>)

                    Map of key/value pairs representing session-specific context information. It contains application information passed between Amazon Lex and a client application.

                • response — (map)

                  Specifies a list of message groups that Amazon Lex uses to respond the user input.

                  • messageGroupsrequired — (Array<map>)

                    A collection of responses that Amazon Lex can send to the user. Amazon Lex chooses the actual response to send at runtime.

                    • messagerequired — (map)

                      The primary message that Amazon Lex should send to the user.

                      • plainTextMessage — (map)

                        A message in plain text format.

                        • valuerequired — (String)

                          The message to send to the user.

                      • customPayload — (map)

                        A message in a custom format defined by the client application.

                        • valuerequired — (String)

                          The string that is sent to your application.

                      • ssmlMessage — (map)

                        A message in Speech Synthesis Markup Language (SSML).

                        • valuerequired — (String)

                          The SSML text that defines the prompt.

                      • imageResponseCard — (map)

                        A message that defines a response card that the client application can show to the user.

                        • titlerequired — (String)

                          The title to display on the response card. The format of the title is determined by the platform displaying the response card.

                        • subtitle — (String)

                          The subtitle to display on the response card. The format of the subtitle is determined by the platform displaying the response card.

                        • imageUrl — (String)

                          The URL of an image to display on the response card. The image URL must be publicly available so that the platform displaying the response card has access to the image.

                        • buttons — (Array<map>)

                          A list of buttons that should be displayed on the response card. The arrangement of the buttons is determined by the platform that displays the button.

                          • textrequired — (String)

                            The text that appears on the button. Use this to tell the user what value is returned when they choose this button.

                          • valuerequired — (String)

                            The value returned to Amazon Lex when the user chooses this button. This must be one of the slot values configured for the slot.

                    • variations — (Array<map>)

                      Message variations to send to the user. When variations are defined, Amazon Lex chooses the primary message or one of the variations to send to the user.

                      • plainTextMessage — (map)

                        A message in plain text format.

                        • valuerequired — (String)

                          The message to send to the user.

                      • customPayload — (map)

                        A message in a custom format defined by the client application.

                        • valuerequired — (String)

                          The string that is sent to your application.

                      • ssmlMessage — (map)

                        A message in Speech Synthesis Markup Language (SSML).

                        • valuerequired — (String)

                          The SSML text that defines the prompt.

                      • imageResponseCard — (map)

                        A message that defines a response card that the client application can show to the user.

                        • titlerequired — (String)

                          The title to display on the response card. The format of the title is determined by the platform displaying the response card.

                        • subtitle — (String)

                          The subtitle to display on the response card. The format of the subtitle is determined by the platform displaying the response card.

                        • imageUrl — (String)

                          The URL of an image to display on the response card. The image URL must be publicly available so that the platform displaying the response card has access to the image.

                        • buttons — (Array<map>)

                          A list of buttons that should be displayed on the response card. The arrangement of the buttons is determined by the platform that displays the button.

                          • textrequired — (String)

                            The text that appears on the button. Use this to tell the user what value is returned when they choose this button.

                          • valuerequired — (String)

                            The value returned to Amazon Lex when the user chooses this button. This must be one of the slot values configured for the slot.

                  • allowInterrupt — (Boolean)

                    Indicates whether the user can interrupt a speech response from Amazon Lex.

              • defaultBranchrequired — (map)

                The conditional branch that should be followed when the conditions for other branches are not satisfied. A conditional branch is made up of a condition, a response and a next step.

                • nextStep — (map)

                  The next step in the conversation.

                  • dialogAction — (map)

                    Defines the action that the bot executes at runtime when the conversation reaches this step.

                    • typerequired — (String)

                      The action that the bot should execute.

                      Possible values include:
                      • "ElicitIntent"
                      • "StartIntent"
                      • "ElicitSlot"
                      • "EvaluateConditional"
                      • "InvokeDialogCodeHook"
                      • "ConfirmIntent"
                      • "FulfillIntent"
                      • "CloseIntent"
                      • "EndConversation"
                    • slotToElicit — (String)

                      If the dialog action is ElicitSlot, defines the slot to elicit from the user.

                    • suppressNextMessage — (Boolean)

                      When true the next message for the intent is not used.

                  • intent — (map)

                    Override settings to configure the intent state.

                    • name — (String)

                      The name of the intent. Only required when you're switching intents.

                    • slots — (map<map>)

                      A map of all of the slot value overrides for the intent. The name of the slot maps to the value of the slot. Slots that are not included in the map aren't overridden.

                      • shape — (String)

                        When the shape value is List, it indicates that the values field contains a list of slot values. When the value is Scalar, it indicates that the value field contains a single value.

                        Possible values include:
                        • "Scalar"
                        • "List"
                      • value — (map)

                        The current value of the slot.

                        • interpretedValue — (String)

                          The value that Amazon Lex determines for the slot. The actual value depends on the setting of the value selection strategy for the bot. You can choose to use the value entered by the user, or you can have Amazon Lex choose the first value in the resolvedValues list.

                      • values — (Array<map>)

                        A list of one or more values that the user provided for the slot. For example, for a slot that elicits pizza toppings, the values might be "pepperoni" and "pineapple."

                  • sessionAttributes — (map<String>)

                    Map of key/value pairs representing session-specific context information. It contains application information passed between Amazon Lex and a client application.

                • response — (map)

                  Specifies a list of message groups that Amazon Lex uses to respond the user input.

                  • messageGroupsrequired — (Array<map>)

                    A collection of responses that Amazon Lex can send to the user. Amazon Lex chooses the actual response to send at runtime.

                    • messagerequired — (map)

                      The primary message that Amazon Lex should send to the user.

                      • plainTextMessage — (map)

                        A message in plain text format.

                        • valuerequired — (String)

                          The message to send to the user.

                      • customPayload — (map)

                        A message in a custom format defined by the client application.

                        • valuerequired — (String)

                          The string that is sent to your application.

                      • ssmlMessage — (map)

                        A message in Speech Synthesis Markup Language (SSML).

                        • valuerequired — (String)

                          The SSML text that defines the prompt.

                      • imageResponseCard — (map)

                        A message that defines a response card that the client application can show to the user.

                        • titlerequired — (String)

                          The title to display on the response card. The format of the title is determined by the platform displaying the response card.

                        • subtitle — (String)

                          The subtitle to display on the response card. The format of the subtitle is determined by the platform displaying the response card.

                        • imageUrl — (String)

                          The URL of an image to display on the response card. The image URL must be publicly available so that the platform displaying the response card has access to the image.

                        • buttons — (Array<map>)

                          A list of buttons that should be displayed on the response card. The arrangement of the buttons is determined by the platform that displays the button.

                          • textrequired — (String)

                            The text that appears on the button. Use this to tell the user what value is returned when they choose this button.

                          • valuerequired — (String)

                            The value returned to Amazon Lex when the user chooses this button. This must be one of the slot values configured for the slot.

                    • variations — (Array<map>)

                      Message variations to send to the user. When variations are defined, Amazon Lex chooses the primary message or one of the variations to send to the user.

                      • plainTextMessage — (map)

                        A message in plain text format.

                        • valuerequired — (String)

                          The message to send to the user.

                      • customPayload — (map)

                        A message in a custom format defined by the client application.

                        • valuerequired — (String)

                          The string that is sent to your application.

                      • ssmlMessage — (map)

                        A message in Speech Synthesis Markup Language (SSML).

                        • valuerequired — (String)

                          The SSML text that defines the prompt.

                      • imageResponseCard — (map)

                        A message that defines a response card that the client application can show to the user.

                        • titlerequired — (String)

                          The title to display on the response card. The format of the title is determined by the platform displaying the response card.

                        • subtitle — (String)

                          The subtitle to display on the response card. The format of the subtitle is determined by the platform displaying the response card.

                        • imageUrl — (String)

                          The URL of an image to display on the response card. The image URL must be publicly available so that the platform displaying the response card has access to the image.

                        • buttons — (Array<map>)

                          A list of buttons that should be displayed on the response card. The arrangement of the buttons is determined by the platform that displays the button.

                          • textrequired — (String)

                            The text that appears on the button. Use this to tell the user what value is returned when they choose this button.

                          • valuerequired — (String)

                            The value returned to Amazon Lex when the user chooses this button. This must be one of the slot values configured for the slot.

                  • allowInterrupt — (Boolean)

                    Indicates whether the user can interrupt a speech response from Amazon Lex.

        • elicitationCodeHook — (map)

          The DialogCodeHookInvocationSetting used when the code hook is invoked during confirmation prompt retries.

          • enableCodeHookInvocationrequired — (Boolean)

            Indicates whether a Lambda function should be invoked for the dialog.

          • invocationLabel — (String)

            A label that indicates the dialog step from which the dialog code hook is happening.

      • intentClosingSetting — (map)

        The closing setting specified for the intent.

        • closingResponse — (map)

          The response that Amazon Lex sends to the user when the intent is complete.

          • messageGroupsrequired — (Array<map>)

            A collection of responses that Amazon Lex can send to the user. Amazon Lex chooses the actual response to send at runtime.

            • messagerequired — (map)

              The primary message that Amazon Lex should send to the user.

              • plainTextMessage — (map)

                A message in plain text format.

                • valuerequired — (String)

                  The message to send to the user.

              • customPayload — (map)

                A message in a custom format defined by the client application.

                • valuerequired — (String)

                  The string that is sent to your application.

              • ssmlMessage — (map)

                A message in Speech Synthesis Markup Language (SSML).

                • valuerequired — (String)

                  The SSML text that defines the prompt.

              • imageResponseCard — (map)

                A message that defines a response card that the client application can show to the user.

                • titlerequired — (String)

                  The title to display on the response card. The format of the title is determined by the platform displaying the response card.

                • subtitle — (String)

                  The subtitle to display on the response card. The format of the subtitle is determined by the platform displaying the response card.

                • imageUrl — (String)

                  The URL of an image to display on the response card. The image URL must be publicly available so that the platform displaying the response card has access to the image.

                • buttons — (Array<map>)

                  A list of buttons that should be displayed on the response card. The arrangement of the buttons is determined by the platform that displays the button.

                  • textrequired — (String)

                    The text that appears on the button. Use this to tell the user what value is returned when they choose this button.

                  • valuerequired — (String)

                    The value returned to Amazon Lex when the user chooses this button. This must be one of the slot values configured for the slot.

            • variations — (Array<map>)

              Message variations to send to the user. When variations are defined, Amazon Lex chooses the primary message or one of the variations to send to the user.

              • plainTextMessage — (map)

                A message in plain text format.

                • valuerequired — (String)

                  The message to send to the user.

              • customPayload — (map