# Deployment

Deploying an AI application is how you take your NLX solution live. A deployment packages your flows, AI engine, configuration, languages, and channel settings into a runnable version, then pushes that version to the places where users will interact. Those places can be chat, voice, phone/IVR, your website, mobile app, or an MCP client.

<figure><img src="https://2737319166-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FHCxYxhIU0Bqkjj942mGk%2Fuploads%2FBmDNdtS7Qcv86DQewb72%2FDeployment%20Lifecycle.png?alt=media&#x26;token=b2996d41-9f92-4558-8dc0-3a0456b46399" alt=""><figcaption></figcaption></figure>

Once deployed, your application becomes the active runtime powering conversations outside your NLX workspace.

### Deployment methods

Select a type that fits your use case to get started:

<table data-card-size="large" data-view="cards" data-full-width="false"><thead><tr><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><h4><strong>Channels</strong></h4></td><td>Install your app directly into channels like voice/IVR systems, SMS, CCaaS platforms (such as Amazon Connect or Genesys), or through a custom service via REST/WebSocket. Each channel you add becomes a delivery path for your experience</td><td><a href="deployment/managing-channels">managing-channels</a></td></tr><tr><td><h4><strong>Touchpoint</strong></h4></td><td>Use the NLX Touchpoint SDK to embed your assistant into your website or mobile app. Touchpoint runs on the default API channel (with native voice support) that's automatically created for every NLX application</td><td><a href="deployment/managing-channels/creating-an-api-channel">creating-an-api-channel</a></td></tr><tr><td><h4><strong>Hosting</strong></h4></td><td>Publish your app to an NLX-hosted Touchpoint site. This is ideal for demos, sharing with collaborators, and previewing the final UX during development</td><td><a href="deployment/hosting">hosting</a></td></tr><tr><td><h4><strong>MCP Server</strong></h4></td><td>Enable your application as an MCP-compatible server, so any MCP client can call your workflows, trigger actions, and fetch data through the Model Context Protocol</td><td><a href="deployment/mcp-server">mcp-server</a></td></tr></tbody></table>

### How deployment works

Each time you deploy, you’re publishing a snapshot of your application exactly as it exists at build time.

* Updates to flows or resources don’t affect your live app until you decide
* Roll back to previous builds at any time
* Each channel receives a clean versioned package

Deployments can target one or more channels, letting you run your application wherever users interact.

### Build, deploy, iterate

NLX deployments support a clean and safe workflow:

{% stepper %}
{% step %}

#### Build

Creates an immutable package of your flow logic, AI engine, configuration, and channel setup. Each build runs an automatic NLX validation check to catch potential issues early
{% endstep %}

{% step %}

#### Deploy

Pushes a successful build to your selected delivery channels or hosting environment. Many teams clone their application to maintain separate staging and development environments for safe iteration. Only one build is live per app, but you can roll back instantly
{% endstep %}

{% step %}

#### Test & refine

Use NLX test sessions to verify behavior, evaluate performance, and debug issues. Once your staging environment is performing as expected, finalize with a build on your production app and deploy it
{% endstep %}
{% endstepper %}

### Testing, debugging, & validation

<figure><img src="https://2737319166-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FHCxYxhIU0Bqkjj942mGk%2Fuploads%2FPRbIs9cXdaiVCb550X80%2FDeployment%20overview%20testing.gif?alt=media&#x26;token=9b7090ea-b2cc-4bec-8667-49c2234a2828" alt=""><figcaption></figcaption></figure>

Testing is a major part of the deployment lifecycle. This allows you to troubleshoot failures, verify expected behavior, and ensure your deployment is production-ready.&#x20;

<a href="testing" class="button primary">Explore testing options</a>

Here’s what you can expect when testing or deploying in your NLX workspace:

{% columns %}
{% column width="41.66666666666667%" %}

<figure><img src="https://2737319166-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FHCxYxhIU0Bqkjj942mGk%2Fuploads%2FLCpDVxwZ4vy0WQ05Jmwb%2FSettings.png?alt=media&#x26;token=2ab6db6c-ef39-4fe9-b57c-c0ad36ebdc17" alt=""><figcaption></figcaption></figure>
{% endcolumn %}

{% column width="58.33333333333333%" %}
**Context & settings control**

In a test session, use the gear icon to preload context variables (name, membership tier, ID, etc.) or adjust test parameters
{% endcolumn %}
{% endcolumns %}

{% columns %}
{% column width="41.66666666666667%" %}

<figure><img src="https://2737319166-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FHCxYxhIU0Bqkjj942mGk%2Fuploads%2Fs0hga2TdheUhuXU3g4j3%2FDebug.png?alt=media&#x26;token=2be8fe61-2add-4b57-8131-1a18a5d1b0f1" alt=""><figcaption></figcaption></figure>
{% endcolumn %}

{% column width="58.33333333333333%" %}
**Conversation debugging**

Selecting any AI message in a transcript reveals a chronological list of all operations the engine executed in that turn (NLU matches, API calls, variable updates, tool triggers, flow paths, and more)
{% endcolumn %}
{% endcolumns %}

{% columns %}
{% column width="41.66666666666667%" %}

<figure><img src="https://2737319166-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FHCxYxhIU0Bqkjj942mGk%2Fuploads%2FsdYUFSdQ4htVR2CmnKi4%2FEvent.png?alt=media&#x26;token=90f2c652-a4dc-4523-b760-d2789a1ac033" alt=""><figcaption></figcaption></figure>
{% endcolumn %}

{% column width="58.33333333333333%" %}
**Event inspection**

Expand any logged event in your app's logged conversations or in a test session to inspect exact data inputs and outputs, validation results, or NLP confidence scores
{% endcolumn %}
{% endcolumns %}

{% columns %}
{% column width="41.66666666666667%" %}

<figure><img src="https://2737319166-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FHCxYxhIU0Bqkjj942mGk%2Fuploads%2FBareXXVS8btASSsv6g28%2FSEnvironment.png?alt=media&#x26;token=1b4a6f03-f026-4417-a0d4-d5276d964790" alt=""><figcaption></figcaption></figure>
{% endcolumn %}

{% column width="58.33333333333333%" %}
**Environment switching**

Switch the test session between Development and Production to preview how your app behaves with different data sources. You can also configure a build to use Development or Production endpoints for all API calls, allowing you to validate in a safe environment before promoting to production
{% endcolumn %}
{% endcolumns %}
