> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.ada.cx/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.ada.cx/_mcp/server.

# Salesforce Messaging

## Overview

Ada's integration with **Salesforce Messaging** connects your AI Agent to **Salesforce Service Cloud Messaging**, enabling Handoffs from automated conversations to Salesforce agents.

Unlike **Salesforce Chat (Live Agent)**, **Salesforce Messaging (MIAW)** is a persistent, asynchronous channel that supports richer web and in-app experiences.

> **Note**
>
> **How this differs from Salesforce Chat**
>
> * **Salesforce Chat** (Live Agent) is a real-time, session-based web chat.
> * **Salesforce Messaging (MIAW)** supports continuous, asynchronous conversations across web and in-app channels.
> * Ada's **Salesforce Messaging** Handoff is a separate setup from [Salesforce Chat (Ada Glass)](https://docs.ada.cx/docs/handoffs/salesforce/salesforce-chat/ada-glass-configuration).

### Prerequisites

Before you begin, ensure you have:

**Ada requirements:**

* An AI Agent with an active messaging channel.

**Salesforce requirements:**

* Salesforce Service Cloud
* Salesforce Messaging for In-App and Web
* Digital Engagement licenses (required for Partner Messaging). Salesforce Messaging is available in *Enterprise*, *Unlimited*, and *Developer* editions with the **Digital Engagement** add-on license.

## Quick start

Complete these steps to configure Salesforce Messaging. See [Implementation & usage](#implementation--usage) for detailed instructions.

#### Enable Messaging and Omni-Channel

Configure Messaging for In-App and Web, Omni-Channel routing, queues, and flows in Salesforce.

#### Configure security settings

Add Ada to your CORS Allow List and Trusted URLs.

#### Create a Custom Client Deployment

Set up the embedded service deployment and configure pre-chat fields if needed.

#### Activate and publish

Activate your deployment and copy the Code Snippet details.

#### Share details with Ada

Send your Organization ID, Developer Name, and Instance URL to your Ada team.

## Implementation & usage

Configure Salesforce Messaging and coordinate with your Ada team to complete the integration.

### Configure Salesforce Messaging

The Ada side of the integration will be configured by the Ada team. Before meeting with your Ada team to install and test the [Handoff](/docs/handoffs), confirm you have Messaging enabled and Omni-channel routing configured.

From the Salesforce side, you need to have Messaging enabled. These steps may already be complete in your instance.

* Give users access to [Messaging for In-App and Web](https://help.salesforce.com/s/articleView?id=sf.miaw_prepare_users.htm\&type=5)

* Set up [Omni Channel](https://help.salesforce.com/s/articleView?id=sf.miaw_prepare_org_1.htm\&type=5). Make sure to set **Enhanced Omni-Channel Routing** toggle to on.

* Add [Omni Channel Routing](https://help.salesforce.com/s/articleView?id=sf.service_presence_create_routing_configuration.htm\&type=5). Under **Routing Settings > Routing Model**, select the least active model.

* Create [Queue for your Route](https://help.salesforce.com/s/articleView?id=sf.messaging_route_queues.htm\&type=5)
  * Make sure to add the Messaging Session Object to your Queue

* Create an [Omni-Channel Flow](https://help.salesforce.com/s/articleView?id=sf.miaw_prepare_org_1.htm\&type=5)

* Add a [Messaging Channel](https://help.salesforce.com/s/articleView?id=sf.miaw_prepare_org_1.htm\&type=5). Set it to Messaging for In-App and Web Channel and under **Omni-Channel Routing** select **Omni-Flow** and select your Omni-Channel Flow.

* Add Messaging to your [Service Console](https://help.salesforce.com/s/articleView?id=sf.livemessage_create_console_app.htm\&type=5)

* Add **https\://\*.ada.support** to your [CORS Allow List](https://help.salesforce.com/s/articleView?id=sf.extend_code_cors.htm\&type=5) and [Trusted URLs](https://help.salesforce.com/s/articleView?id=sf.security_trusted_urls_manage.htm\&type=5). Within the Trusted URL configuration, ensure the **connect-src (scripts)** CSP directive is **selected**.

  ![CORS configuration](/_fern-img/e070f6ddaa1db1b237f35f430630ba5bf808ebff1209a3c8f962ff185a5d84a4.webp)

* (Optional) Configure hidden Pre-Chat Fields to pass information from the AI Agent to your Messaging record. See Detailed Instructions [here](https://help.salesforce.com/s/articleView?id=service.miaw_custom_prechat_2.htm\&type=5).

These steps are necessary for Ada's Handoff integration:

* Configure a [Custom Client Deployment](https://help.salesforce.com/s/articleView?id=sf.miaw_deployment_custom.htm\&type=5).

* If you are setting up pre-chat fields, make sure that you select the visible and hidden fields you would like to pass. Also make sure that **Activate the pre-chat feature** is selected and **Pre-Chat Display Frequency** is set to **Every Session.** Once you have set these up make sure to save them and then publish your embedded service deployment.

  ![Pre-chat form configuration](/_fern-img/1a2b8208c58c6ff2334f25576f23aa6c9d030322d2404d1217330d92d91e3f4f.webp)

* Make sure that you activate and publish the deployment. Make sure to send the Ada team the information found under **Code Snippet**.

  ![Service deployment](/_fern-img/1715c2b55e37524fae306fa1d5af63197e1dc43504916d9450b61a6cd74f91a5.webp)

* Your **Custom Client Code Snippet** will be as follows:

  ![Code snippet](/_fern-img/c8ce814ebb3584a7c30255c994e0bac8ce4321b10d575ca124f33b269f2801f2.webp)

### Complete the setup

Finalize the integration by activating your deployment and sharing configuration details with your Ada team.

**To complete the setup:**

1. **Activate and publish** the deployment.

2. **Send your Ada team** the following information found under the **Code Snippet** section:

   ```json
   {
     "OrganizationId": "00XO#00000#XoXX",
     "DeveloperName": "AdaChatbot",
     "Url": "https://{{subdomain}}.my.salesforce-scrt.com"
   }
   ```

   You will need to provide:

   * Salesforce **Organization ID**
   * **Embedded Service Deployment Developer Name**
   * Salesforce **Instance Login URL**

Your Ada team will use this information to set up the backend integration. Once your Ada team confirms the integration is ready, proceed to configure Webhooks.

### Configure Webhooks

After completing the Salesforce setup, there is additional configuration required on the Ada side. Configure a Webhook in Ada's dashboard to enable conversation event notifications for the Salesforce Messaging integration.

**To configure Webhooks:**

1. Go to **Platform > Webhooks**.

2. Add the **Endpoint URL** for your cluster:

   | Cluster | Endpoint URL                                                                       |
   | ------- | ---------------------------------------------------------------------------------- |
   | US      | `https://solutions.ada.support/messaging-connectors/salesforce/webhooks/ada`       |
   | EU      | `https://solutions.eu.ada.support/messaging-connectors/salesforce/webhooks/ada`    |
   | CA      | `https://solutions.maple.ada.support/messaging-connectors/salesforce/webhooks/ada` |

3. Subscribe to all **conversation** events:

   * `v1.conversation.created`
   * `v1.conversation.ended`
   * `v1.conversation.handoff.ended`
   * `v1.conversation.message`

   ![Webhook conversation event subscriptions](/_fern-img/6967ad2e33889976907a960799375b458e29e6365fa3021230ef224dd1f1478c.webp)

---

Have any questions? Contact your Ada team, or email us at [](mailto:help@ada.cx?subject=Help%20Docs%20inquiry).