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.
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.