

This is the new *CloudFormation Template Reference Guide*. Please update your bookmarks and links. For help getting started with CloudFormation, see the [AWS CloudFormation User Guide](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html).

# AWS::Lex::Bot
<a name="aws-resource-lex-bot"></a>

**Note**  
Amazon Lex V2 is the only supported version in CloudFormation.

Specifies an Amazon Lex conversational bot. 

You must configure an intent based on the `AMAZON.FallbackIntent` built-in intent. If you don't add one, creating the bot will fail.

## Syntax
<a name="aws-resource-lex-bot-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-resource-lex-bot-syntax.json"></a>

```
{
  "Type" : "AWS::Lex::Bot",
  "Properties" : {
      "[AutoBuildBotLocales](#cfn-lex-bot-autobuildbotlocales)" : Boolean,
      "[BotFileS3Location](#cfn-lex-bot-botfiles3location)" : S3Location,
      "[BotLocales](#cfn-lex-bot-botlocales)" : [ BotLocale, ... ],
      "[BotTags](#cfn-lex-bot-bottags)" : [ Tag, ... ],
      "[DataPrivacy](#cfn-lex-bot-dataprivacy)" : DataPrivacy,
      "[Description](#cfn-lex-bot-description)" : String,
      "[ErrorLogSettings](#cfn-lex-bot-errorlogsettings)" : ErrorLogSettings,
      "[IdleSessionTTLInSeconds](#cfn-lex-bot-idlesessionttlinseconds)" : Integer,
      "[Name](#cfn-lex-bot-name)" : String,
      "[Replication](#cfn-lex-bot-replication)" : Replication,
      "[RoleArn](#cfn-lex-bot-rolearn)" : String,
      "[TestBotAliasSettings](#cfn-lex-bot-testbotaliassettings)" : TestBotAliasSettings,
      "[TestBotAliasTags](#cfn-lex-bot-testbotaliastags)" : [ Tag, ... ]
    }
}
```

### YAML
<a name="aws-resource-lex-bot-syntax.yaml"></a>

```
Type: AWS::Lex::Bot
Properties:
  [AutoBuildBotLocales](#cfn-lex-bot-autobuildbotlocales): Boolean
  [BotFileS3Location](#cfn-lex-bot-botfiles3location): 
    S3Location
  [BotLocales](#cfn-lex-bot-botlocales): 
    - BotLocale
  [BotTags](#cfn-lex-bot-bottags): 
    - Tag
  [DataPrivacy](#cfn-lex-bot-dataprivacy): 
    DataPrivacy
  [Description](#cfn-lex-bot-description): String
  [ErrorLogSettings](#cfn-lex-bot-errorlogsettings): 
    ErrorLogSettings
  [IdleSessionTTLInSeconds](#cfn-lex-bot-idlesessionttlinseconds): Integer
  [Name](#cfn-lex-bot-name): String
  [Replication](#cfn-lex-bot-replication): 
    Replication
  [RoleArn](#cfn-lex-bot-rolearn): String
  [TestBotAliasSettings](#cfn-lex-bot-testbotaliassettings): 
    TestBotAliasSettings
  [TestBotAliasTags](#cfn-lex-bot-testbotaliastags): 
    - Tag
```

## Properties
<a name="aws-resource-lex-bot-properties"></a>

