Ensemble Docs

Chat Widget

Embed a fully-featured chat into your React app in minutes. The chat connects to your Ensemble agent with real-time streaming and supports custom widgets.

Secure by Design

Authentication flows through JWT tokens. Your agent's API keys, third-party credentials, and secrets never touch the browser. Users authenticate with your existing auth system.

Real-Time Streaming

Responses stream token-by-token as the agent generates them. Users see the AI "thinking" in real-time, not waiting for complete responses.

Custom Widgets

Your agent can render any React component inside the chat. Show product cards, data tables, interactive maps, booking forms—whatever your use case needs. You define the schema, the AI populates it, and your component renders it.

API Enrichment

Widgets can fetch additional data from tools before rendering. The LLM generates a widget payload, the server calls your configured tools to enrich it, and your component receives both. Perfect for real-time data like inventory levels, distances, or pricing that shouldn't be hallucinated. This also reduces token cost and latency since the LLM doesn't need to generate this data.

Voice & Speech

Optional text-to-speech for agent responses and speech-to-text for user input. Build voice-enabled assistants without additional infrastructure.

Built-in Feedback

Thumbs up/down on every response. Collect user sentiment to improve your agents over time.

On this page