# Streaming AI replies for visitors

Show an AI reply as it arrives, with optional activity messages, before displaying the saved final response.

*Release 3.3 · operator, visitor*

**Settings › AI › Features** · **Settings › Chat › Themes**

## What it is

**Enable Streaming** lets a supported AI feature show its reply in portions as the answer is generated. Visitors can start reading before the whole answer is ready. The temporary display is then reconciled with the saved final response.

## Who uses it and why

Visitors read the developing answer and any supplied activity messages. Operators see the saved reply in the conversation and can distinguish that record from an answer still being generated.

## Where to find it

Visitors see streaming in the current chat pane when the answering AI feature enables it. A supplied activity indicator can appear as **Thinking** with expandable detail.

With the **Settings** or **Developer** role, configure **Enable Streaming** and **Interrupt Behavior** in **Settings › AI › Features**. With the **Settings** role, configure the visitor indicator through **Show AI Thinking State** in **Settings › Chat › Themes**.

## How it works

The pane adds text as the AI reply arrives. Formatting can develop as more text is received, and supported images or rich content can appear with the answer. The pane ignores repeated or older updates and can restore a current draft from a later state update.

When the saved final message arrives, INSIDE reconciles it with the temporary display so the reply does not remain as both a draft and a second final answer.

If the AI supplies an activity message during an active chat, the theme can show it in place of the ordinary typing indicator. Short messages appear directly. Longer or multiline detail collapses behind **Thinking** and can be expanded.

An interrupted reply follows the selected **Interrupt Behavior**. **Persist Partial** can save the cleaned output already produced. **Discard Partial** prevents that partial answer from being saved as the final reply. A failed or interrupted draft should not be treated as a complete answer.

## Configure it

Ask the person with the **Settings** or **Developer** role to review **Enable Streaming** on the answering AI feature. Set **Interrupt Behavior** for that feature and test a normal reply and an interruption.

A person with the **Settings** role can change **Show AI Thinking State** in the active chat theme. This controls the activity indicator separately from incremental answer text.

### Settings

| Setting | Where | Applies to | Default | Who can change it | What it does |
|---|---|---|---|---|---|
| Enable Streaming | Settings › AI › Features | website | Off | Settings role, Developer role | Enable incremental reply delivery for the selected supported AI feature. |
| Interrupt Behavior | Settings › AI › Features | website | Persist Partial | Settings role, Developer role | Choose whether interrupted partial output is saved as a cleaned final message or discarded. |
| Show AI Thinking State | Settings › Chat › Themes | website | On | Settings role | Show visitor-facing AI activity messages when the AI supplies them during an active chat. |

### Permissions

| Permission | Lets you |
|---|---|
| Settings | Configure AI feature streaming and the theme's activity indicator. |
| Developer | Access AI Features configuration. |

## Limits and good to know

- Streaming must be enabled on a supported AI feature; it does not apply to every message.
- The first visible text still depends on the AI service producing an answer.
- Activity labels are temporary messages about work in progress. They are separate from the final saved reply.
- A developing answer can have unfinished formatting or incomplete content.
- The visitor activity indicator requires an active chat and a supplied activity message.

## Depends on and works with

### This feature uses

- **Requires** [AI reply streaming settings](AI-037.md): The AI reply service supplies streaming, interruption and final response handling.
- **Requires** [Messages and rich content](CHAT-002.md): Final replies use ordinary conversation message storage and delivery.
- **Requires** [Previous chat history for visitors](VX-033.md): The conversation display reconciles the temporary reply with the saved final message.
- **Configured in** [AI feature settings and change history](AI-001.md): Streaming and interruption choices belong to the selected AI feature.
- **Configured in** [Visitor chat themes and branding](VX-003.md): The active theme controls the visitor AI activity indicator.
- **Works better with** [Autopilot for live chat](AI-003.md): Supported Autopilot replies can stream into the visitor chat pane.
- **Works better with** [Rich content in visitor chat](VX-018.md): Replies can include supported rich content alongside text.

### Used by

- **Enhances** [Previous chat history for visitors](VX-033.md): Streaming replies are reconciled with their saved final messages.

## FAQ and troubleshooting

### Why does the answer appear all at once?

Check **Enable Streaming** on the feature that actually answered. Also confirm the visitor uses the current chat pane and a supported AI response path.

### Why is Thinking missing while the answer streams?

The AI may not have supplied an activity message, or the theme may disable **Show AI Thinking State**. Streaming text and activity messages are separate controls.

### Why is Thinking expandable?

Long or multiline activity detail is collapsed to keep the chat readable. Select it to show the detail.

### Why is only part of an interrupted answer in history?

With **Persist Partial**, INSIDE can save the cleaned output produced before interruption. Check the AI feature's **Interrupt Behavior**.

### Why did the final answer replace the text I was reading?

The initial text was a temporary streaming display. INSIDE reconciles it with the saved final reply when that message arrives.
