# Amazon Kendra

Managed Connection - Amazon Kendra

Amazon Kendra (<https://aws.amazon.com/kendra/>) is a highly accurate and easy to use enterprise search service that is powered by machine learning. Kendra delivers powerful natural language search capabilities. It is also a fully managed Amazon Service.

Please follow the link below to learn more and get started with Amazon Kendra <https://www.youtube.com/watch?v=ow5DFGICHoI>

### Configuration on Amazon Kendra console

(1) Create Index

An index provides search results for documents and frequently asked questions (FAQ) that it has indexed. An index can contain documents that are indexed from a data source, documents that are added directly to the index, and FAQs.

(2) Create Data Source

A data source is a location, such as an Amazon Simple Storage Service (Amazon S3) bucket, where you store the documents for indexing. Data sources can be automatically synchronized with an Amazon Kendra index so that new, updated, or deleted documents in the source repositories are included in searches. Supported data sources are:

* Amazon S3 buckets
* Amazon RDS for MySQL and Amazon RDS for PostgreSQL databases
* Microsoft OneDrive for Business
* Microsoft SharePoint Online
* Salesforce sites
* ServiceNow instances

Supported document formats are plain text, Microsoft Word, Microsoft PowerPoint, HTML, and PDF

### iX Hello

iX Hello platform allows for the rapid integration of Amazon Kendra to various voice channels such as, Alexa, Lex, Google Assistant and more.

To Configure Amazon Kendra, browse to: **Integration** > **Connect System** and press **Connection Gallery**&#x20;

<figure><img src="/files/lcoqg0bdYSketpGrszMD" alt=""><figcaption></figcaption></figure>

Scroll down to Amazon Kendra and press **Connect**.

<div align="left"><figure><img src="/files/Ro2yWoV6gXJU2J1YG3fR" alt="" width="168"><figcaption></figcaption></figure></div>

The Amazon Kendra Instance Configuration Screen opens. Enter the **Name** for the service, **Consumer Key (Secret Access Key)**, **AWS Region**, and **Consumer Secret (Secret Access Key).** You can get your required AWS Credentials from the AWS IAM console. Visit [Video: How to get Amazon (AWS) Key and Secret](https://aws.amazon.com/premiumsupport/knowledge-center/create-access-key/) Make sure the AWS account has the required permissions to access Amazon Kendra. When finished, press **Validate and Save Settings.**

<figure><img src="/files/Hh3klgom7KmnXhSDrpx1" alt=""><figcaption></figcaption></figure>

Once you have saved settings you need to create a new Custom App. Browse to: **Apps** > **Custom Apps** and press **New Custom App**.&#x20;

<figure><img src="/files/37BBf4Zn7VRamryA9MQ0" alt=""><figcaption></figcaption></figure>

Add the details and press **Save**

<div align="left"><figure><img src="/files/DHBlUF14t0yyQtBRg2zj" alt="" width="375"><figcaption></figcaption></figure></div>

The new App will appear under the Apps > Custom Apps page. Click on the App Name to open it.

<figure><img src="/files/lUuKywQXNzvXzSBQEtlL" alt=""><figcaption></figcaption></figure>

Create a data source by navigating to the Data Sources tab and press **Create New Data Source**. Now you can create methods for the Kendra.

<figure><img src="/files/29LbfZBOFKmGX8q20dtO" alt=""><figcaption></figcaption></figure>

As of the publication date of this document, iX Hello supports following Amazon Kendra methods,

1. ListIndices
2. Query

### Method: ListIndices

Parameters: Not required

It returns a list of indexes that are already created in Amazon Kendra.

Below is a sample response format – You should get response like this.

```
[
   {
      "CreatedAt": number,
      "Edition": "string",
      "Id": "string",
      "Name": "string",
      "Status": "string",
      "UpdatedAt":number
   }
]
```

### Method: Query

Parameters:

| Parameter  | Sample Value                         | Info                                                    |
| ---------- | ------------------------------------ | ------------------------------------------------------- |
| IndexId    | 5D5C08F0-98B1-443F-8E9E-A1F67D551514 | You can select from dropdown list of available indexes. |
| Query Text | *Any search text*                    | This is the query that you want to search.              |

Response: Below is a response syntax and you should get response like this. In sample shown below, “string”, number etc. should be replaced by the actual value returned by Kendra.

```
{
   "FacetResults": [
   {
      "DocumentAttributeKey": "string",
      "DocumentAttributeValueCountPairs": [
      {
         "Count": number,
         "DocumentAttributeValue": {
              "DateValue": number,
              "LongValue": number,
              "StringListValue": [ "string" ],
              "StringValue": "string"
         }
      }
      ]
   }
   ],
   "QueryId": "string",
   "ResultItems": [
   {
      "AdditionalAttributes": [
      {
      "Key": "string",
      "Value": {
         "TextWithHighlightsValue": {
         "Highlights": [
         {
            "BeginOffset": number,
            "EndOffset": number,
            "TopAnswer": boolean
         }
         ],
         "Text": "string"
      }
   },
   "ValueType": "string"
   }
   ],
   "DocumentAttributes": [
   {
      "Key": "string",
      "Value": {
         "DateValue": number,
         "LongValue": number,
         "StringListValue": [ "string" ],
         "StringValue": "string"
      }
   }
   ],
   "DocumentExcerpt": {
      "Highlights": [
      {
         "BeginOffset": number,
         "EndOffset": number,
         "TopAnswer": boolean
      }
      ],
      "Text": "string"
   },
   "DocumentId": "string",
   "DocumentTitle": {
      "Highlights": [
      {
         "BeginOffset": number,
         "EndOffset": number,
         "TopAnswer": boolean
      }
      ],
      "Text": "string"
   },
      "DocumentURI": "string",
      "Id": "string",
      "Type": "string"
   }
   ],
   "TotalNumberOfResults": number
}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.ixhello.com/ixhc/connections/amazon/amazon-kendra.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
