# Amazon Lex Integration

### **Objective:** <a href="#toc59213887" id="toc59213887"></a>

This document will demonstrate how to use the Custom App feature of iX Hello.

### **Introduction to API:** <a href="#toc29323813" id="toc29323813"></a>

iX Hello can integrate with external platform via Web API’s. For this example, we will use <https://jsonplaceholder.typicode.com/users> in our demo web app. We created multiple API endpoints for Contacts module and will be using the endpoint that searches an underlying Contacts database and returns the contact number of a specific person.

The demo web app that we created has the ability to perform CRUD operations against the underlying Contacts database that is triggered by calls to the exposed contact APIs.

### **Goal:** <a href="#toc29323814" id="toc29323814"></a>

Our goal is to demonstrate the capability of iX Hello to integrate with external platforms and perform CRUD operations against them via Web API calls. We will create a Lex app called **Contact Finder**. This Alexa app will look up and return a person’s number that is stored in the contacts database and is accessible via the contacts API endpoints. Note: the example uses Basic Authentication so username/passwords to the external resource is required.

### **Pre-requisites:** <a href="#toc59213890" id="toc59213890"></a>

1. **An active AWS-Account**

You should have an active AWS-Account. If you do not have it, you can create an AWS account at <https://portal.aws.amazon.com/billing/signup#/start>

2. **An iX Hello Account**

