# Create flow

This page describes how to configure the flow settings, build workflow logic, validate the logic and test the interaction. To learn how to deploy the flow to a voice or chat channel see [Deploy a flow.](https://docs.ixhello.com/ixhc2/flows/deploy-flow)

For a detailed step-by-step guide of building a flow, see [Build, validate and test a simple flow](https://docs.ixhello.com/ixhc2/general/tutorials/build-validate-and-test-a-simple-flow).&#x20;

## Before you begin  <a href="#accessing-the-chat-widget-configuration" id="accessing-the-chat-widget-configuration"></a>

* Confirm the primary goal of your flow, such as guiding users through a support process or collecting user information.
* Identify and configure any necessary external systems your flow should interact, like REST APIs.&#x20;

## Step 1: Configure the settings&#x20;

1. Sign in to **ixHello Customer v2**.
2. In the left navigation menu, go to **Flows**
3. Select **Create flow** to configure the flow settings and click **Save** to continue to the next step.

<table><thead><tr><th width="272">Setting</th><th>Description</th></tr></thead><tbody><tr><td>Name</td><td>The meaningful name for the Flow that clearly reflects its purpose.</td></tr><tr><td>Description</td><td>A description to provide further information.</td></tr><tr><td>Persona. Text-to-Speech (TTS) language and voice</td><td>The language and voice for TTS prompts, used on the voice channel.</td></tr><tr><td>Language </td><td>This specifies the language and regional variant the AI should use for speaking and writing.</td></tr><tr><td>Voice</td><td>This is the text‑to‑speech voice the AI uses when generating audio output.</td></tr></tbody></table>

{% hint style="info" %}
To update settings for an existing flow, click the **more icon** **button** <img src="https://4187494610-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FFe4cpY1jy0FJ4kgC7wSx%2Fuploads%2FGqXPVykcDfIhBDLfwVMU%2Fmore-icon-button.png?alt=media&#x26;token=2615e175-afef-4778-811a-e64ca5498a10" alt="more icon" data-size="line"> and select **Settings** from the dropdown.
{% endhint %}

<figure><img src="https://4187494610-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FFe4cpY1jy0FJ4kgC7wSx%2Fuploads%2FyQmHrRwmer7BeltiMaXa%2Fimage.png?alt=media&#x26;token=b411f033-f1f5-4d74-9c83-0348e45bd1c1" alt="" width="375"><figcaption></figcaption></figure>

#### Persona Settings:

Define how the AI behaves within a specific workflow. Consider it as selecting the **brain** for your automation. These settings influence:

* **Model** selection for responses
* **Speed vs. quality** balance
* **Cost** per message
* AI's level of intelligence, creativity, or factuality
* Capability in reasoning, coding, summarization, etc.

#### Explanation of Each AI Model in the Dropdown

<table data-header-hidden><thead><tr><th width="132.8333740234375"></th><th width="246.6666259765625"></th><th width="250.6666259765625"></th><th width="229.6666259765625"></th></tr></thead><tbody><tr><td><strong>AI Model</strong></td><td><strong>Description</strong></td><td><strong>Best For</strong></td><td><strong>Not Ideal For</strong></td></tr><tr><td><strong>GPT‑4o mini</strong></td><td>Lightweight, fast, low‑cost model with good baseline intelligence.</td><td>- Simple Q&#x26;A<br>- Classification tasks<br>- Routing logic<br>- Small summaries<br>- High‑volume, low-cost apps</td><td>- Deep reasoning<br>- Multi-step logic<br>- Long document processing</td></tr><tr><td><strong>GPT Realtime</strong></td><td>Optimized for instantaneous response generation and streaming interactions.</td><td>- Real-time chatbots<br>- Voice assistants<br>- Live customer engagement<br>- Instant reply workflows</td><td>- Heavy computation<br>- Large-context analytical tasks</td></tr><tr><td><strong>GPT‑5</strong></td><td>General‑purpose flagship model with strong reasoning, writing, and coding skills.</td><td>- Analytical workflows<br>- Long-form content<br>- Coding tasks<br>- Document understanding</td><td>- Cases where cost or speed is the top priority</td></tr><tr><td><strong>GPT‑5.1</strong></td><td>More stable and consistent version of GPT‑5 with improved structure and reliability.</td><td>- Business-critical automation<br>- Enterprise-level QA<br>- Reasoning-heavy flows<br>- Reducing hallucinations</td><td>- Ultra-low-cost or ultra-fast workflows</td></tr><tr><td><strong>GPT‑5.2</strong></td><td>Most advanced, most accurate model with top-tier reasoning and long-context handling.</td><td>- Technical analysis<br>- Legal/financial reasoning<br>- Complex decision flows<br>- Long document processing</td><td>- Situations where low latency or cost matters more</td></tr><tr><td><strong>GPT‑5 Mini</strong></td><td>Smaller and cheaper variant of GPT‑5, optimized for speed and scale.</td><td>- Lightweight chatbots<br>- Fast interactions<br>- Large-scale workloads<br>- Basic NLP tasks</td><td>- High reasoning depth<br>- Complex multi-step logic</td></tr></tbody></table>

#### Language:

The **Language** dropdown affects the **primary language, writing style, and regional formatting** of the AI.&#x20;

**It impacts:**

* Spelling (e.g., "colour" vs. "color")
* Grammar and phrasing
* Tone and expressions
* Regional vocabulary (e.g., "lift" vs. "elevator")
* Pronunciation (if voice is used)
* Locale-specific formatting (dates, currency, units)

**Choosing the Right Language:**

* Provides a localized customer experience
* Ensures natural conversations
* Maintains correct spellings for your audience
* Consistency in your AI flow
* Accurate voice output

**Key Uses:**

* Customer service bots
* IVR voice flows
* Global product launches
* Region-specific content

#### Voice:

The **Voice** dropdown lets you choose the **text-to-speech (TTS) voice** the AI uses when generating audio responses.\
This controls:

* **Accent**
* **Tone** (warm, deep, energetic, neutral)
* **Speed & clarity**
* **Speaking style**
* **Voice model version (V2 / Turbo V2.5 / Flash V2.5)**

| Voice Type          | Voice Models Shown | Key Features                                       | Best For                                                     |
| ------------------- | ------------------ | -------------------------------------------------- | ------------------------------------------------------------ |
| **Multilingual V2** | Sarah, Will        | Most natural & expressive, multilingual, warm tone | Customer service, multilingual bots, professional voice apps |
| **Turbo V2.5**      | Eric, Jessica      | Fast + high clarity, balanced naturalness          | Real-time agents, high-speed workflows                       |
| **Flash V2.5**      | Aria, Harry        | Fastest, lightweight, efficient                    | High-performance bots, minimal latency needs                 |

<figure><img src="https://4187494610-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FFe4cpY1jy0FJ4kgC7wSx%2Fuploads%2FXPIk2VhAqqLrveJedWCc%2Fimage.png?alt=media&#x26;token=10d9de4f-af3d-4f81-a8c4-4c2ced5a7c2d" alt="" width="375"><figcaption></figcaption></figure>

## Step 2: Create flow

A flow starts at the Start node. Add nodes from the Available Nodes list to the Flow canvas by dragging and dropping or clicking to place them at the center. Link the nodes using edges to define the logical sequence of operations and decisions. For each node, open the right sidebar and configure its settings to tailor its behavior to meet your needs.

* For detailed description of the Flow editor page layout see [Flow editor](https://docs.ixhello.com/ixhc2/flows/flow-editor).&#x20;
* For detailed descriptions of the available nodes click [here](https://docs.ixhello.com/ixhc2/flows/flow-editor).&#x20;

{% hint style="info" %}
For an existing flow select **Design** to access the flow editor page.&#x20;
{% endhint %}

## Step 3: Save and validate the flow

Click **Save** in the top right corner to store the current configuration to the backend. The save process automatically checks for logic errors or inconsistencies. The result of this save action is visible in the valid/invalid badge, which is next to the flow name.

Alternatively, use the **Validate** button to perform checks **without saving**. The result of the validate action is displayed in a feedback toaster.

{% hint style="info" %}
Validating Flow logic that is different from the stored configuration can result in a discrepancy between the state badge and feedback toaster.&#x20;
{% endhint %}

### Unsaved Changes Exit Warning:

This feature protects flow builders from losing their in‑progress configuration when they unintentionally navigate away from the Flow Editor. When unsaved changes are detected, the system displays a clear, interruptive warning before allowing the user to move away from the page. This ensures the flow builder has an opportunity to save their work and avoid forced rework.

By proactively alerting users at the moment of potential data loss, this enhancement strengthens reliability, reduces frustration, and supports a smoother, more predictable editing experience.

#### **Data Loss Scenarios:**&#x20;

Be mindful of these actions that can lead to data loss:

* Closing the browser: Here you see browser-level navigation warning that appears when a flow builder attempts to leave the Flow Editor while there are unsaved changes.

<figure><img src="https://4187494610-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FFe4cpY1jy0FJ4kgC7wSx%2Fuploads%2FI0H6q90Q4brzndRBJl16%2Fimage.png?alt=media&#x26;token=4abb972e-afd6-40fd-91be-ef15fba45639" alt=""><figcaption></figcaption></figure>

* Clicking the previous/back button in the browser:  In-product confirmation dialog that appears when a user attempts to leave the Flow Editor by clicking the previous button or back button in the browser while there are unsaved changes in the flow.

<figure><img src="https://4187494610-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FFe4cpY1jy0FJ4kgC7wSx%2Fuploads%2FSU14XUFnQG8vzMKJqN4z%2Fimage.png?alt=media&#x26;token=9e52c835-f54a-4c27-b208-51152be79a32" alt=""><figcaption></figcaption></figure>

* Clicking the logout button in ixHello: In‑product warning dialog that appears when a user tries to log out of the application while there are unsaved changes in the Flow Editor.

<figure><img src="https://4187494610-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FFe4cpY1jy0FJ4kgC7wSx%2Fuploads%2FtTLg30krQ5mArIFZF7Oe%2Fimage.png?alt=media&#x26;token=5ec4f966-ce2c-42bf-8767-258b6d1a4119" alt=""><figcaption></figcaption></figure>

* Refreshing the browser: browser-level reload confirmation dialog that appears when the user attempts to refresh (reload) the page while there are unsaved changes in the Flow Editor.

<figure><img src="https://4187494610-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FFe4cpY1jy0FJ4kgC7wSx%2Fuploads%2Fa5q0WFBmNrSHQpZwYemB%2Fimage.png?alt=media&#x26;token=31bf4d4a-329e-4c22-8711-79b84524aa78" alt=""><figcaption></figcaption></figure>

#### Preventing Unsaved Changes When Navigating Away

To prevent losing unsaved changes when navigating away from a page, a warning modal is shown. The user can choose to:

* Continue: Navigate away, and unsaved changes will be lost.
* Cancel: Stay on the page to manually save changes by clicking the save button.

<figure><img src="https://4187494610-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FFe4cpY1jy0FJ4kgC7wSx%2Fuploads%2FZWUd5xCSNG7Tx11pAKDC%2Fimage.png?alt=media&#x26;token=4197b42b-9ff6-4490-b287-fb3a48d59ec0" alt=""><figcaption></figcaption></figure>

## Step 3.1: Copy, Cut and Paste

The **Copy, Cut, and Paste** feature allows users to efficiently duplicate or move nodes within the canvas without manually reconfiguring them. This functionality is designed to streamline node management while maintaining clarity and control.

### **Copy and Paste a Node**

If you have a complex node and prefer not to manually configure all its options, such as with a menu node, you can simply **copy** it. This creates an exact duplicate, preserving all original options and allowing you to attach edges without starting from scratch.

Users can duplicate a selected node along with its configuration.

This also works seamlessly with keyboard shortcuts:

* **Copy:** `Ctrl + C`
* **Paste:** `Ctrl + V`

**Behavior**

* The copied node retains its configuration.
* It appears on the canvas with an **offset** from the original node for clarity.
* **Edges are not copied.**
* The copied node is automatically **selected**, allowing easy configuration in the right sidebar.

<figure><img src="https://4187494610-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FFe4cpY1jy0FJ4kgC7wSx%2Fuploads%2FjWX44ynpDyjeDeUiLDRr%2Fimage.png?alt=media&#x26;token=e5da9b10-bfc6-4b3c-8f77-ff5bb2210a46" alt=""><figcaption></figcaption></figure>

<figure><img src="https://4187494610-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FFe4cpY1jy0FJ4kgC7wSx%2Fuploads%2FE6K4QxDAzzJZeaRq10sG%2Fimage.png?alt=media&#x26;token=ab96fe92-2f4a-4c84-a090-c454848a76a5" alt=""><figcaption></figcaption></figure>

***

### **Cut and Paste a Node**

To **cut** nodes, simply use the keyboard shortcut or click the **Cut icon**. Once cut, you can paste the node in the desired location.

Users can move a node to a new location by cutting and pasting.

This also works seamlessly with keyboard shortcuts:

* **Cut:** `Ctrl + X`&#x20;
* **Paste:** `Ctrl + V`

**Behavior**

* The node and its configuration are removed from the original position.
* **Edges are removed and not restored.**
* The pasted node is automatically **selected** for easy configuration.

<figure><img src="https://4187494610-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FFe4cpY1jy0FJ4kgC7wSx%2Fuploads%2FjejSXNThxCG0fGYtdCGa%2Fimage.png?alt=media&#x26;token=5279bdd9-bdcd-46ca-b2e2-cd060c9e7f74" alt=""><figcaption></figcaption></figure>

<figure><img src="https://4187494610-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FFe4cpY1jy0FJ4kgC7wSx%2Fuploads%2FwprIOeHGtKVQ4Py4cojV%2Fimage.png?alt=media&#x26;token=a2320041-b35d-4661-a55a-9735043e7832" alt=""><figcaption></figcaption></figure>

## Step 4: Test the flow&#x20;

Click **Test** in the top right corner to chat with the flow logic that is stored in the backend. You'll get a warning to save changes when the flow logic differs from the stored configuration. Interact with the flow as a user would to ensure it behaves as expected. The active node is marked with an orange border during testing.

## Next steps&#x20;

Once your flow is validated and  tested, proceed to deploy it to a voice or webchat channel for live user interaction.


---

# 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/ixhc2/flows/create-flow.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.
