# FAQ Bot Creation Guide

This document provides a structured guide for developing a basic FAQ bot within the iX Hello platform using Studio Mode. This process leverages Generative AI capabilities for efficient question answering.&#x20;

### Prerequisites

Before commencing bot creation, ensure the following prerequisites are met:&#x20;

* Access to [iX Hello](https://bots.ixhello.com) Studio Mode.&#x20;
* Familiarity with basic iX Hello navigation.&#x20;

### Step-by-Step Implementation&#x20;

The following steps outline the creation of a functional FAQ bot:&#x20;

1. To establish a Gen AI connection please follow [this](/ixhc/general/enterprise-connections/generative-ai.md)
2. Content Category Creation&#x20;

* Navigate to Content > Content Categories.&#x20;
* Click Add New Category.&#x20;

<figure><img src="/files/9EbiUKrWFI9t1OYu4UoG" alt="" width="563"><figcaption></figcaption></figure>

* Enter a unique category name (e.g., FAQ Category v1).&#x20;
* Provide a concise description (e.g., "Category for Simple FAQ Chatbot"). An optional content icon can be added.&#x20;
* Click Add.&#x20;

<figure><img src="/files/tugZHU1aD5mKQ55xP6xV" alt="" width="375"><figcaption></figcaption></figure>

3\. Custom App Development

* Navigate to Apps > Custom Apps.&#x20;
* Click New Custom App.&#x20;

<figure><img src="/files/U2dWXP6welOhyxlOL2R3" alt="" width="563"><figcaption></figcaption></figure>

* Enter the following details: &#x20;
  * Name: FAQ bot v1&#x20;
  * Custom App Type: Search&#x20;
  * Category: Select the FAQ Category v1 created in the previous step.&#x20;
  * Check the box: This is a Generative AI App&#x20;
  * Click Save

<figure><img src="/files/DOFO3pdNBrzpEUCJhveC" alt="" width="375"><figcaption></figcaption></figure>

4\. Data Source Configuration

* Within your newly created Custom App, navigate to the Data Sources tab.&#x20;
* Click Create New Data Source.&#x20;

<figure><img src="/files/ZRiCvrQqzOnQIm8yQk8U" alt="" width="563"><figcaption></figcaption></figure>

* Enter the following:&#x20;
  * Name: genAIdataSource&#x20;
  * Integration Configuration: Select your Generative AI connection (created in Step 1).&#x20;
  * Click Save.&#x20;

<figure><img src="/files/sSMK3YRBFcZiubWL3f5i" alt="" width="375"><figcaption></figcaption></figure>

5\. Method Definition&#x20;

* In your Custom App, navigate to the Methods tab.&#x20;
* Click Create New Method.&#x20;

<figure><img src="/files/QKQIGORsR5ltx2IVQGmC" alt="" width="563"><figcaption></figcaption></figure>

* Enter: &#x20;
  * Method Name: chatcompletion&#x20;
  * Request Type: chatcompletion-rag&#x20;
* Configure the parameters: &#x20;
  * Model: Select your preferred Generative AI model (e.g., OpenAI gpt-4).&#x20;
  * **Sample System Message**: Provide instructions for the bot's behavior (e.g., " You are a FAQ bot. Answer the following frequently asked questions exactly as provided: 1. Q: What is my room number?    A: Your room number is 101. 2. Q: What is the Wi-Fi password?    A: The Wi-Fi password is Guests$2025. Enjoy your stay connected!").&#x20;
  * userQuestion: {{UserInput}}&#x20;
  * streaming: False&#x20;
  * sessionTime: 10&#x20;
  * OrganizationID: {{Context.OrganizationID}}&#x20;
  * EmployeeID: {{Context.EmployeeID}}&#x20;

<figure><img src="/files/2cYUtlSPY7cuGM09D6l8" alt=""><figcaption></figcaption></figure>

* Configure Method Output: &#x20;
  * Result Type: ListofRecords&#x20;
  * Record Limit: 10&#x20;

<figure><img src="/files/gxKDPBdjzx1CY9jc8AyS" alt="" width="563"><figcaption></figcaption></figure>

* Configure Method Result:&#x20;
  * Record JsonPath: $.choices\[0].message&#x20;
  * Valid Result Template: {{Records}}&#x20;
  * Record Template: {{content}}&#x20;
  * Empty Result Template: "Is there anything else I can assist you with?"&#x20;
  * Uncheck: Automatically prompt for next question&#x20;
  * Click Save & Test. This will initiate a test API call.&#x20;

<figure><img src="/files/XbloQytMYXZ5M6ZaqvAR" alt="" width="563"><figcaption></figcaption></figure>

6. Retrieving Employee and Organization IDs

* Navigate to Account Setup
* Go to Account Setup > Profile.

<figure><img src="/files/X4ZVHzUGywZVJWWysOUI" alt="" width="563"><figcaption></figcaption></figure>

* Copy Your IDs
* Locate your EmployeeID and OrganizationID and copy them.
* Paste these IDs into the corresponding parameter fields in the test method dialog.

<figure><img src="/files/WDwppxUzkEdgWcBhbhSs" alt="" width="375"><figcaption></figcaption></figure>

* Method test results

<figure><img src="/files/wGWmkMx5PMdPauTlsp1v" alt="" width="375"><figcaption></figcaption></figure>

7\. Intent Creation&#x20;

* In your Custom App, navigate to the Intents tab.&#x20;
* Click Create New Intent.&#x20;

<figure><img src="/files/1lF3J1Zhwb46tFlifqab" alt="" width="563"><figcaption></figcaption></figure>

* Enter: &#x20;
  * Name: chatIntent&#x20;
  * Intent Type: Search&#x20;
  * Intent Action: Execute Method&#x20;
  * Data Source: genAIdataSource&#x20;
  * Data Source Method: chatcompletion&#x20;
  * Dialog Delegation Strategy: ManualDelegation&#x20;
  * Check the checkbox for Set this intent as a fallback Intent.&#x20;
  * Click Save.&#x20;

<figure><img src="/files/xQeKNvZBb3mDaAsTnCH6" alt="" width="375"><figcaption></figcaption></figure>

8. Slot Creation&#x20;

* In your Custom App, navigate to the Slots tab.&#x20;
* Click Create New Slot.&#x20;

<figure><img src="/files/S8aiG0444mXfTfjYRT3g" alt="" width="563"><figcaption></figcaption></figure>

* Enter: &#x20;
  * Name: UserInput&#x20;
  * Slot Order: 1&#x20;
  * Type: Text&#x20;
  * Intent: chatIntent&#x20;
  * Click Save.&#x20;

<figure><img src="/files/alaGmpAojkXj23GEHZt8" alt="" width="375"><figcaption></figcaption></figure>

9. Utterance Definition&#x20;

* In your Custom App, navigate to the Utterances tab.&#x20;
* Click Create New Utterance.

<figure><img src="/files/n2XiFkaIlm3AaYHTPcP9" alt="" width="563"><figcaption></figcaption></figure>

* Enter: &#x20;
  * Value: Ask a question&#x20;
  * Intent: chatIntent&#x20;
  * Click Save.&#x20;

<figure><img src="/files/zRrcNgY87oxz292iPFNH" alt="" width="375"><figcaption></figcaption></figure>

10. Input Configuration&#x20;

* In your Custom App, navigate to the Input tab.&#x20;
* Click Create New Input.&#x20;

<figure><img src="/files/XcOIMHlWyas9TMOPUK8C" alt="" width="563"><figcaption></figcaption></figure>

* Enter: &#x20;
  * Name: ChatInput&#x20;
  * Custom Intent: chatIntent&#x20;
  * Data Source: genAIdataSource&#x20;
  * Data Source Method: chatcompletion&#x20;
  * Click Save

<figure><img src="/files/SFokHasVRZhXXE4qP0dW" alt="" width="375"><figcaption></figcaption></figure>

* Add input parameter &#x20;
  * Input Parameter Name: UserInput&#x20;
  * Parameter: UserInput&#x20;
  * Data Type: Text&#x20;
  * Click on save.&#x20;

<figure><img src="/files/QrSDEiL9TzdHv88OLh8f" alt="" width="375"><figcaption></figcaption></figure>

11. Application Publishing

* In your Custom App, navigate to the Publish tab.&#x20;
* Click Add App Publishing.&#x20;

<figure><img src="/files/hu5enHkpo9BMGDUTaRXi" alt="" width="563"><figcaption></figcaption></figure>

* Enter: &#x20;
  * External App Name: FAQ bot v1
  * App Description:  FAQ bot v1
  * App Type: Search&#x20;
  * Channel: Generative AI&#x20;
  * Check: Enable API Access (Optional: Check boxes for basic/showcase mode visibility)&#x20;
  * Click Save

<figure><img src="/files/pBvL6Ty8KSedCrFGxbug" alt="" width="375"><figcaption></figcaption></figure>

12. Testing&#x20;

* Thoroughly test your newly published bot to ensure functionality and accuracy.&#x20;

<figure><img src="/files/emyse04FPLwToAyptx3o" alt="" width="375"><figcaption></figcaption></figure>

Congratulations!

You have successfully completed building a simple FAQ bot.


---

# 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/step-by-step-bot-creation-guide/faq-bot-creation-guide.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.
