> For the complete documentation index, see [llms.txt](https://docs.ixhello.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.ixhello.com/ixhc/connections/orchestration-enhancement-lex-nlp-bot-integration.md).

# Orchestration Enhancement: Lex NLP Bot Integration

**iX Hello** is a **no-code AI assistant platform** by Concentrix that enables businesses to create multimodal, customer-facing bots quickly.

It supports **intent-based orchestration**, meaning you can design bots that **route conversations across multiple skills or workflows** based on user intent.

### Overview&#x20;

It refers to **intents that act as a controller**, orchestrating multiple sub-intents or workflows. Instead of a single response, these intents **trigger a sequence of actions** (e.g., fetching data from CRM, confirming details, updating backend).

Useful for **complex journeys** like:

* Order management (check status → update → notify)
* Appointment booking (validate availability → confirm → send reminder)
* Multi-step troubleshooting flows.

### How to create inten&#x74;**-based Orchestration in iX Hello**

### 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.
* Basic knowledge of RESTful API principles and JSON format for handling the data returned by the API.
* Use the below NLP bot links to create a custom app without using the Orchestration step
  * To Create a Basic NLP bot, refer to [this](/ixhc/apps/custom-skills-series-step-1-building-a-custom-skill.md)
  * To Create the connection, refer to [this](/ixhc/apps/custom-skills-series-step-2-creating-a-connection.md), to publish on lex refer to [this](/ixhc/apps/custom-skills-series-step-3-publishing-to-a-channel.md)

#### Note : Use the below steps to create Intent using Orchestartion

#### Let's create an Intent

&#x20;Navigate to the ‘Intents’ tab and click on the ‘Create New Intent’ button.

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

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

#### Create Design

Once the Intent is created, click on the Action and choose Design.&#x20;

Which Open the **intent design canvas**, where you can define the orchestration flow (e.g., steps, API calls, conditions).

<figure><img src="/files/7bec9OYX3gUk215V1OPD" alt=""><figcaption></figcaption></figure>

You will land on Orchestration Intent Design Canvas. It’s where you visually build the workflow for an orchestration-type intent.&#x20;

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

Here’s what each element means:

* Start Node:
  * Entry point of the orchestration flow. Every design begins here.
* Method Node:&#x20;
  * Represents a function or API call.
  * Used to fetch data, update records, or perform backend operations.
* Agent Node:&#x20;

{% hint style="info" %}
This node is not available for the NLP applications
{% endhint %}

* Get Slot Node:
  * Captures specific user input (e.g., email, phone number).
  * Essential for gathering required parameters before calling APIs.
* Say Text Node:
  * Sends a response message to the user.
  * Can display dynamic data from previous steps.
* Exit Node:
  * Marks the End of the orchestration flow.
* Connector Type : Flowchart / Straight Lines / Curve
  * Defines how steps are visually connected in the canvas.
  * Flowchart is the default for clear branching logic.

Here you can see the detailed explanations with the screenshots on the above-mentioned elements:

#### Start Node:&#x20;

The start node is the start point of a flow; the processing of each session starts here. There needs to be exactly one start node in each flow.

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

#### Method Node:&#x20;

* Title: You can rename this to something meaningful (e.g., `FetchContactDetails`).
* Data source Dropdown: This is where you select or define the API or backend system you want to connect to.  The “+” icon lets you add a new data source by navigating to the method screen of the custom app, and the refresh icon reloads available sources.
* Data Source Method Dropdown: After selecting a data source, this field specifies which method or endpoint to call (e.g., `GET /contacts`, `POST /updateContact`). Again, “+” adds a new method by navigating to the method screen of the custom app, and refresh updates the list.
* Buttons:&#x20;

  * Close: Exit without saving changes.
  * Delete: Remove this Method node from the flow.

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

#### Get Slot Node:

* Represents a step in the orchestration flow where the bot collects a specific piece of information from the user (called a “slot”).
* Message/Prompt: This is the question or prompt the bot will ask the user to capture the required information.
* Slot: The variable name where the captured value will be stored.

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

#### Say Text Node:

* Represents a step in the orchestration flow where the bot sends a message back to the user.
* Message/Prompt: This is the text the bot will display to the user at this step. It can be static (e.g., *“Your request is complete.”*) or dynamic (e.g., *“Your contact details are: {{contact Info}}”* using variables from previous steps).
* Often placed after a Method node (API call) to show the retrieved data or after a Get Slot node to confirm input.

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

#### Exit Node:

* Represents the end point of the orchestration flow. When the bot reaches this node, the conversation or the current process is terminated.
* Message/Prompt: This is an optional closing message the bot will display before ending the flow. Example: *“Thank you for using our service. Goodbye!”*
* It can also provide a **final message** to confirm completion or politely end the interaction.

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

### Create Intent Orchestration

#### Get Slot: Setup of the specific Slot for the Intent

| Settings         | Description                                                                                                                                                             |
| ---------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Title            | Person                                                                                                                                                                  |
| Message/Prompt   | Please provide the name of the person whose contact number you want to find.                                                                                            |
| Slot (Drop-Down) | Person (When interacting with intents, you expect inputs from the users. Those inputs are mapped to slots. You need to capture those inputs for processing the intent.) |

Click: Close

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

#### Method: Setup of the specific Method for the Intent

| Settings                       | Description      |
| ------------------------------ | ---------------- |
| Title                          | GetContactMethod |
| Data Source (Drop-Down)        | Rest API DS      |
| Data Source Method (Drop-Down) | GetContactMethod |

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

#### Say Text: Setup of the specific Say Text for the instance Contact Found

{% hint style="info" %}
To show how the connections work, we created a dummy session variable&#x20;
{% endhint %}

| Settings       | Description                             |
| -------------- | --------------------------------------- |
| Title          | Contact Found                           |
| Message/Prompt | The contact of the {{Person}} is found. |

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

#### Say Text: Setup of the specific Say Text for the instance Contact Not Found

| Settings       | Description                                                     |
| -------------- | --------------------------------------------------------------- |
| Title          | Contact Not Found                                               |
| Message/Prompt | The contact of the {{Person}} is not available in our database. |

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

#### Connection Detail:  Contact Found

| Settings         | Description                                                           |
| ---------------- | --------------------------------------------------------------------- |
| Title            | Contact Found                                                         |
| Message/Prompt   | Contact Found                                                         |
| Type (Drop-Down) | Conditional                                                           |
| Priority         | 1                                                                     |
| Conditions       | Slot/Variable: {{Session.Phone}}, Operator: Not Equals, Value : Empty |

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

#### Connection Detail:  Contact Not Found

| Settings         | Description                                                      |
| ---------------- | ---------------------------------------------------------------- |
| Title            | Contact Not Found                                                |
| Message/Prompt   | Contact Not Found                                                |
| Type (Drop-Down) | Conditional                                                      |
| Priority         | 1                                                                |
| Conditions       | Slot/Variable: {{Session.Phone}}, Operator: Equals, Value: Empty |

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

#### Exit: The Exit node terminates the session and completes the flow execution

| Settings       | Description                                |
| -------------- | ------------------------------------------ |
| Title          | Exit                                       |
| Message/Prompt | Thanks for contacting and have a nice day! |

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

#### The Complete Orchestration Design for GetContactIntent is as follows

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


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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/orchestration-enhancement-lex-nlp-bot-integration.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.