`AutoBuildBotLocales`  <a name="cfn-lex-bot-autobuildbotlocales"></a>
Indicates whether Amazon Lex V2 should automatically build the locales for the bot after a change.  
*Required*: No  
*Type*: Boolean  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`BotFileS3Location`  <a name="cfn-lex-bot-botfiles3location"></a>
The Amazon S3 location of files used to import a bot. The files must be in the import format specified in [JSON format for importing and exporting](https://docs.aws.amazon.com/lexv2/latest/dg/import-export-format.html) in the *Amazon Lex developer guide.*  
*Required*: No  
*Type*: [S3Location](aws-properties-lex-bot-s3location.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`BotLocales`  <a name="cfn-lex-bot-botlocales"></a>
A list of locales for the bot.  
*Required*: No  
*Type*: Array of [BotLocale](aws-properties-lex-bot-botlocale.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`BotTags`  <a name="cfn-lex-bot-bottags"></a>
A list of tags to add to the bot. You can only add tags when you import a bot. You can't use the `UpdateBot` operation to update tags. To update tags, use the `TagResource` operation.  
*Required*: No  
*Type*: Array of [Tag](aws-properties-lex-bot-tag.md)  
*Maximum*: `200`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`DataPrivacy`  <a name="cfn-lex-bot-dataprivacy"></a>
By default, data stored by Amazon Lex is encrypted. The `DataPrivacy` structure provides settings that determine how Amazon Lex handles special cases of securing the data for your bot.   
*Required*: Yes  
*Type*: [DataPrivacy](aws-properties-lex-bot-dataprivacy.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Description`  <a name="cfn-lex-bot-description"></a>
The description of the version.  
*Required*: No  
*Type*: String  
*Maximum*: `2000`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ErrorLogSettings`  <a name="cfn-lex-bot-errorlogsettings"></a>
Property description not available.  
*Required*: No  
*Type*: [ErrorLogSettings](aws-properties-lex-bot-errorlogsettings.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`IdleSessionTTLInSeconds`  <a name="cfn-lex-bot-idlesessionttlinseconds"></a>
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.  
*Required*: Yes  
*Type*: Integer  
*Minimum*: `60`  
*Maximum*: `86400`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Name`  <a name="cfn-lex-bot-name"></a>
The name of the bot locale.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^([0-9a-zA-Z][_-]?)+$`  
*Minimum*: `1`  
*Maximum*: `100`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Replication`  <a name="cfn-lex-bot-replication"></a>
Property description not available.  
*Required*: No  
*Type*: [Replication](aws-properties-lex-bot-replication.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`RoleArn`  <a name="cfn-lex-bot-rolearn"></a>
The Amazon Resource Name (ARN) of the IAM role used to build and run the bot.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^arn:aws[a-zA-Z-]*:iam::[0-9]{12}:role/.*$`  
*Minimum*: `32`  
*Maximum*: `2048`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`TestBotAliasSettings`  <a name="cfn-lex-bot-testbotaliassettings"></a>
Specifies configuration settings for the alias used to test the bot. If the `TestBotAliasSettings` property is not specified, the settings are configured with default values.  
*Required*: No  
*Type*: [TestBotAliasSettings](aws-properties-lex-bot-testbotaliassettings.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`TestBotAliasTags`  <a name="cfn-lex-bot-testbotaliastags"></a>
A list of tags to add to the test alias for a bot. You can only add tags when you import a bot. You can't use the `UpdateAlias` operation to update tags. To update tags on the test alias, use the `TagResource` operation.  
*Required*: No  
*Type*: Array of [Tag](aws-properties-lex-bot-tag.md)  
*Maximum*: `200`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

## Return values
<a name="aws-resource-lex-bot-return-values"></a>

### Fn::GetAtt
<a name="aws-resource-lex-bot-return-values-fn--getatt"></a>

The `Fn::GetAtt` intrinsic function returns a value for a specified attribute of this type. The following are the available attributes and sample return values.

For more information about using the `Fn::GetAtt` intrinsic function, see [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-getatt.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-getatt.html).

#### 
<a name="aws-resource-lex-bot-return-values-fn--getatt-fn--getatt"></a>

`Arn`  <a name="Arn-fn::getatt"></a>
The Amazon Resource Name (ARN) of the bot.

`Id`  <a name="Id-fn::getatt"></a>
The unique identifier of the bot.

## Examples
<a name="aws-resource-lex-bot--examples"></a>



**Topics**
+ [Order flowers example bot](#aws-resource-lex-bot--examples--Order_flowers_example_bot)
+ [Book trip example bot](#aws-resource-lex-bot--examples--Book_trip_example_bot)

### Order flowers example bot
<a name="aws-resource-lex-bot--examples--Order_flowers_example_bot"></a>

The example creates a bot to order flowers. It is the same as the example bot that you can create using the console. 

#### YAML
<a name="aws-resource-lex-bot--examples--Order_flowers_example_bot--yaml"></a>

```
# The OrderFlower bot consists of the following:
# 1. IAM role that is used by the bot at runtime
# 2. Inline Bot
# 3. Bot Version
# 4. Alias
Resources:
  # 1. IAM Role used by the Lex service to make runtime calls
  BotRuntimeRole:
    Type: AWS::IAM::Role
    Properties:
      AssumeRolePolicyDocument:
        Version: "2012-10-17"
        Statement:
          - Effect: Allow
            Principal:
              Service:
                - lexv2.amazonaws.com
            Action:
              - "sts:AssumeRole"
      Path: "/"
      Policies:
        - PolicyName: LexRuntimeRolePolicy
          PolicyDocument:
            Version: 2012-10-17
            Statement:
              - Effect: Allow
                Action:
                  - "polly:SynthesizeSpeech"
                  - "comprehend:DetectSentiment"
                Resource: "*"
 
  # 2. Inline bot definition that depends on the IAM role.
  # The bot definition consists of combining all the child resources into one CFN resource.
  # This includes Locales, Intents, Slots, and SlotTypes.
  OrderFlowersTemplateBot:
    DependsOn: BotRuntimeRole
    Type: AWS::Lex::Bot
    Properties:
      Name: "OrderFlowersWithCFN"
      RoleArn: !GetAtt BotRuntimeRole.Arn
      DataPrivacy:
        ChildDirected: false
      IdleSessionTTLInSeconds: 300
      Description: "How to create a OrderFlowers bot with CFN"
      # We provide a setting that allows you to auto build the locales provided.
      # Locale builds are also kicked off if you attempt to create a bot version 
      # that depends on an unbuilt locale.
      AutoBuildBotLocales: false
      BotLocales:
        - LocaleId: "en_US"
          Description: "Book a trip bot Locale"
          NluConfidenceThreshold: 0.40
          VoiceSettings:
            VoiceId: "Ivy"
          SlotTypes:
            - Name: "FlowerTypes"
              Description: "Slot Type description"
              SlotTypeValues:
                - SampleValue:
                    Value: lilies
                - SampleValue:
                    Value: roses
                - SampleValue:
                    Value: tulips
              ValueSelectionSetting:
                ResolutionStrategy: ORIGINAL_VALUE
          Intents:
            - Name: "OrderFlowers"
              Description: "Intent to order a bouquet of flowers for pick up"
              SampleUtterances:
                - Utterance: "I would like to pick up flowers"
                - Utterance: "I would like to order some flowers"
              IntentConfirmationSetting:
                PromptSpecification:
                  MessageGroupsList:
                    - Message:
                        PlainTextMessage:
                          Value: "Okay, your {FlowerType} will be ready for pickup by {PickupTime} on {PickupDate}.  Does this sound okay?"
                  MaxRetries: 3
                  AllowInterrupt: false
                DeclinationResponse:
                  MessageGroupsList:
                    - Message:
                        PlainTextMessage:
                          Value: "Okay, I will not place your order."
                  AllowInterrupt: false
              SlotPriorities:
                - Priority: 2
                  SlotName: PickupDate
                - Priority: 1
                  SlotName: FlowerType
                - Priority: 3
                  SlotName: PickupTime
              Slots:
                - Name: "FlowerType"
                  Description: "something"
                  SlotTypeName: "FlowerTypes"
                  ValueElicitationSetting:
                    SlotConstraint: "Required"
                    PromptSpecification:
                      MessageGroupsList:
                        - Message:
                            PlainTextMessage:
                              Value: "What type of flowers would you like to order?"
                      MaxRetries: 3
                      AllowInterrupt: false
                - Name: "PickupDate"
                  Description: "something"
                  SlotTypeName: "AMAZON.Date"
                  ValueElicitationSetting:
                    SlotConstraint: "Required"
                    PromptSpecification:
                      MessageGroupsList:
                        - Message:
                            PlainTextMessage:
                              Value: "What day do you want the {FlowerType} to be picked up?"
                      MaxRetries: 3
                      AllowInterrupt: false
                - Name: "PickupTime"
                  Description: "something"
                  SlotTypeName: "AMAZON.Time"
                  ValueElicitationSetting:
                    SlotConstraint: "Required"
                    PromptSpecification:
                      MessageGroupsList:
                        - Message:
                            PlainTextMessage:
                              Value: "At what time do you want the {FlowerType} to be picked up?"
                      MaxRetries: 3
                      AllowInterrupt: false
            - Name: "FallbackIntent"
              Description: "Default intent when no other intent matches"
              ParentIntentSignature: "AMAZON.FallbackIntent"
 
  # 3. Define a bot version that depends on the DRAFT version of the Lex Bot.
  OrderFlowersTemplateBotVersionWithCFN:
    DependsOn: OrderFlowersTemplateBot
    Type: AWS::Lex::BotVersion
    Properties:
      BotId: !Ref OrderFlowersTemplateBot
      BotVersionLocaleSpecification:
        - LocaleId: en_US
          BotVersionLocaleDetails:
            SourceBotVersion: DRAFT
      Description: OrderFlowers Version
 
  # 4. Define the alias by providing the bot version created by the 
  #    AWS::Lex::BotVersion resource above.
  FirstBotAliasWithCFN:
    DependsOn: OrderFlowersTemplateBotVersionWithCFN
    Type: AWS::Lex::BotAlias
    Properties:
      BotId: !Ref OrderFlowersTemplateBot
      BotAliasName: "OrderFlowersVersion1Alias"
      BotVersion: !GetAtt OrderFlowersTemplateBotVersionWithCFN.BotVersion
      SentimentAnalysisSettings:
        DetectSentiment: true
```

### Book trip example bot
<a name="aws-resource-lex-bot--examples--Book_trip_example_bot"></a>

The example creates a bot to book hotel rooms and rental cars. It is the same as the example bot that you can create using the console. 

#### YAML
<a name="aws-resource-lex-bot--examples--Book_trip_example_bot--yaml"></a>

```
# The BookTrip bot consists of the following:
# 1. IAM role that is used by the bot at runtime
# 2. Inline Bot
# 3. Bot Version
# 4. Alias
Resources:
  # 1. IAM Role used by the Lex service to make runtime calls
  BotRuntimeRole:
    Type: AWS::IAM::Role
    Properties:
      AssumeRolePolicyDocument:
        Version: "2012-10-17"
        Statement:
          - Effect: Allow
            Principal:
              Service:
                - lexv2.amazonaws.com
            Action:
              - "sts:AssumeRole"
      Path: "/"
      Policies:
        - PolicyName: LexRuntimeRolePolicy
          PolicyDocument:
            Version: 2012-10-17
            Statement:
              - Effect: Allow
                Action:
                  - "polly:SynthesizeSpeech"
                  - "comprehend:DetectSentiment"
                Resource: "*"
 
  # 2. Inline bot definition which depends on the IAM role
  # The bot definition consists of combining all the child resources into one CFN resource.
  # This includes Locales, Intents, Slots, and SlotTypes.
  BookTripTemplateBot:
    DependsOn: BotRuntimeRole
    Type: AWS::Lex::Bot
    Properties:
      Name: "BookTripWithCFN"
      RoleArn: !GetAtt BotRuntimeRole.Arn
      DataPrivacy:
        ChildDirected: false
      IdleSessionTTLInSeconds: 300
      Description: "How to create a BookTrip bot with CFN"
      # Provide a setting that allows you to either auto build the locales provided.
      # Locale builds are also kicked off if you attempt to create a bot version 
      # that depends on an unbuilt locale.
      AutoBuildBotLocales: false
      BotLocales:
        - LocaleId: "en_US"
          Description: "Book a trip bot Locale"
          NluConfidenceThreshold: 0.40
          VoiceSettings:
            VoiceId: "Ivy"
          SlotTypes:
            - Name: "CarTypeValues"
              Description: "Slot Type description"
              SlotTypeValues:
                - SampleValue:
                    Value: economy
                - SampleValue:
                    Value: standard
                - SampleValue:
                    Value: midsize
                - SampleValue:
                    Value: full size
                - SampleValue:
                    Value: luxury
                - SampleValue:
                    Value: minivan
              ValueSelectionSetting:
                ResolutionStrategy: ORIGINAL_VALUE
            - Name: "RoomTypeValues"
              Description: "Slot Type description"
              SlotTypeValues:
                - SampleValue:
                    Value: queen
                - SampleValue:
                    Value: king
                - SampleValue:
                    Value: deluxe
              ValueSelectionSetting:
                ResolutionStrategy: ORIGINAL_VALUE
          Intents:
            - Name: "BookCar"
              Description: "Intent to book a car on StayBooker"
              SampleUtterances:
                - Utterance: "Book a car"
                - Utterance: "Reserve a car"
                - Utterance: "Make a car reservation"
              SlotPriorities:
                - Priority: 4
                  SlotName: DriverAge
                - Priority: 1
                  SlotName: PickUpCity
                - Priority: 3
                  SlotName: ReturnDate
                - Priority: 5
                  SlotName: CarType
                - Priority: 2
                  SlotName: PickUpDate 
              IntentConfirmationSetting:
                PromptSpecification:
                  MessageGroupsList:
                    - Message:
                        PlainTextMessage:
                          Value: "Okay, I have you down for a {CarType} rental in {PickUpCity} from {PickUpDate} to {ReturnDate}.  Should I book the reservation?"
                  MaxRetries: 3
                  AllowInterrupt: false
                DeclinationResponse:
                  MessageGroupsList:
                    - Message:
                        PlainTextMessage:
                          Value: "Okay, I have cancelled your reservation in progress."
                  AllowInterrupt: false
              Slots:
                - Name: "PickUpCity"
                  Description: "something"
                  SlotTypeName: "AMAZON.City"
                  ValueElicitationSetting:
                    SlotConstraint: "Required"
                    PromptSpecification:
                      MessageGroupsList:
                        - Message:
                            PlainTextMessage:
                              Value: "In what city do you need to rent a car?"
                      MaxRetries: 3
                      AllowInterrupt: false
                - Name: "PickUpDate"
                  Description: "something"
                  SlotTypeName: "AMAZON.Date"
                  ValueElicitationSetting:
                    SlotConstraint: "Required"
                    PromptSpecification:
                      MessageGroupsList:
                        - Message:
                            PlainTextMessage:
                              Value: "What day do you want to start your rental?"
                      MaxRetries: 3
                      AllowInterrupt: false
                - Name: "ReturnDate"
                  Description: "something"
                  SlotTypeName: "AMAZON.Date"
                  ValueElicitationSetting:
                    SlotConstraint: "Required"
                    PromptSpecification:
                      MessageGroupsList:
                        - Message:
                            PlainTextMessage:
                              Value: "What day do you want to return the car?"
                      MaxRetries: 3
                      AllowInterrupt: false
                - Name: "DriverAge"
                  Description: "something"
                  SlotTypeName: "AMAZON.Number"
                  ValueElicitationSetting:
                    SlotConstraint: "Required"
                    PromptSpecification:
                      MessageGroupsList:
                        - Message:
                            PlainTextMessage:
                              Value: "How old is the driver for this rental?"
                      MaxRetries: 3
                      AllowInterrupt: false
                - Name: "CarType"
                  Description: "something"
                  SlotTypeName: "CarTypeValues"
                  ValueElicitationSetting:
                    SlotConstraint: "Required"
                    PromptSpecification:
                      MessageGroupsList:
                        - Message:
                            PlainTextMessage:
                              Value: "What type of car would you like to rent?  Our most popular options are economy, midsize, and luxury"
                      MaxRetries: 3
                      AllowInterrupt: false
            # We expect developers to provide the FallbackIntent when generating their bot.
            # The service will throw an exception if it isn't provided.
            - Name: "BookHotel"
              Description: "Intent to book a hotel on StayBooker"
              SampleUtterances:
                - Utterance: "Book a hotel"
                - Utterance: "I want a make hotel reservations"
                - Utterance: "Book a {Nights} night stay in {Location}"
              IntentConfirmationSetting:
                PromptSpecification:
                  MessageGroupsList:
                    - Message:
                        PlainTextMessage:
                          Value: "Okay, I have you down for a {Nights} night stay in {Location} starting {CheckInDate}.  Shall I book the reservation?"
                  MaxRetries: 3
                  AllowInterrupt: false
                DeclinationResponse:
                  MessageGroupsList:
                    - Message:
                        PlainTextMessage:
                          Value: "Okay, I have cancelled your reservation in progress."
                  AllowInterrupt: true
              SlotPriorities:
                - Priority: 4
                  SlotName: RoomType
                - Priority: 1
                  SlotName: Location
                - Priority: 3
                  SlotName: Nights
                - Priority: 2
                  SlotName: CheckInDate 
              Slots:
                - Name: "Location"
                  Description: "something"
                  SlotTypeName: "AMAZON.City"
                  ValueElicitationSetting:
                    SlotConstraint: "Required"
                    PromptSpecification:
                      MessageGroupsList:
                        - Message:
                            PlainTextMessage:
                              Value: "What city will you be staying in?"
                      MaxRetries: 3
                      AllowInterrupt: false
                - Name: "CheckInDate"
                  Description: "something"
                  SlotTypeName: "AMAZON.Date"
                  ValueElicitationSetting:
                    SlotConstraint: "Required"
                    PromptSpecification:
                      MessageGroupsList:
                        - Message:
                            PlainTextMessage:
                              Value: "What day do you want to check in?"
                      MaxRetries: 3
                      AllowInterrupt: false
                - Name: "Nights"
                  Description: "something"
                  SlotTypeName: "AMAZON.Number"
                  ValueElicitationSetting:
                    SlotConstraint: "Required"
                    PromptSpecification:
                      MessageGroupsList:
                        - Message:
                            PlainTextMessage:
                              Value: "How many nights will you be staying?"
                      MaxRetries: 3
                      AllowInterrupt: false
                - Name: "RoomType"
                  Description: "something"
                  SlotTypeName: "RoomTypeValues"
                  ValueElicitationSetting:
                    SlotConstraint: "Required"
                    PromptSpecification:
                      MessageGroupsList:
                        - Message:
                            PlainTextMessage:
                              Value: "What type of room would you like, queen, king or deluxe?"
                      MaxRetries: 3
                      AllowInterrupt: false
            - Name: "FallbackIntent"
              Description: "Default intent when no other intent matches"
              ParentIntentSignature: "AMAZON.FallbackIntent"
 
  # 3. Define a bot version which depends on the DRAFT version of the Lex Bot
  BookTripBotVersionWithCFN:
    DependsOn: BookTripTemplateBot
    Type: AWS::Lex::BotVersion
    Properties:
      BotId: !Ref BookTripTemplateBot
      BotVersionLocaleSpecification:
        - LocaleId: en_US
          BotVersionLocaleDetails:
            SourceBotVersion: DRAFT
      Description: BookTrip Version
 
  # 4. We define the alias by providing the bot version created by the AWS::Lex::BotVersion resource above
  FirstBotAliasWithCFN:
    DependsOn: BookTripBotVersionWithCFN
    Type: AWS::Lex::BotAlias
    Properties:
      BotId: !Ref BookTripTemplateBot
      BotAliasName: "BookTripVersion1Alias"
      # Remove BotAliasLocaleSettings if you aren't concerned with Lambda setup.
      # If you are you can modify the LambdaArn below to get started.
      # BotAliasLocaleSettings:
      #   - LocaleId: en_US
      #     BotAliasLocaleSetting:
      #       Enabled: false
      #       CodeHookSpecification: 
      #         LambdaCodeHook:
      #           CodeHookInterfaceVersion: "1.0"
      #           LambdaArn: "arn:aws:lambda:us-east-1:111111111111:function:ReplaceWithYourOwnLambda"
      BotVersion: !GetAtt BookTripBotVersionWithCFN.BotVersion
      SentimentAnalysisSettings:
        DetectSentiment: true
```

# AWS::Lex::Bot AdvancedRecognitionSetting
<a name="aws-properties-lex-bot-advancedrecognitionsetting"></a>

Provides settings that enable advanced recognition settings for slot values.

## Syntax
<a name="aws-properties-lex-bot-advancedrecognitionsetting-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-lex-bot-advancedrecognitionsetting-syntax.json"></a>

```
{
  "[AudioRecognitionStrategy](#cfn-lex-bot-advancedrecognitionsetting-audiorecognitionstrategy)" : String
}
```

### YAML
<a name="aws-properties-lex-bot-advancedrecognitionsetting-syntax.yaml"></a>

```
  [AudioRecognitionStrategy](#cfn-lex-bot-advancedrecognitionsetting-audiorecognitionstrategy): String
```

## Properties
<a name="aws-properties-lex-bot-advancedrecognitionsetting-properties"></a>

`AudioRecognitionStrategy`  <a name="cfn-lex-bot-advancedrecognitionsetting-audiorecognitionstrategy"></a>
Enables using the slot values as a custom vocabulary for recognizing user utterances.  
*Required*: No  
*Type*: String  
*Allowed values*: `UseSlotValuesAsCustomVocabulary`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Lex::Bot AllowedInputTypes
<a name="aws-properties-lex-bot-allowedinputtypes"></a>

Specifies the allowed input types.

## Syntax
<a name="aws-properties-lex-bot-allowedinputtypes-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-lex-bot-allowedinputtypes-syntax.json"></a>

```
{
  "[AllowAudioInput](#cfn-lex-bot-allowedinputtypes-allowaudioinput)" : Boolean,
  "[AllowDTMFInput](#cfn-lex-bot-allowedinputtypes-allowdtmfinput)" : Boolean
}
```

### YAML
<a name="aws-properties-lex-bot-allowedinputtypes-syntax.yaml"></a>

```
  [AllowAudioInput](#cfn-lex-bot-allowedinputtypes-allowaudioinput): Boolean
  [AllowDTMFInput](#cfn-lex-bot-allowedinputtypes-allowdtmfinput): Boolean
```

## Properties
<a name="aws-properties-lex-bot-allowedinputtypes-properties"></a>

`AllowAudioInput`  <a name="cfn-lex-bot-allowedinputtypes-allowaudioinput"></a>
Indicates whether audio input is allowed.  
*Required*: Yes  
*Type*: Boolean  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`AllowDTMFInput`  <a name="cfn-lex-bot-allowedinputtypes-allowdtmfinput"></a>
Indicates whether DTMF input is allowed.  
*Required*: Yes  
*Type*: Boolean  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Lex::Bot AudioAndDTMFInputSpecification
<a name="aws-properties-lex-bot-audioanddtmfinputspecification"></a>

Specifies the audio and DTMF input specification.

## Syntax
<a name="aws-properties-lex-bot-audioanddtmfinputspecification-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-lex-bot-audioanddtmfinputspecification-syntax.json"></a>

```
{
  "[AudioSpecification](#cfn-lex-bot-audioanddtmfinputspecification-audiospecification)" : AudioSpecification,
  "[DTMFSpecification](#cfn-lex-bot-audioanddtmfinputspecification-dtmfspecification)" : DTMFSpecification,
  "[StartTimeoutMs](#cfn-lex-bot-audioanddtmfinputspecification-starttimeoutms)" : Integer
}
```

### YAML
<a name="aws-properties-lex-bot-audioanddtmfinputspecification-syntax.yaml"></a>

```
  [AudioSpecification](#cfn-lex-bot-audioanddtmfinputspecification-audiospecification): 
    AudioSpecification
  [DTMFSpecification](#cfn-lex-bot-audioanddtmfinputspecification-dtmfspecification): 
    DTMFSpecification
  [StartTimeoutMs](#cfn-lex-bot-audioanddtmfinputspecification-starttimeoutms): Integer
```

## Properties
<a name="aws-properties-lex-bot-audioanddtmfinputspecification-properties"></a>

`AudioSpecification`  <a name="cfn-lex-bot-audioanddtmfinputspecification-audiospecification"></a>
Specifies the settings on audio input.  
*Required*: No  
*Type*: [AudioSpecification](aws-properties-lex-bot-audiospecification.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`DTMFSpecification`  <a name="cfn-lex-bot-audioanddtmfinputspecification-dtmfspecification"></a>
Specifies the settings on DTMF input.  
*Required*: No  
*Type*: [DTMFSpecification](aws-properties-lex-bot-dtmfspecification.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`StartTimeoutMs`  <a name="cfn-lex-bot-audioanddtmfinputspecification-starttimeoutms"></a>
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.  
*Required*: Yes  
*Type*: Integer  
*Minimum*: `1`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Lex::Bot AudioLogDestination
<a name="aws-properties-lex-bot-audiologdestination"></a>

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

## Syntax
<a name="aws-properties-lex-bot-audiologdestination-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-lex-bot-audiologdestination-syntax.json"></a>

```
{
  "[S3Bucket](#cfn-lex-bot-audiologdestination-s3bucket)" : S3BucketLogDestination
}
```

### YAML
<a name="aws-properties-lex-bot-audiologdestination-syntax.yaml"></a>

```
  [S3Bucket](#cfn-lex-bot-audiologdestination-s3bucket): 
    S3BucketLogDestination
```

## Properties
<a name="aws-properties-lex-bot-audiologdestination-properties"></a>

`S3Bucket`  <a name="cfn-lex-bot-audiologdestination-s3bucket"></a>
Specifies the Amazon S3 bucket where the audio files are stored.  
*Required*: Yes  
*Type*: [S3BucketLogDestination](aws-properties-lex-bot-s3bucketlogdestination.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Lex::Bot AudioLogSetting
<a name="aws-properties-lex-bot-audiologsetting"></a>

Settings for logging audio of conversations between Amazon Lex and a user. You specify whether to log audio and the Amazon S3 bucket where the audio file is stored.

## Syntax
<a name="aws-properties-lex-bot-audiologsetting-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-lex-bot-audiologsetting-syntax.json"></a>

```
{
  "[Destination](#cfn-lex-bot-audiologsetting-destination)" : AudioLogDestination,
  "[Enabled](#cfn-lex-bot-audiologsetting-enabled)" : Boolean
}
```

### YAML
<a name="aws-properties-lex-bot-audiologsetting-syntax.yaml"></a>

```
  [Destination](#cfn-lex-bot-audiologsetting-destination): 
    AudioLogDestination
  [Enabled](#cfn-lex-bot-audiologsetting-enabled): Boolean
```

## Properties
<a name="aws-properties-lex-bot-audiologsetting-properties"></a>

`Destination`  <a name="cfn-lex-bot-audiologsetting-destination"></a>
Specifies the location of the audio log files collected when conversation logging is enabled for a bot.  
*Required*: Yes  
*Type*: [AudioLogDestination](aws-properties-lex-bot-audiologdestination.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Enabled`  <a name="cfn-lex-bot-audiologsetting-enabled"></a>
Determines whether audio logging in enabled for the bot.  
*Required*: Yes  
*Type*: Boolean  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Lex::Bot AudioSpecification
<a name="aws-properties-lex-bot-audiospecification"></a>

Specifies the audio input specifications.

## Syntax
<a name="aws-properties-lex-bot-audiospecification-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-lex-bot-audiospecification-syntax.json"></a>

```
{
  "[EndTimeoutMs](#cfn-lex-bot-audiospecification-endtimeoutms)" : Integer,
  "[MaxLengthMs](#cfn-lex-bot-audiospecification-maxlengthms)" : Integer
}
```

### YAML
<a name="aws-properties-lex-bot-audiospecification-syntax.yaml"></a>

```
  [EndTimeoutMs](#cfn-lex-bot-audiospecification-endtimeoutms): Integer
  [MaxLengthMs](#cfn-lex-bot-audiospecification-maxlengthms): Integer
```

## Properties
<a name="aws-properties-lex-bot-audiospecification-properties"></a>

`EndTimeoutMs`  <a name="cfn-lex-bot-audiospecification-endtimeoutms"></a>
Time for which a bot waits after the customer stops speaking to assume the utterance is finished.  
*Required*: Yes  
*Type*: Integer  
*Minimum*: `1`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`MaxLengthMs`  <a name="cfn-lex-bot-audiospecification-maxlengthms"></a>
Time for how long Amazon Lex waits before speech input is truncated and the speech is returned to application.  
*Required*: Yes  
*Type*: Integer  
*Minimum*: `1`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Lex::Bot BedrockAgentConfiguration
<a name="aws-properties-lex-bot-bedrockagentconfiguration"></a>

<a name="aws-properties-lex-bot-bedrockagentconfiguration-description"></a>The `BedrockAgentConfiguration` property type specifies Property description not available. for an [AWS::Lex::Bot](aws-resource-lex-bot.md).

## Syntax
<a name="aws-properties-lex-bot-bedrockagentconfiguration-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-lex-bot-bedrockagentconfiguration-syntax.json"></a>

```
{
  "[BedrockAgentAliasId](#cfn-lex-bot-bedrockagentconfiguration-bedrockagentaliasid)" : String,
  "[BedrockAgentId](#cfn-lex-bot-bedrockagentconfiguration-bedrockagentid)" : String
}
```

### YAML
<a name="aws-properties-lex-bot-bedrockagentconfiguration-syntax.yaml"></a>

```
  [BedrockAgentAliasId](#cfn-lex-bot-bedrockagentconfiguration-bedrockagentaliasid): String
  [BedrockAgentId](#cfn-lex-bot-bedrockagentconfiguration-bedrockagentid): String
```

## Properties
<a name="aws-properties-lex-bot-bedrockagentconfiguration-properties"></a>

`BedrockAgentAliasId`  <a name="cfn-lex-bot-bedrockagentconfiguration-bedrockagentaliasid"></a>
Property description not available.  
*Required*: No  
*Type*: String  
*Minimum*: `1`  
*Maximum*: `5000`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`BedrockAgentId`  <a name="cfn-lex-bot-bedrockagentconfiguration-bedrockagentid"></a>
Property description not available.  
*Required*: No  
*Type*: String  
*Minimum*: `1`  
*Maximum*: `5000`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Lex::Bot BedrockAgentIntentConfiguration
<a name="aws-properties-lex-bot-bedrockagentintentconfiguration"></a>

<a name="aws-properties-lex-bot-bedrockagentintentconfiguration-description"></a>The `BedrockAgentIntentConfiguration` property type specifies Property description not available. for an [AWS::Lex::Bot](aws-resource-lex-bot.md).

## Syntax
<a name="aws-properties-lex-bot-bedrockagentintentconfiguration-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-lex-bot-bedrockagentintentconfiguration-syntax.json"></a>

```
{
  "[BedrockAgentConfiguration](#cfn-lex-bot-bedrockagentintentconfiguration-bedrockagentconfiguration)" : BedrockAgentConfiguration,
  "[BedrockAgentIntentKnowledgeBaseConfiguration](#cfn-lex-bot-bedrockagentintentconfiguration-bedrockagentintentknowledgebaseconfiguration)" : BedrockAgentIntentKnowledgeBaseConfiguration
}
```

### YAML
<a name="aws-properties-lex-bot-bedrockagentintentconfiguration-syntax.yaml"></a>

```
  [BedrockAgentConfiguration](#cfn-lex-bot-bedrockagentintentconfiguration-bedrockagentconfiguration): 
    BedrockAgentConfiguration
  [BedrockAgentIntentKnowledgeBaseConfiguration](#cfn-lex-bot-bedrockagentintentconfiguration-bedrockagentintentknowledgebaseconfiguration): 
    BedrockAgentIntentKnowledgeBaseConfiguration
```

## Properties
<a name="aws-properties-lex-bot-bedrockagentintentconfiguration-properties"></a>

`BedrockAgentConfiguration`  <a name="cfn-lex-bot-bedrockagentintentconfiguration-bedrockagentconfiguration"></a>
Property description not available.  
*Required*: No  
*Type*: [BedrockAgentConfiguration](aws-properties-lex-bot-bedrockagentconfiguration.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`BedrockAgentIntentKnowledgeBaseConfiguration`  <a name="cfn-lex-bot-bedrockagentintentconfiguration-bedrockagentintentknowledgebaseconfiguration"></a>
Property description not available.  
*Required*: No  
*Type*: [BedrockAgentIntentKnowledgeBaseConfiguration](aws-properties-lex-bot-bedrockagentintentknowledgebaseconfiguration.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Lex::Bot BedrockAgentIntentKnowledgeBaseConfiguration
<a name="aws-properties-lex-bot-bedrockagentintentknowledgebaseconfiguration"></a>

<a name="aws-properties-lex-bot-bedrockagentintentknowledgebaseconfiguration-description"></a>The `BedrockAgentIntentKnowledgeBaseConfiguration` property type specifies Property description not available. for an [AWS::Lex::Bot](aws-resource-lex-bot.md).

## Syntax
<a name="aws-properties-lex-bot-bedrockagentintentknowledgebaseconfiguration-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-lex-bot-bedrockagentintentknowledgebaseconfiguration-syntax.json"></a>

```
{
  "[BedrockKnowledgeBaseArn](#cfn-lex-bot-bedrockagentintentknowledgebaseconfiguration-bedrockknowledgebasearn)" : String,
  "[BedrockModelConfiguration](#cfn-lex-bot-bedrockagentintentknowledgebaseconfiguration-bedrockmodelconfiguration)" : BedrockModelSpecification
}
```

### YAML
<a name="aws-properties-lex-bot-bedrockagentintentknowledgebaseconfiguration-syntax.yaml"></a>

```
  [BedrockKnowledgeBaseArn](#cfn-lex-bot-bedrockagentintentknowledgebaseconfiguration-bedrockknowledgebasearn): String
  [BedrockModelConfiguration](#cfn-lex-bot-bedrockagentintentknowledgebaseconfiguration-bedrockmodelconfiguration): 
    BedrockModelSpecification
```

## Properties
<a name="aws-properties-lex-bot-bedrockagentintentknowledgebaseconfiguration-properties"></a>

`BedrockKnowledgeBaseArn`  <a name="cfn-lex-bot-bedrockagentintentknowledgebaseconfiguration-bedrockknowledgebasearn"></a>
Property description not available.  
*Required*: Yes  
*Type*: String  
*Minimum*: `1`  
*Maximum*: `5000`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`BedrockModelConfiguration`  <a name="cfn-lex-bot-bedrockagentintentknowledgebaseconfiguration-bedrockmodelconfiguration"></a>
Property description not available.  
*Required*: Yes  
*Type*: [BedrockModelSpecification](aws-properties-lex-bot-bedrockmodelspecification.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Lex::Bot BedrockGuardrailConfiguration
<a name="aws-properties-lex-bot-bedrockguardrailconfiguration"></a>

The details on the Bedrock guardrail configuration.

## Syntax
<a name="aws-properties-lex-bot-bedrockguardrailconfiguration-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-lex-bot-bedrockguardrailconfiguration-syntax.json"></a>

```
{
  "[BedrockGuardrailIdentifier](#cfn-lex-bot-bedrockguardrailconfiguration-bedrockguardrailidentifier)" : String,
  "[BedrockGuardrailVersion](#cfn-lex-bot-bedrockguardrailconfiguration-bedrockguardrailversion)" : String
}
```

### YAML
<a name="aws-properties-lex-bot-bedrockguardrailconfiguration-syntax.yaml"></a>

```
  [BedrockGuardrailIdentifier](#cfn-lex-bot-bedrockguardrailconfiguration-bedrockguardrailidentifier): String
  [BedrockGuardrailVersion](#cfn-lex-bot-bedrockguardrailconfiguration-bedrockguardrailversion): String
```

## Properties
<a name="aws-properties-lex-bot-bedrockguardrailconfiguration-properties"></a>

`BedrockGuardrailIdentifier`  <a name="cfn-lex-bot-bedrockguardrailconfiguration-bedrockguardrailidentifier"></a>
Property description not available.  
*Required*: No  
*Type*: String  
*Minimum*: `1`  
*Maximum*: `5000`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`BedrockGuardrailVersion`  <a name="cfn-lex-bot-bedrockguardrailconfiguration-bedrockguardrailversion"></a>
Property description not available.  
*Required*: No  
*Type*: String  
*Minimum*: `1`  
*Maximum*: `5000`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Lex::Bot BedrockKnowledgeStoreConfiguration
<a name="aws-properties-lex-bot-bedrockknowledgestoreconfiguration"></a>

Contains details about the configuration of a Amazon Bedrock knowledge base.

## Syntax
<a name="aws-properties-lex-bot-bedrockknowledgestoreconfiguration-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-lex-bot-bedrockknowledgestoreconfiguration-syntax.json"></a>

```
{
  "[BedrockKnowledgeBaseArn](#cfn-lex-bot-bedrockknowledgestoreconfiguration-bedrockknowledgebasearn)" : String,
  "[BKBExactResponseFields](#cfn-lex-bot-bedrockknowledgestoreconfiguration-bkbexactresponsefields)" : BKBExactResponseFields,
  "[ExactResponse](#cfn-lex-bot-bedrockknowledgestoreconfiguration-exactresponse)" : Boolean
}
```

### YAML
<a name="aws-properties-lex-bot-bedrockknowledgestoreconfiguration-syntax.yaml"></a>

```
  [BedrockKnowledgeBaseArn](#cfn-lex-bot-bedrockknowledgestoreconfiguration-bedrockknowledgebasearn): String
  [BKBExactResponseFields](#cfn-lex-bot-bedrockknowledgestoreconfiguration-bkbexactresponsefields): 
    BKBExactResponseFields
  [ExactResponse](#cfn-lex-bot-bedrockknowledgestoreconfiguration-exactresponse): Boolean
```

## Properties
<a name="aws-properties-lex-bot-bedrockknowledgestoreconfiguration-properties"></a>

`BedrockKnowledgeBaseArn`  <a name="cfn-lex-bot-bedrockknowledgestoreconfiguration-bedrockknowledgebasearn"></a>
The base ARN of the knowledge base used.  
*Required*: No  
*Type*: String  
*Minimum*: `1`  
*Maximum*: `5000`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`BKBExactResponseFields`  <a name="cfn-lex-bot-bedrockknowledgestoreconfiguration-bkbexactresponsefields"></a>
Property description not available.  
*Required*: No  
*Type*: [BKBExactResponseFields](aws-properties-lex-bot-bkbexactresponsefields.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ExactResponse`  <a name="cfn-lex-bot-bedrockknowledgestoreconfiguration-exactresponse"></a>
Specifies whether to return an exact response, or to return an answer generated by the model, using the fields you specify from the database.  
*Required*: No  
*Type*: Boolean  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Lex::Bot BedrockModelSpecification
<a name="aws-properties-lex-bot-bedrockmodelspecification"></a>

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

## Syntax
<a name="aws-properties-lex-bot-bedrockmodelspecification-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-lex-bot-bedrockmodelspecification-syntax.json"></a>

```
{
  "[BedrockGuardrailConfiguration](#cfn-lex-bot-bedrockmodelspecification-bedrockguardrailconfiguration)" : BedrockGuardrailConfiguration,
  "[BedrockModelCustomPrompt](#cfn-lex-bot-bedrockmodelspecification-bedrockmodelcustomprompt)" : String,
  "[BedrockTraceStatus](#cfn-lex-bot-bedrockmodelspecification-bedrocktracestatus)" : String,
  "[ModelArn](#cfn-lex-bot-bedrockmodelspecification-modelarn)" : String
}
```

### YAML
<a name="aws-properties-lex-bot-bedrockmodelspecification-syntax.yaml"></a>

```
  [BedrockGuardrailConfiguration](#cfn-lex-bot-bedrockmodelspecification-bedrockguardrailconfiguration): 
    BedrockGuardrailConfiguration
  [BedrockModelCustomPrompt](#cfn-lex-bot-bedrockmodelspecification-bedrockmodelcustomprompt): String
  [BedrockTraceStatus](#cfn-lex-bot-bedrockmodelspecification-bedrocktracestatus): String
  [ModelArn](#cfn-lex-bot-bedrockmodelspecification-modelarn): String
```

## Properties
<a name="aws-properties-lex-bot-bedrockmodelspecification-properties"></a>

`BedrockGuardrailConfiguration`  <a name="cfn-lex-bot-bedrockmodelspecification-bedrockguardrailconfiguration"></a>
Property description not available.  
*Required*: No  
*Type*: [BedrockGuardrailConfiguration](aws-properties-lex-bot-bedrockguardrailconfiguration.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`BedrockModelCustomPrompt`  <a name="cfn-lex-bot-bedrockmodelspecification-bedrockmodelcustomprompt"></a>
Property description not available.  
*Required*: No  
*Type*: String  
*Minimum*: `1`  
*Maximum*: `5000`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`BedrockTraceStatus`  <a name="cfn-lex-bot-bedrockmodelspecification-bedrocktracestatus"></a>
Property description not available.  
*Required*: No  
*Type*: String  
*Allowed values*: `ENABLED | DISABLED`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ModelArn`  <a name="cfn-lex-bot-bedrockmodelspecification-modelarn"></a>
The ARN of the foundation model used in descriptive bot building.  
*Required*: Yes  
*Type*: String  
*Minimum*: `1`  
*Maximum*: `5000`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Lex::Bot BKBExactResponseFields
<a name="aws-properties-lex-bot-bkbexactresponsefields"></a>

<a name="aws-properties-lex-bot-bkbexactresponsefields-description"></a>The `BKBExactResponseFields` property type specifies Property description not available. for an [AWS::Lex::Bot](aws-resource-lex-bot.md).

## Syntax
<a name="aws-properties-lex-bot-bkbexactresponsefields-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-lex-bot-bkbexactresponsefields-syntax.json"></a>

```
{
  "[AnswerField](#cfn-lex-bot-bkbexactresponsefields-answerfield)" : String
}
```

### YAML
<a name="aws-properties-lex-bot-bkbexactresponsefields-syntax.yaml"></a>

```
  [AnswerField](#cfn-lex-bot-bkbexactresponsefields-answerfield): String
```

## Properties
<a name="aws-properties-lex-bot-bkbexactresponsefields-properties"></a>

`AnswerField`  <a name="cfn-lex-bot-bkbexactresponsefields-answerfield"></a>
Property description not available.  
*Required*: No  
*Type*: String  
*Minimum*: `1`  
*Maximum*: `5000`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Lex::Bot BotAliasLocaleSettings
<a name="aws-properties-lex-bot-botaliaslocalesettings"></a>

Specifies settings that are unique to a locale. For example, you can use different Lambda function depending on the bot's locale.

## Syntax
<a name="aws-properties-lex-bot-botaliaslocalesettings-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-lex-bot-botaliaslocalesettings-syntax.json"></a>

```
{
  "[CodeHookSpecification](#cfn-lex-bot-botaliaslocalesettings-codehookspecification)" : CodeHookSpecification,
  "[Enabled](#cfn-lex-bot-botaliaslocalesettings-enabled)" : Boolean
}
```

### YAML
<a name="aws-properties-lex-bot-botaliaslocalesettings-syntax.yaml"></a>

```
  [CodeHookSpecification](#cfn-lex-bot-botaliaslocalesettings-codehookspecification): 
    CodeHookSpecification
  [Enabled](#cfn-lex-bot-botaliaslocalesettings-enabled): Boolean
```

## Properties
<a name="aws-properties-lex-bot-botaliaslocalesettings-properties"></a>

`CodeHookSpecification`  <a name="cfn-lex-bot-botaliaslocalesettings-codehookspecification"></a>
Specifies the Lambda function that should be used in the locale.  
*Required*: No  
*Type*: [CodeHookSpecification](aws-properties-lex-bot-codehookspecification.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Enabled`  <a name="cfn-lex-bot-botaliaslocalesettings-enabled"></a>
Determines whether the locale is enabled for the bot. If the value is `false`, the locale isn't available for use.  
*Required*: Yes  
*Type*: Boolean  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Lex::Bot BotAliasLocaleSettingsItem
<a name="aws-properties-lex-bot-botaliaslocalesettingsitem"></a>

Specifies locale settings for a single locale.

## Syntax
<a name="aws-properties-lex-bot-botaliaslocalesettingsitem-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-lex-bot-botaliaslocalesettingsitem-syntax.json"></a>

```
{
  "[BotAliasLocaleSetting](#cfn-lex-bot-botaliaslocalesettingsitem-botaliaslocalesetting)" : BotAliasLocaleSettings,
  "[LocaleId](#cfn-lex-bot-botaliaslocalesettingsitem-localeid)" : String
}
```

### YAML
<a name="aws-properties-lex-bot-botaliaslocalesettingsitem-syntax.yaml"></a>

```
  [BotAliasLocaleSetting](#cfn-lex-bot-botaliaslocalesettingsitem-botaliaslocalesetting): 
    BotAliasLocaleSettings
  [LocaleId](#cfn-lex-bot-botaliaslocalesettingsitem-localeid): String
```

## Properties
<a name="aws-properties-lex-bot-botaliaslocalesettingsitem-properties"></a>

`BotAliasLocaleSetting`  <a name="cfn-lex-bot-botaliaslocalesettingsitem-botaliaslocalesetting"></a>
Specifies locale settings for a locale.  
*Required*: Yes  
*Type*: [BotAliasLocaleSettings](aws-properties-lex-bot-botaliaslocalesettings.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`LocaleId`  <a name="cfn-lex-bot-botaliaslocalesettingsitem-localeid"></a>
Specifies the locale that the settings apply to.  
*Required*: Yes  
*Type*: String  
*Minimum*: `1`  
*Maximum*: `128`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Lex::Bot BotLocale
<a name="aws-properties-lex-bot-botlocale"></a>

Provides configuration information for a locale.

## Syntax
<a name="aws-properties-lex-bot-botlocale-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-lex-bot-botlocale-syntax.json"></a>

```
{
  "[CustomVocabulary](#cfn-lex-bot-botlocale-customvocabulary)" : CustomVocabulary,
  "[Description](#cfn-lex-bot-botlocale-description)" : String,
  "[GenerativeAISettings](#cfn-lex-bot-botlocale-generativeaisettings)" : GenerativeAISettings,
  "[Intents](#cfn-lex-bot-botlocale-intents)" : [ Intent, ... ],
  "[LocaleId](#cfn-lex-bot-botlocale-localeid)" : String,
  "[NluConfidenceThreshold](#cfn-lex-bot-botlocale-nluconfidencethreshold)" : Number,
  "[SlotTypes](#cfn-lex-bot-botlocale-slottypes)" : [ SlotType, ... ],
  "[SpeechDetectionSensitivity](#cfn-lex-bot-botlocale-speechdetectionsensitivity)" : String,
  "[SpeechRecognitionSettings](#cfn-lex-bot-botlocale-speechrecognitionsettings)" : SpeechRecognitionSettings,
  "[UnifiedSpeechSettings](#cfn-lex-bot-botlocale-unifiedspeechsettings)" : UnifiedSpeechSettings,
  "[VoiceSettings](#cfn-lex-bot-botlocale-voicesettings)" : VoiceSettings
}
```

### YAML
<a name="aws-properties-lex-bot-botlocale-syntax.yaml"></a>

```
  [CustomVocabulary](#cfn-lex-bot-botlocale-customvocabulary): 
    CustomVocabulary
  [Description](#cfn-lex-bot-botlocale-description): String
  [GenerativeAISettings](#cfn-lex-bot-botlocale-generativeaisettings): 
    GenerativeAISettings
  [Intents](#cfn-lex-bot-botlocale-intents): 
    - Intent
  [LocaleId](#cfn-lex-bot-botlocale-localeid): String
  [NluConfidenceThreshold](#cfn-lex-bot-botlocale-nluconfidencethreshold): Number
  [SlotTypes](#cfn-lex-bot-botlocale-slottypes): 
    - SlotType
  [SpeechDetectionSensitivity](#cfn-lex-bot-botlocale-speechdetectionsensitivity): String
  [SpeechRecognitionSettings](#cfn-lex-bot-botlocale-speechrecognitionsettings): 
    SpeechRecognitionSettings
  [UnifiedSpeechSettings](#cfn-lex-bot-botlocale-unifiedspeechsettings): 
    UnifiedSpeechSettings
  [VoiceSettings](#cfn-lex-bot-botlocale-voicesettings): 
    VoiceSettings
```

## Properties
<a name="aws-properties-lex-bot-botlocale-properties"></a>

`CustomVocabulary`  <a name="cfn-lex-bot-botlocale-customvocabulary"></a>
Specifies a custom vocabulary to use with a specific locale.  
*Required*: No  
*Type*: [CustomVocabulary](aws-properties-lex-bot-customvocabulary.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Description`  <a name="cfn-lex-bot-botlocale-description"></a>
A description of the bot locale. Use this to help identify the bot locale in lists.  
*Required*: No  
*Type*: String  
*Maximum*: `2000`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`GenerativeAISettings`  <a name="cfn-lex-bot-botlocale-generativeaisettings"></a>
Property description not available.  
*Required*: No  
*Type*: [GenerativeAISettings](aws-properties-lex-bot-generativeaisettings.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Intents`  <a name="cfn-lex-bot-botlocale-intents"></a>
One or more intents defined for the locale.  
*Required*: No  
*Type*: Array of [Intent](aws-properties-lex-bot-intent.md)  
*Maximum*: `1000`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`LocaleId`  <a name="cfn-lex-bot-botlocale-localeid"></a>
The identifier of the language and locale that the bot will be used in. The string must match one of the supported locales.   
*Required*: Yes  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`NluConfidenceThreshold`  <a name="cfn-lex-bot-botlocale-nluconfidencethreshold"></a>
Determines the threshold where Amazon Lex will insert the `AMAZON.FallbackIntent`, `AMAZON.KendraSearchIntent`, or both when returning alternative intents. You must configure an `AMAZON.FallbackIntent`. `AMAZON.KendraSearchIntent` is only inserted if it is configured for the bot.  
*Required*: Yes  
*Type*: Number  
*Minimum*: `0`  
*Maximum*: `1`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`SlotTypes`  <a name="cfn-lex-bot-botlocale-slottypes"></a>
One or more slot types defined for the locale.  
*Required*: No  
*Type*: Array of [SlotType](aws-properties-lex-bot-slottype.md)  
*Maximum*: `250`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`SpeechDetectionSensitivity`  <a name="cfn-lex-bot-botlocale-speechdetectionsensitivity"></a>
Property description not available.  
*Required*: No  
*Type*: String  
*Allowed values*: `Default | HighNoiseTolerance | MaximumNoiseTolerance`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`SpeechRecognitionSettings`  <a name="cfn-lex-bot-botlocale-speechrecognitionsettings"></a>
Property description not available.  
*Required*: No  
*Type*: [SpeechRecognitionSettings](aws-properties-lex-bot-speechrecognitionsettings.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`UnifiedSpeechSettings`  <a name="cfn-lex-bot-botlocale-unifiedspeechsettings"></a>
Property description not available.  
*Required*: No  
*Type*: [UnifiedSpeechSettings](aws-properties-lex-bot-unifiedspeechsettings.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`VoiceSettings`  <a name="cfn-lex-bot-botlocale-voicesettings"></a>
Defines settings for using an Amazon Polly voice to communicate with a user.  
Valid values include:  
+  `standard` 
+  `neural` 
+  `long-form` 
+  `generative` 
*Required*: No  
*Type*: [VoiceSettings](aws-properties-lex-bot-voicesettings.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Lex::Bot BuildtimeSettings
<a name="aws-properties-lex-bot-buildtimesettings"></a>

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

## Syntax
<a name="aws-properties-lex-bot-buildtimesettings-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-lex-bot-buildtimesettings-syntax.json"></a>

```
{
  "[DescriptiveBotBuilderSpecification](#cfn-lex-bot-buildtimesettings-descriptivebotbuilderspecification)" : DescriptiveBotBuilderSpecification,
  "[SampleUtteranceGenerationSpecification](#cfn-lex-bot-buildtimesettings-sampleutterancegenerationspecification)" : SampleUtteranceGenerationSpecification
}
```

### YAML
<a name="aws-properties-lex-bot-buildtimesettings-syntax.yaml"></a>

```
  [DescriptiveBotBuilderSpecification](#cfn-lex-bot-buildtimesettings-descriptivebotbuilderspecification): 
    DescriptiveBotBuilderSpecification
  [SampleUtteranceGenerationSpecification](#cfn-lex-bot-buildtimesettings-sampleutterancegenerationspecification): 
    SampleUtteranceGenerationSpecification
```

## Properties
<a name="aws-properties-lex-bot-buildtimesettings-properties"></a>

`DescriptiveBotBuilderSpecification`  <a name="cfn-lex-bot-buildtimesettings-descriptivebotbuilderspecification"></a>
Property description not available.  
*Required*: No  
*Type*: [DescriptiveBotBuilderSpecification](aws-properties-lex-bot-descriptivebotbuilderspecification.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`SampleUtteranceGenerationSpecification`  <a name="cfn-lex-bot-buildtimesettings-sampleutterancegenerationspecification"></a>
Property description not available.  
*Required*: No  
*Type*: [SampleUtteranceGenerationSpecification](aws-properties-lex-bot-sampleutterancegenerationspecification.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Lex::Bot Button
<a name="aws-properties-lex-bot-button"></a>

Describes a button to use on a response card used to gather slot values from a user.

## Syntax
<a name="aws-properties-lex-bot-button-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-lex-bot-button-syntax.json"></a>

```
{
  "[Text](#cfn-lex-bot-button-text)" : String,
  "[Value](#cfn-lex-bot-button-value)" : String
}
```

### YAML
<a name="aws-properties-lex-bot-button-syntax.yaml"></a>

```
  [Text](#cfn-lex-bot-button-text): String
  [Value](#cfn-lex-bot-button-value): String
```

## Properties
<a name="aws-properties-lex-bot-button-properties"></a>

`Text`  <a name="cfn-lex-bot-button-text"></a>
The text that appears on the button. Use this to tell the user what value is returned when they choose this button.  
*Required*: Yes  
*Type*: String  
*Minimum*: `1`  
*Maximum*: `50`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Value`  <a name="cfn-lex-bot-button-value"></a>
The value returned to Amazon Lex when the user chooses this button. This must be one of the slot values configured for the slot.  
*Required*: Yes  
*Type*: String  
*Minimum*: `1`  
*Maximum*: `50`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Lex::Bot CloudWatchLogGroupLogDestination
<a name="aws-properties-lex-bot-cloudwatchloggrouplogdestination"></a>

The Amazon CloudWatch Logs log group where the text and metadata logs are delivered. The log group must exist before you enable logging.

## Syntax
<a name="aws-properties-lex-bot-cloudwatchloggrouplogdestination-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-lex-bot-cloudwatchloggrouplogdestination-syntax.json"></a>

```
{
  "[CloudWatchLogGroupArn](#cfn-lex-bot-cloudwatchloggrouplogdestination-cloudwatchloggrouparn)" : String,
  "[LogPrefix](#cfn-lex-bot-cloudwatchloggrouplogdestination-logprefix)" : String
}
```

### YAML
<a name="aws-properties-lex-bot-cloudwatchloggrouplogdestination-syntax.yaml"></a>

```
  [CloudWatchLogGroupArn](#cfn-lex-bot-cloudwatchloggrouplogdestination-cloudwatchloggrouparn): String
  [LogPrefix](#cfn-lex-bot-cloudwatchloggrouplogdestination-logprefix): String
```

## Properties
<a name="aws-properties-lex-bot-cloudwatchloggrouplogdestination-properties"></a>

`CloudWatchLogGroupArn`  <a name="cfn-lex-bot-cloudwatchloggrouplogdestination-cloudwatchloggrouparn"></a>
The Amazon Resource Name (ARN) of the log group where text and metadata logs are delivered.  
*Required*: Yes  
*Type*: String  
*Minimum*: `1`  
*Maximum*: `2048`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`LogPrefix`  <a name="cfn-lex-bot-cloudwatchloggrouplogdestination-logprefix"></a>
The prefix of the log stream name within the log group that you specified   
*Required*: Yes  
*Type*: String  
*Minimum*: `0`  
*Maximum*: `1024`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Lex::Bot CodeHookSpecification
<a name="aws-properties-lex-bot-codehookspecification"></a>

Contains information about code hooks that Amazon Lex calls during a conversation.

## Syntax
<a name="aws-properties-lex-bot-codehookspecification-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-lex-bot-codehookspecification-syntax.json"></a>

```
{
  "[LambdaCodeHook](#cfn-lex-bot-codehookspecification-lambdacodehook)" : LambdaCodeHook
}
```

### YAML
<a name="aws-properties-lex-bot-codehookspecification-syntax.yaml"></a>

```
  [LambdaCodeHook](#cfn-lex-bot-codehookspecification-lambdacodehook): 
    LambdaCodeHook
```

## Properties
<a name="aws-properties-lex-bot-codehookspecification-properties"></a>

`LambdaCodeHook`  <a name="cfn-lex-bot-codehookspecification-lambdacodehook"></a>
Specifies a Lambda function that verifies requests to a bot or fulfills the user's request to a bot.  
*Required*: Yes  
*Type*: [LambdaCodeHook](aws-properties-lex-bot-lambdacodehook.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Lex::Bot CompositeSlotTypeSetting
<a name="aws-properties-lex-bot-compositeslottypesetting"></a>

A composite slot is a combination of two or more slots that capture multiple pieces of information in a single user input.

## Syntax
<a name="aws-properties-lex-bot-compositeslottypesetting-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-lex-bot-compositeslottypesetting-syntax.json"></a>

```
{
  "[SubSlots](#cfn-lex-bot-compositeslottypesetting-subslots)" : [ SubSlotTypeComposition, ... ]
}
```

### YAML
<a name="aws-properties-lex-bot-compositeslottypesetting-syntax.yaml"></a>

```
  [SubSlots](#cfn-lex-bot-compositeslottypesetting-subslots): 
    - SubSlotTypeComposition
```

## Properties
<a name="aws-properties-lex-bot-compositeslottypesetting-properties"></a>

`SubSlots`  <a name="cfn-lex-bot-compositeslottypesetting-subslots"></a>
Subslots in the composite slot.  
*Required*: No  
*Type*: Array of [SubSlotTypeComposition](aws-properties-lex-bot-subslottypecomposition.md)  
*Minimum*: `1`  
*Maximum*: `6`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Lex::Bot Condition
<a name="aws-properties-lex-bot-condition"></a>

Provides an expression that evaluates to true or false. 

## Syntax
<a name="aws-properties-lex-bot-condition-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-lex-bot-condition-syntax.json"></a>

```
{
  "[ExpressionString](#cfn-lex-bot-condition-expressionstring)" : String
}
```

### YAML
<a name="aws-properties-lex-bot-condition-syntax.yaml"></a>

```
  [ExpressionString](#cfn-lex-bot-condition-expressionstring): 
    String
```

## Properties
<a name="aws-properties-lex-bot-condition-properties"></a>

`ExpressionString`  <a name="cfn-lex-bot-condition-expressionstring"></a>
The expression string that is evaluated.   
*Required*: Yes  
*Type*: String  
*Minimum*: `1`  
*Maximum*: `1024`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Lex::Bot ConditionalBranch
<a name="aws-properties-lex-bot-conditionalbranch"></a>

A set of actions that Amazon Lex should run if the condition is matched.

## Syntax
<a name="aws-properties-lex-bot-conditionalbranch-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-lex-bot-conditionalbranch-syntax.json"></a>

```
{
  "[Condition](#cfn-lex-bot-conditionalbranch-condition)" : Condition,
  "[Name](#cfn-lex-bot-conditionalbranch-name)" : String,
  "[NextStep](#cfn-lex-bot-conditionalbranch-nextstep)" : DialogState,
  "[Response](#cfn-lex-bot-conditionalbranch-response)" : ResponseSpecification
}
```

### YAML
<a name="aws-properties-lex-bot-conditionalbranch-syntax.yaml"></a>

```
  [Condition](#cfn-lex-bot-conditionalbranch-condition): 
    Condition
  [Name](#cfn-lex-bot-conditionalbranch-name): String
  [NextStep](#cfn-lex-bot-conditionalbranch-nextstep): 
    DialogState
  [Response](#cfn-lex-bot-conditionalbranch-response): 
    ResponseSpecification
```

## Properties
<a name="aws-properties-lex-bot-conditionalbranch-properties"></a>

`Condition`  <a name="cfn-lex-bot-conditionalbranch-condition"></a>
Contains the expression to evaluate. If the condition is true, the branch's actions are taken.  
*Required*: Yes  
*Type*: [Condition](aws-properties-lex-bot-condition.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Name`  <a name="cfn-lex-bot-conditionalbranch-name"></a>
The name of the branch.   
*Required*: Yes  
*Type*: String  
*Pattern*: `^([0-9a-zA-Z][_-]?)+$`  
*Minimum*: `1`  
*Maximum*: `100`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`NextStep`  <a name="cfn-lex-bot-conditionalbranch-nextstep"></a>
The next step in the conversation.  
*Required*: Yes  
*Type*: [DialogState](aws-properties-lex-bot-dialogstate.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Response`  <a name="cfn-lex-bot-conditionalbranch-response"></a>
Specifies a list of message groups that Amazon Lex uses to respond the user input.  
*Required*: No  
*Type*: [ResponseSpecification](aws-properties-lex-bot-responsespecification.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Lex::Bot ConditionalSpecification
<a name="aws-properties-lex-bot-conditionalspecification"></a>

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.

## Syntax
<a name="aws-properties-lex-bot-conditionalspecification-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-lex-bot-conditionalspecification-syntax.json"></a>

```
{
  "[ConditionalBranches](#cfn-lex-bot-conditionalspecification-conditionalbranches)" : [ ConditionalBranch, ... ],
  "[DefaultBranch](#cfn-lex-bot-conditionalspecification-defaultbranch)" : DefaultConditionalBranch,
  "[IsActive](#cfn-lex-bot-conditionalspecification-isactive)" : Boolean
}
```

### YAML
<a name="aws-properties-lex-bot-conditionalspecification-syntax.yaml"></a>

```
  [ConditionalBranches](#cfn-lex-bot-conditionalspecification-conditionalbranches): 
    - ConditionalBranch
  [DefaultBranch](#cfn-lex-bot-conditionalspecification-defaultbranch): 
    DefaultConditionalBranch
  [IsActive](#cfn-lex-bot-conditionalspecification-isactive): Boolean
```

## Properties
<a name="aws-properties-lex-bot-conditionalspecification-properties"></a>

`ConditionalBranches`  <a name="cfn-lex-bot-conditionalspecification-conditionalbranches"></a>
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.  
*Required*: Yes  
*Type*: Array of [ConditionalBranch](aws-properties-lex-bot-conditionalbranch.md)  
*Minimum*: `1`  
*Maximum*: `4`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`DefaultBranch`  <a name="cfn-lex-bot-conditionalspecification-defaultbranch"></a>
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.  
*Required*: Yes  
*Type*: [DefaultConditionalBranch](aws-properties-lex-bot-defaultconditionalbranch.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`IsActive`  <a name="cfn-lex-bot-conditionalspecification-isactive"></a>
Determines whether a conditional branch is active. When `IsActive` is false, the conditions are not evaluated.  
*Required*: Yes  
*Type*: Boolean  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Lex::Bot ConversationLogSettings
<a name="aws-properties-lex-bot-conversationlogsettings"></a>

Configures conversation logging that saves audio, text, and metadata for the conversations with your users.

## Syntax
<a name="aws-properties-lex-bot-conversationlogsettings-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-lex-bot-conversationlogsettings-syntax.json"></a>

```
{
  "[AudioLogSettings](#cfn-lex-bot-conversationlogsettings-audiologsettings)" : [ AudioLogSetting, ... ],
  "[TextLogSettings](#cfn-lex-bot-conversationlogsettings-textlogsettings)" : [ TextLogSetting, ... ]
}
```

### YAML
<a name="aws-properties-lex-bot-conversationlogsettings-syntax.yaml"></a>

```
  [AudioLogSettings](#cfn-lex-bot-conversationlogsettings-audiologsettings): 
    - AudioLogSetting
  [TextLogSettings](#cfn-lex-bot-conversationlogsettings-textlogsettings): 
    - TextLogSetting
```

## Properties
<a name="aws-properties-lex-bot-conversationlogsettings-properties"></a>

`AudioLogSettings`  <a name="cfn-lex-bot-conversationlogsettings-audiologsettings"></a>
The Amazon S3 settings for logging audio to an S3 bucket.  
*Required*: No  
*Type*: Array of [AudioLogSetting](aws-properties-lex-bot-audiologsetting.md)  
*Maximum*: `1`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`TextLogSettings`  <a name="cfn-lex-bot-conversationlogsettings-textlogsettings"></a>
The Amazon CloudWatch Logs settings for logging text and metadata.  
*Required*: No  
*Type*: Array of [TextLogSetting](aws-properties-lex-bot-textlogsetting.md)  
*Maximum*: `1`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Lex::Bot CustomPayload
<a name="aws-properties-lex-bot-custompayload"></a>

A custom response string that Amazon Lex sends to your application. You define the content and structure the string.

## Syntax
<a name="aws-properties-lex-bot-custompayload-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-lex-bot-custompayload-syntax.json"></a>

```
{
  "[Value](#cfn-lex-bot-custompayload-value)" : String
}
```

### YAML
<a name="aws-properties-lex-bot-custompayload-syntax.yaml"></a>

```
  [Value](#cfn-lex-bot-custompayload-value): String
```

## Properties
<a name="aws-properties-lex-bot-custompayload-properties"></a>

`Value`  <a name="cfn-lex-bot-custompayload-value"></a>
The string that is sent to your application.  
*Required*: Yes  
*Type*: String  
*Minimum*: `1`  
*Maximum*: `1000`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Lex::Bot CustomVocabulary
<a name="aws-properties-lex-bot-customvocabulary"></a>

Specifies a custom vocabulary. A custom vocabulary is a list of words that you expect to be used during a conversation with your bot.

## Syntax
<a name="aws-properties-lex-bot-customvocabulary-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-lex-bot-customvocabulary-syntax.json"></a>

```
{
  "[CustomVocabularyItems](#cfn-lex-bot-customvocabulary-customvocabularyitems)" : [ CustomVocabularyItem, ... ]
}
```

### YAML
<a name="aws-properties-lex-bot-customvocabulary-syntax.yaml"></a>

```
  [CustomVocabularyItems](#cfn-lex-bot-customvocabulary-customvocabularyitems): 
    - CustomVocabularyItem
```

## Properties
<a name="aws-properties-lex-bot-customvocabulary-properties"></a>

`CustomVocabularyItems`  <a name="cfn-lex-bot-customvocabulary-customvocabularyitems"></a>
Specifies a list of words that you expect to be used during a conversation with your bot.  
*Required*: Yes  
*Type*: Array of [CustomVocabularyItem](aws-properties-lex-bot-customvocabularyitem.md)  
*Maximum*: `500`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Lex::Bot CustomVocabularyItem
<a name="aws-properties-lex-bot-customvocabularyitem"></a>

Specifies an entry in a custom vocabulary.

## Syntax
<a name="aws-properties-lex-bot-customvocabularyitem-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-lex-bot-customvocabularyitem-syntax.json"></a>

```
{
  "[DisplayAs](#cfn-lex-bot-customvocabularyitem-displayas)" : String,
  "[Phrase](#cfn-lex-bot-customvocabularyitem-phrase)" : String,
  "[Weight](#cfn-lex-bot-customvocabularyitem-weight)" : Integer
}
```

### YAML
<a name="aws-properties-lex-bot-customvocabularyitem-syntax.yaml"></a>

```
  [DisplayAs](#cfn-lex-bot-customvocabularyitem-displayas): String
  [Phrase](#cfn-lex-bot-customvocabularyitem-phrase): String
  [Weight](#cfn-lex-bot-customvocabularyitem-weight): Integer
```

## Properties
<a name="aws-properties-lex-bot-customvocabularyitem-properties"></a>

`DisplayAs`  <a name="cfn-lex-bot-customvocabularyitem-displayas"></a>
The DisplayAs value for the custom vocabulary item from the custom vocabulary list.  
*Required*: No  
*Type*: String  
*Minimum*: `1`  
*Maximum*: `100`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Phrase`  <a name="cfn-lex-bot-customvocabularyitem-phrase"></a>
Specifies 1 - 4 words that should be recognized.  
*Required*: Yes  
*Type*: String  
*Minimum*: `1`  
*Maximum*: `100`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Weight`  <a name="cfn-lex-bot-customvocabularyitem-weight"></a>
Specifies the degree to which the phrase recognition is boosted. The default value is 1.  
*Required*: No  
*Type*: Integer  
*Minimum*: `0`  
*Maximum*: `3`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Lex::Bot DataPrivacy
<a name="aws-properties-lex-bot-dataprivacy"></a>

By default, data stored by Amazon Lex is encrypted. The `DataPrivacy` structure provides settings that determine how Amazon Lex handles special cases of securing the data for your bot. 

## Syntax
<a name="aws-properties-lex-bot-dataprivacy-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-lex-bot-dataprivacy-syntax.json"></a>

```
{
  "[ChildDirected](#cfn-lex-bot-dataprivacy-childdirected)" : Boolean
}
```

### YAML
<a name="aws-properties-lex-bot-dataprivacy-syntax.yaml"></a>

```
  [ChildDirected](#cfn-lex-bot-dataprivacy-childdirected): Boolean
```

## Properties
<a name="aws-properties-lex-bot-dataprivacy-properties"></a>

`ChildDirected`  <a name="cfn-lex-bot-dataprivacy-childdirected"></a>
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](https://aws.amazon.com/lex/faqs#data-security).  
*Required*: Yes  
*Type*: Boolean  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Lex::Bot DataSourceConfiguration
<a name="aws-properties-lex-bot-datasourceconfiguration"></a>

Contains details about the configuration of the knowledge store used for the `AMAZON.QnAIntent`. You must have already created the knowledge store and indexed the documents within it.

## Syntax
<a name="aws-properties-lex-bot-datasourceconfiguration-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-lex-bot-datasourceconfiguration-syntax.json"></a>

```
{
  "[BedrockKnowledgeStoreConfiguration](#cfn-lex-bot-datasourceconfiguration-bedrockknowledgestoreconfiguration)" : BedrockKnowledgeStoreConfiguration,
  "[KendraConfiguration](#cfn-lex-bot-datasourceconfiguration-kendraconfiguration)" : QnAKendraConfiguration,
  "[OpensearchConfiguration](#cfn-lex-bot-datasourceconfiguration-opensearchconfiguration)" : OpensearchConfiguration
}
```

### YAML
<a name="aws-properties-lex-bot-datasourceconfiguration-syntax.yaml"></a>

```
  [BedrockKnowledgeStoreConfiguration](#cfn-lex-bot-datasourceconfiguration-bedrockknowledgestoreconfiguration): 
    BedrockKnowledgeStoreConfiguration
  [KendraConfiguration](#cfn-lex-bot-datasourceconfiguration-kendraconfiguration): 
    QnAKendraConfiguration
  [OpensearchConfiguration](#cfn-lex-bot-datasourceconfiguration-opensearchconfiguration): 
    OpensearchConfiguration
```

## Properties
<a name="aws-properties-lex-bot-datasourceconfiguration-properties"></a>

`BedrockKnowledgeStoreConfiguration`  <a name="cfn-lex-bot-datasourceconfiguration-bedrockknowledgestoreconfiguration"></a>
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](https://docs.aws.amazon.com/bedrock/latest/userguide/knowledge-base.html).  
*Required*: No  
*Type*: [BedrockKnowledgeStoreConfiguration](aws-properties-lex-bot-bedrockknowledgestoreconfiguration.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`KendraConfiguration`  <a name="cfn-lex-bot-datasourceconfiguration-kendraconfiguration"></a>
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](https://docs.aws.amazon.com/kendra/latest/dg/create-index.html).  
*Required*: No  
*Type*: [QnAKendraConfiguration](aws-properties-lex-bot-qnakendraconfiguration.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`OpensearchConfiguration`  <a name="cfn-lex-bot-datasourceconfiguration-opensearchconfiguration"></a>
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](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/createupdatedomains.html).  
*Required*: No  
*Type*: [OpensearchConfiguration](aws-properties-lex-bot-opensearchconfiguration.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Lex::Bot DeepgramSpeechModelConfig
<a name="aws-properties-lex-bot-deepgramspeechmodelconfig"></a>

Configuration settings for integrating Deepgram speech-to-text models with Amazon Lex.

## Syntax
<a name="aws-properties-lex-bot-deepgramspeechmodelconfig-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-lex-bot-deepgramspeechmodelconfig-syntax.json"></a>

```
{
  "[ApiTokenSecretArn](#cfn-lex-bot-deepgramspeechmodelconfig-apitokensecretarn)" : String,
  "[ModelId](#cfn-lex-bot-deepgramspeechmodelconfig-modelid)" : String
}
```

### YAML
<a name="aws-properties-lex-bot-deepgramspeechmodelconfig-syntax.yaml"></a>

```
  [ApiTokenSecretArn](#cfn-lex-bot-deepgramspeechmodelconfig-apitokensecretarn): String
  [ModelId](#cfn-lex-bot-deepgramspeechmodelconfig-modelid): String
```

## Properties
<a name="aws-properties-lex-bot-deepgramspeechmodelconfig-properties"></a>

`ApiTokenSecretArn`  <a name="cfn-lex-bot-deepgramspeechmodelconfig-apitokensecretarn"></a>
The Amazon Resource Name (ARN) of the Secrets Manager secret that contains the Deepgram API token.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^arn:aws[A-Za-z-]*:secretsmanager:[a-z0-9-]{1,20}:[0-9]{12}:secret:[A-Za-z0-9/_+=.@-]{1,512}-[A-Za-z0-9]{6}$`  
*Minimum*: `20`  
*Maximum*: `2048`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ModelId`  <a name="cfn-lex-bot-deepgramspeechmodelconfig-modelid"></a>
The identifier of the Deepgram speech-to-text model to use for processing speech input.  
*Required*: No  
*Type*: String  
*Pattern*: `[A-Za-z0-9-_]+`  
*Minimum*: `4`  
*Maximum*: `32`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Lex::Bot DefaultConditionalBranch
<a name="aws-properties-lex-bot-defaultconditionalbranch"></a>

A set of actions that Amazon Lex should run if none of the other conditions are met.

## Syntax
<a name="aws-properties-lex-bot-defaultconditionalbranch-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-lex-bot-defaultconditionalbranch-syntax.json"></a>

```
{
  "[NextStep](#cfn-lex-bot-defaultconditionalbranch-nextstep)" : DialogState,
  "[Response](#cfn-lex-bot-defaultconditionalbranch-response)" : ResponseSpecification
}
```

### YAML
<a name="aws-properties-lex-bot-defaultconditionalbranch-syntax.yaml"></a>

```
  [NextStep](#cfn-lex-bot-defaultconditionalbranch-nextstep): 
    DialogState
  [Response](#cfn-lex-bot-defaultconditionalbranch-response): 
    ResponseSpecification
```

## Properties
<a name="aws-properties-lex-bot-defaultconditionalbranch-properties"></a>

`NextStep`  <a name="cfn-lex-bot-defaultconditionalbranch-nextstep"></a>
The next step in the conversation.  
*Required*: No  
*Type*: [DialogState](aws-properties-lex-bot-dialogstate.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Response`  <a name="cfn-lex-bot-defaultconditionalbranch-response"></a>
Specifies a list of message groups that Amazon Lex uses to respond the user input.  
*Required*: No  
*Type*: [ResponseSpecification](aws-properties-lex-bot-responsespecification.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Lex::Bot DescriptiveBotBuilderSpecification
<a name="aws-properties-lex-bot-descriptivebotbuilderspecification"></a>

Contains specifications for the descriptive bot building feature.

## Syntax
<a name="aws-properties-lex-bot-descriptivebotbuilderspecification-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-lex-bot-descriptivebotbuilderspecification-syntax.json"></a>

```
{
  "[BedrockModelSpecification](#cfn-lex-bot-descriptivebotbuilderspecification-bedrockmodelspecification)" : BedrockModelSpecification,
  "[Enabled](#cfn-lex-bot-descriptivebotbuilderspecification-enabled)" : Boolean
}
```

### YAML
<a name="aws-properties-lex-bot-descriptivebotbuilderspecification-syntax.yaml"></a>

```
  [BedrockModelSpecification](#cfn-lex-bot-descriptivebotbuilderspecification-bedrockmodelspecification): 
    BedrockModelSpecification
  [Enabled](#cfn-lex-bot-descriptivebotbuilderspecification-enabled): Boolean
```

## Properties
<a name="aws-properties-lex-bot-descriptivebotbuilderspecification-properties"></a>

`BedrockModelSpecification`  <a name="cfn-lex-bot-descriptivebotbuilderspecification-bedrockmodelspecification"></a>
An object containing information about the Amazon Bedrock model used to interpret the prompt used in descriptive bot building.  
*Required*: No  
*Type*: [BedrockModelSpecification](aws-properties-lex-bot-bedrockmodelspecification.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Enabled`  <a name="cfn-lex-bot-descriptivebotbuilderspecification-enabled"></a>
Specifies whether the descriptive bot building feature is activated or not.  
*Required*: Yes  
*Type*: Boolean  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Lex::Bot DialogAction
<a name="aws-properties-lex-bot-dialogaction"></a>

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

## Syntax
<a name="aws-properties-lex-bot-dialogaction-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-lex-bot-dialogaction-syntax.json"></a>

```
{
  "[SlotToElicit](#cfn-lex-bot-dialogaction-slottoelicit)" : String,
  "[SuppressNextMessage](#cfn-lex-bot-dialogaction-suppressnextmessage)" : Boolean,
  "[Type](#cfn-lex-bot-dialogaction-type)" : String
}
```

### YAML
<a name="aws-properties-lex-bot-dialogaction-syntax.yaml"></a>

```
  [SlotToElicit](#cfn-lex-bot-dialogaction-slottoelicit): String
  [SuppressNextMessage](#cfn-lex-bot-dialogaction-suppressnextmessage): Boolean
  [Type](#cfn-lex-bot-dialogaction-type): String
```

## Properties
<a name="aws-properties-lex-bot-dialogaction-properties"></a>

`SlotToElicit`  <a name="cfn-lex-bot-dialogaction-slottoelicit"></a>
If the dialog action is `ElicitSlot`, defines the slot to elicit from the user.  
*Required*: No  
*Type*: String  
*Pattern*: `^([0-9a-zA-Z][_-]?)+$`  
*Minimum*: `1`  
*Maximum*: `100`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`SuppressNextMessage`  <a name="cfn-lex-bot-dialogaction-suppressnextmessage"></a>
When true the next message for the intent is not used.  
*Required*: No  
*Type*: Boolean  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Type`  <a name="cfn-lex-bot-dialogaction-type"></a>
The action that the bot should execute.   
*Required*: Yes  
*Type*: String  
*Allowed values*: `CloseIntent | ConfirmIntent | ElicitIntent | ElicitSlot | StartIntent | FulfillIntent | EndConversation | EvaluateConditional | InvokeDialogCodeHook`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Lex::Bot DialogCodeHookInvocationSetting
<a name="aws-properties-lex-bot-dialogcodehookinvocationsetting"></a>

Settings that specify the dialog code hook that is called by Amazon Lex at a step of the conversation. 

## Syntax
<a name="aws-properties-lex-bot-dialogcodehookinvocationsetting-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-lex-bot-dialogcodehookinvocationsetting-syntax.json"></a>

```
{
  "[EnableCodeHookInvocation](#cfn-lex-bot-dialogcodehookinvocationsetting-enablecodehookinvocation)" : Boolean,
  "[InvocationLabel](#cfn-lex-bot-dialogcodehookinvocationsetting-invocationlabel)" : String,
  "[IsActive](#cfn-lex-bot-dialogcodehookinvocationsetting-isactive)" : Boolean,
  "[PostCodeHookSpecification](#cfn-lex-bot-dialogcodehookinvocationsetting-postcodehookspecification)" : PostDialogCodeHookInvocationSpecification
}
```

### YAML
<a name="aws-properties-lex-bot-dialogcodehookinvocationsetting-syntax.yaml"></a>

```
  [EnableCodeHookInvocation](#cfn-lex-bot-dialogcodehookinvocationsetting-enablecodehookinvocation): Boolean
  [InvocationLabel](#cfn-lex-bot-dialogcodehookinvocationsetting-invocationlabel): String
  [IsActive](#cfn-lex-bot-dialogcodehookinvocationsetting-isactive): Boolean
  [PostCodeHookSpecification](#cfn-lex-bot-dialogcodehookinvocationsetting-postcodehookspecification): 
    PostDialogCodeHookInvocationSpecification
```

## Properties
<a name="aws-properties-lex-bot-dialogcodehookinvocationsetting-properties"></a>

`EnableCodeHookInvocation`  <a name="cfn-lex-bot-dialogcodehookinvocationsetting-enablecodehookinvocation"></a>
Indicates whether a Lambda function should be invoked for the dialog.  
*Required*: Yes  
*Type*: Boolean  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`InvocationLabel`  <a name="cfn-lex-bot-dialogcodehookinvocationsetting-invocationlabel"></a>
A label that indicates the dialog step from which the dialog code hook is happening.  
*Required*: No  
*Type*: String  
*Pattern*: `^([0-9a-zA-Z][_-]?)+$`  
*Minimum*: `1`  
*Maximum*: `100`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`IsActive`  <a name="cfn-lex-bot-dialogcodehookinvocationsetting-isactive"></a>
Determines whether a dialog code hook is used when the intent is activated.  
*Required*: Yes  
*Type*: Boolean  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`PostCodeHookSpecification`  <a name="cfn-lex-bot-dialogcodehookinvocationsetting-postcodehookspecification"></a>
Contains the responses and actions that Amazon Lex takes after the Lambda function is complete.  
*Required*: Yes  
*Type*: [PostDialogCodeHookInvocationSpecification](aws-properties-lex-bot-postdialogcodehookinvocationspecification.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Lex::Bot DialogCodeHookSetting
<a name="aws-properties-lex-bot-dialogcodehooksetting"></a>

Settings that determine the Lambda function that Amazon Lex uses for processing user responses.

## Syntax
<a name="aws-properties-lex-bot-dialogcodehooksetting-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-lex-bot-dialogcodehooksetting-syntax.json"></a>

```
{
  "[Enabled](#cfn-lex-bot-dialogcodehooksetting-enabled)" : Boolean
}
```

### YAML
<a name="aws-properties-lex-bot-dialogcodehooksetting-syntax.yaml"></a>

```
  [Enabled](#cfn-lex-bot-dialogcodehooksetting-enabled): Boolean
```

## Properties
<a name="aws-properties-lex-bot-dialogcodehooksetting-properties"></a>

`Enabled`  <a name="cfn-lex-bot-dialogcodehooksetting-enabled"></a>
Enables the dialog code hook so that it processes user requests.  
*Required*: Yes  
*Type*: Boolean  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Lex::Bot DialogState
<a name="aws-properties-lex-bot-dialogstate"></a>

The current state of the conversation with the user.

## Syntax
<a name="aws-properties-lex-bot-dialogstate-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-lex-bot-dialogstate-syntax.json"></a>

```
{
  "[DialogAction](#cfn-lex-bot-dialogstate-dialogaction)" : DialogAction,
  "[Intent](#cfn-lex-bot-dialogstate-intent)" : IntentOverride,
  "[SessionAttributes](#cfn-lex-bot-dialogstate-sessionattributes)" : [ SessionAttribute, ... ]
}
```

### YAML
<a name="aws-properties-lex-bot-dialogstate-syntax.yaml"></a>

```
  [DialogAction](#cfn-lex-bot-dialogstate-dialogaction): 
    DialogAction
  [Intent](#cfn-lex-bot-dialogstate-intent): 
    IntentOverride
  [SessionAttributes](#cfn-lex-bot-dialogstate-sessionattributes): 
    - SessionAttribute
```

## Properties
<a name="aws-properties-lex-bot-dialogstate-properties"></a>

`DialogAction`  <a name="cfn-lex-bot-dialogstate-dialogaction"></a>
Defines the action that the bot executes at runtime when the conversation reaches this step.  
*Required*: No  
*Type*: [DialogAction](aws-properties-lex-bot-dialogaction.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Intent`  <a name="cfn-lex-bot-dialogstate-intent"></a>
Override settings to configure the intent state.  
*Required*: No  
*Type*: [IntentOverride](aws-properties-lex-bot-intentoverride.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`SessionAttributes`  <a name="cfn-lex-bot-dialogstate-sessionattributes"></a>
Map of key/value pairs representing session-specific context information. It contains application information passed between Amazon Lex and a client application.  
*Required*: No  
*Type*: Array of [SessionAttribute](aws-properties-lex-bot-sessionattribute.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Lex::Bot DTMFSpecification
<a name="aws-properties-lex-bot-dtmfspecification"></a>

Specifies the DTMF input specifications.

## Syntax
<a name="aws-properties-lex-bot-dtmfspecification-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-lex-bot-dtmfspecification-syntax.json"></a>

```
{
  "[DeletionCharacter](#cfn-lex-bot-dtmfspecification-deletioncharacter)" : String,
  "[EndCharacter](#cfn-lex-bot-dtmfspecification-endcharacter)" : String,
  "[EndTimeoutMs](#cfn-lex-bot-dtmfspecification-endtimeoutms)" : Integer,
  "[MaxLength](#cfn-lex-bot-dtmfspecification-maxlength)" : Integer
}
```

### YAML
<a name="aws-properties-lex-bot-dtmfspecification-syntax.yaml"></a>

```
  [DeletionCharacter](#cfn-lex-bot-dtmfspecification-deletioncharacter): String
  [EndCharacter](#cfn-lex-bot-dtmfspecification-endcharacter): String
  [EndTimeoutMs](#cfn-lex-bot-dtmfspecification-endtimeoutms): Integer
  [MaxLength](#cfn-lex-bot-dtmfspecification-maxlength): Integer
```

## Properties
<a name="aws-properties-lex-bot-dtmfspecification-properties"></a>

`DeletionCharacter`  <a name="cfn-lex-bot-dtmfspecification-deletioncharacter"></a>
The DTMF character that clears the accumulated DTMF digits and immediately ends the input.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^[A-D0-9#*]{1}$`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`EndCharacter`  <a name="cfn-lex-bot-dtmfspecification-endcharacter"></a>
The DTMF character that immediately ends input. If the user does not press this character, the input ends after the end timeout.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^[A-D0-9#*]{1}$`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`EndTimeoutMs`  <a name="cfn-lex-bot-dtmfspecification-endtimeoutms"></a>
How long the bot should wait after the last DTMF character input before assuming that the input has concluded.  
*Required*: Yes  
*Type*: Integer  
*Minimum*: `1`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`MaxLength`  <a name="cfn-lex-bot-dtmfspecification-maxlength"></a>
The maximum number of DTMF digits allowed in an utterance.  
*Required*: Yes  
*Type*: Integer  
*Minimum*: `1`  
*Maximum*: `1024`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Lex::Bot ElicitationCodeHookInvocationSetting
<a name="aws-properties-lex-bot-elicitationcodehookinvocationsetting"></a>

Settings that specify the dialog code hook that is called by Amazon Lex between eliciting slot values.

## Syntax
<a name="aws-properties-lex-bot-elicitationcodehookinvocationsetting-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-lex-bot-elicitationcodehookinvocationsetting-syntax.json"></a>

```
{
  "[EnableCodeHookInvocation](#cfn-lex-bot-elicitationcodehookinvocationsetting-enablecodehookinvocation)" : Boolean,
  "[InvocationLabel](#cfn-lex-bot-elicitationcodehookinvocationsetting-invocationlabel)" : String
}
```

### YAML
<a name="aws-properties-lex-bot-elicitationcodehookinvocationsetting-syntax.yaml"></a>

```
  [EnableCodeHookInvocation](#cfn-lex-bot-elicitationcodehookinvocationsetting-enablecodehookinvocation): Boolean
  [InvocationLabel](#cfn-lex-bot-elicitationcodehookinvocationsetting-invocationlabel): String
```

## Properties
<a name="aws-properties-lex-bot-elicitationcodehookinvocationsetting-properties"></a>

`EnableCodeHookInvocation`  <a name="cfn-lex-bot-elicitationcodehookinvocationsetting-enablecodehookinvocation"></a>
Indicates whether a Lambda function should be invoked for the dialog.  
*Required*: Yes  
*Type*: Boolean  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`InvocationLabel`  <a name="cfn-lex-bot-elicitationcodehookinvocationsetting-invocationlabel"></a>
A label that indicates the dialog step from which the dialog code hook is happening.  
*Required*: No  
*Type*: String  
*Pattern*: `^([0-9a-zA-Z][_-]?)+$`  
*Minimum*: `1`  
*Maximum*: `100`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Lex::Bot ErrorLogSettings
<a name="aws-properties-lex-bot-errorlogsettings"></a>

<a name="aws-properties-lex-bot-errorlogsettings-description"></a>The `ErrorLogSettings` property type specifies Property description not available. for an [AWS::Lex::Bot](aws-resource-lex-bot.md).

## Syntax
<a name="aws-properties-lex-bot-errorlogsettings-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-lex-bot-errorlogsettings-syntax.json"></a>

```
{
  "[Enabled](#cfn-lex-bot-errorlogsettings-enabled)" : Boolean
}
```

### YAML
<a name="aws-properties-lex-bot-errorlogsettings-syntax.yaml"></a>

```
  [Enabled](#cfn-lex-bot-errorlogsettings-enabled): Boolean
```

## Properties
<a name="aws-properties-lex-bot-errorlogsettings-properties"></a>

`Enabled`  <a name="cfn-lex-bot-errorlogsettings-enabled"></a>
Property description not available.  
*Required*: Yes  
*Type*: Boolean  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Lex::Bot ExactResponseFields
<a name="aws-properties-lex-bot-exactresponsefields"></a>

Contains the names of the fields used for an exact response to the user.

## Syntax
<a name="aws-properties-lex-bot-exactresponsefields-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-lex-bot-exactresponsefields-syntax.json"></a>

```
{
  "[AnswerField](#cfn-lex-bot-exactresponsefields-answerfield)" : String,
  "[QuestionField](#cfn-lex-bot-exactresponsefields-questionfield)" : String
}
```

### YAML
<a name="aws-properties-lex-bot-exactresponsefields-syntax.yaml"></a>

```
  [AnswerField](#cfn-lex-bot-exactresponsefields-answerfield): String
  [QuestionField](#cfn-lex-bot-exactresponsefields-questionfield): String
```

## Properties
<a name="aws-properties-lex-bot-exactresponsefields-properties"></a>

`AnswerField`  <a name="cfn-lex-bot-exactresponsefields-answerfield"></a>
The name of the field that contains the answer to the query made to the OpenSearch Service database.  
*Required*: No  
*Type*: String  
*Minimum*: `1`  
*Maximum*: `5000`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`QuestionField`  <a name="cfn-lex-bot-exactresponsefields-questionfield"></a>
The name of the field that contains the query made to the OpenSearch Service database.  
*Required*: No  
*Type*: String  
*Minimum*: `1`  
*Maximum*: `5000`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Lex::Bot ExternalSourceSetting
<a name="aws-properties-lex-bot-externalsourcesetting"></a>

Provides information about the external source of the slot type's definition.

## Syntax
<a name="aws-properties-lex-bot-externalsourcesetting-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-lex-bot-externalsourcesetting-syntax.json"></a>

```
{
  "[GrammarSlotTypeSetting](#cfn-lex-bot-externalsourcesetting-grammarslottypesetting)" : GrammarSlotTypeSetting
}
```

### YAML
<a name="aws-properties-lex-bot-externalsourcesetting-syntax.yaml"></a>

```
  [GrammarSlotTypeSetting](#cfn-lex-bot-externalsourcesetting-grammarslottypesetting): 
    GrammarSlotTypeSetting
```

## Properties
<a name="aws-properties-lex-bot-externalsourcesetting-properties"></a>

`GrammarSlotTypeSetting`  <a name="cfn-lex-bot-externalsourcesetting-grammarslottypesetting"></a>
Settings required for a slot type based on a grammar that you provide.  
*Required*: No  
*Type*: [GrammarSlotTypeSetting](aws-properties-lex-bot-grammarslottypesetting.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Lex::Bot FulfillmentCodeHookSetting
<a name="aws-properties-lex-bot-fulfillmentcodehooksetting"></a>

Determines if a Lambda function should be invoked for a specific intent.

## Syntax
<a name="aws-properties-lex-bot-fulfillmentcodehooksetting-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-lex-bot-fulfillmentcodehooksetting-syntax.json"></a>

```
{
  "[Enabled](#cfn-lex-bot-fulfillmentcodehooksetting-enabled)" : Boolean,
  "[FulfillmentUpdatesSpecification](#cfn-lex-bot-fulfillmentcodehooksetting-fulfillmentupdatesspecification)" : FulfillmentUpdatesSpecification,
  "[IsActive](#cfn-lex-bot-fulfillmentcodehooksetting-isactive)" : Boolean,
  "[PostFulfillmentStatusSpecification](#cfn-lex-bot-fulfillmentcodehooksetting-postfulfillmentstatusspecification)" : PostFulfillmentStatusSpecification
}
```

### YAML
<a name="aws-properties-lex-bot-fulfillmentcodehooksetting-syntax.yaml"></a>

```
  [Enabled](#cfn-lex-bot-fulfillmentcodehooksetting-enabled): Boolean
  [FulfillmentUpdatesSpecification](#cfn-lex-bot-fulfillmentcodehooksetting-fulfillmentupdatesspecification): 
    FulfillmentUpdatesSpecification
  [IsActive](#cfn-lex-bot-fulfillmentcodehooksetting-isactive): Boolean
  [PostFulfillmentStatusSpecification](#cfn-lex-bot-fulfillmentcodehooksetting-postfulfillmentstatusspecification): 
    PostFulfillmentStatusSpecification
```

## Properties
<a name="aws-properties-lex-bot-fulfillmentcodehooksetting-properties"></a>

`Enabled`  <a name="cfn-lex-bot-fulfillmentcodehooksetting-enabled"></a>
Indicates whether a Lambda function should be invoked to fulfill a specific intent.  
*Required*: Yes  
*Type*: Boolean  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`FulfillmentUpdatesSpecification`  <a name="cfn-lex-bot-fulfillmentcodehooksetting-fulfillmentupdatesspecification"></a>
Provides settings for update messages sent to the user for long-running Lambda fulfillment functions. Fulfillment updates can be used only with streaming conversations.  
*Required*: No  
*Type*: [FulfillmentUpdatesSpecification](aws-properties-lex-bot-fulfillmentupdatesspecification.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`IsActive`  <a name="cfn-lex-bot-fulfillmentcodehooksetting-isactive"></a>
Determines whether the fulfillment code hook is used. When `active` is false, the code hook doesn't run.  
*Required*: No  
*Type*: Boolean  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`PostFulfillmentStatusSpecification`  <a name="cfn-lex-bot-fulfillmentcodehooksetting-postfulfillmentstatusspecification"></a>
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.  
*Required*: No  
*Type*: [PostFulfillmentStatusSpecification](aws-properties-lex-bot-postfulfillmentstatusspecification.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Lex::Bot FulfillmentStartResponseSpecification
<a name="aws-properties-lex-bot-fulfillmentstartresponsespecification"></a>

Provides settings for a message that is sent to the user when a fulfillment Lambda function starts running.

## Syntax
<a name="aws-properties-lex-bot-fulfillmentstartresponsespecification-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-lex-bot-fulfillmentstartresponsespecification-syntax.json"></a>

```
{
  "[AllowInterrupt](#cfn-lex-bot-fulfillmentstartresponsespecification-allowinterrupt)" : Boolean,
  "[DelayInSeconds](#cfn-lex-bot-fulfillmentstartresponsespecification-delayinseconds)" : Integer,
  "[MessageGroups](#cfn-lex-bot-fulfillmentstartresponsespecification-messagegroups)" : [ MessageGroup, ... ]
}
```

### YAML
<a name="aws-properties-lex-bot-fulfillmentstartresponsespecification-syntax.yaml"></a>

```
  [AllowInterrupt](#cfn-lex-bot-fulfillmentstartresponsespecification-allowinterrupt): Boolean
  [DelayInSeconds](#cfn-lex-bot-fulfillmentstartresponsespecification-delayinseconds): Integer
  [MessageGroups](#cfn-lex-bot-fulfillmentstartresponsespecification-messagegroups): 
    - MessageGroup
```

## Properties
<a name="aws-properties-lex-bot-fulfillmentstartresponsespecification-properties"></a>

`AllowInterrupt`  <a name="cfn-lex-bot-fulfillmentstartresponsespecification-allowinterrupt"></a>
Determines whether the user can interrupt the start message while it is playing.  
*Required*: No  
*Type*: Boolean  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`DelayInSeconds`  <a name="cfn-lex-bot-fulfillmentstartresponsespecification-delayinseconds"></a>
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.  
*Required*: Yes  
*Type*: Integer  
*Minimum*: `1`  
*Maximum*: `900`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`MessageGroups`  <a name="cfn-lex-bot-fulfillmentstartresponsespecification-messagegroups"></a>
1 - 5 message groups that contain start messages. Amazon Lex chooses one of the messages to play to the user.  
*Required*: Yes  
*Type*: Array of [MessageGroup](aws-properties-lex-bot-messagegroup.md)  
*Minimum*: `1`  
*Maximum*: `5`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Lex::Bot FulfillmentUpdateResponseSpecification
<a name="aws-properties-lex-bot-fulfillmentupdateresponsespecification"></a>

Provides settings for a message that is sent periodically to the user while a fulfillment Lambda function is running.

## Syntax
<a name="aws-properties-lex-bot-fulfillmentupdateresponsespecification-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-lex-bot-fulfillmentupdateresponsespecification-syntax.json"></a>

```
{
  "[AllowInterrupt](#cfn-lex-bot-fulfillmentupdateresponsespecification-allowinterrupt)" : Boolean,
  "[FrequencyInSeconds](#cfn-lex-bot-fulfillmentupdateresponsespecification-frequencyinseconds)" : Integer,
  "[MessageGroups](#cfn-lex-bot-fulfillmentupdateresponsespecification-messagegroups)" : [ MessageGroup, ... ]
}
```

### YAML
<a name="aws-properties-lex-bot-fulfillmentupdateresponsespecification-syntax.yaml"></a>

```
  [AllowInterrupt](#cfn-lex-bot-fulfillmentupdateresponsespecification-allowinterrupt): Boolean
  [FrequencyInSeconds](#cfn-lex-bot-fulfillmentupdateresponsespecification-frequencyinseconds): Integer
  [MessageGroups](#cfn-lex-bot-fulfillmentupdateresponsespecification-messagegroups): 
    - MessageGroup
```

## Properties
<a name="aws-properties-lex-bot-fulfillmentupdateresponsespecification-properties"></a>

`AllowInterrupt`  <a name="cfn-lex-bot-fulfillmentupdateresponsespecification-allowinterrupt"></a>
Determines whether the user can interrupt an update message while it is playing.  
*Required*: No  
*Type*: Boolean  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`FrequencyInSeconds`  <a name="cfn-lex-bot-fulfillmentupdateresponsespecification-frequencyinseconds"></a>
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.  
*Required*: Yes  
*Type*: Integer  
*Minimum*: `1`  
*Maximum*: `900`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`MessageGroups`  <a name="cfn-lex-bot-fulfillmentupdateresponsespecification-messagegroups"></a>
1 - 5 message groups that contain update messages. Amazon Lex chooses one of the messages to play to the user.  
*Required*: Yes  
*Type*: Array of [MessageGroup](aws-properties-lex-bot-messagegroup.md)  
*Minimum*: `1`  
*Maximum*: `5`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Lex::Bot FulfillmentUpdatesSpecification
<a name="aws-properties-lex-bot-fulfillmentupdatesspecification"></a>

Provides information for updating the user on the progress of fulfilling an intent.

## Syntax
<a name="aws-properties-lex-bot-fulfillmentupdatesspecification-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-lex-bot-fulfillmentupdatesspecification-syntax.json"></a>

```
{
  "[Active](#cfn-lex-bot-fulfillmentupdatesspecification-active)" : Boolean,
  "[StartResponse](#cfn-lex-bot-fulfillmentupdatesspecification-startresponse)" : FulfillmentStartResponseSpecification,
  "[TimeoutInSeconds](#cfn-lex-bot-fulfillmentupdatesspecification-timeoutinseconds)" : Integer,
  "[UpdateResponse](#cfn-lex-bot-fulfillmentupdatesspecification-updateresponse)" : FulfillmentUpdateResponseSpecification
}
```

### YAML
<a name="aws-properties-lex-bot-fulfillmentupdatesspecification-syntax.yaml"></a>

```
  [Active](#cfn-lex-bot-fulfillmentupdatesspecification-active): Boolean
  [StartResponse](#cfn-lex-bot-fulfillmentupdatesspecification-startresponse): 
    FulfillmentStartResponseSpecification
  [TimeoutInSeconds](#cfn-lex-bot-fulfillmentupdatesspecification-timeoutinseconds): Integer
  [UpdateResponse](#cfn-lex-bot-fulfillmentupdatesspecification-updateresponse): 
    FulfillmentUpdateResponseSpecification
```

## Properties
<a name="aws-properties-lex-bot-fulfillmentupdatesspecification-properties"></a>

`Active`  <a name="cfn-lex-bot-fulfillmentupdatesspecification-active"></a>
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.  
*Required*: Yes  
*Type*: Boolean  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`StartResponse`  <a name="cfn-lex-bot-fulfillmentupdatesspecification-startresponse"></a>
Provides configuration information for the message sent to users when the fulfillment Lambda functions starts running.  
*Required*: No  
*Type*: [FulfillmentStartResponseSpecification](aws-properties-lex-bot-fulfillmentstartresponsespecification.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`TimeoutInSeconds`  <a name="cfn-lex-bot-fulfillmentupdatesspecification-timeoutinseconds"></a>
The length of time that the fulfillment Lambda function should run before it times out.  
*Required*: No  
*Type*: Integer  
*Minimum*: `1`  
*Maximum*: `900`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`UpdateResponse`  <a name="cfn-lex-bot-fulfillmentupdatesspecification-updateresponse"></a>
Provides configuration information for messages sent periodically to the user while the fulfillment Lambda function is running.  
*Required*: No  
*Type*: [FulfillmentUpdateResponseSpecification](aws-properties-lex-bot-fulfillmentupdateresponsespecification.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Lex::Bot GenerativeAISettings
<a name="aws-properties-lex-bot-generativeaisettings"></a>

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

## Syntax
<a name="aws-properties-lex-bot-generativeaisettings-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-lex-bot-generativeaisettings-syntax.json"></a>

```
{
  "[BuildtimeSettings](#cfn-lex-bot-generativeaisettings-buildtimesettings)" : BuildtimeSettings,
  "[RuntimeSettings](#cfn-lex-bot-generativeaisettings-runtimesettings)" : RuntimeSettings
}
```

### YAML
<a name="aws-properties-lex-bot-generativeaisettings-syntax.yaml"></a>

```
  [BuildtimeSettings](#cfn-lex-bot-generativeaisettings-buildtimesettings): 
    BuildtimeSettings
  [RuntimeSettings](#cfn-lex-bot-generativeaisettings-runtimesettings): 
    RuntimeSettings
```

## Properties
<a name="aws-properties-lex-bot-generativeaisettings-properties"></a>

`BuildtimeSettings`  <a name="cfn-lex-bot-generativeaisettings-buildtimesettings"></a>
Property description not available.  
*Required*: No  
*Type*: [BuildtimeSettings](aws-properties-lex-bot-buildtimesettings.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`RuntimeSettings`  <a name="cfn-lex-bot-generativeaisettings-runtimesettings"></a>
Property description not available.  
*Required*: No  
*Type*: [RuntimeSettings](aws-properties-lex-bot-runtimesettings.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Lex::Bot GrammarSlotTypeSetting
<a name="aws-properties-lex-bot-grammarslottypesetting"></a>

Settings requried for a slot type based on a grammar that you provide.

## Syntax
<a name="aws-properties-lex-bot-grammarslottypesetting-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-lex-bot-grammarslottypesetting-syntax.json"></a>

```
{
  "[Source](#cfn-lex-bot-grammarslottypesetting-source)" : GrammarSlotTypeSource
}
```

### YAML
<a name="aws-properties-lex-bot-grammarslottypesetting-syntax.yaml"></a>

```
  [Source](#cfn-lex-bot-grammarslottypesetting-source): 
    GrammarSlotTypeSource
```

## Properties
<a name="aws-properties-lex-bot-grammarslottypesetting-properties"></a>

`Source`  <a name="cfn-lex-bot-grammarslottypesetting-source"></a>
The source of the grammar used to create the slot type.  
*Required*: No  
*Type*: [GrammarSlotTypeSource](aws-properties-lex-bot-grammarslottypesource.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Lex::Bot GrammarSlotTypeSource
<a name="aws-properties-lex-bot-grammarslottypesource"></a>

Describes the Amazon S3 bucket name and location for the grammar that is the source for the slot type.

## Syntax
<a name="aws-properties-lex-bot-grammarslottypesource-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-lex-bot-grammarslottypesource-syntax.json"></a>

```
{
  "[KmsKeyArn](#cfn-lex-bot-grammarslottypesource-kmskeyarn)" : String,
  "[S3BucketName](#cfn-lex-bot-grammarslottypesource-s3bucketname)" : String,
  "[S3ObjectKey](#cfn-lex-bot-grammarslottypesource-s3objectkey)" : String
}
```

### YAML
<a name="aws-properties-lex-bot-grammarslottypesource-syntax.yaml"></a>

```
  [KmsKeyArn](#cfn-lex-bot-grammarslottypesource-kmskeyarn): String
  [S3BucketName](#cfn-lex-bot-grammarslottypesource-s3bucketname): String
  [S3ObjectKey](#cfn-lex-bot-grammarslottypesource-s3objectkey): String
```

## Properties
<a name="aws-properties-lex-bot-grammarslottypesource-properties"></a>

`KmsKeyArn`  <a name="cfn-lex-bot-grammarslottypesource-kmskeyarn"></a>
The AWS KMS key required to decrypt the contents of the grammar, if any.  
*Required*: No  
*Type*: String  
*Pattern*: `^arn:[\w\-]+:kms:[\w\-]+:[\d]{12}:(?:key\/[\w\-]+|alias\/[a-zA-Z0-9:\/_\-]{1,256})$`  
*Minimum*: `20`  
*Maximum*: `2048`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`S3BucketName`  <a name="cfn-lex-bot-grammarslottypesource-s3bucketname"></a>
The name of the Amazon S3 bucket that contains the grammar source.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^[a-z0-9][\.\-a-z0-9]{1,61}[a-z0-9]$`  
*Minimum*: `3`  
*Maximum*: `63`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`S3ObjectKey`  <a name="cfn-lex-bot-grammarslottypesource-s3objectkey"></a>
The path to the grammar in the Amazon S3 bucket.  
*Required*: Yes  
*Type*: String  
*Pattern*: `[\.\-\!\*\_\'\(\)a-zA-Z0-9][\.\-\!\*\_\'\(\)\/a-zA-Z0-9]*$`  
*Minimum*: `1`  
*Maximum*: `1024`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Lex::Bot ImageResponseCard
<a name="aws-properties-lex-bot-imageresponsecard"></a>

A card that is shown to the user by a messaging platform. You define the contents of the card, the card is displayed by the platform. 

When you use a response card, the response from the user is constrained to the text associated with a button on the card.

## Syntax
<a name="aws-properties-lex-bot-imageresponsecard-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-lex-bot-imageresponsecard-syntax.json"></a>

```
{
  "[Buttons](#cfn-lex-bot-imageresponsecard-buttons)" : [ Button, ... ],
  "[ImageUrl](#cfn-lex-bot-imageresponsecard-imageurl)" : String,
  "[Subtitle](#cfn-lex-bot-imageresponsecard-subtitle)" : String,
  "[Title](#cfn-lex-bot-imageresponsecard-title)" : String
}
```

### YAML
<a name="aws-properties-lex-bot-imageresponsecard-syntax.yaml"></a>

```
  [Buttons](#cfn-lex-bot-imageresponsecard-buttons): 
    - Button
  [ImageUrl](#cfn-lex-bot-imageresponsecard-imageurl): String
  [Subtitle](#cfn-lex-bot-imageresponsecard-subtitle): String
  [Title](#cfn-lex-bot-imageresponsecard-title): String
```

## Properties
<a name="aws-properties-lex-bot-imageresponsecard-properties"></a>

`Buttons`  <a name="cfn-lex-bot-imageresponsecard-buttons"></a>
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.  
*Required*: No  
*Type*: Array of [Button](aws-properties-lex-bot-button.md)  
*Maximum*: `5`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ImageUrl`  <a name="cfn-lex-bot-imageresponsecard-imageurl"></a>
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.  
*Required*: No  
*Type*: String  
*Minimum*: `1`  
*Maximum*: `250`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Subtitle`  <a name="cfn-lex-bot-imageresponsecard-subtitle"></a>
The subtitle to display on the response card. The format of the subtitle is determined by the platform displaying the response card.  
*Required*: No  
*Type*: String  
*Minimum*: `1`  
*Maximum*: `250`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Title`  <a name="cfn-lex-bot-imageresponsecard-title"></a>
The title to display on the response card. The format of the title is determined by the platform displaying the response card.  
*Required*: Yes  
*Type*: String  
*Minimum*: `1`  
*Maximum*: `250`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Lex::Bot InitialResponseSetting
<a name="aws-properties-lex-bot-initialresponsesetting"></a>

Configuration setting for a response sent to the user before Amazon Lex starts eliciting slots.

## Syntax
<a name="aws-properties-lex-bot-initialresponsesetting-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-lex-bot-initialresponsesetting-syntax.json"></a>

```
{
  "[CodeHook](#cfn-lex-bot-initialresponsesetting-codehook)" : DialogCodeHookInvocationSetting,
  "[Conditional](#cfn-lex-bot-initialresponsesetting-conditional)" : ConditionalSpecification,
  "[InitialResponse](#cfn-lex-bot-initialresponsesetting-initialresponse)" : ResponseSpecification,
  "[NextStep](#cfn-lex-bot-initialresponsesetting-nextstep)" : DialogState
}
```

### YAML
<a name="aws-properties-lex-bot-initialresponsesetting-syntax.yaml"></a>

```
  [CodeHook](#cfn-lex-bot-initialresponsesetting-codehook): 
    DialogCodeHookInvocationSetting
  [Conditional](#cfn-lex-bot-initialresponsesetting-conditional): 
    ConditionalSpecification
  [InitialResponse](#cfn-lex-bot-initialresponsesetting-initialresponse): 
    ResponseSpecification
  [NextStep](#cfn-lex-bot-initialresponsesetting-nextstep): 
    DialogState
```

## Properties
<a name="aws-properties-lex-bot-initialresponsesetting-properties"></a>

`CodeHook`  <a name="cfn-lex-bot-initialresponsesetting-codehook"></a>
Settings that specify the dialog code hook that is called by Amazon Lex at a step of the conversation.   
*Required*: No  
*Type*: [DialogCodeHookInvocationSetting](aws-properties-lex-bot-dialogcodehookinvocationsetting.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Conditional`  <a name="cfn-lex-bot-initialresponsesetting-conditional"></a>
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.  
*Required*: No  
*Type*: [ConditionalSpecification](aws-properties-lex-bot-conditionalspecification.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`InitialResponse`  <a name="cfn-lex-bot-initialresponsesetting-initialresponse"></a>
Specifies a list of message groups that Amazon Lex uses to respond the user input.  
*Required*: No  
*Type*: [ResponseSpecification](aws-properties-lex-bot-responsespecification.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`NextStep`  <a name="cfn-lex-bot-initialresponsesetting-nextstep"></a>
The next step in the conversation.  
*Required*: No  
*Type*: [DialogState](aws-properties-lex-bot-dialogstate.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Lex::Bot InputContext
<a name="aws-properties-lex-bot-inputcontext"></a>

A context that must be active for an intent to be selected by Amazon Lex.

## Syntax
<a name="aws-properties-lex-bot-inputcontext-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-lex-bot-inputcontext-syntax.json"></a>

```
{
  "[Name](#cfn-lex-bot-inputcontext-name)" : String
}
```

### YAML
<a name="aws-properties-lex-bot-inputcontext-syntax.yaml"></a>

```
  [Name](#cfn-lex-bot-inputcontext-name): String
```

## Properties
<a name="aws-properties-lex-bot-inputcontext-properties"></a>

`Name`  <a name="cfn-lex-bot-inputcontext-name"></a>
The name of the context.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^([0-9a-zA-Z][_-]?)+$`  
*Minimum*: `1`  
*Maximum*: `100`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Lex::Bot Intent
<a name="aws-properties-lex-bot-intent"></a>

Represents an action that the user wants to perform.

## Syntax
<a name="aws-properties-lex-bot-intent-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-lex-bot-intent-syntax.json"></a>

```
{
  "[BedrockAgentIntentConfiguration](#cfn-lex-bot-intent-bedrockagentintentconfiguration)" : BedrockAgentIntentConfiguration,
  "[Description](#cfn-lex-bot-intent-description)" : String,
  "[DialogCodeHook](#cfn-lex-bot-intent-dialogcodehook)" : DialogCodeHookSetting,
  "[DisplayName](#cfn-lex-bot-intent-displayname)" : String,
  "[FulfillmentCodeHook](#cfn-lex-bot-intent-fulfillmentcodehook)" : FulfillmentCodeHookSetting,
  "[InitialResponseSetting](#cfn-lex-bot-intent-initialresponsesetting)" : InitialResponseSetting,
  "[InputContexts](#cfn-lex-bot-intent-inputcontexts)" : [ InputContext, ... ],
  "[IntentClosingSetting](#cfn-lex-bot-intent-intentclosingsetting)" : IntentClosingSetting,
  "[IntentConfirmationSetting](#cfn-lex-bot-intent-intentconfirmationsetting)" : IntentConfirmationSetting,
  "[KendraConfiguration](#cfn-lex-bot-intent-kendraconfiguration)" : KendraConfiguration,
  "[Name](#cfn-lex-bot-intent-name)" : String,
  "[OutputContexts](#cfn-lex-bot-intent-outputcontexts)" : [ OutputContext, ... ],
  "[ParentIntentSignature](#cfn-lex-bot-intent-parentintentsignature)" : String,
  "[QInConnectIntentConfiguration](#cfn-lex-bot-intent-qinconnectintentconfiguration)" : QInConnectIntentConfiguration,
  "[QnAIntentConfiguration](#cfn-lex-bot-intent-qnaintentconfiguration)" : QnAIntentConfiguration,
  "[SampleUtterances](#cfn-lex-bot-intent-sampleutterances)" : [ SampleUtterance, ... ],
  "[SlotPriorities](#cfn-lex-bot-intent-slotpriorities)" : [ SlotPriority, ... ],
  "[Slots](#cfn-lex-bot-intent-slots)" : [ Slot, ... ]
}
```

### YAML
<a name="aws-properties-lex-bot-intent-syntax.yaml"></a>

```
  [BedrockAgentIntentConfiguration](#cfn-lex-bot-intent-bedrockagentintentconfiguration): 
    BedrockAgentIntentConfiguration
  [Description](#cfn-lex-bot-intent-description): String
  [DialogCodeHook](#cfn-lex-bot-intent-dialogcodehook): 
    DialogCodeHookSetting
  [DisplayName](#cfn-lex-bot-intent-displayname): String
  [FulfillmentCodeHook](#cfn-lex-bot-intent-fulfillmentcodehook): 
    FulfillmentCodeHookSetting
  [InitialResponseSetting](#cfn-lex-bot-intent-initialresponsesetting): 
    InitialResponseSetting
  [InputContexts](#cfn-lex-bot-intent-inputcontexts): 
    - InputContext
  [IntentClosingSetting](#cfn-lex-bot-intent-intentclosingsetting): 
    IntentClosingSetting
  [IntentConfirmationSetting](#cfn-lex-bot-intent-intentconfirmationsetting): 
    IntentConfirmationSetting
  [KendraConfiguration](#cfn-lex-bot-intent-kendraconfiguration): 
    KendraConfiguration
  [Name](#cfn-lex-bot-intent-name): String
  [OutputContexts](#cfn-lex-bot-intent-outputcontexts): 
    - OutputContext
  [ParentIntentSignature](#cfn-lex-bot-intent-parentintentsignature): String
  [QInConnectIntentConfiguration](#cfn-lex-bot-intent-qinconnectintentconfiguration): 
    QInConnectIntentConfiguration
  [QnAIntentConfiguration](#cfn-lex-bot-intent-qnaintentconfiguration): 
    QnAIntentConfiguration
  [SampleUtterances](#cfn-lex-bot-intent-sampleutterances): 
    - SampleUtterance
  [SlotPriorities](#cfn-lex-bot-intent-slotpriorities): 
    - SlotPriority
  [Slots](#cfn-lex-bot-intent-slots): 
    - Slot
```

## Properties
<a name="aws-properties-lex-bot-intent-properties"></a>

`BedrockAgentIntentConfiguration`  <a name="cfn-lex-bot-intent-bedrockagentintentconfiguration"></a>
Property description not available.  
*Required*: No  
*Type*: [BedrockAgentIntentConfiguration](aws-properties-lex-bot-bedrockagentintentconfiguration.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Description`  <a name="cfn-lex-bot-intent-description"></a>
A description of the intent. Use the description to help identify the intent in lists.  
*Required*: No  
*Type*: String  
*Maximum*: `2000`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`DialogCodeHook`  <a name="cfn-lex-bot-intent-dialogcodehook"></a>
Specifies that Amazon Lex invokes the alias Lambda function for each user input. You can invoke this Lambda function to personalize user interaction.  
*Required*: No  
*Type*: [DialogCodeHookSetting](aws-properties-lex-bot-dialogcodehooksetting.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`DisplayName`  <a name="cfn-lex-bot-intent-displayname"></a>
Property description not available.  
*Required*: No  
*Type*: String  
*Minimum*: `1`  
*Maximum*: `100`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`FulfillmentCodeHook`  <a name="cfn-lex-bot-intent-fulfillmentcodehook"></a>
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.  
*Required*: No  
*Type*: [FulfillmentCodeHookSetting](aws-properties-lex-bot-fulfillmentcodehooksetting.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`InitialResponseSetting`  <a name="cfn-lex-bot-intent-initialresponsesetting"></a>
Configuration setting for a response sent to the user before Amazon Lex starts eliciting slots.  
*Required*: No  
*Type*: [InitialResponseSetting](aws-properties-lex-bot-initialresponsesetting.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`InputContexts`  <a name="cfn-lex-bot-intent-inputcontexts"></a>
A list of contexts that must be active for this intent to be considered by Amazon Lex.  
*Required*: No  
*Type*: Array of [InputContext](aws-properties-lex-bot-inputcontext.md)  
*Maximum*: `5`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`IntentClosingSetting`  <a name="cfn-lex-bot-intent-intentclosingsetting"></a>
Sets the response that Amazon Lex sends to the user when the intent is closed.  
*Required*: No  
*Type*: [IntentClosingSetting](aws-properties-lex-bot-intentclosingsetting.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`IntentConfirmationSetting`  <a name="cfn-lex-bot-intent-intentconfirmationsetting"></a>
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.  
*Required*: No  
*Type*: [IntentConfirmationSetting](aws-properties-lex-bot-intentconfirmationsetting.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`KendraConfiguration`  <a name="cfn-lex-bot-intent-kendraconfiguration"></a>
Provides configuration information for the `AMAZON.KendraSearchIntent` intent. When you use this intent, Amazon Lex searches the specified Amazon Kendra index and returns documents from the index that match the user's utterance.  
*Required*: No  
*Type*: [KendraConfiguration](aws-properties-lex-bot-kendraconfiguration.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Name`  <a name="cfn-lex-bot-intent-name"></a>
The name of the intent. Intent names must be unique within the locale that contains the intent and can't match the name of any built-in intent.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^([0-9a-zA-Z][_-]?)+$`  
*Minimum*: `1`  
*Maximum*: `100`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`OutputContexts`  <a name="cfn-lex-bot-intent-outputcontexts"></a>
A list of contexts that the intent activates when it is fulfilled.  
*Required*: No  
*Type*: Array of [OutputContext](aws-properties-lex-bot-outputcontext.md)  
*Maximum*: `10`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ParentIntentSignature`  <a name="cfn-lex-bot-intent-parentintentsignature"></a>
A unique identifier for the built-in intent to base this intent on.  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`QInConnectIntentConfiguration`  <a name="cfn-lex-bot-intent-qinconnectintentconfiguration"></a>
Property description not available.  
*Required*: No  
*Type*: [QInConnectIntentConfiguration](aws-properties-lex-bot-qinconnectintentconfiguration.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`QnAIntentConfiguration`  <a name="cfn-lex-bot-intent-qnaintentconfiguration"></a>
Property description not available.  
*Required*: No  
*Type*: [QnAIntentConfiguration](aws-properties-lex-bot-qnaintentconfiguration.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`SampleUtterances`  <a name="cfn-lex-bot-intent-sampleutterances"></a>
A list of utterances that a user might say to signal the intent.  
*Required*: No  
*Type*: Array of [SampleUtterance](aws-properties-lex-bot-sampleutterance.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`SlotPriorities`  <a name="cfn-lex-bot-intent-slotpriorities"></a>
Indicates the priority for slots. Amazon Lex prompts the user for slot values in priority order.  
*Required*: No  
*Type*: Array of [SlotPriority](aws-properties-lex-bot-slotpriority.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Slots`  <a name="cfn-lex-bot-intent-slots"></a>
A list of slots that the intent requires for fulfillment.  
*Required*: No  
*Type*: Array of [Slot](aws-properties-lex-bot-slot.md)  
*Maximum*: `100`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Lex::Bot IntentClosingSetting
<a name="aws-properties-lex-bot-intentclosingsetting"></a>

Provides a statement the Amazon Lex conveys to the user when the intent is successfully fulfilled.

## Syntax
<a name="aws-properties-lex-bot-intentclosingsetting-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-lex-bot-intentclosingsetting-syntax.json"></a>

```
{
  "[ClosingResponse](#cfn-lex-bot-intentclosingsetting-closingresponse)" : ResponseSpecification,
  "[Conditional](#cfn-lex-bot-intentclosingsetting-conditional)" : ConditionalSpecification,
  "[IsActive](#cfn-lex-bot-intentclosingsetting-isactive)" : Boolean,
  "[NextStep](#cfn-lex-bot-intentclosingsetting-nextstep)" : DialogState
}
```

### YAML
<a name="aws-properties-lex-bot-intentclosingsetting-syntax.yaml"></a>

```
  [ClosingResponse](#cfn-lex-bot-intentclosingsetting-closingresponse): 
    ResponseSpecification
  [Conditional](#cfn-lex-bot-intentclosingsetting-conditional): 
    ConditionalSpecification
  [IsActive](#cfn-lex-bot-intentclosingsetting-isactive): Boolean
  [NextStep](#cfn-lex-bot-intentclosingsetting-nextstep): 
    DialogState
```

## Properties
<a name="aws-properties-lex-bot-intentclosingsetting-properties"></a>

`ClosingResponse`  <a name="cfn-lex-bot-intentclosingsetting-closingresponse"></a>
The response that Amazon Lex sends to the user when the intent is complete.  
*Required*: No  
*Type*: [ResponseSpecification](aws-properties-lex-bot-responsespecification.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Conditional`  <a name="cfn-lex-bot-intentclosingsetting-conditional"></a>
A list of conditional branches associated with the intent's closing response. These branches are executed when the `nextStep` attribute is set to `EvalutateConditional`.  
*Required*: No  
*Type*: [ConditionalSpecification](aws-properties-lex-bot-conditionalspecification.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`IsActive`  <a name="cfn-lex-bot-intentclosingsetting-isactive"></a>
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 `IsActive` field isn't specified, the default is true.  
*Required*: No  
*Type*: Boolean  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`NextStep`  <a name="cfn-lex-bot-intentclosingsetting-nextstep"></a>
Specifies the next step that the bot executes after playing the intent's closing response.  
*Required*: No  
*Type*: [DialogState](aws-properties-lex-bot-dialogstate.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Lex::Bot IntentConfirmationSetting
<a name="aws-properties-lex-bot-intentconfirmationsetting"></a>

Provides a prompt for making sure that the user is ready for the intent to be fulfilled.

## Syntax
<a name="aws-properties-lex-bot-intentconfirmationsetting-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-lex-bot-intentconfirmationsetting-syntax.json"></a>

```
{
  "[CodeHook](#cfn-lex-bot-intentconfirmationsetting-codehook)" : DialogCodeHookInvocationSetting,
  "[ConfirmationConditional](#cfn-lex-bot-intentconfirmationsetting-confirmationconditional)" : ConditionalSpecification,
  "[ConfirmationNextStep](#cfn-lex-bot-intentconfirmationsetting-confirmationnextstep)" : DialogState,
  "[ConfirmationResponse](#cfn-lex-bot-intentconfirmationsetting-confirmationresponse)" : ResponseSpecification,
  "[DeclinationConditional](#cfn-lex-bot-intentconfirmationsetting-declinationconditional)" : ConditionalSpecification,
  "[DeclinationNextStep](#cfn-lex-bot-intentconfirmationsetting-declinationnextstep)" : DialogState,
  "[DeclinationResponse](#cfn-lex-bot-intentconfirmationsetting-declinationresponse)" : ResponseSpecification,
  "[ElicitationCodeHook](#cfn-lex-bot-intentconfirmationsetting-elicitationcodehook)" : ElicitationCodeHookInvocationSetting,
  "[FailureConditional](#cfn-lex-bot-intentconfirmationsetting-failureconditional)" : ConditionalSpecification,
  "[FailureNextStep](#cfn-lex-bot-intentconfirmationsetting-failurenextstep)" : DialogState,
  "[FailureResponse](#cfn-lex-bot-intentconfirmationsetting-failureresponse)" : ResponseSpecification,
  "[IsActive](#cfn-lex-bot-intentconfirmationsetting-isactive)" : Boolean,
  "[PromptSpecification](#cfn-lex-bot-intentconfirmationsetting-promptspecification)" : PromptSpecification
}
```

### YAML
<a name="aws-properties-lex-bot-intentconfirmationsetting-syntax.yaml"></a>

```
  [CodeHook](#cfn-lex-bot-intentconfirmationsetting-codehook): 
    DialogCodeHookInvocationSetting
  [ConfirmationConditional](#cfn-lex-bot-intentconfirmationsetting-confirmationconditional): 
    ConditionalSpecification
  [ConfirmationNextStep](#cfn-lex-bot-intentconfirmationsetting-confirmationnextstep): 
    DialogState
  [ConfirmationResponse](#cfn-lex-bot-intentconfirmationsetting-confirmationresponse): 
    ResponseSpecification
  [DeclinationConditional](#cfn-lex-bot-intentconfirmationsetting-declinationconditional): 
    ConditionalSpecification
  [DeclinationNextStep](#cfn-lex-bot-intentconfirmationsetting-declinationnextstep): 
    DialogState
  [DeclinationResponse](#cfn-lex-bot-intentconfirmationsetting-declinationresponse): 
    ResponseSpecification
  [ElicitationCodeHook](#cfn-lex-bot-intentconfirmationsetting-elicitationcodehook): 
    ElicitationCodeHookInvocationSetting
  [FailureConditional](#cfn-lex-bot-intentconfirmationsetting-failureconditional): 
    ConditionalSpecification
  [FailureNextStep](#cfn-lex-bot-intentconfirmationsetting-failurenextstep): 
    DialogState
  [FailureResponse](#cfn-lex-bot-intentconfirmationsetting-failureresponse): 
    ResponseSpecification
  [IsActive](#cfn-lex-bot-intentconfirmationsetting-isactive): Boolean
  [PromptSpecification](#cfn-lex-bot-intentconfirmationsetting-promptspecification): 
    PromptSpecification
```

## Properties
<a name="aws-properties-lex-bot-intentconfirmationsetting-properties"></a>

`CodeHook`  <a name="cfn-lex-bot-intentconfirmationsetting-codehook"></a>
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`.   
*Required*: No  
*Type*: [DialogCodeHookInvocationSetting](aws-properties-lex-bot-dialogcodehookinvocationsetting.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ConfirmationConditional`  <a name="cfn-lex-bot-intentconfirmationsetting-confirmationconditional"></a>
A list of conditional branches to evaluate after the intent is closed.  
*Required*: No  
*Type*: [ConditionalSpecification](aws-properties-lex-bot-conditionalspecification.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ConfirmationNextStep`  <a name="cfn-lex-bot-intentconfirmationsetting-confirmationnextstep"></a>
Specifies the next step that the bot executes when the customer confirms the intent.  
*Required*: No  
*Type*: [DialogState](aws-properties-lex-bot-dialogstate.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ConfirmationResponse`  <a name="cfn-lex-bot-intentconfirmationsetting-confirmationresponse"></a>
Specifies a list of message groups that Amazon Lex uses to respond the user input.  
*Required*: No  
*Type*: [ResponseSpecification](aws-properties-lex-bot-responsespecification.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`DeclinationConditional`  <a name="cfn-lex-bot-intentconfirmationsetting-declinationconditional"></a>
A list of conditional branches to evaluate after the intent is declined.  
*Required*: No  
*Type*: [ConditionalSpecification](aws-properties-lex-bot-conditionalspecification.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`DeclinationNextStep`  <a name="cfn-lex-bot-intentconfirmationsetting-declinationnextstep"></a>
Specifies the next step that the bot executes when the customer declines the intent.  
*Required*: No  
*Type*: [DialogState](aws-properties-lex-bot-dialogstate.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`DeclinationResponse`  <a name="cfn-lex-bot-intentconfirmationsetting-declinationresponse"></a>
When the user answers "no" to the question defined in `promptSpecification`, Amazon Lex responds with this response to acknowledge that the intent was canceled.   
*Required*: No  
*Type*: [ResponseSpecification](aws-properties-lex-bot-responsespecification.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ElicitationCodeHook`  <a name="cfn-lex-bot-intentconfirmationsetting-elicitationcodehook"></a>
The `DialogCodeHookInvocationSetting` used when the code hook is invoked during confirmation prompt retries.  
*Required*: No  
*Type*: [ElicitationCodeHookInvocationSetting](aws-properties-lex-bot-elicitationcodehookinvocationsetting.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`FailureConditional`  <a name="cfn-lex-bot-intentconfirmationsetting-failureconditional"></a>
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.  
*Required*: No  
*Type*: [ConditionalSpecification](aws-properties-lex-bot-conditionalspecification.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`FailureNextStep`  <a name="cfn-lex-bot-intentconfirmationsetting-failurenextstep"></a>
The next step to take in the conversation if the confirmation step fails.  
*Required*: No  
*Type*: [DialogState](aws-properties-lex-bot-dialogstate.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`FailureResponse`  <a name="cfn-lex-bot-intentconfirmationsetting-failureresponse"></a>
Specifies a list of message groups that Amazon Lex uses to respond the user input when the intent confirmation fails.  
*Required*: No  
*Type*: [ResponseSpecification](aws-properties-lex-bot-responsespecification.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`IsActive`  <a name="cfn-lex-bot-intentconfirmationsetting-isactive"></a>
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 `IsActive` field isn't specified, the default is true.  
*Required*: No  
*Type*: Boolean  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`PromptSpecification`  <a name="cfn-lex-bot-intentconfirmationsetting-promptspecification"></a>
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.   
*Required*: Yes  
*Type*: [PromptSpecification](aws-properties-lex-bot-promptspecification.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Lex::Bot IntentDisambiguationSettings
<a name="aws-properties-lex-bot-intentdisambiguationsettings"></a>

Configures the Intent Disambiguation feature that helps resolve ambiguous user inputs when multiple intents could match. When enabled, the system presents clarifying questions to users, helping them specify their exact intent for improved conversation accuracy.

## Syntax
<a name="aws-properties-lex-bot-intentdisambiguationsettings-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-lex-bot-intentdisambiguationsettings-syntax.json"></a>

```
{
  "[CustomDisambiguationMessage](#cfn-lex-bot-intentdisambiguationsettings-customdisambiguationmessage)" : String,
  "[Enabled](#cfn-lex-bot-intentdisambiguationsettings-enabled)" : Boolean,
  "[MaxDisambiguationIntents](#cfn-lex-bot-intentdisambiguationsettings-maxdisambiguationintents)" : Integer
}
```

### YAML
<a name="aws-properties-lex-bot-intentdisambiguationsettings-syntax.yaml"></a>

```
  [CustomDisambiguationMessage](#cfn-lex-bot-intentdisambiguationsettings-customdisambiguationmessage): String
  [Enabled](#cfn-lex-bot-intentdisambiguationsettings-enabled): Boolean
  [MaxDisambiguationIntents](#cfn-lex-bot-intentdisambiguationsettings-maxdisambiguationintents): Integer
```

## Properties
<a name="aws-properties-lex-bot-intentdisambiguationsettings-properties"></a>

`CustomDisambiguationMessage`  <a name="cfn-lex-bot-intentdisambiguationsettings-customdisambiguationmessage"></a>
Provides a custom message that will be displayed before presenting the disambiguation options to users. This message helps set the context for users and can be customized to match your bot's tone and brand. If not specified, a default message will be used.  
*Required*: No  
*Type*: String  
*Minimum*: `1`  
*Maximum*: `1000`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Enabled`  <a name="cfn-lex-bot-intentdisambiguationsettings-enabled"></a>
Determines whether the Intent Disambiguation feature is enabled. When set to `true`, Amazon Lex will present disambiguation options to users when multiple intents could match their input, with the default being `false`.  
*Required*: Yes  
*Type*: Boolean  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`MaxDisambiguationIntents`  <a name="cfn-lex-bot-intentdisambiguationsettings-maxdisambiguationintents"></a>
Specifies the maximum number of intent options (2-5) to present to users when disambiguation is needed. This setting determines how many intent options will be shown to users when the system detects ambiguous input. The default value is 3.  
*Required*: No  
*Type*: Integer  
*Minimum*: `2`  
*Maximum*: `5`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Lex::Bot IntentOverride
<a name="aws-properties-lex-bot-intentoverride"></a>

Override settings to configure the intent state.

## Syntax
<a name="aws-properties-lex-bot-intentoverride-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-lex-bot-intentoverride-syntax.json"></a>

```
{
  "[Name](#cfn-lex-bot-intentoverride-name)" : String,
  "[Slots](#cfn-lex-bot-intentoverride-slots)" : [ SlotValueOverrideMap, ... ]
}
```

### YAML
<a name="aws-properties-lex-bot-intentoverride-syntax.yaml"></a>

```
  [Name](#cfn-lex-bot-intentoverride-name): String
  [Slots](#cfn-lex-bot-intentoverride-slots): 
    - SlotValueOverrideMap
```

## Properties
<a name="aws-properties-lex-bot-intentoverride-properties"></a>

`Name`  <a name="cfn-lex-bot-intentoverride-name"></a>
The name of the intent. Only required when you're switching intents.  
*Required*: No  
*Type*: String  
*Pattern*: `^([0-9a-zA-Z][_-]?)+$`  
*Minimum*: `1`  
*Maximum*: `100`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Slots`  <a name="cfn-lex-bot-intentoverride-slots"></a>
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.  
*Required*: No  
*Type*: Array of [SlotValueOverrideMap](aws-properties-lex-bot-slotvalueoverridemap.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Lex::Bot KendraConfiguration
<a name="aws-properties-lex-bot-kendraconfiguration"></a>

Provides configuration information for the `AMAZON.KendraSearchIntent` intent. When you use this intent, Amazon Lex searches the specified Amazon Kendra index and returns documents from the index that match the user's utterance.

## Syntax
<a name="aws-properties-lex-bot-kendraconfiguration-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-lex-bot-kendraconfiguration-syntax.json"></a>

```
{
  "[KendraIndex](#cfn-lex-bot-kendraconfiguration-kendraindex)" : String,
  "[QueryFilterString](#cfn-lex-bot-kendraconfiguration-queryfilterstring)" : String,
  "[QueryFilterStringEnabled](#cfn-lex-bot-kendraconfiguration-queryfilterstringenabled)" : Boolean
}
```

### YAML
<a name="aws-properties-lex-bot-kendraconfiguration-syntax.yaml"></a>

```
  [KendraIndex](#cfn-lex-bot-kendraconfiguration-kendraindex): String
  [QueryFilterString](#cfn-lex-bot-kendraconfiguration-queryfilterstring): 
    String
  [QueryFilterStringEnabled](#cfn-lex-bot-kendraconfiguration-queryfilterstringenabled): Boolean
```

## Properties
<a name="aws-properties-lex-bot-kendraconfiguration-properties"></a>

`KendraIndex`  <a name="cfn-lex-bot-kendraconfiguration-kendraindex"></a>
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.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^arn:aws[a-zA-Z-]*:kendra:[a-z]+-(?:[a-z]+-)*[0-9]:[0-9]{12}:index/[a-zA-Z0-9][a-zA-Z0-9_-]*$`  
*Minimum*: `32`  
*Maximum*: `2048`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`QueryFilterString`  <a name="cfn-lex-bot-kendraconfiguration-queryfilterstring"></a>
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](https://docs.aws.amazon.com/kendra/latest/dg/filtering.html).  
*Required*: No  
*Type*: String  
*Minimum*: `1`  
*Maximum*: `5000`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`QueryFilterStringEnabled`  <a name="cfn-lex-bot-kendraconfiguration-queryfilterstringenabled"></a>
Determines whether the `AMAZON.KendraSearchIntent` intent uses a custom query string to query the Amazon Kendra index.  
*Required*: No  
*Type*: Boolean  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Lex::Bot LambdaCodeHook
<a name="aws-properties-lex-bot-lambdacodehook"></a>

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

## Syntax
<a name="aws-properties-lex-bot-lambdacodehook-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-lex-bot-lambdacodehook-syntax.json"></a>

```
{
  "[CodeHookInterfaceVersion](#cfn-lex-bot-lambdacodehook-codehookinterfaceversion)" : String,
  "[LambdaArn](#cfn-lex-bot-lambdacodehook-lambdaarn)" : String
}
```

### YAML
<a name="aws-properties-lex-bot-lambdacodehook-syntax.yaml"></a>

```
  [CodeHookInterfaceVersion](#cfn-lex-bot-lambdacodehook-codehookinterfaceversion): String
  [LambdaArn](#cfn-lex-bot-lambdacodehook-lambdaarn): String
```

## Properties
<a name="aws-properties-lex-bot-lambdacodehook-properties"></a>

`CodeHookInterfaceVersion`  <a name="cfn-lex-bot-lambdacodehook-codehookinterfaceversion"></a>
The version of the request-response that you want Amazon Lex to use to invoke your Lambda function.  
*Required*: Yes  
*Type*: String  
*Minimum*: `1`  
*Maximum*: `5`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`LambdaArn`  <a name="cfn-lex-bot-lambdacodehook-lambdaarn"></a>
The Amazon Resource Name (ARN) of the Lambda function.  
*Required*: Yes  
*Type*: String  
*Minimum*: `20`  
*Maximum*: `2048`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Lex::Bot Message
<a name="aws-properties-lex-bot-message"></a>

The object that provides message text and its type.

## Syntax
<a name="aws-properties-lex-bot-message-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-lex-bot-message-syntax.json"></a>

```
{
  "[CustomPayload](#cfn-lex-bot-message-custompayload)" : CustomPayload,
  "[ImageResponseCard](#cfn-lex-bot-message-imageresponsecard)" : ImageResponseCard,
  "[PlainTextMessage](#cfn-lex-bot-message-plaintextmessage)" : PlainTextMessage,
  "[SSMLMessage](#cfn-lex-bot-message-ssmlmessage)" : SSMLMessage
}
```

### YAML
<a name="aws-properties-lex-bot-message-syntax.yaml"></a>

```
  [CustomPayload](#cfn-lex-bot-message-custompayload): 
    CustomPayload
  [ImageResponseCard](#cfn-lex-bot-message-imageresponsecard): 
    ImageResponseCard
  [PlainTextMessage](#cfn-lex-bot-message-plaintextmessage): 
    PlainTextMessage
  [SSMLMessage](#cfn-lex-bot-message-ssmlmessage): 
    SSMLMessage
```

## Properties
<a name="aws-properties-lex-bot-message-properties"></a>

`CustomPayload`  <a name="cfn-lex-bot-message-custompayload"></a>
A message in a custom format defined by the client application.  
*Required*: No  
*Type*: [CustomPayload](aws-properties-lex-bot-custompayload.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ImageResponseCard`  <a name="cfn-lex-bot-message-imageresponsecard"></a>
A message that defines a response card that the client application can show to the user.  
*Required*: No  
*Type*: [ImageResponseCard](aws-properties-lex-bot-imageresponsecard.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`PlainTextMessage`  <a name="cfn-lex-bot-message-plaintextmessage"></a>
A message in plain text format.  
*Required*: No  
*Type*: [PlainTextMessage](aws-properties-lex-bot-plaintextmessage.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`SSMLMessage`  <a name="cfn-lex-bot-message-ssmlmessage"></a>
A message in Speech Synthesis Markup Language (SSML).  
*Required*: No  
*Type*: [SSMLMessage](aws-properties-lex-bot-ssmlmessage.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Lex::Bot MessageGroup
<a name="aws-properties-lex-bot-messagegroup"></a>

Provides one or more messages that Amazon Lex should send to the user.

## Syntax
<a name="aws-properties-lex-bot-messagegroup-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-lex-bot-messagegroup-syntax.json"></a>

```
{
  "[Message](#cfn-lex-bot-messagegroup-message)" : Message,
  "[Variations](#cfn-lex-bot-messagegroup-variations)" : [ Message, ... ]
}
```

### YAML
<a name="aws-properties-lex-bot-messagegroup-syntax.yaml"></a>

```
  [Message](#cfn-lex-bot-messagegroup-message): 
    Message
  [Variations](#cfn-lex-bot-messagegroup-variations): 
    - Message
```

## Properties
<a name="aws-properties-lex-bot-messagegroup-properties"></a>

`Message`  <a name="cfn-lex-bot-messagegroup-message"></a>
The primary message that Amazon Lex should send to the user.  
*Required*: Yes  
*Type*: [Message](aws-properties-lex-bot-message.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Variations`  <a name="cfn-lex-bot-messagegroup-variations"></a>
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.  
*Required*: No  
*Type*: Array of [Message](aws-properties-lex-bot-message.md)  
*Maximum*: `2`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Lex::Bot MultipleValuesSetting
<a name="aws-properties-lex-bot-multiplevaluessetting"></a>

Indicates whether a slot can return multiple values.

## Syntax
<a name="aws-properties-lex-bot-multiplevaluessetting-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-lex-bot-multiplevaluessetting-syntax.json"></a>

```
{
  "[AllowMultipleValues](#cfn-lex-bot-multiplevaluessetting-allowmultiplevalues)" : Boolean
}
```

### YAML
<a name="aws-properties-lex-bot-multiplevaluessetting-syntax.yaml"></a>

```
  [AllowMultipleValues](#cfn-lex-bot-multiplevaluessetting-allowmultiplevalues): Boolean
```

## Properties
<a name="aws-properties-lex-bot-multiplevaluessetting-properties"></a>

`AllowMultipleValues`  <a name="cfn-lex-bot-multiplevaluessetting-allowmultiplevalues"></a>
Indicates whether a slot can return multiple values. When `true`, the slot may return more than one value in a response. When `false`, the slot returns only a single value.  
Multi-value slots are only available in the en-US locale. If you set this value to `true` in any other locale, Amazon Lex throws a `ValidationException`.  
If the `allowMutlipleValues` is not set, the default value is `false`.  
*Required*: No  
*Type*: Boolean  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Lex::Bot NluImprovementSpecification
<a name="aws-properties-lex-bot-nluimprovementspecification"></a>

Configures the Assisted Natural Language Understanding (NLU) feature for your bot. This specification determines whether enhanced intent recognition and utterance understanding capabilities are active.

## Syntax
<a name="aws-properties-lex-bot-nluimprovementspecification-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-lex-bot-nluimprovementspecification-syntax.json"></a>

```
{
  "[AssistedNluMode](#cfn-lex-bot-nluimprovementspecification-assistednlumode)" : String,
  "[Enabled](#cfn-lex-bot-nluimprovementspecification-enabled)" : Boolean,
  "[IntentDisambiguationSettings](#cfn-lex-bot-nluimprovementspecification-intentdisambiguationsettings)" : IntentDisambiguationSettings
}
```

### YAML
<a name="aws-properties-lex-bot-nluimprovementspecification-syntax.yaml"></a>

```
  [AssistedNluMode](#cfn-lex-bot-nluimprovementspecification-assistednlumode): String
  [Enabled](#cfn-lex-bot-nluimprovementspecification-enabled): Boolean
  [IntentDisambiguationSettings](#cfn-lex-bot-nluimprovementspecification-intentdisambiguationsettings): 
    IntentDisambiguationSettings
```

## Properties
<a name="aws-properties-lex-bot-nluimprovementspecification-properties"></a>

`AssistedNluMode`  <a name="cfn-lex-bot-nluimprovementspecification-assistednlumode"></a>
Specifies the mode for Assisted NLU operation. Use `Primary` to make Assisted NLU the primary intent recognition method, or `Fallback` to use it only when standard NLU confidence is low.  
*Required*: No  
*Type*: String  
*Allowed values*: `Primary | Fallback`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Enabled`  <a name="cfn-lex-bot-nluimprovementspecification-enabled"></a>
Determines whether the Assisted NLU feature is enabled for the bot. When set to `true`, Amazon Lex uses advanced models to improve intent recognition and slot resolution, with the default being `false`.  
*Required*: Yes  
*Type*: Boolean  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`IntentDisambiguationSettings`  <a name="cfn-lex-bot-nluimprovementspecification-intentdisambiguationsettings"></a>
An object containing specifications for the Intent Disambiguation feature within the Assisted NLU settings. These settings determine how the bot handles ambiguous user inputs that could match multiple intents.  
*Required*: No  
*Type*: [IntentDisambiguationSettings](aws-properties-lex-bot-intentdisambiguationsettings.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Lex::Bot ObfuscationSetting
<a name="aws-properties-lex-bot-obfuscationsetting"></a>

Determines whether Amazon Lex obscures slot values in conversation logs. 

## Syntax
<a name="aws-properties-lex-bot-obfuscationsetting-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-lex-bot-obfuscationsetting-syntax.json"></a>

```
{
  "[ObfuscationSettingType](#cfn-lex-bot-obfuscationsetting-obfuscationsettingtype)" : String
}
```

### YAML
<a name="aws-properties-lex-bot-obfuscationsetting-syntax.yaml"></a>

```
  [ObfuscationSettingType](#cfn-lex-bot-obfuscationsetting-obfuscationsettingtype): String
```

## Properties
<a name="aws-properties-lex-bot-obfuscationsetting-properties"></a>

`ObfuscationSettingType`  <a name="cfn-lex-bot-obfuscationsetting-obfuscationsettingtype"></a>
Value that determines whether Amazon Lex obscures slot values in conversation logs. The default is to obscure the values.  
*Required*: Yes  
*Type*: String  
*Allowed values*: `None | DefaultObfuscation`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Lex::Bot OpensearchConfiguration
<a name="aws-properties-lex-bot-opensearchconfiguration"></a>

Contains details about the configuration of the Amazon OpenSearch Service database used for the `AMAZON.QnAIntent`.

## Syntax
<a name="aws-properties-lex-bot-opensearchconfiguration-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-lex-bot-opensearchconfiguration-syntax.json"></a>

```
{
  "[DomainEndpoint](#cfn-lex-bot-opensearchconfiguration-domainendpoint)" : String,
  "[ExactResponse](#cfn-lex-bot-opensearchconfiguration-exactresponse)" : Boolean,
  "[ExactResponseFields](#cfn-lex-bot-opensearchconfiguration-exactresponsefields)" : ExactResponseFields,
  "[IncludeFields](#cfn-lex-bot-opensearchconfiguration-includefields)" : [ String, ... ],
  "[IndexName](#cfn-lex-bot-opensearchconfiguration-indexname)" : String
}
```

### YAML
<a name="aws-properties-lex-bot-opensearchconfiguration-syntax.yaml"></a>

```
  [DomainEndpoint](#cfn-lex-bot-opensearchconfiguration-domainendpoint): String
  [ExactResponse](#cfn-lex-bot-opensearchconfiguration-exactresponse): Boolean
  [ExactResponseFields](#cfn-lex-bot-opensearchconfiguration-exactresponsefields): 
    ExactResponseFields
  [IncludeFields](#cfn-lex-bot-opensearchconfiguration-includefields): 
    - String
  [IndexName](#cfn-lex-bot-opensearchconfiguration-indexname): String
```

## Properties
<a name="aws-properties-lex-bot-opensearchconfiguration-properties"></a>

`DomainEndpoint`  <a name="cfn-lex-bot-opensearchconfiguration-domainendpoint"></a>
The endpoint of the Amazon OpenSearch Service domain.  
*Required*: No  
*Type*: String  
*Minimum*: `1`  
*Maximum*: `5000`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ExactResponse`  <a name="cfn-lex-bot-opensearchconfiguration-exactresponse"></a>
Specifies whether to return an exact response or to return an answer generated by the model using the fields you specify from the database.  
*Required*: No  
*Type*: Boolean  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ExactResponseFields`  <a name="cfn-lex-bot-opensearchconfiguration-exactresponsefields"></a>
Contains the names of the fields used for an exact response to the user.  
*Required*: No  
*Type*: [ExactResponseFields](aws-properties-lex-bot-exactresponsefields.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`IncludeFields`  <a name="cfn-lex-bot-opensearchconfiguration-includefields"></a>
Contains a list of fields from the Amazon OpenSearch Service that the model can use to generate the answer to the query.  
*Required*: No  
*Type*: Array of String  
*Minimum*: `1`  
*Maximum*: `5000`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`IndexName`  <a name="cfn-lex-bot-opensearchconfiguration-indexname"></a>
The name of the Amazon OpenSearch Service index.  
*Required*: No  
*Type*: String  
*Minimum*: `1`  
*Maximum*: `5000`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Lex::Bot OutputContext
<a name="aws-properties-lex-bot-outputcontext"></a>

Describes a session context that is activated when an intent is fulfilled.

## Syntax
<a name="aws-properties-lex-bot-outputcontext-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-lex-bot-outputcontext-syntax.json"></a>

```
{
  "[Name](#cfn-lex-bot-outputcontext-name)" : String,
  "[TimeToLiveInSeconds](#cfn-lex-bot-outputcontext-timetoliveinseconds)" : Integer,
  "[TurnsToLive](#cfn-lex-bot-outputcontext-turnstolive)" : Integer
}
```

### YAML
<a name="aws-properties-lex-bot-outputcontext-syntax.yaml"></a>

```
  [Name](#cfn-lex-bot-outputcontext-name): String
  [TimeToLiveInSeconds](#cfn-lex-bot-outputcontext-timetoliveinseconds): Integer
  [TurnsToLive](#cfn-lex-bot-outputcontext-turnstolive): Integer
```

## Properties
<a name="aws-properties-lex-bot-outputcontext-properties"></a>

`Name`  <a name="cfn-lex-bot-outputcontext-name"></a>
The name of the output context.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^([0-9a-zA-Z][_-]?)+$`  
*Minimum*: `1`  
*Maximum*: `100`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`TimeToLiveInSeconds`  <a name="cfn-lex-bot-outputcontext-timetoliveinseconds"></a>
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.  
*Required*: Yes  
*Type*: Integer  
*Minimum*: `5`  
*Maximum*: `86400`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`TurnsToLive`  <a name="cfn-lex-bot-outputcontext-turnstolive"></a>
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.  
*Required*: Yes  
*Type*: Integer  
*Minimum*: `1`  
*Maximum*: `20`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Lex::Bot PlainTextMessage
<a name="aws-properties-lex-bot-plaintextmessage"></a>

Defines an ASCII text message to send to the user.

## Syntax
<a name="aws-properties-lex-bot-plaintextmessage-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-lex-bot-plaintextmessage-syntax.json"></a>

```
{
  "[Value](#cfn-lex-bot-plaintextmessage-value)" : String
}
```

### YAML
<a name="aws-properties-lex-bot-plaintextmessage-syntax.yaml"></a>

```
  [Value](#cfn-lex-bot-plaintextmessage-value): String
```

## Properties
<a name="aws-properties-lex-bot-plaintextmessage-properties"></a>

`Value`  <a name="cfn-lex-bot-plaintextmessage-value"></a>
The message to send to the user.  
*Required*: Yes  
*Type*: String  
*Minimum*: `1`  
*Maximum*: `1000`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Lex::Bot PostDialogCodeHookInvocationSpecification
<a name="aws-properties-lex-bot-postdialogcodehookinvocationspecification"></a>

Specifies next steps to run after the dialog code hook finishes.

## Syntax
<a name="aws-properties-lex-bot-postdialogcodehookinvocationspecification-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-lex-bot-postdialogcodehookinvocationspecification-syntax.json"></a>

```
{
  "[FailureConditional](#cfn-lex-bot-postdialogcodehookinvocationspecification-failureconditional)" : ConditionalSpecification,
  "[FailureNextStep](#cfn-lex-bot-postdialogcodehookinvocationspecification-failurenextstep)" : DialogState,
  "[FailureResponse](#cfn-lex-bot-postdialogcodehookinvocationspecification-failureresponse)" : ResponseSpecification,
  "[SuccessConditional](#cfn-lex-bot-postdialogcodehookinvocationspecification-successconditional)" : ConditionalSpecification,
  "[SuccessNextStep](#cfn-lex-bot-postdialogcodehookinvocationspecification-successnextstep)" : DialogState,
  "[SuccessResponse](#cfn-lex-bot-postdialogcodehookinvocationspecification-successresponse)" : ResponseSpecification,
  "[TimeoutConditional](#cfn-lex-bot-postdialogcodehookinvocationspecification-timeoutconditional)" : ConditionalSpecification,
  "[TimeoutNextStep](#cfn-lex-bot-postdialogcodehookinvocationspecification-timeoutnextstep)" : DialogState,
  "[TimeoutResponse](#cfn-lex-bot-postdialogcodehookinvocationspecification-timeoutresponse)" : ResponseSpecification
}
```

### YAML
<a name="aws-properties-lex-bot-postdialogcodehookinvocationspecification-syntax.yaml"></a>

```
  [FailureConditional](#cfn-lex-bot-postdialogcodehookinvocationspecification-failureconditional): 
    ConditionalSpecification
  [FailureNextStep](#cfn-lex-bot-postdialogcodehookinvocationspecification-failurenextstep): 
    DialogState
  [FailureResponse](#cfn-lex-bot-postdialogcodehookinvocationspecification-failureresponse): 
    ResponseSpecification
  [SuccessConditional](#cfn-lex-bot-postdialogcodehookinvocationspecification-successconditional): 
    ConditionalSpecification
  [SuccessNextStep](#cfn-lex-bot-postdialogcodehookinvocationspecification-successnextstep): 
    DialogState
  [SuccessResponse](#cfn-lex-bot-postdialogcodehookinvocationspecification-successresponse): 
    ResponseSpecification
  [TimeoutConditional](#cfn-lex-bot-postdialogcodehookinvocationspecification-timeoutconditional): 
    ConditionalSpecification
  [TimeoutNextStep](#cfn-lex-bot-postdialogcodehookinvocationspecification-timeoutnextstep): 
    DialogState
  [TimeoutResponse](#cfn-lex-bot-postdialogcodehookinvocationspecification-timeoutresponse): 
    ResponseSpecification
```

## Properties
<a name="aws-properties-lex-bot-postdialogcodehookinvocationspecification-properties"></a>

`FailureConditional`  <a name="cfn-lex-bot-postdialogcodehookinvocationspecification-failureconditional"></a>
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`.  
*Required*: No  
*Type*: [ConditionalSpecification](aws-properties-lex-bot-conditionalspecification.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`FailureNextStep`  <a name="cfn-lex-bot-postdialogcodehookinvocationspecification-failurenextstep"></a>
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`.  
*Required*: No  
*Type*: [DialogState](aws-properties-lex-bot-dialogstate.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`FailureResponse`  <a name="cfn-lex-bot-postdialogcodehookinvocationspecification-failureresponse"></a>
Specifies a list of message groups that Amazon Lex uses to respond the user input when the code hook fails.  
*Required*: No  
*Type*: [ResponseSpecification](aws-properties-lex-bot-responsespecification.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`SuccessConditional`  <a name="cfn-lex-bot-postdialogcodehookinvocationspecification-successconditional"></a>
A list of conditional branches to evaluate after the dialog code hook finishes successfully.  
*Required*: No  
*Type*: [ConditionalSpecification](aws-properties-lex-bot-conditionalspecification.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`SuccessNextStep`  <a name="cfn-lex-bot-postdialogcodehookinvocationspecification-successnextstep"></a>
Specifics the next step the bot runs after the dialog code hook finishes successfully.   
*Required*: No  
*Type*: [DialogState](aws-properties-lex-bot-dialogstate.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`SuccessResponse`  <a name="cfn-lex-bot-postdialogcodehookinvocationspecification-successresponse"></a>
Specifies a list of message groups that Amazon Lex uses to respond when the code hook succeeds.  
*Required*: No  
*Type*: [ResponseSpecification](aws-properties-lex-bot-responsespecification.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`TimeoutConditional`  <a name="cfn-lex-bot-postdialogcodehookinvocationspecification-timeoutconditional"></a>
A list of conditional branches to evaluate if the code hook times out.  
*Required*: No  
*Type*: [ConditionalSpecification](aws-properties-lex-bot-conditionalspecification.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`TimeoutNextStep`  <a name="cfn-lex-bot-postdialogcodehookinvocationspecification-timeoutnextstep"></a>
Specifies the next step that the bot runs when the code hook times out.  
*Required*: No  
*Type*: [DialogState](aws-properties-lex-bot-dialogstate.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`TimeoutResponse`  <a name="cfn-lex-bot-postdialogcodehookinvocationspecification-timeoutresponse"></a>
Specifies a list of message groups that Amazon Lex uses to respond to the user input when the code hook times out.  
*Required*: No  
*Type*: [ResponseSpecification](aws-properties-lex-bot-responsespecification.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Lex::Bot PostFulfillmentStatusSpecification
<a name="aws-properties-lex-bot-postfulfillmentstatusspecification"></a>

Provides a setting that determines whether the post-fulfillment response is sent to the user. For more information, see [https://docs.aws.amazon.com/lexv2/latest/dg/streaming-progress.html#progress-complete](https://docs.aws.amazon.com/lexv2/latest/dg/streaming-progress.html#progress-complete)

## Syntax
<a name="aws-properties-lex-bot-postfulfillmentstatusspecification-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-lex-bot-postfulfillmentstatusspecification-syntax.json"></a>

```
{
  "[FailureConditional](#cfn-lex-bot-postfulfillmentstatusspecification-failureconditional)" : ConditionalSpecification,
  "[FailureNextStep](#cfn-lex-bot-postfulfillmentstatusspecification-failurenextstep)" : DialogState,
  "[FailureResponse](#cfn-lex-bot-postfulfillmentstatusspecification-failureresponse)" : ResponseSpecification,
  "[SuccessConditional](#cfn-lex-bot-postfulfillmentstatusspecification-successconditional)" : ConditionalSpecification,
  "[SuccessNextStep](#cfn-lex-bot-postfulfillmentstatusspecification-successnextstep)" : DialogState,
  "[SuccessResponse](#cfn-lex-bot-postfulfillmentstatusspecification-successresponse)" : ResponseSpecification,
  "[TimeoutConditional](#cfn-lex-bot-postfulfillmentstatusspecification-timeoutconditional)" : ConditionalSpecification,
  "[TimeoutNextStep](#cfn-lex-bot-postfulfillmentstatusspecification-timeoutnextstep)" : DialogState,
  "[TimeoutResponse](#cfn-lex-bot-postfulfillmentstatusspecification-timeoutresponse)" : ResponseSpecification
}
```

### YAML
<a name="aws-properties-lex-bot-postfulfillmentstatusspecification-syntax.yaml"></a>

```
  [FailureConditional](#cfn-lex-bot-postfulfillmentstatusspecification-failureconditional): 
    ConditionalSpecification
  [FailureNextStep](#cfn-lex-bot-postfulfillmentstatusspecification-failurenextstep): 
    DialogState
  [FailureResponse](#cfn-lex-bot-postfulfillmentstatusspecification-failureresponse): 
    ResponseSpecification
  [SuccessConditional](#cfn-lex-bot-postfulfillmentstatusspecification-successconditional): 
    ConditionalSpecification
  [SuccessNextStep](#cfn-lex-bot-postfulfillmentstatusspecification-successnextstep): 
    DialogState
  [SuccessResponse](#cfn-lex-bot-postfulfillmentstatusspecification-successresponse): 
    ResponseSpecification
  [TimeoutConditional](#cfn-lex-bot-postfulfillmentstatusspecification-timeoutconditional): 
    ConditionalSpecification
  [TimeoutNextStep](#cfn-lex-bot-postfulfillmentstatusspecification-timeoutnextstep): 
    DialogState
  [TimeoutResponse](#cfn-lex-bot-postfulfillmentstatusspecification-timeoutresponse): 
    ResponseSpecification
```

## Properties
<a name="aws-properties-lex-bot-postfulfillmentstatusspecification-properties"></a>

`FailureConditional`  <a name="cfn-lex-bot-postfulfillmentstatusspecification-failureconditional"></a>
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`.  
*Required*: No  
*Type*: [ConditionalSpecification](aws-properties-lex-bot-conditionalspecification.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`FailureNextStep`  <a name="cfn-lex-bot-postfulfillmentstatusspecification-failurenextstep"></a>
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`.  
*Required*: No  
*Type*: [DialogState](aws-properties-lex-bot-dialogstate.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`FailureResponse`  <a name="cfn-lex-bot-postfulfillmentstatusspecification-failureresponse"></a>
Specifies a list of message groups that Amazon Lex uses to respond when fulfillment isn't successful.  
*Required*: No  
*Type*: [ResponseSpecification](aws-properties-lex-bot-responsespecification.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`SuccessConditional`  <a name="cfn-lex-bot-postfulfillmentstatusspecification-successconditional"></a>
A list of conditional branches to evaluate after the fulfillment code hook finishes successfully.  
*Required*: No  
*Type*: [ConditionalSpecification](aws-properties-lex-bot-conditionalspecification.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`SuccessNextStep`  <a name="cfn-lex-bot-postfulfillmentstatusspecification-successnextstep"></a>
Specifies the next step in the conversation that Amazon Lex invokes when the fulfillment code hook completes successfully.  
*Required*: No  
*Type*: [DialogState](aws-properties-lex-bot-dialogstate.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`SuccessResponse`  <a name="cfn-lex-bot-postfulfillmentstatusspecification-successresponse"></a>
Specifies a list of message groups that Amazon Lex uses to respond when the fulfillment is successful.  
*Required*: No  
*Type*: [ResponseSpecification](aws-properties-lex-bot-responsespecification.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`TimeoutConditional`  <a name="cfn-lex-bot-postfulfillmentstatusspecification-timeoutconditional"></a>
A list of conditional branches to evaluate if the fulfillment code hook times out.  
*Required*: No  
*Type*: [ConditionalSpecification](aws-properties-lex-bot-conditionalspecification.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`TimeoutNextStep`  <a name="cfn-lex-bot-postfulfillmentstatusspecification-timeoutnextstep"></a>
Specifies the next step that the bot runs when the fulfillment code hook times out.  
*Required*: No  
*Type*: [DialogState](aws-properties-lex-bot-dialogstate.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`TimeoutResponse`  <a name="cfn-lex-bot-postfulfillmentstatusspecification-timeoutresponse"></a>
Specifies a list of message groups that Amazon Lex uses to respond when fulfillment isn't completed within the timeout period.  
*Required*: No  
*Type*: [ResponseSpecification](aws-properties-lex-bot-responsespecification.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Lex::Bot PromptAttemptSpecification
<a name="aws-properties-lex-bot-promptattemptspecification"></a>

Specifies the settings on a prompt attempt.

## Syntax
<a name="aws-properties-lex-bot-promptattemptspecification-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-lex-bot-promptattemptspecification-syntax.json"></a>

```
{
  "[AllowedInputTypes](#cfn-lex-bot-promptattemptspecification-allowedinputtypes)" : AllowedInputTypes,
  "[AllowInterrupt](#cfn-lex-bot-promptattemptspecification-allowinterrupt)" : Boolean,
  "[AudioAndDTMFInputSpecification](#cfn-lex-bot-promptattemptspecification-audioanddtmfinputspecification)" : AudioAndDTMFInputSpecification,
  "[TextInputSpecification](#cfn-lex-bot-promptattemptspecification-textinputspecification)" : TextInputSpecification
}
```

### YAML
<a name="aws-properties-lex-bot-promptattemptspecification-syntax.yaml"></a>

```
  [AllowedInputTypes](#cfn-lex-bot-promptattemptspecification-allowedinputtypes): 
    AllowedInputTypes
  [AllowInterrupt](#cfn-lex-bot-promptattemptspecification-allowinterrupt): Boolean
  [AudioAndDTMFInputSpecification](#cfn-lex-bot-promptattemptspecification-audioanddtmfinputspecification): 
    AudioAndDTMFInputSpecification
  [TextInputSpecification](#cfn-lex-bot-promptattemptspecification-textinputspecification): 
    TextInputSpecification
```

## Properties
<a name="aws-properties-lex-bot-promptattemptspecification-properties"></a>

`AllowedInputTypes`  <a name="cfn-lex-bot-promptattemptspecification-allowedinputtypes"></a>
Indicates the allowed input types of the prompt attempt.  
*Required*: Yes  
*Type*: [AllowedInputTypes](aws-properties-lex-bot-allowedinputtypes.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`AllowInterrupt`  <a name="cfn-lex-bot-promptattemptspecification-allowinterrupt"></a>
Indicates whether the user can interrupt a speech prompt attempt from the bot.  
*Required*: No  
*Type*: Boolean  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`AudioAndDTMFInputSpecification`  <a name="cfn-lex-bot-promptattemptspecification-audioanddtmfinputspecification"></a>
Specifies the settings on audio and DTMF input.  
*Required*: No  
*Type*: [AudioAndDTMFInputSpecification](aws-properties-lex-bot-audioanddtmfinputspecification.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`TextInputSpecification`  <a name="cfn-lex-bot-promptattemptspecification-textinputspecification"></a>
Specifies the settings on text input.  
*Required*: No  
*Type*: [TextInputSpecification](aws-properties-lex-bot-textinputspecification.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Lex::Bot PromptSpecification
<a name="aws-properties-lex-bot-promptspecification"></a>

Specifies a list of message groups that Amazon Lex sends to a user to elicit a response.

## Syntax
<a name="aws-properties-lex-bot-promptspecification-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-lex-bot-promptspecification-syntax.json"></a>

```
{
  "[AllowInterrupt](#cfn-lex-bot-promptspecification-allowinterrupt)" : Boolean,
  "[MaxRetries](#cfn-lex-bot-promptspecification-maxretries)" : Integer,
  "[MessageGroupsList](#cfn-lex-bot-promptspecification-messagegroupslist)" : [ MessageGroup, ... ],
  "[MessageSelectionStrategy](#cfn-lex-bot-promptspecification-messageselectionstrategy)" : String,
  "[PromptAttemptsSpecification](#cfn-lex-bot-promptspecification-promptattemptsspecification)" : {Key: Value, ...}
}
```

### YAML
<a name="aws-properties-lex-bot-promptspecification-syntax.yaml"></a>

```
  [AllowInterrupt](#cfn-lex-bot-promptspecification-allowinterrupt): Boolean
  [MaxRetries](#cfn-lex-bot-promptspecification-maxretries): Integer
  [MessageGroupsList](#cfn-lex-bot-promptspecification-messagegroupslist): 
    - MessageGroup
  [MessageSelectionStrategy](#cfn-lex-bot-promptspecification-messageselectionstrategy): String
  [PromptAttemptsSpecification](#cfn-lex-bot-promptspecification-promptattemptsspecification): 
    Key: Value
```

## Properties
<a name="aws-properties-lex-bot-promptspecification-properties"></a>

`AllowInterrupt`  <a name="cfn-lex-bot-promptspecification-allowinterrupt"></a>
Indicates whether the user can interrupt a speech prompt from the bot.  
*Required*: No  
*Type*: Boolean  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`MaxRetries`  <a name="cfn-lex-bot-promptspecification-maxretries"></a>
The maximum number of times the bot tries to elicit a response from the user using this prompt.  
*Required*: Yes  
*Type*: Integer  
*Minimum*: `0`  
*Maximum*: `5`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`MessageGroupsList`  <a name="cfn-lex-bot-promptspecification-messagegroupslist"></a>
A collection of messages that Amazon Lex can send to the user. Amazon Lex chooses the actual message to send at runtime.  
*Required*: Yes  
*Type*: Array of [MessageGroup](aws-properties-lex-bot-messagegroup.md)  
*Minimum*: `1`  
*Maximum*: `5`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`MessageSelectionStrategy`  <a name="cfn-lex-bot-promptspecification-messageselectionstrategy"></a>
Indicates how a message is selected from a message group among retries.  
*Required*: No  
*Type*: String  
*Allowed values*: `Random | Ordered`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`PromptAttemptsSpecification`  <a name="cfn-lex-bot-promptspecification-promptattemptsspecification"></a>
Specifies the advanced settings on each attempt of the prompt.  
*Required*: No  
*Type*: Object of [PromptAttemptSpecification](aws-properties-lex-bot-promptattemptspecification.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Lex::Bot QInConnectAssistantConfiguration
<a name="aws-properties-lex-bot-qinconnectassistantconfiguration"></a>

<a name="aws-properties-lex-bot-qinconnectassistantconfiguration-description"></a>The `QInConnectAssistantConfiguration` property type specifies Property description not available. for an [AWS::Lex::Bot](aws-resource-lex-bot.md).

## Syntax
<a name="aws-properties-lex-bot-qinconnectassistantconfiguration-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-lex-bot-qinconnectassistantconfiguration-syntax.json"></a>

```
{
  "[AssistantArn](#cfn-lex-bot-qinconnectassistantconfiguration-assistantarn)" : String
}
```

### YAML
<a name="aws-properties-lex-bot-qinconnectassistantconfiguration-syntax.yaml"></a>

```
  [AssistantArn](#cfn-lex-bot-qinconnectassistantconfiguration-assistantarn): String
```

## Properties
<a name="aws-properties-lex-bot-qinconnectassistantconfiguration-properties"></a>

`AssistantArn`  <a name="cfn-lex-bot-qinconnectassistantconfiguration-assistantarn"></a>
Property description not available.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^arn:[a-z-]*?:wisdom:[a-z0-9-]*?:[0-9]{12}:[a-z-]*?/[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}(?:/[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}){0,2}$`  
*Minimum*: `1`  
*Maximum*: `200`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Lex::Bot QInConnectIntentConfiguration
<a name="aws-properties-lex-bot-qinconnectintentconfiguration"></a>

<a name="aws-properties-lex-bot-qinconnectintentconfiguration-description"></a>The `QInConnectIntentConfiguration` property type specifies Property description not available. for an [AWS::Lex::Bot](aws-resource-lex-bot.md).

## Syntax
<a name="aws-properties-lex-bot-qinconnectintentconfiguration-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-lex-bot-qinconnectintentconfiguration-syntax.json"></a>

```
{
  "[QInConnectAssistantConfiguration](#cfn-lex-bot-qinconnectintentconfiguration-qinconnectassistantconfiguration)" : QInConnectAssistantConfiguration
}
```

### YAML
<a name="aws-properties-lex-bot-qinconnectintentconfiguration-syntax.yaml"></a>

```
  [QInConnectAssistantConfiguration](#cfn-lex-bot-qinconnectintentconfiguration-qinconnectassistantconfiguration): 
    QInConnectAssistantConfiguration
```

## Properties
<a name="aws-properties-lex-bot-qinconnectintentconfiguration-properties"></a>

`QInConnectAssistantConfiguration`  <a name="cfn-lex-bot-qinconnectintentconfiguration-qinconnectassistantconfiguration"></a>
Property description not available.  
*Required*: No  
*Type*: [QInConnectAssistantConfiguration](aws-properties-lex-bot-qinconnectassistantconfiguration.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Lex::Bot QnAIntentConfiguration
<a name="aws-properties-lex-bot-qnaintentconfiguration"></a>

Details about the the configuration of the built-in `Amazon.QnAIntent`.

## Syntax
<a name="aws-properties-lex-bot-qnaintentconfiguration-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-lex-bot-qnaintentconfiguration-syntax.json"></a>

```
{
  "[BedrockModelConfiguration](#cfn-lex-bot-qnaintentconfiguration-bedrockmodelconfiguration)" : BedrockModelSpecification,
  "[DataSourceConfiguration](#cfn-lex-bot-qnaintentconfiguration-datasourceconfiguration)" : DataSourceConfiguration
}
```

### YAML
<a name="aws-properties-lex-bot-qnaintentconfiguration-syntax.yaml"></a>

```
  [BedrockModelConfiguration](#cfn-lex-bot-qnaintentconfiguration-bedrockmodelconfiguration): 
    BedrockModelSpecification
  [DataSourceConfiguration](#cfn-lex-bot-qnaintentconfiguration-datasourceconfiguration): 
    DataSourceConfiguration
```

## Properties
<a name="aws-properties-lex-bot-qnaintentconfiguration-properties"></a>

`BedrockModelConfiguration`  <a name="cfn-lex-bot-qnaintentconfiguration-bedrockmodelconfiguration"></a>
Property description not available.  
*Required*: Yes  
*Type*: [BedrockModelSpecification](aws-properties-lex-bot-bedrockmodelspecification.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`DataSourceConfiguration`  <a name="cfn-lex-bot-qnaintentconfiguration-datasourceconfiguration"></a>
Contains details about the configuration of the data source used for the `AMAZON.QnAIntent`.  
*Required*: Yes  
*Type*: [DataSourceConfiguration](aws-properties-lex-bot-datasourceconfiguration.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Lex::Bot QnAKendraConfiguration
<a name="aws-properties-lex-bot-qnakendraconfiguration"></a>

Contains details about the configuration of the Amazon Kendra index used for the `AMAZON.QnAIntent`.

## Syntax
<a name="aws-properties-lex-bot-qnakendraconfiguration-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-lex-bot-qnakendraconfiguration-syntax.json"></a>

```
{
  "[ExactResponse](#cfn-lex-bot-qnakendraconfiguration-exactresponse)" : Boolean,
  "[KendraIndex](#cfn-lex-bot-qnakendraconfiguration-kendraindex)" : String,
  "[QueryFilterString](#cfn-lex-bot-qnakendraconfiguration-queryfilterstring)" : String,
  "[QueryFilterStringEnabled](#cfn-lex-bot-qnakendraconfiguration-queryfilterstringenabled)" : Boolean
}
```

### YAML
<a name="aws-properties-lex-bot-qnakendraconfiguration-syntax.yaml"></a>

```
  [ExactResponse](#cfn-lex-bot-qnakendraconfiguration-exactresponse): Boolean
  [KendraIndex](#cfn-lex-bot-qnakendraconfiguration-kendraindex): String
  [QueryFilterString](#cfn-lex-bot-qnakendraconfiguration-queryfilterstring): 
    String
  [QueryFilterStringEnabled](#cfn-lex-bot-qnakendraconfiguration-queryfilterstringenabled): Boolean
```

## Properties
<a name="aws-properties-lex-bot-qnakendraconfiguration-properties"></a>

`ExactResponse`  <a name="cfn-lex-bot-qnakendraconfiguration-exactresponse"></a>
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](https://docs.aws.amazon.com/kendra/latest/dg/in-creating-faq.html).  
*Required*: Yes  
*Type*: Boolean  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`KendraIndex`  <a name="cfn-lex-bot-qnakendraconfiguration-kendraindex"></a>
The ARN of the Amazon Kendra index to use.  
*Required*: Yes  
*Type*: String  
*Minimum*: `1`  
*Maximum*: `5000`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`QueryFilterString`  <a name="cfn-lex-bot-qnakendraconfiguration-queryfilterstring"></a>
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](https://docs.aws.amazon.com/kendra/latest/dg/filtering.html#search-filtering).  
*Required*: No  
*Type*: String  
*Minimum*: `1`  
*Maximum*: `5000`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`QueryFilterStringEnabled`  <a name="cfn-lex-bot-qnakendraconfiguration-queryfilterstringenabled"></a>
Specifies whether to enable an Amazon Kendra filter string or not.  
*Required*: Yes  
*Type*: Boolean  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Lex::Bot Replication
<a name="aws-properties-lex-bot-replication"></a>

<a name="aws-properties-lex-bot-replication-description"></a>The `Replication` property type specifies Property description not available. for an [AWS::Lex::Bot](aws-resource-lex-bot.md).

## Syntax
<a name="aws-properties-lex-bot-replication-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-lex-bot-replication-syntax.json"></a>

```
{
  "[ReplicaRegions](#cfn-lex-bot-replication-replicaregions)" : [ String, ... ]
}
```

### YAML
<a name="aws-properties-lex-bot-replication-syntax.yaml"></a>

```
  [ReplicaRegions](#cfn-lex-bot-replication-replicaregions): 
    - String
```

## Properties
<a name="aws-properties-lex-bot-replication-properties"></a>

`ReplicaRegions`  <a name="cfn-lex-bot-replication-replicaregions"></a>
Property description not available.  
*Required*: Yes  
*Type*: Array of String  
*Minimum*: `1`  
*Maximum*: `1`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Lex::Bot ResponseSpecification
<a name="aws-properties-lex-bot-responsespecification"></a>

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

## Syntax
<a name="aws-properties-lex-bot-responsespecification-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-lex-bot-responsespecification-syntax.json"></a>

```
{
  "[AllowInterrupt](#cfn-lex-bot-responsespecification-allowinterrupt)" : Boolean,
  "[MessageGroupsList](#cfn-lex-bot-responsespecification-messagegroupslist)" : [ MessageGroup, ... ]
}
```

### YAML
<a name="aws-properties-lex-bot-responsespecification-syntax.yaml"></a>

```
  [AllowInterrupt](#cfn-lex-bot-responsespecification-allowinterrupt): Boolean
  [MessageGroupsList](#cfn-lex-bot-responsespecification-messagegroupslist): 
    - MessageGroup
```

## Properties
<a name="aws-properties-lex-bot-responsespecification-properties"></a>

`AllowInterrupt`  <a name="cfn-lex-bot-responsespecification-allowinterrupt"></a>
Indicates whether the user can interrupt a speech response from Amazon Lex.  
*Required*: No  
*Type*: Boolean  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`MessageGroupsList`  <a name="cfn-lex-bot-responsespecification-messagegroupslist"></a>
A collection of responses that Amazon Lex can send to the user. Amazon Lex chooses the actual response to send at runtime.  
*Required*: Yes  
*Type*: Array of [MessageGroup](aws-properties-lex-bot-messagegroup.md)  
*Minimum*: `1`  
*Maximum*: `5`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Lex::Bot RuntimeSettings
<a name="aws-properties-lex-bot-runtimesettings"></a>

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

## Syntax
<a name="aws-properties-lex-bot-runtimesettings-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-lex-bot-runtimesettings-syntax.json"></a>

```
{
  "[NluImprovementSpecification](#cfn-lex-bot-runtimesettings-nluimprovementspecification)" : NluImprovementSpecification,
  "[SlotResolutionImprovementSpecification](#cfn-lex-bot-runtimesettings-slotresolutionimprovementspecification)" : SlotResolutionImprovementSpecification
}
```

### YAML
<a name="aws-properties-lex-bot-runtimesettings-syntax.yaml"></a>

```
  [NluImprovementSpecification](#cfn-lex-bot-runtimesettings-nluimprovementspecification): 
    NluImprovementSpecification
  [SlotResolutionImprovementSpecification](#cfn-lex-bot-runtimesettings-slotresolutionimprovementspecification): 
    SlotResolutionImprovementSpecification
```

## Properties
<a name="aws-properties-lex-bot-runtimesettings-properties"></a>

`NluImprovementSpecification`  <a name="cfn-lex-bot-runtimesettings-nluimprovementspecification"></a>
Property description not available.  
*Required*: No  
*Type*: [NluImprovementSpecification](aws-properties-lex-bot-nluimprovementspecification.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`SlotResolutionImprovementSpecification`  <a name="cfn-lex-bot-runtimesettings-slotresolutionimprovementspecification"></a>
Property description not available.  
*Required*: No  
*Type*: [SlotResolutionImprovementSpecification](aws-properties-lex-bot-slotresolutionimprovementspecification.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Lex::Bot S3BucketLogDestination
<a name="aws-properties-lex-bot-s3bucketlogdestination"></a>

Specifies an Amazon S3 bucket for logging audio conversations

## Syntax
<a name="aws-properties-lex-bot-s3bucketlogdestination-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-lex-bot-s3bucketlogdestination-syntax.json"></a>

```
{
  "[KmsKeyArn](#cfn-lex-bot-s3bucketlogdestination-kmskeyarn)" : String,
  "[LogPrefix](#cfn-lex-bot-s3bucketlogdestination-logprefix)" : String,
  "[S3BucketArn](#cfn-lex-bot-s3bucketlogdestination-s3bucketarn)" : String
}
```

### YAML
<a name="aws-properties-lex-bot-s3bucketlogdestination-syntax.yaml"></a>

```
  [KmsKeyArn](#cfn-lex-bot-s3bucketlogdestination-kmskeyarn): String
  [LogPrefix](#cfn-lex-bot-s3bucketlogdestination-logprefix): String
  [S3BucketArn](#cfn-lex-bot-s3bucketlogdestination-s3bucketarn): String
```

## Properties
<a name="aws-properties-lex-bot-s3bucketlogdestination-properties"></a>

`KmsKeyArn`  <a name="cfn-lex-bot-s3bucketlogdestination-kmskeyarn"></a>
The Amazon Resource Name (ARN) of an AWS Key Management Service (KMS) key for encrypting audio log files stored in an Amazon S3 bucket.  
*Required*: No  
*Type*: String  
*Pattern*: `^arn:[\w\-]+:kms:[\w\-]+:[\d]{12}:(?:key\/[\w\-]+|alias\/[a-zA-Z0-9:\/_\-]{1,256})$`  
*Minimum*: `20`  
*Maximum*: `2048`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`LogPrefix`  <a name="cfn-lex-bot-s3bucketlogdestination-logprefix"></a>
The S3 prefix to assign to audio log files.  
*Required*: Yes  
*Type*: String  
*Minimum*: `0`  
*Maximum*: `1024`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`S3BucketArn`  <a name="cfn-lex-bot-s3bucketlogdestination-s3bucketarn"></a>
The Amazon Resource Name (ARN) of an Amazon S3 bucket where audio log files are stored.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^arn:[\w\-]+:s3:::[a-z0-9][\.\-a-z0-9]{1,61}[a-z0-9]$`  
*Minimum*: `1`  
*Maximum*: `2048`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Lex::Bot S3Location
<a name="aws-properties-lex-bot-s3location"></a>

Defines an Amazon S3 bucket location. 

## Syntax
<a name="aws-properties-lex-bot-s3location-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-lex-bot-s3location-syntax.json"></a>

```
{
  "[S3Bucket](#cfn-lex-bot-s3location-s3bucket)" : String,
  "[S3ObjectKey](#cfn-lex-bot-s3location-s3objectkey)" : String,
  "[S3ObjectVersion](#cfn-lex-bot-s3location-s3objectversion)" : String
}
```

### YAML
<a name="aws-properties-lex-bot-s3location-syntax.yaml"></a>

```
  [S3Bucket](#cfn-lex-bot-s3location-s3bucket): String
  [S3ObjectKey](#cfn-lex-bot-s3location-s3objectkey): String
  [S3ObjectVersion](#cfn-lex-bot-s3location-s3objectversion): String
```

## Properties
<a name="aws-properties-lex-bot-s3location-properties"></a>

`S3Bucket`  <a name="cfn-lex-bot-s3location-s3bucket"></a>
The S3 bucket name.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^[a-z0-9][\.\-a-z0-9]{1,61}[a-z0-9]$`  
*Minimum*: `3`  
*Maximum*: `63`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`S3ObjectKey`  <a name="cfn-lex-bot-s3location-s3objectkey"></a>
The path and file name to the object in the S3 bucket.  
*Required*: Yes  
*Type*: String  
*Pattern*: `[\.\-\!\*\_\'\(\)a-zA-Z0-9][\.\-\!\*\_\'\(\)\/a-zA-Z0-9]*$`  
*Minimum*: `1`  
*Maximum*: `1024`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`S3ObjectVersion`  <a name="cfn-lex-bot-s3location-s3objectversion"></a>
The version of the object in the S3 bucket.  
*Required*: No  
*Type*: String  
*Minimum*: `1`  
*Maximum*: `1024`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Lex::Bot SampleUtterance
<a name="aws-properties-lex-bot-sampleutterance"></a>

A sample utterance that invokes an intent or respond to a slot elicitation prompt.

## Syntax
<a name="aws-properties-lex-bot-sampleutterance-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-lex-bot-sampleutterance-syntax.json"></a>

```
{
  "[Utterance](#cfn-lex-bot-sampleutterance-utterance)" : String
}
```

### YAML
<a name="aws-properties-lex-bot-sampleutterance-syntax.yaml"></a>

```
  [Utterance](#cfn-lex-bot-sampleutterance-utterance): String
```

## Properties
<a name="aws-properties-lex-bot-sampleutterance-properties"></a>

`Utterance`  <a name="cfn-lex-bot-sampleutterance-utterance"></a>
A sample utterance that invokes an intent or respond to a slot elicitation prompt.  
*Required*: Yes  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Lex::Bot SampleUtteranceGenerationSpecification
<a name="aws-properties-lex-bot-sampleutterancegenerationspecification"></a>

Contains specifications for the sample utterance generation feature.

## Syntax
<a name="aws-properties-lex-bot-sampleutterancegenerationspecification-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-lex-bot-sampleutterancegenerationspecification-syntax.json"></a>

```
{
  "[BedrockModelSpecification](#cfn-lex-bot-sampleutterancegenerationspecification-bedrockmodelspecification)" : BedrockModelSpecification,
  "[Enabled](#cfn-lex-bot-sampleutterancegenerationspecification-enabled)" : Boolean
}
```

### YAML
<a name="aws-properties-lex-bot-sampleutterancegenerationspecification-syntax.yaml"></a>

```
  [BedrockModelSpecification](#cfn-lex-bot-sampleutterancegenerationspecification-bedrockmodelspecification): 
    BedrockModelSpecification
  [Enabled](#cfn-lex-bot-sampleutterancegenerationspecification-enabled): Boolean
```

## Properties
<a name="aws-properties-lex-bot-sampleutterancegenerationspecification-properties"></a>

`BedrockModelSpecification`  <a name="cfn-lex-bot-sampleutterancegenerationspecification-bedrockmodelspecification"></a>
Property description not available.  
*Required*: No  
*Type*: [BedrockModelSpecification](aws-properties-lex-bot-bedrockmodelspecification.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Enabled`  <a name="cfn-lex-bot-sampleutterancegenerationspecification-enabled"></a>
Specifies whether to enable sample utterance generation or not.  
*Required*: Yes  
*Type*: Boolean  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Lex::Bot SampleValue
<a name="aws-properties-lex-bot-samplevalue"></a>

Defines one of the values for a slot type.

## Syntax
<a name="aws-properties-lex-bot-samplevalue-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-lex-bot-samplevalue-syntax.json"></a>

```
{
  "[Value](#cfn-lex-bot-samplevalue-value)" : String
}
```

### YAML
<a name="aws-properties-lex-bot-samplevalue-syntax.yaml"></a>

```
  [Value](#cfn-lex-bot-samplevalue-value): String
```

## Properties
<a name="aws-properties-lex-bot-samplevalue-properties"></a>

`Value`  <a name="cfn-lex-bot-samplevalue-value"></a>
The value that can be used for a slot type.  
*Required*: Yes  
*Type*: String  
*Minimum*: `1`  
*Maximum*: `140`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Lex::Bot SentimentAnalysisSettings
<a name="aws-properties-lex-bot-sentimentanalysissettings"></a>

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

## Syntax
<a name="aws-properties-lex-bot-sentimentanalysissettings-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-lex-bot-sentimentanalysissettings-syntax.json"></a>

```
{
  "[DetectSentiment](#cfn-lex-bot-sentimentanalysissettings-detectsentiment)" : Boolean
}
```

### YAML
<a name="aws-properties-lex-bot-sentimentanalysissettings-syntax.yaml"></a>

```
  [DetectSentiment](#cfn-lex-bot-sentimentanalysissettings-detectsentiment): Boolean
```

## Properties
<a name="aws-properties-lex-bot-sentimentanalysissettings-properties"></a>

`DetectSentiment`  <a name="cfn-lex-bot-sentimentanalysissettings-detectsentiment"></a>
Sets whether Amazon Lex uses Amazon Comprehend to detect the sentiment of user utterances.  
*Required*: Yes  
*Type*: Boolean  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Lex::Bot SessionAttribute
<a name="aws-properties-lex-bot-sessionattribute"></a>

A key/value pair representing session-specific context information. It contains application information passed between Amazon Lex V2 and a client application.

## Syntax
<a name="aws-properties-lex-bot-sessionattribute-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-lex-bot-sessionattribute-syntax.json"></a>

```
{
  "[Key](#cfn-lex-bot-sessionattribute-key)" : String,
  "[Value](#cfn-lex-bot-sessionattribute-value)" : String
}
```

### YAML
<a name="aws-properties-lex-bot-sessionattribute-syntax.yaml"></a>

```
  [Key](#cfn-lex-bot-sessionattribute-key): String
  [Value](#cfn-lex-bot-sessionattribute-value): String
```

## Properties
<a name="aws-properties-lex-bot-sessionattribute-properties"></a>

`Key`  <a name="cfn-lex-bot-sessionattribute-key"></a>
The name of the session attribute.  
*Required*: Yes  
*Type*: String  
*Minimum*: `1`  
*Maximum*: `1024`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Value`  <a name="cfn-lex-bot-sessionattribute-value"></a>
The session-specific context information for the session attribute.  
*Required*: No  
*Type*: String  
*Minimum*: `0`  
*Maximum*: `1024`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Lex::Bot Slot
<a name="aws-properties-lex-bot-slot"></a>

Specifies the definition of a slot. Amazon Lex elicits slot values from uses to fulfill the user's intent.

## Syntax
<a name="aws-properties-lex-bot-slot-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-lex-bot-slot-syntax.json"></a>

```
{
  "[Description](#cfn-lex-bot-slot-description)" : String,
  "[MultipleValuesSetting](#cfn-lex-bot-slot-multiplevaluessetting)" : MultipleValuesSetting,
  "[Name](#cfn-lex-bot-slot-name)" : String,
  "[ObfuscationSetting](#cfn-lex-bot-slot-obfuscationsetting)" : ObfuscationSetting,
  "[SlotTypeName](#cfn-lex-bot-slot-slottypename)" : String,
  "[SubSlotSetting](#cfn-lex-bot-slot-subslotsetting)" : SubSlotSetting,
  "[ValueElicitationSetting](#cfn-lex-bot-slot-valueelicitationsetting)" : SlotValueElicitationSetting
}
```

### YAML
<a name="aws-properties-lex-bot-slot-syntax.yaml"></a>

```
  [Description](#cfn-lex-bot-slot-description): String
  [MultipleValuesSetting](#cfn-lex-bot-slot-multiplevaluessetting): 
    MultipleValuesSetting
  [Name](#cfn-lex-bot-slot-name): String
  [ObfuscationSetting](#cfn-lex-bot-slot-obfuscationsetting): 
    ObfuscationSetting
  [SlotTypeName](#cfn-lex-bot-slot-slottypename): String
  [SubSlotSetting](#cfn-lex-bot-slot-subslotsetting): 
    SubSlotSetting
  [ValueElicitationSetting](#cfn-lex-bot-slot-valueelicitationsetting): 
    SlotValueElicitationSetting
```

## Properties
<a name="aws-properties-lex-bot-slot-properties"></a>

`Description`  <a name="cfn-lex-bot-slot-description"></a>
The description of the slot.  
*Required*: No  
*Type*: String  
*Maximum*: `2000`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`MultipleValuesSetting`  <a name="cfn-lex-bot-slot-multiplevaluessetting"></a>
Indicates whether a slot can return multiple values.  
*Required*: No  
*Type*: [MultipleValuesSetting](aws-properties-lex-bot-multiplevaluessetting.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Name`  <a name="cfn-lex-bot-slot-name"></a>
The name given to the slot.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^([0-9a-zA-Z][_-]?)+$`  
*Minimum*: `1`  
*Maximum*: `100`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ObfuscationSetting`  <a name="cfn-lex-bot-slot-obfuscationsetting"></a>
Determines whether the contents of the slot are obfuscated in Amazon CloudWatch Logs logs. Use obfuscated slots to protect information such as personally identifiable information (PII) in logs.  
*Required*: No  
*Type*: [ObfuscationSetting](aws-properties-lex-bot-obfuscationsetting.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`SlotTypeName`  <a name="cfn-lex-bot-slot-slottypename"></a>
The name of the slot type that this slot is based on. The slot type defines the acceptable values for the slot.  
*Required*: Yes  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`SubSlotSetting`  <a name="cfn-lex-bot-slot-subslotsetting"></a>
Property description not available.  
*Required*: No  
*Type*: [SubSlotSetting](aws-properties-lex-bot-subslotsetting.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ValueElicitationSetting`  <a name="cfn-lex-bot-slot-valueelicitationsetting"></a>
Determines the slot resolution strategy that Amazon Lex uses to return slot type values. The field can be set to one of the following values:  
+ ORIGINAL\$1VALUE - Returns the value entered by the user, if the user value is similar to a slot value.
+ TOP\$1RESOLUTION - If there is a resolution list for the slot, return the first value in the resolution list as the slot type value. If there is no resolution list, null is returned.
If you don't specify the `valueSelectionStrategy`, the default is `ORIGINAL_VALUE`.  
*Required*: Yes  
*Type*: [SlotValueElicitationSetting](aws-properties-lex-bot-slotvalueelicitationsetting.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Lex::Bot SlotCaptureSetting
<a name="aws-properties-lex-bot-slotcapturesetting"></a>

Settings used when Amazon Lex successfully captures a slot value from a user.

## Syntax
<a name="aws-properties-lex-bot-slotcapturesetting-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-lex-bot-slotcapturesetting-syntax.json"></a>

```
{
  "[CaptureConditional](#cfn-lex-bot-slotcapturesetting-captureconditional)" : ConditionalSpecification,
  "[CaptureNextStep](#cfn-lex-bot-slotcapturesetting-capturenextstep)" : DialogState,
  "[CaptureResponse](#cfn-lex-bot-slotcapturesetting-captureresponse)" : ResponseSpecification,
  "[CodeHook](#cfn-lex-bot-slotcapturesetting-codehook)" : DialogCodeHookInvocationSetting,
  "[ElicitationCodeHook](#cfn-lex-bot-slotcapturesetting-elicitationcodehook)" : ElicitationCodeHookInvocationSetting,
  "[FailureConditional](#cfn-lex-bot-slotcapturesetting-failureconditional)" : ConditionalSpecification,
  "[FailureNextStep](#cfn-lex-bot-slotcapturesetting-failurenextstep)" : DialogState,
  "[FailureResponse](#cfn-lex-bot-slotcapturesetting-failureresponse)" : ResponseSpecification
}
```

### YAML
<a name="aws-properties-lex-bot-slotcapturesetting-syntax.yaml"></a>

```
  [CaptureConditional](#cfn-lex-bot-slotcapturesetting-captureconditional): 
    ConditionalSpecification
  [CaptureNextStep](#cfn-lex-bot-slotcapturesetting-capturenextstep): 
    DialogState
  [CaptureResponse](#cfn-lex-bot-slotcapturesetting-captureresponse): 
    ResponseSpecification
  [CodeHook](#cfn-lex-bot-slotcapturesetting-codehook): 
    DialogCodeHookInvocationSetting
  [ElicitationCodeHook](#cfn-lex-bot-slotcapturesetting-elicitationcodehook): 
    ElicitationCodeHookInvocationSetting
  [FailureConditional](#cfn-lex-bot-slotcapturesetting-failureconditional): 
    ConditionalSpecification
  [FailureNextStep](#cfn-lex-bot-slotcapturesetting-failurenextstep): 
    DialogState
  [FailureResponse](#cfn-lex-bot-slotcapturesetting-failureresponse): 
    ResponseSpecification
```

## Properties
<a name="aws-properties-lex-bot-slotcapturesetting-properties"></a>

`CaptureConditional`  <a name="cfn-lex-bot-slotcapturesetting-captureconditional"></a>
A list of conditional branches to evaluate after the slot value is captured.  
*Required*: No  
*Type*: [ConditionalSpecification](aws-properties-lex-bot-conditionalspecification.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`CaptureNextStep`  <a name="cfn-lex-bot-slotcapturesetting-capturenextstep"></a>
Specifies the next step that the bot runs when the slot value is captured before the code hook times out.  
*Required*: No  
*Type*: [DialogState](aws-properties-lex-bot-dialogstate.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`CaptureResponse`  <a name="cfn-lex-bot-slotcapturesetting-captureresponse"></a>
Specifies a list of message groups that Amazon Lex uses to respond the user input.  
*Required*: No  
*Type*: [ResponseSpecification](aws-properties-lex-bot-responsespecification.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`CodeHook`  <a name="cfn-lex-bot-slotcapturesetting-codehook"></a>
Code hook called after Amazon Lex successfully captures a slot value.  
*Required*: No  
*Type*: [DialogCodeHookInvocationSetting](aws-properties-lex-bot-dialogcodehookinvocationsetting.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ElicitationCodeHook`  <a name="cfn-lex-bot-slotcapturesetting-elicitationcodehook"></a>
Code hook called when Amazon Lex doesn't capture a slot value.  
*Required*: No  
*Type*: [ElicitationCodeHookInvocationSetting](aws-properties-lex-bot-elicitationcodehookinvocationsetting.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`FailureConditional`  <a name="cfn-lex-bot-slotcapturesetting-failureconditional"></a>
A list of conditional branches to evaluate when the slot value isn't captured.  
*Required*: No  
*Type*: [ConditionalSpecification](aws-properties-lex-bot-conditionalspecification.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`FailureNextStep`  <a name="cfn-lex-bot-slotcapturesetting-failurenextstep"></a>
Specifies the next step that the bot runs when the slot value code is not recognized.  
*Required*: No  
*Type*: [DialogState](aws-properties-lex-bot-dialogstate.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`FailureResponse`  <a name="cfn-lex-bot-slotcapturesetting-failureresponse"></a>
Specifies a list of message groups that Amazon Lex uses to respond the user input when the slot fails to be captured.  
*Required*: No  
*Type*: [ResponseSpecification](aws-properties-lex-bot-responsespecification.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Lex::Bot SlotDefaultValue
<a name="aws-properties-lex-bot-slotdefaultvalue"></a>

Specifies the default value to use when a user doesn't provide a value for a slot.

## Syntax
<a name="aws-properties-lex-bot-slotdefaultvalue-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-lex-bot-slotdefaultvalue-syntax.json"></a>

```
{
  "[DefaultValue](#cfn-lex-bot-slotdefaultvalue-defaultvalue)" : String
}
```

### YAML
<a name="aws-properties-lex-bot-slotdefaultvalue-syntax.yaml"></a>

```
  [DefaultValue](#cfn-lex-bot-slotdefaultvalue-defaultvalue): String
```

## Properties
<a name="aws-properties-lex-bot-slotdefaultvalue-properties"></a>

`DefaultValue`  <a name="cfn-lex-bot-slotdefaultvalue-defaultvalue"></a>
The default value to use when a user doesn't provide a value for a slot.  
*Required*: Yes  
*Type*: String  
*Minimum*: `1`  
*Maximum*: `202`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Lex::Bot SlotDefaultValueSpecification
<a name="aws-properties-lex-bot-slotdefaultvaluespecification"></a>

The default value to use when a user doesn't provide a value for a slot.

## Syntax
<a name="aws-properties-lex-bot-slotdefaultvaluespecification-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-lex-bot-slotdefaultvaluespecification-syntax.json"></a>

```
{
  "[DefaultValueList](#cfn-lex-bot-slotdefaultvaluespecification-defaultvaluelist)" : [ SlotDefaultValue, ... ]
}
```

### YAML
<a name="aws-properties-lex-bot-slotdefaultvaluespecification-syntax.yaml"></a>

```
  [DefaultValueList](#cfn-lex-bot-slotdefaultvaluespecification-defaultvaluelist): 
    - SlotDefaultValue
```

## Properties
<a name="aws-properties-lex-bot-slotdefaultvaluespecification-properties"></a>

`DefaultValueList`  <a name="cfn-lex-bot-slotdefaultvaluespecification-defaultvaluelist"></a>
A list of default values. Amazon Lex chooses the default value to use in the order that they are presented in the list.  
*Required*: Yes  
*Type*: Array of [SlotDefaultValue](aws-properties-lex-bot-slotdefaultvalue.md)  
*Maximum*: `10`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Lex::Bot SlotPriority
<a name="aws-properties-lex-bot-slotpriority"></a>

Sets the priority that Amazon Lex should use when eliciting slot values from a user.

## Syntax
<a name="aws-properties-lex-bot-slotpriority-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-lex-bot-slotpriority-syntax.json"></a>

```
{
  "[Priority](#cfn-lex-bot-slotpriority-priority)" : Integer,
  "[SlotName](#cfn-lex-bot-slotpriority-slotname)" : String
}
```

### YAML
<a name="aws-properties-lex-bot-slotpriority-syntax.yaml"></a>

```
  [Priority](#cfn-lex-bot-slotpriority-priority): Integer
  [SlotName](#cfn-lex-bot-slotpriority-slotname): String
```

## Properties
<a name="aws-properties-lex-bot-slotpriority-properties"></a>

`Priority`  <a name="cfn-lex-bot-slotpriority-priority"></a>
The priority that Amazon Lex should apply to the slot.  
*Required*: Yes  
*Type*: Integer  
*Minimum*: `0`  
*Maximum*: `100`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`SlotName`  <a name="cfn-lex-bot-slotpriority-slotname"></a>
The name of the slot.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^([0-9a-zA-Z][_-]?)+$`  
*Minimum*: `1`  
*Maximum*: `100`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Lex::Bot SlotResolutionImprovementSpecification
<a name="aws-properties-lex-bot-slotresolutionimprovementspecification"></a>

Contains specifications for the assisted slot resolution feature.

## Syntax
<a name="aws-properties-lex-bot-slotresolutionimprovementspecification-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-lex-bot-slotresolutionimprovementspecification-syntax.json"></a>

```
{
  "[BedrockModelSpecification](#cfn-lex-bot-slotresolutionimprovementspecification-bedrockmodelspecification)" : BedrockModelSpecification,
  "[Enabled](#cfn-lex-bot-slotresolutionimprovementspecification-enabled)" : Boolean
}
```

### YAML
<a name="aws-properties-lex-bot-slotresolutionimprovementspecification-syntax.yaml"></a>

```
  [BedrockModelSpecification](#cfn-lex-bot-slotresolutionimprovementspecification-bedrockmodelspecification): 
    BedrockModelSpecification
  [Enabled](#cfn-lex-bot-slotresolutionimprovementspecification-enabled): Boolean
```

## Properties
<a name="aws-properties-lex-bot-slotresolutionimprovementspecification-properties"></a>

`BedrockModelSpecification`  <a name="cfn-lex-bot-slotresolutionimprovementspecification-bedrockmodelspecification"></a>
An object containing information about the Amazon Bedrock model used to assist slot resolution.  
*Required*: No  
*Type*: [BedrockModelSpecification](aws-properties-lex-bot-bedrockmodelspecification.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Enabled`  <a name="cfn-lex-bot-slotresolutionimprovementspecification-enabled"></a>
Specifies whether assisted slot resolution is turned on or off.  
*Required*: Yes  
*Type*: Boolean  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Lex::Bot SlotType
<a name="aws-properties-lex-bot-slottype"></a>

Describes a slot type.

## Syntax
<a name="aws-properties-lex-bot-slottype-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-lex-bot-slottype-syntax.json"></a>

```
{
  "[CompositeSlotTypeSetting](#cfn-lex-bot-slottype-compositeslottypesetting)" : CompositeSlotTypeSetting,
  "[Description](#cfn-lex-bot-slottype-description)" : String,
  "[ExternalSourceSetting](#cfn-lex-bot-slottype-externalsourcesetting)" : ExternalSourceSetting,
  "[Name](#cfn-lex-bot-slottype-name)" : String,
  "[ParentSlotTypeSignature](#cfn-lex-bot-slottype-parentslottypesignature)" : String,
  "[SlotTypeValues](#cfn-lex-bot-slottype-slottypevalues)" : [ SlotTypeValue, ... ],
  "[ValueSelectionSetting](#cfn-lex-bot-slottype-valueselectionsetting)" : SlotValueSelectionSetting
}
```

### YAML
<a name="aws-properties-lex-bot-slottype-syntax.yaml"></a>

```
  [CompositeSlotTypeSetting](#cfn-lex-bot-slottype-compositeslottypesetting): 
    CompositeSlotTypeSetting
  [Description](#cfn-lex-bot-slottype-description): String
  [ExternalSourceSetting](#cfn-lex-bot-slottype-externalsourcesetting): 
    ExternalSourceSetting
  [Name](#cfn-lex-bot-slottype-name): String
  [ParentSlotTypeSignature](#cfn-lex-bot-slottype-parentslottypesignature): String
  [SlotTypeValues](#cfn-lex-bot-slottype-slottypevalues): 
    - SlotTypeValue
  [ValueSelectionSetting](#cfn-lex-bot-slottype-valueselectionsetting): 
    SlotValueSelectionSetting
```

## Properties
<a name="aws-properties-lex-bot-slottype-properties"></a>

`CompositeSlotTypeSetting`  <a name="cfn-lex-bot-slottype-compositeslottypesetting"></a>
Property description not available.  
*Required*: No  
*Type*: [CompositeSlotTypeSetting](aws-properties-lex-bot-compositeslottypesetting.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Description`  <a name="cfn-lex-bot-slottype-description"></a>
A description of the slot type. Use the description to help identify the slot type in lists.  
*Required*: No  
*Type*: String  
*Maximum*: `2000`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ExternalSourceSetting`  <a name="cfn-lex-bot-slottype-externalsourcesetting"></a>
Sets the type of external information used to create the slot type.  
*Required*: No  
*Type*: [ExternalSourceSetting](aws-properties-lex-bot-externalsourcesetting.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Name`  <a name="cfn-lex-bot-slottype-name"></a>
The name of the slot type. A slot type name must be unique withing the account.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^([0-9a-zA-Z][_-]?)+$`  
*Minimum*: `1`  
*Maximum*: `100`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ParentSlotTypeSignature`  <a name="cfn-lex-bot-slottype-parentslottypesignature"></a>
The built-in slot type used as a parent of this slot type. When you define a parent slot type, the new slot type has the configuration of the parent lot type.  
Only `AMAZON.AlphaNumeric` is supported.  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`SlotTypeValues`  <a name="cfn-lex-bot-slottype-slottypevalues"></a>
A list of SlotTypeValue objects that defines the values that the slot type can take. Each value can have a list of synonyms, additional values that help train the machine learning model about the values that it resolves for the slot.  
*Required*: No  
*Type*: Array of [SlotTypeValue](aws-properties-lex-bot-slottypevalue.md)  
*Maximum*: `10000`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ValueSelectionSetting`  <a name="cfn-lex-bot-slottype-valueselectionsetting"></a>
Determines the slot resolution strategy that Amazon Lex uses to return slot type values. The field can be set to one of the following values:  
+ `ORIGINAL_VALUE` - Returns the value entered by the user, if the user value is similar to the slot value.
+ `TOP_RESOLUTION` - If there is a resolution list for the slot, return the first value in the resolution list as the slot type value. If there is no resolution list, null is returned.
If you don't specify the `valueSelectionStrategy`, the default is `ORIGINAL_VALUE`.  
*Required*: No  
*Type*: [SlotValueSelectionSetting](aws-properties-lex-bot-slotvalueselectionsetting.md)  
*Allowed values*: `OriginalValue | TopResolution | Concatenation`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Lex::Bot SlotTypeValue
<a name="aws-properties-lex-bot-slottypevalue"></a>

Each slot type can have a set of values. Each `SlotTypeValue` represents a value that the slot type can take.

## Syntax
<a name="aws-properties-lex-bot-slottypevalue-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-lex-bot-slottypevalue-syntax.json"></a>

```
{
  "[SampleValue](#cfn-lex-bot-slottypevalue-samplevalue)" : SampleValue,
  "[Synonyms](#cfn-lex-bot-slottypevalue-synonyms)" : [ SampleValue, ... ]
}
```

### YAML
<a name="aws-properties-lex-bot-slottypevalue-syntax.yaml"></a>

```
  [SampleValue](#cfn-lex-bot-slottypevalue-samplevalue): 
    SampleValue
  [Synonyms](#cfn-lex-bot-slottypevalue-synonyms): 
    - SampleValue
```

## Properties
<a name="aws-properties-lex-bot-slottypevalue-properties"></a>

`SampleValue`  <a name="cfn-lex-bot-slottypevalue-samplevalue"></a>
The value of the slot type entry.  
*Required*: Yes  
*Type*: [SampleValue](aws-properties-lex-bot-samplevalue.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Synonyms`  <a name="cfn-lex-bot-slottypevalue-synonyms"></a>
Additional values related to the slot type entry.  
*Required*: No  
*Type*: Array of [SampleValue](aws-properties-lex-bot-samplevalue.md)  
*Maximum*: `10000`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Lex::Bot SlotValue
<a name="aws-properties-lex-bot-slotvalue"></a>

The value to set in a slot.

## Syntax
<a name="aws-properties-lex-bot-slotvalue-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-lex-bot-slotvalue-syntax.json"></a>

```
{
  "[InterpretedValue](#cfn-lex-bot-slotvalue-interpretedvalue)" : String
}
```

### YAML
<a name="aws-properties-lex-bot-slotvalue-syntax.yaml"></a>

```
  [InterpretedValue](#cfn-lex-bot-slotvalue-interpretedvalue): String
```

## Properties
<a name="aws-properties-lex-bot-slotvalue-properties"></a>

`InterpretedValue`  <a name="cfn-lex-bot-slotvalue-interpretedvalue"></a>
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.  
*Required*: No  
*Type*: String  
*Minimum*: `1`  
*Maximum*: `202`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Lex::Bot SlotValueElicitationSetting
<a name="aws-properties-lex-bot-slotvalueelicitationsetting"></a>

Specifies the elicitation setting details eliciting a slot.

## Syntax
<a name="aws-properties-lex-bot-slotvalueelicitationsetting-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-lex-bot-slotvalueelicitationsetting-syntax.json"></a>

```
{
  "[DefaultValueSpecification](#cfn-lex-bot-slotvalueelicitationsetting-defaultvaluespecification)" : SlotDefaultValueSpecification,
  "[PromptSpecification](#cfn-lex-bot-slotvalueelicitationsetting-promptspecification)" : PromptSpecification,
  "[SampleUtterances](#cfn-lex-bot-slotvalueelicitationsetting-sampleutterances)" : [ SampleUtterance, ... ],
  "[SlotCaptureSetting](#cfn-lex-bot-slotvalueelicitationsetting-slotcapturesetting)" : SlotCaptureSetting,
  "[SlotConstraint](#cfn-lex-bot-slotvalueelicitationsetting-slotconstraint)" : String,
  "[WaitAndContinueSpecification](#cfn-lex-bot-slotvalueelicitationsetting-waitandcontinuespecification)" : WaitAndContinueSpecification
}
```

### YAML
<a name="aws-properties-lex-bot-slotvalueelicitationsetting-syntax.yaml"></a>

```
  [DefaultValueSpecification](#cfn-lex-bot-slotvalueelicitationsetting-defaultvaluespecification): 
    SlotDefaultValueSpecification
  [PromptSpecification](#cfn-lex-bot-slotvalueelicitationsetting-promptspecification): 
    PromptSpecification
  [SampleUtterances](#cfn-lex-bot-slotvalueelicitationsetting-sampleutterances): 
    - SampleUtterance
  [SlotCaptureSetting](#cfn-lex-bot-slotvalueelicitationsetting-slotcapturesetting): 
    SlotCaptureSetting
  [SlotConstraint](#cfn-lex-bot-slotvalueelicitationsetting-slotconstraint): String
  [WaitAndContinueSpecification](#cfn-lex-bot-slotvalueelicitationsetting-waitandcontinuespecification): 
    WaitAndContinueSpecification
```

## Properties
<a name="aws-properties-lex-bot-slotvalueelicitationsetting-properties"></a>

`DefaultValueSpecification`  <a name="cfn-lex-bot-slotvalueelicitationsetting-defaultvaluespecification"></a>
A list of default values for a slot. Default values are used when Amazon Lex hasn't determined a value for a slot. You can specify default values from context variables, session attributes, and defined values.  
*Required*: No  
*Type*: [SlotDefaultValueSpecification](aws-properties-lex-bot-slotdefaultvaluespecification.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`PromptSpecification`  <a name="cfn-lex-bot-slotvalueelicitationsetting-promptspecification"></a>
The prompt that Amazon Lex uses to elicit the slot value from the user.  
*Required*: No  
*Type*: [PromptSpecification](aws-properties-lex-bot-promptspecification.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`SampleUtterances`  <a name="cfn-lex-bot-slotvalueelicitationsetting-sampleutterances"></a>
If you know a specific pattern that users might respond to an Amazon Lex request for a slot value, you can provide those utterances to improve accuracy. This is optional. In most cases, Amazon Lex is capable of understanding user utterances.  
*Required*: No  
*Type*: Array of [SampleUtterance](aws-properties-lex-bot-sampleutterance.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`SlotCaptureSetting`  <a name="cfn-lex-bot-slotvalueelicitationsetting-slotcapturesetting"></a>
Specifies the settings that Amazon Lex uses when a slot value is successfully entered by a user.  
*Required*: No  
*Type*: [SlotCaptureSetting](aws-properties-lex-bot-slotcapturesetting.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`SlotConstraint`  <a name="cfn-lex-bot-slotvalueelicitationsetting-slotconstraint"></a>
Specifies whether the slot is required or optional.  
*Required*: Yes  
*Type*: String  
*Allowed values*: `Required | Optional`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`WaitAndContinueSpecification`  <a name="cfn-lex-bot-slotvalueelicitationsetting-waitandcontinuespecification"></a>
Specifies the prompts that Amazon Lex uses while a bot is waiting for customer input.   
*Required*: No  
*Type*: [WaitAndContinueSpecification](aws-properties-lex-bot-waitandcontinuespecification.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Lex::Bot SlotValueOverride
<a name="aws-properties-lex-bot-slotvalueoverride"></a>

The slot values that Amazon Lex uses when it sets slot values in a dialog step.

## Syntax
<a name="aws-properties-lex-bot-slotvalueoverride-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-lex-bot-slotvalueoverride-syntax.json"></a>

```
{
  "[Shape](#cfn-lex-bot-slotvalueoverride-shape)" : String,
  "[Value](#cfn-lex-bot-slotvalueoverride-value)" : SlotValue,
  "[Values](#cfn-lex-bot-slotvalueoverride-values)" : [ SlotValueOverride, ... ]
}
```

### YAML
<a name="aws-properties-lex-bot-slotvalueoverride-syntax.yaml"></a>

```
  [Shape](#cfn-lex-bot-slotvalueoverride-shape): String
  [Value](#cfn-lex-bot-slotvalueoverride-value): 
    SlotValue
  [Values](#cfn-lex-bot-slotvalueoverride-values): 
    - SlotValueOverride
```

## Properties
<a name="aws-properties-lex-bot-slotvalueoverride-properties"></a>

`Shape`  <a name="cfn-lex-bot-slotvalueoverride-shape"></a>
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.  
*Required*: No  
*Type*: String  
*Allowed values*: `Scalar | List`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Value`  <a name="cfn-lex-bot-slotvalueoverride-value"></a>
The current value of the slot.  
*Required*: No  
*Type*: [SlotValue](aws-properties-lex-bot-slotvalue.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Values`  <a name="cfn-lex-bot-slotvalueoverride-values"></a>
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."  
*Required*: No  
*Type*: Array of [SlotValueOverride](#aws-properties-lex-bot-slotvalueoverride)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Lex::Bot SlotValueOverrideMap
<a name="aws-properties-lex-bot-slotvalueoverridemap"></a>

Maps a slot name to the [SlotValueOverride](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_SlotValueOverride.html) object.

## Syntax
<a name="aws-properties-lex-bot-slotvalueoverridemap-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-lex-bot-slotvalueoverridemap-syntax.json"></a>

```
{
  "[SlotName](#cfn-lex-bot-slotvalueoverridemap-slotname)" : String,
  "[SlotValueOverride](#cfn-lex-bot-slotvalueoverridemap-slotvalueoverride)" : SlotValueOverride
}
```

### YAML
<a name="aws-properties-lex-bot-slotvalueoverridemap-syntax.yaml"></a>

```
  [SlotName](#cfn-lex-bot-slotvalueoverridemap-slotname): String
  [SlotValueOverride](#cfn-lex-bot-slotvalueoverridemap-slotvalueoverride): 
    SlotValueOverride
```

## Properties
<a name="aws-properties-lex-bot-slotvalueoverridemap-properties"></a>

`SlotName`  <a name="cfn-lex-bot-slotvalueoverridemap-slotname"></a>
The name of the slot.  
*Required*: No  
*Type*: String  
*Pattern*: `^([0-9a-zA-Z][_-]?)+$`  
*Minimum*: `1`  
*Maximum*: `100`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`SlotValueOverride`  <a name="cfn-lex-bot-slotvalueoverridemap-slotvalueoverride"></a>
The SlotValueOverride object to which the slot name will be mapped.  
*Required*: No  
*Type*: [SlotValueOverride](aws-properties-lex-bot-slotvalueoverride.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Lex::Bot SlotValueRegexFilter
<a name="aws-properties-lex-bot-slotvalueregexfilter"></a>

Provides a regular expression used to validate the value of a slot.

## Syntax
<a name="aws-properties-lex-bot-slotvalueregexfilter-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-lex-bot-slotvalueregexfilter-syntax.json"></a>

```
{
  "[Pattern](#cfn-lex-bot-slotvalueregexfilter-pattern)" : String
}
```

### YAML
<a name="aws-properties-lex-bot-slotvalueregexfilter-syntax.yaml"></a>

```
  [Pattern](#cfn-lex-bot-slotvalueregexfilter-pattern): String
```

## Properties
<a name="aws-properties-lex-bot-slotvalueregexfilter-properties"></a>

`Pattern`  <a name="cfn-lex-bot-slotvalueregexfilter-pattern"></a>
A regular expression used to validate the value of a slot.  
 Use a standard regular expression. Amazon Lex supports the following characters in the regular expression:   
+ A-Z, a-z
+ 0-9
+ Unicode characters ("\$1⁠u<Unicode>")
 Represent Unicode characters with four digits, for example "\$1⁠u0041" or "\$1⁠u005A".   
 The following regular expression operators are not supported:   
+ Infinite repeaters: \$1, \$1, or \$1x,\$1 with no upper bound.
+ Wild card (.)
*Required*: Yes  
*Type*: String  
*Minimum*: `1`  
*Maximum*: `300`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Lex::Bot SlotValueSelectionSetting
<a name="aws-properties-lex-bot-slotvalueselectionsetting"></a>

Contains settings used by Amazon Lex to select a slot value.

## Syntax
<a name="aws-properties-lex-bot-slotvalueselectionsetting-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-lex-bot-slotvalueselectionsetting-syntax.json"></a>

```
{
  "[AdvancedRecognitionSetting](#cfn-lex-bot-slotvalueselectionsetting-advancedrecognitionsetting)" : AdvancedRecognitionSetting,
  "[RegexFilter](#cfn-lex-bot-slotvalueselectionsetting-regexfilter)" : SlotValueRegexFilter,
  "[ResolutionStrategy](#cfn-lex-bot-slotvalueselectionsetting-resolutionstrategy)" : String
}
```

### YAML
<a name="aws-properties-lex-bot-slotvalueselectionsetting-syntax.yaml"></a>

```
  [AdvancedRecognitionSetting](#cfn-lex-bot-slotvalueselectionsetting-advancedrecognitionsetting): 
    AdvancedRecognitionSetting
  [RegexFilter](#cfn-lex-bot-slotvalueselectionsetting-regexfilter): 
    SlotValueRegexFilter
  [ResolutionStrategy](#cfn-lex-bot-slotvalueselectionsetting-resolutionstrategy): String
```

## Properties
<a name="aws-properties-lex-bot-slotvalueselectionsetting-properties"></a>

`AdvancedRecognitionSetting`  <a name="cfn-lex-bot-slotvalueselectionsetting-advancedrecognitionsetting"></a>
Provides settings that enable advanced recognition settings for slot values. You can use this to enable using slot values as a custom vocabulary for recognizing user utterances.  
*Required*: No  
*Type*: [AdvancedRecognitionSetting](aws-properties-lex-bot-advancedrecognitionsetting.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`RegexFilter`  <a name="cfn-lex-bot-slotvalueselectionsetting-regexfilter"></a>
A regular expression used to validate the value of a slot.  
*Required*: No  
*Type*: [SlotValueRegexFilter](aws-properties-lex-bot-slotvalueregexfilter.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ResolutionStrategy`  <a name="cfn-lex-bot-slotvalueselectionsetting-resolutionstrategy"></a>
Determines the slot resolution strategy that Amazon Lex uses to return slot type values. The field can be set to one of the following values:  
+ `ORIGINAL_VALUE` - Returns the value entered by the user, if the user value is similar to the slot value.
+ `TOP_RESOLUTION` - If there is a resolution list for the slot, return the first value in the resolution list as the slot type value. If there is no resolution list, null is returned.
If you don't specify the `valueSelectionStrategy`, the default is `ORIGINAL_VALUE`.  
*Required*: Yes  
*Type*: String  
*Allowed values*: `ORIGINAL_VALUE | TOP_RESOLUTION | CONCATENATION`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Lex::Bot Specifications
<a name="aws-properties-lex-bot-specifications"></a>

Subslot specifications.

## Syntax
<a name="aws-properties-lex-bot-specifications-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-lex-bot-specifications-syntax.json"></a>

```
{
  "[SlotTypeId](#cfn-lex-bot-specifications-slottypeid)" : String,
  "[SlotTypeName](#cfn-lex-bot-specifications-slottypename)" : String,
  "[ValueElicitationSetting](#cfn-lex-bot-specifications-valueelicitationsetting)" : SubSlotValueElicitationSetting
}
```

### YAML
<a name="aws-properties-lex-bot-specifications-syntax.yaml"></a>

```
  [SlotTypeId](#cfn-lex-bot-specifications-slottypeid): String
  [SlotTypeName](#cfn-lex-bot-specifications-slottypename): String
  [ValueElicitationSetting](#cfn-lex-bot-specifications-valueelicitationsetting): 
    SubSlotValueElicitationSetting
```

## Properties
<a name="aws-properties-lex-bot-specifications-properties"></a>

`SlotTypeId`  <a name="cfn-lex-bot-specifications-slottypeid"></a>
The unique identifier assigned to the slot type.  
*Required*: No  
*Type*: String  
*Pattern*: `^((AMAZON\.)[a-zA-Z_]+?|[0-9a-zA-Z]+)$`  
*Minimum*: `1`  
*Maximum*: `25`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`SlotTypeName`  <a name="cfn-lex-bot-specifications-slottypename"></a>
Property description not available.  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ValueElicitationSetting`  <a name="cfn-lex-bot-specifications-valueelicitationsetting"></a>
Specifies the elicitation setting details for constituent sub slots of a composite slot.  
*Required*: Yes  
*Type*: [SubSlotValueElicitationSetting](aws-properties-lex-bot-subslotvalueelicitationsetting.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Lex::Bot SpeechFoundationModel
<a name="aws-properties-lex-bot-speechfoundationmodel"></a>

Configuration for a foundation model used for speech synthesis and recognition capabilities.

## Syntax
<a name="aws-properties-lex-bot-speechfoundationmodel-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-lex-bot-speechfoundationmodel-syntax.json"></a>

```
{
  "[ModelArn](#cfn-lex-bot-speechfoundationmodel-modelarn)" : String,
  "[VoiceId](#cfn-lex-bot-speechfoundationmodel-voiceid)" : String
}
```

### YAML
<a name="aws-properties-lex-bot-speechfoundationmodel-syntax.yaml"></a>

```
  [ModelArn](#cfn-lex-bot-speechfoundationmodel-modelarn): String
  [VoiceId](#cfn-lex-bot-speechfoundationmodel-voiceid): String
```

## Properties
<a name="aws-properties-lex-bot-speechfoundationmodel-properties"></a>

`ModelArn`  <a name="cfn-lex-bot-speechfoundationmodel-modelarn"></a>
Property description not available.  
*Required*: Yes  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`VoiceId`  <a name="cfn-lex-bot-speechfoundationmodel-voiceid"></a>
The identifier of the voice to use for speech synthesis with the foundation model.  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Lex::Bot SpeechModelConfig
<a name="aws-properties-lex-bot-speechmodelconfig"></a>

Configuration settings that define which speech-to-text model to use for processing speech input.

## Syntax
<a name="aws-properties-lex-bot-speechmodelconfig-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-lex-bot-speechmodelconfig-syntax.json"></a>

```
{
  "[DeepgramConfig](#cfn-lex-bot-speechmodelconfig-deepgramconfig)" : DeepgramSpeechModelConfig
}
```

### YAML
<a name="aws-properties-lex-bot-speechmodelconfig-syntax.yaml"></a>

```
  [DeepgramConfig](#cfn-lex-bot-speechmodelconfig-deepgramconfig): 
    DeepgramSpeechModelConfig
```

## Properties
<a name="aws-properties-lex-bot-speechmodelconfig-properties"></a>

`DeepgramConfig`  <a name="cfn-lex-bot-speechmodelconfig-deepgramconfig"></a>
Configuration settings for using Deepgram as the speech-to-text provider.  
*Required*: No  
*Type*: [DeepgramSpeechModelConfig](aws-properties-lex-bot-deepgramspeechmodelconfig.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Lex::Bot SpeechRecognitionSettings
<a name="aws-properties-lex-bot-speechrecognitionsettings"></a>

Settings that control how Amazon Lex processes and recognizes speech input from users.

## Syntax
<a name="aws-properties-lex-bot-speechrecognitionsettings-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-lex-bot-speechrecognitionsettings-syntax.json"></a>

```
{
  "[SpeechModelConfig](#cfn-lex-bot-speechrecognitionsettings-speechmodelconfig)" : SpeechModelConfig,
  "[SpeechModelPreference](#cfn-lex-bot-speechrecognitionsettings-speechmodelpreference)" : String
}
```

### YAML
<a name="aws-properties-lex-bot-speechrecognitionsettings-syntax.yaml"></a>

```
  [SpeechModelConfig](#cfn-lex-bot-speechrecognitionsettings-speechmodelconfig): 
    SpeechModelConfig
  [SpeechModelPreference](#cfn-lex-bot-speechrecognitionsettings-speechmodelpreference): String
```

## Properties
<a name="aws-properties-lex-bot-speechrecognitionsettings-properties"></a>

`SpeechModelConfig`  <a name="cfn-lex-bot-speechrecognitionsettings-speechmodelconfig"></a>
Configuration settings for the selected speech-to-text model.  
*Required*: No  
*Type*: [SpeechModelConfig](aws-properties-lex-bot-speechmodelconfig.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`SpeechModelPreference`  <a name="cfn-lex-bot-speechrecognitionsettings-speechmodelpreference"></a>
The speech-to-text model to use.  
*Required*: No  
*Type*: String  
*Allowed values*: `Standard | Neural | Deepgram`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Lex::Bot SSMLMessage
<a name="aws-properties-lex-bot-ssmlmessage"></a>

Defines a Speech Synthesis Markup Language (SSML) prompt.

## Syntax
<a name="aws-properties-lex-bot-ssmlmessage-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-lex-bot-ssmlmessage-syntax.json"></a>

```
{
  "[Value](#cfn-lex-bot-ssmlmessage-value)" : String
}
```

### YAML
<a name="aws-properties-lex-bot-ssmlmessage-syntax.yaml"></a>

```
  [Value](#cfn-lex-bot-ssmlmessage-value): String
```

## Properties
<a name="aws-properties-lex-bot-ssmlmessage-properties"></a>

`Value`  <a name="cfn-lex-bot-ssmlmessage-value"></a>
The SSML text that defines the prompt.  
*Required*: Yes  
*Type*: String  
*Minimum*: `1`  
*Maximum*: `1000`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Lex::Bot StillWaitingResponseSpecification
<a name="aws-properties-lex-bot-stillwaitingresponsespecification"></a>

Defines the messages that Amazon Lex sends to a user to remind them that the bot is waiting for a response.

## Syntax
<a name="aws-properties-lex-bot-stillwaitingresponsespecification-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-lex-bot-stillwaitingresponsespecification-syntax.json"></a>

```
{
  "[AllowInterrupt](#cfn-lex-bot-stillwaitingresponsespecification-allowinterrupt)" : Boolean,
  "[FrequencyInSeconds](#cfn-lex-bot-stillwaitingresponsespecification-frequencyinseconds)" : Integer,
  "[MessageGroupsList](#cfn-lex-bot-stillwaitingresponsespecification-messagegroupslist)" : [ MessageGroup, ... ],
  "[TimeoutInSeconds](#cfn-lex-bot-stillwaitingresponsespecification-timeoutinseconds)" : Integer
}
```

### YAML
<a name="aws-properties-lex-bot-stillwaitingresponsespecification-syntax.yaml"></a>

```
  [AllowInterrupt](#cfn-lex-bot-stillwaitingresponsespecification-allowinterrupt): Boolean
  [FrequencyInSeconds](#cfn-lex-bot-stillwaitingresponsespecification-frequencyinseconds): Integer
  [MessageGroupsList](#cfn-lex-bot-stillwaitingresponsespecification-messagegroupslist): 
    - MessageGroup
  [TimeoutInSeconds](#cfn-lex-bot-stillwaitingresponsespecification-timeoutinseconds): Integer
```

## Properties
<a name="aws-properties-lex-bot-stillwaitingresponsespecification-properties"></a>

`AllowInterrupt`  <a name="cfn-lex-bot-stillwaitingresponsespecification-allowinterrupt"></a>
Indicates that the user can interrupt the response by speaking while the message is being played.  
*Required*: No  
*Type*: Boolean  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`FrequencyInSeconds`  <a name="cfn-lex-bot-stillwaitingresponsespecification-frequencyinseconds"></a>
How often a message should be sent to the user. Minimum of 1 second, maximum of 5 minutes.  
*Required*: Yes  
*Type*: Integer  
*Minimum*: `1`  
*Maximum*: `300`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`MessageGroupsList`  <a name="cfn-lex-bot-stillwaitingresponsespecification-messagegroupslist"></a>
One or more message groups, each containing one or more messages, that define the prompts that Amazon Lex sends to the user.  
*Required*: Yes  
*Type*: Array of [MessageGroup](aws-properties-lex-bot-messagegroup.md)  
*Minimum*: `1`  
*Maximum*: `5`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`TimeoutInSeconds`  <a name="cfn-lex-bot-stillwaitingresponsespecification-timeoutinseconds"></a>
If Amazon Lex waits longer than this length of time for a response, it will stop sending messages.  
*Required*: Yes  
*Type*: Integer  
*Minimum*: `1`  
*Maximum*: `900`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Lex::Bot SubSlotSetting
<a name="aws-properties-lex-bot-subslotsetting"></a>

Specifications for the constituent sub slots and the expression for the composite slot.

## Syntax
<a name="aws-properties-lex-bot-subslotsetting-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-lex-bot-subslotsetting-syntax.json"></a>

```
{
  "[Expression](#cfn-lex-bot-subslotsetting-expression)" : String,
  "[SlotSpecifications](#cfn-lex-bot-subslotsetting-slotspecifications)" : {Key: Value, ...}
}
```

### YAML
<a name="aws-properties-lex-bot-subslotsetting-syntax.yaml"></a>

```
  [Expression](#cfn-lex-bot-subslotsetting-expression): String
  [SlotSpecifications](#cfn-lex-bot-subslotsetting-slotspecifications): 
    Key: Value
```

## Properties
<a name="aws-properties-lex-bot-subslotsetting-properties"></a>

`Expression`  <a name="cfn-lex-bot-subslotsetting-expression"></a>
The expression text for defining the constituent sub slots in the composite slot using logical AND and OR operators.  
*Required*: No  
*Type*: String  
*Pattern*: `[0-9A-Za-z_\-\s\(\)]+`  
*Minimum*: `1`  
*Maximum*: `1000`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`SlotSpecifications`  <a name="cfn-lex-bot-subslotsetting-slotspecifications"></a>
Specifications for the constituent sub slots of a composite slot.  
*Required*: No  
*Type*: Object of [Specifications](aws-properties-lex-bot-specifications.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Lex::Bot SubSlotTypeComposition
<a name="aws-properties-lex-bot-subslottypecomposition"></a>

Subslot type composition.

## Syntax
<a name="aws-properties-lex-bot-subslottypecomposition-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-lex-bot-subslottypecomposition-syntax.json"></a>

```
{
  "[Name](#cfn-lex-bot-subslottypecomposition-name)" : String,
  "[SlotTypeId](#cfn-lex-bot-subslottypecomposition-slottypeid)" : String,
  "[SlotTypeName](#cfn-lex-bot-subslottypecomposition-slottypename)" : String
}
```

### YAML
<a name="aws-properties-lex-bot-subslottypecomposition-syntax.yaml"></a>

```
  [Name](#cfn-lex-bot-subslottypecomposition-name): String
  [SlotTypeId](#cfn-lex-bot-subslottypecomposition-slottypeid): String
  [SlotTypeName](#cfn-lex-bot-subslottypecomposition-slottypename): String
```

## Properties
<a name="aws-properties-lex-bot-subslottypecomposition-properties"></a>

`Name`  <a name="cfn-lex-bot-subslottypecomposition-name"></a>
Name of a constituent sub slot inside a composite slot.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^([0-9a-zA-Z][_-]?){1,100}$`  
*Minimum*: `1`  
*Maximum*: `100`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`SlotTypeId`  <a name="cfn-lex-bot-subslottypecomposition-slottypeid"></a>
The unique identifier assigned to a slot type. This refers to either a built-in slot type or the unique slotTypeId of a custom slot type.  
*Required*: No  
*Type*: String  
*Pattern*: `^((AMAZON\.)[a-zA-Z_]+?|[0-9a-zA-Z]+)$`  
*Minimum*: `1`  
*Maximum*: `25`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`SlotTypeName`  <a name="cfn-lex-bot-subslottypecomposition-slottypename"></a>
Property description not available.  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Lex::Bot SubSlotValueElicitationSetting
<a name="aws-properties-lex-bot-subslotvalueelicitationsetting"></a>

Subslot elicitation settings.

`DefaultValueSpecification` is a list of default values for a constituent sub slot in a composite slot. Default values are used when Amazon Lex hasn't determined a value for a slot. You can specify default values from context variables, session attributes, and defined values. This is similar to `DefaultValueSpecification` for slots.

`PromptSpecification` is the prompt that Amazon Lex uses to elicit the sub slot value from the user. This is similar to `PromptSpecification` for slots.

## Syntax
<a name="aws-properties-lex-bot-subslotvalueelicitationsetting-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-lex-bot-subslotvalueelicitationsetting-syntax.json"></a>

```
{
  "[DefaultValueSpecification](#cfn-lex-bot-subslotvalueelicitationsetting-defaultvaluespecification)" : SlotDefaultValueSpecification,
  "[PromptSpecification](#cfn-lex-bot-subslotvalueelicitationsetting-promptspecification)" : PromptSpecification,
  "[SampleUtterances](#cfn-lex-bot-subslotvalueelicitationsetting-sampleutterances)" : [ SampleUtterance, ... ],
  "[WaitAndContinueSpecification](#cfn-lex-bot-subslotvalueelicitationsetting-waitandcontinuespecification)" : WaitAndContinueSpecification
}
```

### YAML
<a name="aws-properties-lex-bot-subslotvalueelicitationsetting-syntax.yaml"></a>

```
  [DefaultValueSpecification](#cfn-lex-bot-subslotvalueelicitationsetting-defaultvaluespecification): 
    SlotDefaultValueSpecification
  [PromptSpecification](#cfn-lex-bot-subslotvalueelicitationsetting-promptspecification): 
    PromptSpecification
  [SampleUtterances](#cfn-lex-bot-subslotvalueelicitationsetting-sampleutterances): 
    - SampleUtterance
  [WaitAndContinueSpecification](#cfn-lex-bot-subslotvalueelicitationsetting-waitandcontinuespecification): 
    WaitAndContinueSpecification
```

## Properties
<a name="aws-properties-lex-bot-subslotvalueelicitationsetting-properties"></a>

`DefaultValueSpecification`  <a name="cfn-lex-bot-subslotvalueelicitationsetting-defaultvaluespecification"></a>
Property description not available.  
*Required*: No  
*Type*: [SlotDefaultValueSpecification](aws-properties-lex-bot-slotdefaultvaluespecification.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`PromptSpecification`  <a name="cfn-lex-bot-subslotvalueelicitationsetting-promptspecification"></a>
Property description not available.  
*Required*: No  
*Type*: [PromptSpecification](aws-properties-lex-bot-promptspecification.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`SampleUtterances`  <a name="cfn-lex-bot-subslotvalueelicitationsetting-sampleutterances"></a>
If you know a specific pattern that users might respond to an Amazon Lex request for a sub slot value, you can provide those utterances to improve accuracy. This is optional. In most cases Amazon Lex is capable of understanding user utterances. This is similar to `SampleUtterances` for slots.  
*Required*: No  
*Type*: Array of [SampleUtterance](aws-properties-lex-bot-sampleutterance.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`WaitAndContinueSpecification`  <a name="cfn-lex-bot-subslotvalueelicitationsetting-waitandcontinuespecification"></a>
Property description not available.  
*Required*: No  
*Type*: [WaitAndContinueSpecification](aws-properties-lex-bot-waitandcontinuespecification.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Lex::Bot Tag
<a name="aws-properties-lex-bot-tag"></a>

<a name="aws-properties-lex-bot-tag-description"></a>The `Tag` property type specifies Property description not available. for an [AWS::Lex::Bot](aws-resource-lex-bot.md).

## Syntax
<a name="aws-properties-lex-bot-tag-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-lex-bot-tag-syntax.json"></a>

```
{
  "[Key](#cfn-lex-bot-tag-key)" : String,
  "[Value](#cfn-lex-bot-tag-value)" : String
}
```

### YAML
<a name="aws-properties-lex-bot-tag-syntax.yaml"></a>

```
  [Key](#cfn-lex-bot-tag-key): String
  [Value](#cfn-lex-bot-tag-value): String
```

## Properties
<a name="aws-properties-lex-bot-tag-properties"></a>

`Key`  <a name="cfn-lex-bot-tag-key"></a>
Property description not available.  
*Required*: Yes  
*Type*: String  
*Minimum*: `1`  
*Maximum*: `128`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Value`  <a name="cfn-lex-bot-tag-value"></a>
Property description not available.  
*Required*: Yes  
*Type*: String  
*Minimum*: `0`  
*Maximum*: `256`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Lex::Bot TestBotAliasSettings
<a name="aws-properties-lex-bot-testbotaliassettings"></a>

Specifies configuration settings for the alias used to test the bot. If the `TestBotAliasSettings` property is not specified, the settings are configured with default values.

## Syntax
<a name="aws-properties-lex-bot-testbotaliassettings-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-lex-bot-testbotaliassettings-syntax.json"></a>

```
{
  "[BotAliasLocaleSettings](#cfn-lex-bot-testbotaliassettings-botaliaslocalesettings)" : [ BotAliasLocaleSettingsItem, ... ],
  "[ConversationLogSettings](#cfn-lex-bot-testbotaliassettings-conversationlogsettings)" : ConversationLogSettings,
  "[Description](#cfn-lex-bot-testbotaliassettings-description)" : String,
  "[SentimentAnalysisSettings](#cfn-lex-bot-testbotaliassettings-sentimentanalysissettings)" : SentimentAnalysisSettings
}
```

### YAML
<a name="aws-properties-lex-bot-testbotaliassettings-syntax.yaml"></a>

```
  [BotAliasLocaleSettings](#cfn-lex-bot-testbotaliassettings-botaliaslocalesettings): 
    - BotAliasLocaleSettingsItem
  [ConversationLogSettings](#cfn-lex-bot-testbotaliassettings-conversationlogsettings): 
    ConversationLogSettings
  [Description](#cfn-lex-bot-testbotaliassettings-description): String
  [SentimentAnalysisSettings](#cfn-lex-bot-testbotaliassettings-sentimentanalysissettings): 
    SentimentAnalysisSettings
```

## Properties
<a name="aws-properties-lex-bot-testbotaliassettings-properties"></a>

`BotAliasLocaleSettings`  <a name="cfn-lex-bot-testbotaliassettings-botaliaslocalesettings"></a>
Specifies settings that are unique to a locale. For example, you can use a different Lambda function depending on the bot's locale.  
*Required*: No  
*Type*: [Array](aws-properties-lex-bot-botaliaslocalesettings.md) of [BotAliasLocaleSettingsItem](aws-properties-lex-bot-botaliaslocalesettingsitem.md)  
*Maximum*: `50`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ConversationLogSettings`  <a name="cfn-lex-bot-testbotaliassettings-conversationlogsettings"></a>
Specifies settings for conversation logs that save audio, text, and metadata information for conversations with your users.  
*Required*: No  
*Type*: [ConversationLogSettings](aws-properties-lex-bot-conversationlogsettings.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Description`  <a name="cfn-lex-bot-testbotaliassettings-description"></a>
Specifies a description for the test bot alias.  
*Required*: No  
*Type*: String  
*Maximum*: `2000`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`SentimentAnalysisSettings`  <a name="cfn-lex-bot-testbotaliassettings-sentimentanalysissettings"></a>
Specifies whether Amazon Lex will use Amazon Comprehend to detect the sentiment of user utterances.  
*Required*: No  
*Type*: [SentimentAnalysisSettings](aws-properties-lex-bot-sentimentanalysissettings.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Lex::Bot TextInputSpecification
<a name="aws-properties-lex-bot-textinputspecification"></a>

Specifies the text input specifications.

## Syntax
<a name="aws-properties-lex-bot-textinputspecification-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-lex-bot-textinputspecification-syntax.json"></a>

```
{
  "[StartTimeoutMs](#cfn-lex-bot-textinputspecification-starttimeoutms)" : Integer
}
```

### YAML
<a name="aws-properties-lex-bot-textinputspecification-syntax.yaml"></a>

```
  [StartTimeoutMs](#cfn-lex-bot-textinputspecification-starttimeoutms): Integer
```

## Properties
<a name="aws-properties-lex-bot-textinputspecification-properties"></a>

`StartTimeoutMs`  <a name="cfn-lex-bot-textinputspecification-starttimeoutms"></a>
Time for which a bot waits before re-prompting a customer for text input.  
*Required*: Yes  
*Type*: Integer  
*Minimum*: `1`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Lex::Bot TextLogDestination
<a name="aws-properties-lex-bot-textlogdestination"></a>

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

## Syntax
<a name="aws-properties-lex-bot-textlogdestination-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-lex-bot-textlogdestination-syntax.json"></a>

```
{
  "[CloudWatch](#cfn-lex-bot-textlogdestination-cloudwatch)" : CloudWatchLogGroupLogDestination
}
```

### YAML
<a name="aws-properties-lex-bot-textlogdestination-syntax.yaml"></a>

```
  [CloudWatch](#cfn-lex-bot-textlogdestination-cloudwatch): 
    CloudWatchLogGroupLogDestination
```

## Properties
<a name="aws-properties-lex-bot-textlogdestination-properties"></a>

`CloudWatch`  <a name="cfn-lex-bot-textlogdestination-cloudwatch"></a>
Defines the Amazon CloudWatch Logs log group where text and metadata logs are delivered.  
*Required*: Yes  
*Type*: [CloudWatchLogGroupLogDestination](aws-properties-lex-bot-cloudwatchloggrouplogdestination.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Lex::Bot TextLogSetting
<a name="aws-properties-lex-bot-textlogsetting"></a>

Defines settings to enable text conversation logs.

## Syntax
<a name="aws-properties-lex-bot-textlogsetting-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-lex-bot-textlogsetting-syntax.json"></a>

```
{
  "[Destination](#cfn-lex-bot-textlogsetting-destination)" : TextLogDestination,
  "[Enabled](#cfn-lex-bot-textlogsetting-enabled)" : Boolean
}
```

### YAML
<a name="aws-properties-lex-bot-textlogsetting-syntax.yaml"></a>

```
  [Destination](#cfn-lex-bot-textlogsetting-destination): 
    TextLogDestination
  [Enabled](#cfn-lex-bot-textlogsetting-enabled): Boolean
```

## Properties
<a name="aws-properties-lex-bot-textlogsetting-properties"></a>

`Destination`  <a name="cfn-lex-bot-textlogsetting-destination"></a>
Specifies the Amazon CloudWatch Logs destination log group for conversation text logs.  
*Required*: Yes  
*Type*: [TextLogDestination](aws-properties-lex-bot-textlogdestination.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Enabled`  <a name="cfn-lex-bot-textlogsetting-enabled"></a>
Determines whether conversation logs should be stored for an alias.  
*Required*: Yes  
*Type*: Boolean  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Lex::Bot UnifiedSpeechSettings
<a name="aws-properties-lex-bot-unifiedspeechsettings"></a>

Unified configuration settings that combine speech recognition and synthesis capabilities.

## Syntax
<a name="aws-properties-lex-bot-unifiedspeechsettings-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-lex-bot-unifiedspeechsettings-syntax.json"></a>

```
{
  "[SpeechFoundationModel](#cfn-lex-bot-unifiedspeechsettings-speechfoundationmodel)" : SpeechFoundationModel
}
```

### YAML
<a name="aws-properties-lex-bot-unifiedspeechsettings-syntax.yaml"></a>

```
  [SpeechFoundationModel](#cfn-lex-bot-unifiedspeechsettings-speechfoundationmodel): 
    SpeechFoundationModel
```

## Properties
<a name="aws-properties-lex-bot-unifiedspeechsettings-properties"></a>

`SpeechFoundationModel`  <a name="cfn-lex-bot-unifiedspeechsettings-speechfoundationmodel"></a>
The foundation model configuration to use for unified speech processing capabilities.  
*Required*: Yes  
*Type*: [SpeechFoundationModel](aws-properties-lex-bot-speechfoundationmodel.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Lex::Bot VoiceSettings
<a name="aws-properties-lex-bot-voicesettings"></a>

Defines settings for using an Amazon Polly voice to communicate with a user.

Valid values include:
+  `standard` 
+  `neural` 
+  `long-form` 
+  `generative` 

## Syntax
<a name="aws-properties-lex-bot-voicesettings-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-lex-bot-voicesettings-syntax.json"></a>

```
{
  "[Engine](#cfn-lex-bot-voicesettings-engine)" : String,
  "[VoiceId](#cfn-lex-bot-voicesettings-voiceid)" : String
}
```

### YAML
<a name="aws-properties-lex-bot-voicesettings-syntax.yaml"></a>

```
  [Engine](#cfn-lex-bot-voicesettings-engine): String
  [VoiceId](#cfn-lex-bot-voicesettings-voiceid): String
```

## Properties
<a name="aws-properties-lex-bot-voicesettings-properties"></a>

`Engine`  <a name="cfn-lex-bot-voicesettings-engine"></a>
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](https://docs.aws.amazon.com/polly/latest/dg/API_SynthesizeSpeech.html#polly-SynthesizeSpeech-request-Engine) in the *Amazon Polly developer guide*.  
If you do not specify a value, the default is `standard`.  
*Required*: No  
*Type*: String  
*Allowed values*: `standard | neural | long-form | generative`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`VoiceId`  <a name="cfn-lex-bot-voicesettings-voiceid"></a>
The identifier of the Amazon Polly voice to use.  
*Required*: Yes  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Lex::Bot WaitAndContinueSpecification
<a name="aws-properties-lex-bot-waitandcontinuespecification"></a>

Specifies the prompts that Amazon Lex uses while a bot is waiting for customer input. 

## Syntax
<a name="aws-properties-lex-bot-waitandcontinuespecification-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-lex-bot-waitandcontinuespecification-syntax.json"></a>

```
{
  "[ContinueResponse](#cfn-lex-bot-waitandcontinuespecification-continueresponse)" : ResponseSpecification,
  "[IsActive](#cfn-lex-bot-waitandcontinuespecification-isactive)" : Boolean,
  "[StillWaitingResponse](#cfn-lex-bot-waitandcontinuespecification-stillwaitingresponse)" : StillWaitingResponseSpecification,
  "[WaitingResponse](#cfn-lex-bot-waitandcontinuespecification-waitingresponse)" : ResponseSpecification
}
```

### YAML
<a name="aws-properties-lex-bot-waitandcontinuespecification-syntax.yaml"></a>

```
  [ContinueResponse](#cfn-lex-bot-waitandcontinuespecification-continueresponse): 
    ResponseSpecification
  [IsActive](#cfn-lex-bot-waitandcontinuespecification-isactive): Boolean
  [StillWaitingResponse](#cfn-lex-bot-waitandcontinuespecification-stillwaitingresponse): 
    StillWaitingResponseSpecification
  [WaitingResponse](#cfn-lex-bot-waitandcontinuespecification-waitingresponse): 
    ResponseSpecification
```

## Properties
<a name="aws-properties-lex-bot-waitandcontinuespecification-properties"></a>

`ContinueResponse`  <a name="cfn-lex-bot-waitandcontinuespecification-continueresponse"></a>
The response that Amazon Lex sends to indicate that the bot is ready to continue the conversation.  
*Required*: Yes  
*Type*: [ResponseSpecification](aws-properties-lex-bot-responsespecification.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`IsActive`  <a name="cfn-lex-bot-waitandcontinuespecification-isactive"></a>
Specifies whether the bot will wait for a user to respond. When this field is false, wait and continue responses for a slot aren't used. If the `IsActive` field isn't specified, the default is true.  
*Required*: No  
*Type*: Boolean  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`StillWaitingResponse`  <a name="cfn-lex-bot-waitandcontinuespecification-stillwaitingresponse"></a>
A response that Amazon Lex sends periodically to the user to indicate that the bot is still waiting for input from the user.  
*Required*: No  
*Type*: [StillWaitingResponseSpecification](aws-properties-lex-bot-stillwaitingresponsespecification.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`WaitingResponse`  <a name="cfn-lex-bot-waitandcontinuespecification-waitingresponse"></a>
The response that Amazon Lex sends to indicate that the bot is waiting for the conversation to continue.  
*Required*: Yes  
*Type*: [ResponseSpecification](aws-properties-lex-bot-responsespecification.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)