Skip to navigation

Choosing an experience

Overview

Choose how end users interact with Messaging. Your choice determines which interface your developers maintain.

Limitations

Messaging and Lovelace have different responsibilities. Lovelace provides React components; the SDK manages the conversation.

Lovelace requires React 19. It provides interface primitives, but it does not include complete survey or file-upload flows.

A custom interface can differ visually from the hosted widget. See the Lovelace scope.

Capabilities & configuration

Select a Messaging integration based on the interface you need.

ExperienceWhat you configureDeveloper responsibility
Hosted widgetDashboard branding, appearance, and behaviorInstall the web or mobile SDK.
Custom appA hosted application that replaces the conversation interfaceConnect through the Messaging bridge. Deploy the hosted app for updates on the next Ada view load. See the update model.
Headless integrationAn interface owned by your website or native appRender messages and controls through SDK methods and events. Deploy each website or release a native app update that end users must install.

Dashboard branding is the first choice when the hosted interface meets your needs. Use Appearance settings.

For a custom interface, share Choosing an integration with your developers.

Implementation & usage

Plan ownership before you build a custom Messaging interface.

  • Custom apps require an approved origin in Allowed websites. See Custom apps.
  • Headless integrations require programmatic control for transcript methods and message events. Review transcript exposure.
  • Lovelace can support either approach. See Build a custom chat UI.
  • Lovelace theming explains how dashboard brand settings map to design tokens.

Your developers must test accessibility, errors, uploads, surveys, and human support in the interface they build.

Best practices

Keep Messaging runtime delivery separate from component upgrades. The web SDK loads its runtime from Ada’s CDN.

An npm loader version does not pin that runtime. Lovelace versions contain the components your application runs and require deliberate upgrades.