# DynamoDB

### Objective <a href="#toc46444535" id="toc46444535"></a>

This guide will help you to quickly connect to Amazon DynamoDB and create various methods to pull the data. The purpose is to demonstrate how easy it is to integrate an external database to iX Hello.

### Pre-requisites <a href="#toc46444536" id="toc46444536"></a>

* **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>

* **At least one DynamoDB table**

If you do not have any DynamoDB table, you can create one quickly.

1. Login to AWS Management Console at <https://console.aws.amazon.com/>
2. Enter **DynamoDB** into the Search Field and select the DynamoDB result.
3. On the left side menu, select **Tables** and then press **Create Table**. For more detailed information, you can refer to the AWS official documentation <https://aws.amazon.com/getting-started/hands-on/create-nosql-table/>

<figure><img src="https://1107164708-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M8XHvUsfyTUFLvToHqD%2Fuploads%2FsGEOMXpsBuxRKK32S5jd%2FcreateNewDynamoDBTable.png?alt=media&#x26;token=ac5e228c-473e-453e-a126-fc4f4c9015f5" alt=""><figcaption></figcaption></figure>

4. Provide the Table Name **Contacts** and Primary Key as **Id**. Click on **Create Table**.

![](https://1107164708-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M8XHvUsfyTUFLvToHqD%2Fuploads%2FlKbmPHdprXdkTrAbT2D1%2F2?alt=media)

5. Click on the table name **Contacts** in the Tables page:

<figure><img src="https://1107164708-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M8XHvUsfyTUFLvToHqD%2Fuploads%2Fo5DDY9WtSvUJTHH9RY2K%2FcontactsTable.png?alt=media&#x26;token=6ee0db86-9a51-4b4f-8e6d-b4ff3398a355" alt=""><figcaption></figcaption></figure>

6. Now add the attributes for the table. For our demo purpose, we are going to add 3 attributes: Id, PhoneNumber, and Name. All of type String. From the **Actions** dropdown in the upper right, choose **Create Item**.

<figure><img src="https://1107164708-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M8XHvUsfyTUFLvToHqD%2Fuploads%2FY3vAkoRR5Tk912gMhtTa%2Fdynamo1.png?alt=media&#x26;token=cd2f6b4d-771e-4020-a76c-58a52c2b1d6d" alt=""><figcaption></figcaption></figure>

7. Press the **Add new attribute** drop down in the upper right and select **String.** Title the new attribute **Name**. Repeat and add a second String attribute, **PhoneNumber**.

<figure><img src="https://1107164708-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M8XHvUsfyTUFLvToHqD%2Fuploads%2FIcwWdBhKlxEv78cBidc3%2FfirstAttribute.png?alt=media&#x26;token=e33760ff-5d69-49a8-8efe-772e26fc2dad" alt=""><figcaption></figcaption></figure>

8. Populate the item with Id **1**, Name **John**, and PhoneNumber **123-555-1234.** When finished, press **Create Item**&#x20;

<figure><img src="https://1107164708-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M8XHvUsfyTUFLvToHqD%2Fuploads%2FzShOwyhi3kkZk2K9UCEp%2FfirstItem.png?alt=media&#x26;token=c2ab522b-a0ce-4b1b-a8aa-6c68bb85dc37" alt=""><figcaption></figcaption></figure>

10. Repeat the process to add more data. e.g.

{\
&#x20;  "id": 2,\
&#x20;  "Name": "Mike",\
&#x20;  "PhoneNumber": "123-555-6789"\
}

### Access Key, Secret Access Key, and AWS Region Name

To be able to connect to Amazon DynamoDB from iX Hello, one IAM user is required and that user should have permissions to view/add/edit/delete the DynamoDB data. It is recommended to have an IAM policy named *AmazonDynamoDBFullAccess* be assigned to the user.

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 documentation at [https://docs.ixHello.com/aws-iam-users](https://docs.voiceworx.ai/aws-iam-users)

### iX Hello Account

To create an iX Hello account, follow the steps [here](https://docs.ixhello.com/ixhc/general/ixhello-create-account#create-an-account-in-ixhello)

### Steps <a href="#toc46444537" id="toc46444537"></a>

Before proceeding with these steps, you should have all the prerequisites satisfied.

### Step 1: Connect to Amazon DynamoDB <a href="#toc46444538" id="toc46444538"></a>

1. Login to the iX Hello portal at [https://bots.ixHello.com](https://bots.ixhello.com)
2. To configure DynamoDB, browse to: Integration > Connect System > Connections Gallery.

<figure><img src="https://1107164708-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M8XHvUsfyTUFLvToHqD%2Fuploads%2FgsnZBUTPCRGGavzmFODO%2FconnectionGallery.png?alt=media&#x26;token=1d40cfc2-12a0-4959-8659-689f566d816b" alt=""><figcaption></figcaption></figure>

3. From the Gallery, scroll down and select **DynamoDB**

<div align="center"><figure><img src="https://1107164708-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M8XHvUsfyTUFLvToHqD%2Fuploads%2Fs3uk75nfhhArfQx2cOiF%2Fdynamodbgallery.png?alt=media&#x26;token=14fd4593-1871-40d4-87e2-814e202465aa" alt="" width="167"><figcaption></figcaption></figure></div>

4. Press **Connect**. The Configuration screen will open where you need to provide connection information as shown below.

<figure><img src="https://1107164708-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M8XHvUsfyTUFLvToHqD%2Fuploads%2FsUKWbdwamHsSv2Yfgnlp%2Fdynamodbcredentials.png?alt=media&#x26;token=77c143aa-a185-423f-9dbd-f8198192e950" alt=""><figcaption></figcaption></figure>

If you do not have this information ready, please refer to the pre-requisites above

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. Your DynamoDB table should be in this region.</p><p>Example: us-east-1, us-east-2, us-west-1, us-west-2</p> |

5. After entering the information, click on **Validate and Save Settings**. If the input is correct, a Success message will appear and the integration will be saved. A listing will appear on the Integrations listing page as shown below.

<figure><img src="https://1107164708-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M8XHvUsfyTUFLvToHqD%2Fuploads%2FZOaQfShGTefy0J8WE43A%2FnewDynamoDBListing.png?alt=media&#x26;token=db3d726f-c209-4cbf-b6ac-edd848ea35e0" alt=""><figcaption></figcaption></figure>

### Step 2: Create an App for Amazon DynamoDB <a href="#toc46444539" id="toc46444539"></a>

1. To create an app, browse to Apps > Custom Apps and click on **New Custom App** button as shown below.

<figure><img src="https://1107164708-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M8XHvUsfyTUFLvToHqD%2Fuploads%2Fu7iiLzabm4RdJmfBe6Tn%2FNewcustomApp3.png?alt=media&#x26;token=ddd53647-ac4d-4857-bfd9-c0234147e8b1" alt=""><figcaption></figcaption></figure>

2. You should see a small popup as shown below.

<div align="left"><figure><img src="https://1107164708-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M8XHvUsfyTUFLvToHqD%2Fuploads%2FIPOz2GXnLzBYIqoKeST4%2FnewDynamoDBapp.png?alt=media&#x26;token=27b57b7b-b433-4fae-9ffb-d795732fe2f7" alt="" width="375"><figcaption></figcaption></figure></div>

Populate the fields as follows:

<table data-header-hidden><thead><tr><th></th><th width="374"></th></tr></thead><tbody><tr><td>Name</td><td>You can give any value of your choice.</td></tr><tr><td>Custom App Type</td><td>Select <strong>Search</strong></td></tr><tr><td>Category</td><td><strong>Default</strong>.</td></tr></tbody></table>

3. Click on **Save**. This will create a new App.

<figure><img src="https://1107164708-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M8XHvUsfyTUFLvToHqD%2Fuploads%2FD6UrRLA55RlsdV7VPRDc%2FnewdynamoDBapp2.png?alt=media&#x26;token=38c27dad-5800-45b4-b455-001016324d93" alt=""><figcaption></figcaption></figure>

### Step 3: Create a Data Source <a href="#toc46444540" id="toc46444540"></a>

A data source connects an app with the DynamoDB integration we did earlier.&#x20;

1. Once you have created an App, go to Data Sources by opening the App, opening the Data Sources tab, and clicking **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%2FFx1LmAklhkeloI2O9XqL%2FdynamoDBNewDataSource.png?alt=media&#x26;token=bf360b7d-6f74-48d9-8995-85f66141c852" alt=""><figcaption></figcaption></figure>

2. You should see a popup screen as shown below

<div align="left"><figure><img src="https://1107164708-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M8XHvUsfyTUFLvToHqD%2Fuploads%2FLvah6CTTghXVlyJzzDmY%2FNewDynamoDBDataSource.png?alt=media&#x26;token=d972044e-bb50-4633-9975-f07dfd96dd28" alt=""><figcaption></figcaption></figure></div>

3. Give the DataSource a name of your choice and make sure you select the DynamoDB integration created earlier. Click **Save**. You should now see the new Data Source listed.

<figure><img src="https://1107164708-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M8XHvUsfyTUFLvToHqD%2Fuploads%2Ftv8gGIGqxXrs17eMOUv0%2FNewDBListing.png?alt=media&#x26;token=5bf903e8-b544-4036-a544-fe94b9da81be" alt=""><figcaption></figcaption></figure>

Once a data source is created, you are ready to start creating various methods.

### Step 4: Create Methods to fetch the data from Amazon DynamoDB <a href="#toc46444541" id="toc46444541"></a>

To use this step, make sure you have completed previous step. If not go back and complete it.

Methods allows you to fetch data from the DynamoDB table. To access the methods, click on the **Methods** tab, make sure the correct DataSource shows in the Select DataSource window, and 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%2FcXDoB957FLCDsAKEiKFo%2FDynamoDBNewSelection.png?alt=media&#x26;token=e4ea392b-5dc1-4a60-afda-c650d5546955" alt=""><figcaption></figcaption></figure>

As of the publication date of this document, iX Hello supports following DynamoDB methods:

1. Get Tables
2. Get All Items
3. Get Item
4. Get Items
5. Put Item
6. Post Item
7. Delete Item

Depending on requirement, you will have to use an appropriate method, this document will explain each of these methods with an example.

Let’s start with a use case.

### **Scenario/ Use Case (Contact Finder):** <a href="#toc46444542" id="toc46444542"></a>

You have a DynamoDB table which is used to store all the contacts in your organization. If you are using this for personal use, then consider that table contains contact details of your friends and family members.

You want to find email address of your friend Sam. For this, you can use GetItems method as explained below.

### Method: GetItems <a href="#toc46444543" id="toc46444543"></a>

This method returns a database entry based on a parameter value (Name). It requires two input parameters as explained below. Open Method Inputs:

<figure><img src="https://1107164708-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M8XHvUsfyTUFLvToHqD%2Fuploads%2FBw1SkfRVQpTEK6jDsfqX%2FMethodInputs2.png.png?alt=media&#x26;token=261805df-cee0-49d0-9679-95a5603522f8" alt=""><figcaption></figcaption></figure>

#### Parameters: <a href="#toc46444544" id="toc46444544"></a>

| Parameter       | Sample Value                                                                                   | Info                                                        |
| --------------- | ---------------------------------------------------------------------------------------------- | ----------------------------------------------------------- |
| Method Name     | Get Items                                                                                      | Name of the metho                                           |
| Request Type    | GetItems                                                                                       | Pre-defined method                                          |
| TableName       | <p>Contact</p><p>(<em>Select from the drop-down list, you do not have to remember it</em>)</p> | DynamoDB table name. (*Case Sensitive*)                     |
| QueryParameters | <p>Example: 1 {"Name":"John"}</p><p>Example: 2 {"Name":"Smith"}</p>                            | Key Value pair in a *valid JSON* format. (*Case Sensitive*) |

To format the output, open the Method Output tab:

<figure><img src="https://1107164708-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M8XHvUsfyTUFLvToHqD%2Fuploads%2Ff8k2jNyoLhpu8YGeg18Q%2FMethodOutput.png?alt=media&#x26;token=0afe6faf-e1a3-462e-901e-319715463a04" alt=""><figcaption></figcaption></figure>

| Parameter    | Info                                                                                                                                          |
| ------------ | --------------------------------------------------------------------------------------------------------------------------------------------- |
| Result Type  | Format of return values                                                                                                                       |
| Record Limit | <p>Numeric value (e.g. 10)</p><p>If Method is returning larger number of records, then you can limit this result by providing this value.</p> |

Method Result displays options on how to present the returned values:

<figure><img src="https://1107164708-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M8XHvUsfyTUFLvToHqD%2Fuploads%2F0iIRqxV37i6m8drlrWuY%2FMethodResults.png?alt=media&#x26;token=402d31ae-e5c8-4de4-98d7-e6e7ba4723c9" alt=""><figcaption></figcaption></figure>

| Parameter             | Info                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| --------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Record JsonPath       | <p>Each method returns data in JSON format and to pick any specific information from the JSON, we need to specify the <em>Record JsonPath</em> so the platform will pick that data in consideration while displaying results.</p><p>Example: $.\[\*]</p><p>This option returns all the records.</p>                                                                                                                                                                                                                                                                                          |
| Valid Result Template | <p>This indicates how results should be represented if proper values have been returned. For example:</p><p><strong>Here you go, {{Records}</strong>}</p><p>where {{Records}} represents one or more records separated by a separator.</p>                                                                                                                                                                                                                                                                                                                                                   |
| Record Template       | <p>Describes how to display a record that may have more than one parameter. For example, assume that the following JSON represents one record:</p><p>{</p><p>"Id": "1",</p><p>"Name": "John",</p><p>"PhoneNumber": "123-555-1234"</p><p>}</p><p>You want to select name, then you can provide <em>Record Template</em> as</p><p><strong>Phone number of {{Name}} is {{ PhoneNumber}}</strong></p><p>Note:</p><p>Anything written in between {{ }} is represented as a JSON field and is case-sensitive. This would present as: <br><strong>Phone number of John is 123-555-1234</strong></p> |
| Empty Result Template | This indicates what should be presented if no values are returned.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |

#### Sample Response: <a href="#toc46444545" id="toc46444545"></a>

<div align="left"><figure><img src="https://1107164708-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M8XHvUsfyTUFLvToHqD%2Fuploads%2FpK7KNt7Co5O3qLV3nYks%2Ftested.png?alt=media&#x26;token=161bbfef-df7a-4718-af25-78b6261e55e0" alt="" width="563"><figcaption></figcaption></figure></div>

### Method: GetTables <a href="#toc46444546" id="toc46444546"></a>

This Method returns the name of the table.

<figure><img src="https://1107164708-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M8XHvUsfyTUFLvToHqD%2Fuploads%2F069aMcu325JAxirsGy1S%2FGetTableMethod.png?alt=media&#x26;token=4340e4b1-3ec3-4d22-bb60-6f7a8da25b4f" alt=""><figcaption></figcaption></figure>

| Parameter       | Info                                                                                                                                                                                                                                                                                                |
| --------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Method Name     | Get Tables                                                                                                                                                                                                                                                                                          |
| Request Type    | <p><strong>GetTables</strong></p><p>This is the method that you are using</p>                                                                                                                                                                                                                       |
| Parameters      | As explained in the previous table                                                                                                                                                                                                                                                                  |
| Result Type     | <p>ListOfRecords (Auto Selected)</p><p>It indicates that the method can return one or more records</p>                                                                                                                                                                                              |
| Record Limit    | <p>Numeric value (e.g. 10)</p><p>If Method is returning larger number of records, then you can limit this result by providing this value.</p>                                                                                                                                                       |
| Record JsonPath | <p>Each method returns data in JSON format and to pick any specific information from the JSON, we need to specify the <em>Record JsonPath</em> so the platform will pick that data in consideration while displaying results.</p><p>Example: $.\[\*]</p><p>This option returns all the records.</p> |
| Record Template | <p>{{TableName}}</p><p>Note:</p><p>Anything written in between {{ }} is represented as a JSON field and it’s case-sensitive.</p>                                                                                                                                                                    |
| Result Template | <p>Here are the tables. {{Records}} How else can I help you?</p><p>Here, {{Records}} represents one or more records separated by a separator.</p>                                                                                                                                                   |

#### Sample Response: <a href="#toc46444548" id="toc46444548"></a>

<div align="left"><figure><img src="https://1107164708-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M8XHvUsfyTUFLvToHqD%2Fuploads%2FAJ7l3Jh9nElxgSZDmrSj%2FgetTableResult.png?alt=media&#x26;token=109fc22f-f195-4295-9459-d16db70ab71b" alt="" width="563"><figcaption></figcaption></figure></div>

### Method: GetAllItems <a href="#toc46444549" id="toc46444549"></a>

This method returns all records in the table

#### Parameters: <a href="#toc46444550" id="toc46444550"></a>

| Parameter | Sample Value | Info                 |
| --------- | ------------ | -------------------- |
| TableName | Contact      | DynamoDB table name. |

| Parameter       | Info                                                                                                                                                                                                                                                                                                |
| --------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Method Name     | GetAllItems                                                                                                                                                                                                                                                                                         |
| Request Type    | <p><strong>GetAllItems</strong></p><p>This is the method that you are using</p>                                                                                                                                                                                                                     |
| Parameters      | TableName: Contacts                                                                                                                                                                                                                                                                                 |
| Result Type     | <p>ListOfRecords (Auto Selected)</p><p>It indicates that the method can return one or more records</p>                                                                                                                                                                                              |
| Record Limit    | <p>Numeric value (e.g. 10)</p><p>If Method is returning larger number of records, then you can limit this result by providing this value.</p>                                                                                                                                                       |
| Record JsonPath | <p>Each method returns data in JSON format and to pick any specific information from the JSON, we need to specify the <em>Record JsonPath</em> so the platform will pick that data in consideration while displaying results.</p><p>Example: $.\[\*]</p><p>This option returns all the records.</p> |
| Record Template | <p>Name:{{Name}}, PhoneNumber: {{PhoneNumber}}</p><p>Note:</p><p>Anything written in between {{ }} is represented as a JSON field and is case-sensitive.</p>                                                                                                                                        |
| Result Template | <p>Here are the contacts available, {{Records}} How else can I help you?</p><p>Here, {{Records}} represents one or more records separated by a separator.</p>                                                                                                                                       |

#### Sample Response: <a href="#toc46444551" id="toc46444551"></a>

<div align="left"><figure><img src="https://1107164708-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M8XHvUsfyTUFLvToHqD%2Fuploads%2FHuKGynPnwjK4pgRPeHSw%2FGetAllItemsREsult.png?alt=media&#x26;token=df370ea5-59fb-4e0c-8ddf-064f4eb13248" alt="" width="442"><figcaption></figcaption></figure></div>

### Method: GetItem <a href="#toc46444552" id="toc46444552"></a>

Returns a single record.

#### Parameters: <a href="#toc46444553" id="toc46444553"></a>

| Parameter         | Sample Value | Info                                                               |
| ----------------- | ------------ | ------------------------------------------------------------------ |
| TableName         | Contact      | DynamoDB table name (*Case Sensitive*)                             |
| PartitionKeyName  | id           | Name of the Partition Key for the provided table (*Case Sensitive* |
| PartitionKeyValue | 1            | Value for the Partition Key                                        |

#### Sample Response: <a href="#toc46444554" id="toc46444554"></a>

{\
&#x20;  "id": "1",\
&#x20;  "PhoneNumber": "(336)222-7000",\
&#x20;  "Name": "Jack Rogers"\
}

### Method: PutItem <a href="#toc46444555" id="toc46444555"></a>

Adds a record to the database.

#### Parameters: <a href="#toc46444556" id="toc46444556"></a>

| Parameter         | Sample Value                                           | Info                                         |
| ----------------- | ------------------------------------------------------ | -------------------------------------------- |
| TableName         | Contact                                                | DynamoDB table name (*Case Sensitive*)       |
| PartitionKeyName  | id                                                     | Name of the Partition Key (*Case Sensitive*) |
| PartitionKeyValue | 5                                                      | Value for the Partition Key                  |
| ItemData          | {"PhoneNumber": "(503) 421-7800","Name": "Josh Davis"} | Item data in JSON format                     |

#### Sample Response: <a href="#toc46444557" id="toc46444557"></a>

{\
&#x20;  "id": "5",\
&#x20;  "PhoneNumber": "(503) 421-7800",\
&#x20;  "Name": "Josh Davis"\
}

### Method: PostItem <a href="#toc46444558" id="toc46444558"></a>

Adds a record to the database.

#### Parameters: <a href="#toc46444559" id="toc46444559"></a>

| Parameter         | Sample Value                                           | Info                                         |
| ----------------- | ------------------------------------------------------ | -------------------------------------------- |
| TableName         | Contact                                                | DynamoDB table name (*Case Sensitive*)       |
| PartitionKeyName  | id                                                     | Name of the Partition Key (*Case Sensitive*) |
| PartitionKeyValue | 5                                                      | Value for the Partition Key                  |
| ItemData          | {"PhoneNumber": "(503) 421-7800","Name": "Josh Davis"} | Item data in JSON format                     |

#### Sample Response: <a href="#toc46444560" id="toc46444560"></a>

{\
&#x20;  "id": "5",\
&#x20;  "PhoneNumber": "(503) 421-7800",\
&#x20;  "Name": "Josh Davis"\
}

### Method: DeleteItem <a href="#toc46444561" id="toc46444561"></a>

Removes a record from the database.

#### Parameters: <a href="#toc46444562" id="toc46444562"></a>

| Parameter         | Sample Value | Info                                         |
| ----------------- | ------------ | -------------------------------------------- |
| TableName         | Contact      | DynamoDB table name. (*Case Sensitive*)      |
| PartitionKeyName  | id           | Name of the Partition Key (*Case Sensitive*) |
| PartitionKeyValue | 5            | Value for the Partition Key                  |

#### Sample Response: <a href="#toc46444563" id="toc46444563"></a>

{"response": "Delete Successful"}

From here, you can now proceed to create intents, slots, inputs and then finally publish to supported publish channels. You can refer to [this](https://docs.ixhello.com/ixhc/general/ix-hello-studio-mode/steps/app-creation) document for further assistance to build and publish Apps. You can test your app in Alexa developer console and the expected result shall be like this

Congratulations you’ve successfully integrated Amazon DynamoDB to an iX Hello App.
