Choosing an integration

Ada chat can be embedded and driven in several ways. This page describes the available integrations and when to use each, so the right approach is chosen before development begins.

Quick comparison

The following table summarizes where each integration runs and when it applies.

IntegrationRuns inServer requiredUse when
Default Web ChatWeb browserNoA website needs standard embedded chat with the built-in launcher and drawer. Configuration only, no code.
Web Chat SDKWeb browserNoA web page needs to drive or customize the conversation in code — a custom UI, headless mode, in-page automation, or browser-side tools that read and send messages.
Native SDKs (iOS, Android, React Native)Native mobile appNoChat is embedded directly in a native mobile application.
Conversations APIYour serverYesThe integration runs on a server, on a channel Ada does not render (for example SMS, WhatsApp, or a proprietary application), or without an active browser session (for example scheduled or system-initiated messages). Custom Channels are built on this API.

Default Web Chat

Default Web Chat is the standard embedded experience: a launcher button and a chat drawer, configured without code.

Use it when:

  • A website needs an embedded AI Agent with the built-in interface.
  • No custom interface or in-page automation is required.

See the Web SDK getting started guide to embed it.

Web Chat SDK

The Web Chat SDK runs in the browser and lets a host page read and drive the active conversation from JavaScript. It adds methods such as sendMessage, getMessages, and getConversation, lifecycle events through subscribeEvent, and a headless mode that connects to the AI Agent without rendering the built-in button or drawer. Driving the conversation programmatically requires the enableProgrammaticControl setting.

Use it when:

  • A web page renders its own chat surface — for example a search bar, sidebar, inline form helper, or command palette.
  • In-page scripts or browser-side tools need to send or read messages on behalf of the end user.
  • The conversation is driven in code while reusing the same AI Agent, handoffs, and live-agent routing as the default drawer.

Do not use it when:

  • The integration must run on a server or without an active browser session. Use the Conversations API instead.

See the Web SDK overview, the Web Chat SDK API reference, and the headless setting.

Native SDKs

Native SDKs embed the AI Agent inside a native mobile application, with platform-specific settings and event listeners.

Use them when:

  • Chat is delivered through an iOS, Android, or React Native application.

See the iOS, Android, and React Native overviews.

Conversations API and Custom Channels

The Conversations API is a server-to-server integration. A server authenticates with Ada over HTTP and exchanges messages with the AI Agent, which makes it suited to cross-system workflows and to surfaces Ada does not render directly. Custom Channels are built on this API.

Use it when:

  • The integration runs on a server — for example syncing with a CRM or another system of record.
  • Messages are delivered on a channel Ada does not render, such as SMS, WhatsApp, or a proprietary application.
  • Messages are sent without an active browser session, such as scheduled or system-initiated outbound messages.

See the Conversations API overview, the getting started guide, and Creating a custom channel.

Web Chat SDK or Conversations API?

Both let an integration read and send messages, so the deciding factor is where the integration runs.

  • Choose the Web Chat SDK when the integration runs in the visitor’s web browser. It reuses the existing session, handoffs, and live-agent state, and requires no server.
  • Choose the Conversations API when the integration runs on a server, on a channel Ada does not render, or without an active browser session.

Most requests to customize chat or to automate the conversation from the browser fit the Web Chat SDK. Reach for the Conversations API when the integration genuinely lives on a server.