For steps to create an account, follow the steps [here](https://docs.ixhello.com/ixhc/general/ix-hello-create-account-original)

1. **AWS-Account - Access Key, Secret access key and AWS Region Name**\
   To be able to connect to Amazon Lex from iX Hello, one AWS IAM user is required, and user should have the required permissions to access Lex service.

The following JSON document will need to be added as an IAM permission policy and assigned to the IAM user in the AWS console.

{\
&#x20;  "Version": "2012-10-17",\
&#x20;  "Statement": \[\
&#x20;  {\
&#x20;     "Sid": "ixHello",\
&#x20;     "Effect": "Allow",\
&#x20;     "Action": \[\
&#x20;        "lex:\*",\
&#x20;        "lambda:\*",\
&#x20;        "iam:\*"\
&#x20;     ],\
&#x20;     "Resource": "\*"\
&#x20;  }\
&#x20;  ]\
}

For more information on creating IAM users and assigning policies, refer to the AWS official documentation <https://aws.amazon.com/premiumsupport/knowledge-center/create-access-key/>

You can also refer to the simplified iX Hello IAM documentation [here](https://docs.ixhello.com/ixhc/aws-iam-users)

### **Steps:** <a href="#toc59213891" id="toc59213891"></a>

The following shows the general steps/activities that will be carried out in setting up this integration. **Note:** It is advisable to use same email for signup across the 3 channels below. Step 1-2 below are compulsory.

1. [Sign up for AWS account](https://console.aws.amazon.com/lex/) (Part of pre-requisites)
2. Sign up for iX Hello (Part of pre-requisites)
3. Setup connection to Amazon Lex
4. Setup connection to the external web API
5. Create a custom App.
6. Publish the app
7. Test the Amazon Lex app.

### **Setup connection to Amazon Lex** <a href="#hlk56341408" id="hlk56341408"></a>

Login to iX Hello

To Configure Lex, browse to: **Integration** > **Connect System** and press **Add New Connection**.

<figure><img src="https://1107164708-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M8XHvUsfyTUFLvToHqD%2Fuploads%2FDzEQNoruWAyNWXgxAwF2%2F3NewConnection.png?alt=media&#x26;token=073534ef-736d-4fbd-b567-b91b897a65d6" alt=""><figcaption></figcaption></figure>

&#x20;Select **Amazon Lex** from the dropdown and press **Next**.

<div align="center"><figure><img src="https://1107164708-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M8XHvUsfyTUFLvToHqD%2Fuploads%2F2QBYNBFHYyXhI8CF77fZ%2FAddLexContact.png?alt=media&#x26;token=c1195c94-8a09-41c8-b6bc-2bcb22a5fca6" alt="" width="507"><figcaption></figcaption></figure></div>

Fill out the Configuration screen.

<div align="center"><figure><img src="https://1107164708-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M8XHvUsfyTUFLvToHqD%2Fuploads%2FKrL2stMKisFwHfgke4il%2Famazonlexinstanceconfiguration.png?alt=media&#x26;token=59e6c744-4267-49a7-9e63-abb4e4a4c853" alt="" width="563"><figcaption></figcaption></figure></div>

The table below explains each of the inputs shown on this screen.

| Input                 | Information                                                                                                                                                  |
| --------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| Service Instance Name | You can give any value of your choice.                                                                                                                       |
| Consumer Key          | This is your AWS-Access key ID                                                                                                                               |
| Consumer Secret       | This is your AWS-Secret access key                                                                                                                           |
| Region                | <p>AWS Region Name: ex. us-west-1. The Lex service will be used in this region.</p><p>When used to publish the app, it will be published in this region.</p> |

Fill the required information and click on **Validate and Save Settings**. If the details are correct, the integration will be saved, and you will be redirected back to the integrations listing page.

The Lex connection is ready to use for future usage.

### **Setup connection to the external web API** <a href="#toc59213893" id="toc59213893"></a>

1. Log-in to iX Hello, use left navigation menu and open **Integration** > **Connect System**. On the resulting page, click **Add New Connection**.

<figure><img src="https://1107164708-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M8XHvUsfyTUFLvToHqD%2Fuploads%2FgsmpMdOpBrPq9TBszN4z%2F3AddNewConnection.png?alt=media&#x26;token=51d461e8-ffe4-4e49-85a2-7605fb121e8b" alt=""><figcaption></figcaption></figure>

2. For the new connection, select REST API Service from the dropdown list and press **Next**:

<figure><img src="https://1107164708-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M8XHvUsfyTUFLvToHqD%2Fuploads%2FaMxCiAdKwtPHSFRT2nzA%2FREstAPIService.png?alt=media&#x26;token=c87343a8-18b0-4cb2-8f2d-3d9d877e57e5" alt=""><figcaption></figcaption></figure>

3. The REST API Service Setup screen opens. Give a Service Instance Name of **ContactFinder**. For the demo URL of [ttps://jsonplaceholder.typicode.com/users](https://jsonplaceholder.typicode.com/users), the Authorization type will be **No Auth**. Press **Validate System** when finished

<figure><img src="https://1107164708-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M8XHvUsfyTUFLvToHqD%2Fuploads%2FTYJR0dhpOnHaVwgygt7h%2F4contactFinderAPI.png?alt=media&#x26;token=dea5cc4d-f323-4e66-9456-ff41fef3fd81" alt=""><figcaption></figcaption></figure>

4. Once validated, click on **Save**.

### **Create Custom App** <a href="#toc59213894" id="toc59213894"></a>

1. To create a custom app, use left navigation menu and open **Apps** > **Custom Apps**. Press **New Custom App**.

<figure><img src="https://1107164708-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M8XHvUsfyTUFLvToHqD%2Fuploads%2FDzEQNoruWAyNWXgxAwF2%2F3NewConnection.png?alt=media&#x26;token=073534ef-736d-4fbd-b567-b91b897a65d6" alt=""><figcaption></figcaption></figure>

2. Populate the App Custom App screen and press **Save**:

<div align="center"><figure><img src="https://1107164708-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M8XHvUsfyTUFLvToHqD%2Fuploads%2FrNEI0KHkVOemqLRvdTJj%2FAddCustomAppContactFinder.png?alt=media&#x26;token=046b9504-5217-4924-b77c-59fe4d676660" alt=""><figcaption></figcaption></figure></div>

3. In the Custom App listing, click on the new Contact Finder listing.
4. Open the **Data Sources** tab and press **Create New Data Source**.

<figure><img src="https://1107164708-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M8XHvUsfyTUFLvToHqD%2Fuploads%2FZHBshar6Nq536VqgS5vV%2FcontactfinderCreateNewDataSource2.png?alt=media&#x26;token=cc0f3593-1ecd-4148-9a4c-f92e88e491d7" alt=""><figcaption></figcaption></figure>

5. Name the new DataSource **ContactFinderDS**. For Integration Configuration, use the **REST API Service** created earlier. Press **Save**

<div align="center"><figure><img src="https://1107164708-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M8XHvUsfyTUFLvToHqD%2Fuploads%2F3MZ3SvmJzrgc2hm9aYTV%2F3ContactSource.png?alt=media&#x26;token=3fe6ef0d-1555-4a05-adda-7a5779a988f3" alt=""><figcaption></figcaption></figure></div>

6. In the top menu tabs, open **Methods.** Make sure the REST API option is selected in the dropdown, then press **Create New Method**.

<figure><img src="https://1107164708-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M8XHvUsfyTUFLvToHqD%2Fuploads%2Fq3knYZ5cXMmPOftmSAtw%2F3Nucontact.png?alt=media&#x26;token=f661b418-2b88-49b3-ac3d-831ea0968d26" alt=""><figcaption></figcaption></figure>

* Provide following details in the resulting Create Method box and click on Save.
  * **Name**:GetPhoneNumberByName
  * **Request Type**: GET
  * **Query Path**: ?name={{Person}}
  * **Result Type**: Record
  * **Empty Result Template:** Sorry the searched contact could not be found. How else can I help you?
  * **Result Template:** {{Person}} contact number is {{Phone}}. How else can I help you?
  * **Click:** Save

<figure><img src="https://1107164708-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M8XHvUsfyTUFLvToHqD%2Fuploads%2F9M61dcqalHTD4gSUxjr3%2FNewMethodREST2.png?alt=media&#x26;token=ff7ace19-2b13-41a6-b0fb-f7bb3bf72ed6" alt=""><figcaption></figcaption></figure>

7. To test if the method is extracting the contact information correctly, scroll down and enter **Leanne Graham** in the Person field. Press **Test**.

<figure><img src="https://1107164708-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M8XHvUsfyTUFLvToHqD%2Fuploads%2Fon2mk2Yo8ndLW72iXMGK%2Ftested22.png?alt=media&#x26;token=6e1a8ead-e0a1-4d8a-9dc8-b0be516f4dcd" alt=""><figcaption></figcaption></figure>

8. In the top menu tabs, open the **Intents** tab and press **Create New Intent**.

<figure><img src="https://1107164708-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M8XHvUsfyTUFLvToHqD%2Fuploads%2FO2zbI7Fzs4cxbbmGCQ8U%2F2NewIntent.png?alt=media&#x26;token=2ef1a20f-5583-4d4b-9c18-44e84aeb611c" alt=""><figcaption></figcaption></figure>

Then select or enter the following:

**Name:** PhoneByName

**Intent Type:** Search

**Intent Action:** Execute Method

**DataSource:** ContactFinderDS

**DataSource Method:** GetPhoneNumberByName

**Click:** Save

<div align="center"><figure><img src="https://1107164708-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M8XHvUsfyTUFLvToHqD%2Fuploads%2FRsc4qC146yyi0rUZxoCZ%2FNewIntentDetails.png?alt=media&#x26;token=bc4b17d5-3ded-42e8-a761-fac53ffc6ba9" alt="" width="375"><figcaption></figcaption></figure></div>

9. Open the **Slots** tab and press **Create New Slot**.

<figure><img src="https://1107164708-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M8XHvUsfyTUFLvToHqD%2Fuploads%2FTFn8ewqqfh1bz8UXKTVM%2FCreateNewSlot.png?alt=media&#x26;token=54cbc123-7861-4b18-84db-cafb161db173" alt=""><figcaption></figcaption></figure>

Populate the fields. Note the Reprompt message is what Alexa will ask if it can’t fill/resolve the person slot. Then select or enter the following:

**Name:** Person

**Slot Order:** Blank

**Reprompt Message:** person name?

**Type:** Text

**Custom App:** ContactFinder

**Intent:** PhoneByName

**Click:** Save

<div align="center"><figure><img src="https://1107164708-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M8XHvUsfyTUFLvToHqD%2Fuploads%2FIFnqqaOej2obgQVEvYBr%2FCreateSlotDetails.png?alt=media&#x26;token=2c3e73dc-2bfa-4572-b1d0-56cfa962c76c" alt="" width="375"><figcaption></figcaption></figure></div>

10. Open the **Utterance** tab and press **Create New Utterance**. Utterances are words spoken to launch specific intents.

<figure><img src="https://1107164708-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M8XHvUsfyTUFLvToHqD%2Fuploads%2Flj4lPVQaSIOgI37wTeY8%2Fnewutterance2.png?alt=media&#x26;token=c819bc56-e8a2-4c29-bceb-8cf5534b530e" alt=""><figcaption></figcaption></figure>

11. Now input or select the following:

**Value:** get phone number for {Person}

**Custom App:** ContactFinder

**Intent:** PhoneByName

**Click:** Save

**Note:** To insert slot in an utterance, type **‘{‘**&#x61;nd a drop-down of available slots will appear.

<figure><img src="https://1107164708-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M8XHvUsfyTUFLvToHqD%2Fuploads%2FB6QxhdRrlmNG4FIIj5Mr%2FSelectSlot2.png?alt=media&#x26;token=46e0349e-0e68-4ce1-89fd-714c39400695" alt=""><figcaption></figcaption></figure>

You can add as many utterances as you would like.

12. Open the **Input** tab and press **Create New Input**

<figure><img src="https://1107164708-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M8XHvUsfyTUFLvToHqD%2Fuploads%2FiTnOQ4kSmccT4WeSyiKk%2FCreateNewInput.png?alt=media&#x26;token=7b8e6d33-f13c-41cb-8ce6-c89ab7899ac9" alt=""><figcaption></figcaption></figure>

13. Populate the New Custom Input window.

<figure><img src="https://1107164708-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M8XHvUsfyTUFLvToHqD%2Fuploads%2FBWJWvDRQPe1UOh9Ng1a9%2FAddNewCustomInput.png?alt=media&#x26;token=d447a9c7-c16a-482e-b317-e2cd246167f1" alt=""><figcaption></figcaption></figure>

**Name:** Person

**Custom App:** ContactFinder

**Custom Intent:** PhoneByName

**Data Source:** ContactFinderDS

**Data Source Method:** GetPhoneNumberByName

14. For the Slot you have created, now create a corresponding parameter by clicking on Manage Parameters.

<figure><img src="https://1107164708-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M8XHvUsfyTUFLvToHqD%2Fuploads%2Fl8hffh2IcFuLZftK6k9q%2FManageInputParameters.png?alt=media&#x26;token=fd94d4e1-7899-41ce-aa87-bb715c045937" alt=""><figcaption></figcaption></figure>

15. Press **+ Input Parameter**

<figure><img src="https://1107164708-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M8XHvUsfyTUFLvToHqD%2Fuploads%2FVc6dQoCw7vtuIpqTRb0e%2FNewInputParameter.png?alt=media&#x26;token=2e669876-1dba-46aa-8383-8bee7aae43c4" alt=""><figcaption></figcaption></figure>

16. Add the details:

<div align="center"><figure><img src="https://1107164708-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M8XHvUsfyTUFLvToHqD%2Fuploads%2FDbfEhoT5fF8f6zrH4vcH%2FAddInputParameter.png?alt=media&#x26;token=3fde5ebc-f7d3-4d2f-aa1b-356a59175b19" alt="" width="375"><figcaption></figcaption></figure></div>

| Name: Person      |
| ----------------- |
| Parameter: Person |
| Data Type: Text   |
| Click on **Save** |

### **Publish to Amazon Lex** <a href="#toc59213895" id="toc59213895"></a>

1. To publish to Amazon Lex, open the **Publish tab** and click **Add App Publishing**.&#x20;

<figure><img src="https://1107164708-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M8XHvUsfyTUFLvToHqD%2Fuploads%2FufMKmRBEsmFyK4jq8gvs%2FAddPublishingApp.png?alt=media&#x26;token=fc3f1043-9dd0-4db1-abb3-d802ab57b15c" alt=""><figcaption></figcaption></figure>

2. Enter the following:

<div align="center"><figure><img src="https://1107164708-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M8XHvUsfyTUFLvToHqD%2Fuploads%2FplPPy59WdDEtAuLlYli7%2FAddAppPublishing1.png?alt=media&#x26;token=30f14895-2dc3-4622-a4be-ee62ab46b71b" alt="" width="548"><figcaption></figcaption></figure></div>

**External App Name**: Contact Finder. (This will be the name of the bot in Lex, therefore, make it unique and different from the names of your other bots on Amazon Lex.)

**Description:** (optional)

**App Type**: Search

**Channel**: Amazon Lex

**Version**: Lex V2

**Uncheck**: Auto Publish (Next step explains what happens if you keep it checked)

**Optional**: Replace the placeholder values in all Messages.&#x20;

<figure><img src="https://1107164708-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M8XHvUsfyTUFLvToHqD%2Fuploads%2Fh7NThABjAQIkVSqbfwT4%2FMessages.png?alt=media&#x26;token=8006330e-324d-4d2e-a3e8-3fd9bdcaa0f1" alt=""><figcaption></figcaption></figure>

3. Click **Save**. You will return to the App Publishing page.
4. Click on the three dots on the right side of the Contact Finder line. A menu will open.

<figure><img src="https://1107164708-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M8XHvUsfyTUFLvToHqD%2Fuploads%2Fn4puGpkh4Fq0nkGnHHfl%2FAppActions.png?alt=media&#x26;token=da94305a-6143-453a-80e0-31b36ba565d3" alt=""><figcaption></figcaption></figure>

5. Select **Publish to Lex**

<div align="center"><figure><img src="https://1107164708-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M8XHvUsfyTUFLvToHqD%2Fuploads%2Fcxt5ALLDbSW4qpAqLEUM%2FPublishToLex.png?alt=media&#x26;token=c87df329-41b5-4da1-8a5a-e10847a76e23" alt="" width="245"><figcaption></figcaption></figure></div>

6. The Publish App To Amazon Lex screen appears:

<figure><img src="https://1107164708-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M8XHvUsfyTUFLvToHqD%2Fuploads%2FJodpy3GjS77YvKswIjLi%2FPublishtoLex2.png?alt=media&#x26;token=932d411b-aba1-4856-8029-89c0229772f0" alt="" width="563"><figcaption></figcaption></figure>

**Selected App**: Contact Finder (Should be pre-selected)

**External App Name**: Contact Finder (Read only, should be pre-selected)

**Amazon Lex Version:** V2

**Select Amazon Lex Account:** Amazon Lex Integration (created earlier)

7. Select the Lex account you have already set up. If not, you can do it by clicking on “*Add New Lex Account*” button and following the steps.
8. When finished, click **Publish To Lex V2.** It may take a few minutes to create.

<div align="center"><figure><img src="https://1107164708-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M8XHvUsfyTUFLvToHqD%2Fuploads%2FChxQZZ5BwLcvSvFvhdJm%2FCreatingBot.png?alt=media&#x26;token=4bf8913e-7902-43a4-be7c-cc4a9671a262" alt="" width="563"><figcaption></figcaption></figure></div>

<div align="center"><figure><img src="https://1107164708-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M8XHvUsfyTUFLvToHqD%2Fuploads%2FDUoqtSZ8ib45niCY7hiO%2FPublishingStatus.png?alt=media&#x26;token=fe30de18-35c0-45be-80a7-42c96c5388e6" alt="" width="563"><figcaption></figcaption></figure></div>

9. On the resulting screen, ensure that a success message shows for the publishing steps before clicking the “**Go to Lex App**”. If success message not shown, click “**Go to App Publishing**” to fix any issue shown in publishing result

## Test the app on Amazon Lex

1. On the app publishing results page, a *Go To LexV2 Console*, will appear as shown.

<figure><img src="https://1107164708-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M8XHvUsfyTUFLvToHqD%2Fuploads%2FiK3o9RIuU01xvMlHGXvH%2Fgo%20to.png?alt=media&#x26;token=c193b20e-0124-44fd-ac63-92e25212bb5a" alt=""><figcaption></figcaption></figure>

1. Click on it, you will be redirected to the newly created Lex bot on the AWS console.
2. On the Amazon Lex bot page, ensure “**Build Completed**”. If not completed, then the bot will be unable to test. Once in Lex, you should land on this screen.

<figure><img src="https://1107164708-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M8XHvUsfyTUFLvToHqD%2Fuploads%2FzGy3gY5PbAVwAFAEsndt%2Fimage.png?alt=media&#x26;token=5fe7c8a2-8b20-4624-a85a-cf122ea80adc" alt=""><figcaption></figcaption></figure>

4. Make sure it’s displaying the correct app name at the top left and then click “**Test Chatbot**” option at the right side. Click “**Text Chatbot**” then the test bot screen will appear as shown below.

<figure><img src="https://1107164708-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M8XHvUsfyTUFLvToHqD%2Fuploads%2FymxrtHcqc2ZIuxubqabq%2Fimage.png?alt=media&#x26;token=c5bdd48e-562e-46ff-ae87-dd7688d34a8b" alt=""><figcaption></figcaption></figure>

<figure><img src="https://1107164708-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M8XHvUsfyTUFLvToHqD%2Fuploads%2F3N61Zx52AeHD3JUy9oqo%2Fimage.png?alt=media&#x26;token=18a04aaf-1551-4aec-9c1f-dc6ca8feb697" alt=""><figcaption></figcaption></figure>

5. Start testing by writing utterance in the chat area and lex will connect to the app configured in the iX Hello platform. At this time a relevant response will be received.

<figure><img src="https://1107164708-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M8XHvUsfyTUFLvToHqD%2Fuploads%2Fj6a9NeD57YofsQh27bZc%2Fimage.png?alt=media&#x26;token=cff3c8b3-813e-4a7c-ba8a-90c8bbafaa14" alt=""><figcaption></figcaption></figure>

Congratulations!

You have successfully completed building a Custom App and published it to Amazon Lex.
