Conversations API

Limited Beta

The Conversations API is in limited beta with select partners. We are scheduled to open it up for general client and partner access on Monday, March 11th, 2019.


The Snaps Conversations API enables two or more applications to control which application is currently interacting with a user, send messages to a user, and monitor all conversational events across Web, SMS, Google Business Manager, Apple Business Chat, FB Messenger, Twitter, Viber and native iOS/Android channels.

High Level Diagram of the Snaps Conversations API

The primary resources of the API are conversations, applications, and channels.


A channel represents a distinct endpoint where conversations with end users occur. It is important to understand that a channel has a channel type, such as SMS. However, applications may run on multiple channels of the same or varying types:

  • Suppose you have an application supporting a SMS experience in both the US and UK. This application may run on two SMS type channels, having two distinct phone numbers for each channel endpoint.

  • Suppose you have an application supporting an experience on FB Messenger and an enterprise web site. This application will run on two channels with different types and endpoints.

Check out the channels documentation to learn more.


Conversations represent a distinct set of interactions between an application and an end user. At any given time, only a single application can send messages to a user.

The entirety of a user's interactions are delineated by changes in conversational control. That is, a control change from one application to another, ends one conversation and begins another in the Snaps system. However, a user experiences these conversations as a single integrated thread with multiple participants.

Applications also have access to the entirety of a user's interactions; we call this the transcript. The transcript represents all messages from all applications along with a number of other events that enrich the transcript. Events such as click to website, page views, purchases and other custom events are layered into the transcript to provide customer service agents and machine learning algorithms with optimal context.

Check out conversational control documentation to learn more.


Applications are represented as either a primary or a secondary application. The primary application for the purposes of our documentation is the Snaps AI, also referred to as the bot or bot application in many parts of our documentation.

Primary Application

On some channels such as Apple Business Chat and Google Business Manager the bot application may run as a secondary application with a customer service application receiving initial conversational control.

Secondary applications can be integrated into the conversational experience for a number of use cases, such as live agent customer service handoff, publishing data to a consumer data platform or integrating an enterprise rewards system to credit loyalty points.

Our documentation is focused on the customer service handoff use case, but your Solutions Architect can help you design a fully integrated conversational experience.


Learn how to setup an application in the Snaps Platform.

Webhook Events

Learn how to listen for webhook events from the Snaps Conversations API.


Learn how to authenticate with the API.

Conversation Control

Learn how to manage control of conversations.

Sending Messages

Learn how to send messages to users.

Updating Conversation State

Learn how to update the conversation state.

Conversation Transcript

Learn how to retrieve and view your user's conversation transcripts.