> 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 Chat block

## Overview\[#overview]

With Ada Glass for Salesforce, you can provide your customers with a
frictionless experience that instantly hands them off from your AI Agent to a
live agent via [Handoff](/docs/handoffs), without any steps in between. The customer will begin their
conversation with the AI Agent, and if required, live agents will be
invited to join the chat to support the customer - all within the same
interface.

This article has been designed to outline the experience on the
Salesforce side of things once you have configured Ada Glass with your
Salesforce environment. Refer to [Configure Ada Glass for Salesforce](/docs/handoffs/salesforce/salesforce-chat/ada-glass-configuration) for help setting up
your Ada Glass for Salesforce integration.

> **Note**
>
> The number of handoff platforms your organization can use varies
> depending on your subscription package. For more information, see Ada's
> [Pricing](https://www.ada.cx/pricing) page, or contact your Ada team.

## Capabilities & configuration\[#salesforce-chat-block]

The Salesforce Chat block connects your AI Agent to your Salesforce CRM
instance. This lets your AI Agent seamlessly connect your customer with your
live support agents without leaving the chat window. Drag and drop the
Salesforce Chat block into the [Handoff](/docs/handoffs) dialog flow to complete the Handoff process from your AI Agent to your human agent.

The block includes the following configurable components:

![](/_fern-img/3024177b57ffcb78cd8c84b156667a1ef20d5e9e5203d24a8b3dded12b11c6ec.webp)

### Chat button ID\[#chat-button-id]

During the configuration of Ada Glass for Salesforce, you created a chat
button ID. For some integrations one chat button ID is enough, but for
complex Salesforce routing, you may want to create multiple chat button
IDs to ensure that customers are routed to the correct live agents based
on language, skill set, Ada conditionals, etc. It is the chat button ID
within the Salesforce Block that calls to the appropriate group of live
agents to see if an agent is available to accept a new chat. Ensure when
using your Salesforce Blocks that you are inputting the chat button ID
that maps to the correct Salesforce live agent queue.

### Off Hours dialog\[#off-hours-dialog]

In the Off Hours dialog, build what you would like the AI Agent
to provide if there are no live agents available to chat (ie. there are
no agents online or the queue is at its maximum capacity). Commonly, this is used to make an email support ticket on behalf of
the customer.

### Create Contact and Create Case\[#create-contact-and-create-case]

Every time a customer is handed off from the AI Agent to a live agent using a
Salesforce Block, a Salesforce live chat transcript
object is created. Should you wish to also have a Salesforce contact
and/or case created or mapped, this can be achieved by selecting these
boxes within the advanced settings of the Salesforce Block.

* If you select **Create Contact**, the live agent transcript object
  will be linked to a Salesforce contact. If the AI Agent has collected the
  customer's name and email address and they match with an existing
  Salesforce contact, the live agent transcript object will map to the
  existing Salesforce contact. If a Salesforce contact does not already
  exist for the name and email address, a new Salesforce contact will be
  created and the live agent transcript object will map to it.

* If you select **Create Case**, a new Salesforce case will be created
  every time a chat is passed from the AI Agent to a live agent and the live
  agent transcript object will be linked to it.

* If both **Create Case** and **Create Contact** are selected then the
  three, Salesforce case, contact, and live agent transcript object,
  will all be linked.

### Live chat transcript fields\[#live-chat-transcript-fields]

If your AI Agent has been capturing variables, you can map these to any of
the default custom fields of the standard live chat transcript object in
Salesforce when the customer is handed off from the AI Agent to the live
agent. This ensures that your live agent has all of the relevant
information they need to seamlessly take over the chat from the AI Agent. In
the Field Name section, type the name of the default custom field of the
standard live chat transcript object in Salesforce that you would like
the corresponding variable mapped. Click into the Choose Variable field
to select, from your existing variables, the variable you would like
to map to your previously defined Salesforce field.

## Quick start

Complete these steps to configure the Salesforce Chat block. See [Capabilities & configuration](#salesforce-chat-block) for detailed information.

#### Add the block to your Handoff dialog

Drag and drop the Salesforce Chat block into your Handoff dialog flow.

#### Configure the chat button ID

Enter the chat button ID that maps to the correct Salesforce live agent queue.

#### Set up the Off Hours dialog

Build a fallback experience for when no live agents are available.

#### Enable contact and case creation (optional)

Select Create Contact and/or Create Case to automatically create Salesforce records.

#### Map variables to transcript fields

Map Ada variables to Salesforce live chat transcript fields.

## Customer experience\[#customer-experience]

When the Salesforce Chat block triggers during a [Handoff](/docs/handoffs) flow, and your
agents are online, customers are placed in the queue for a live agent.
Within their chat window they will be provided with a banner indicating
their queue position and will no longer have the ability to chat with
the AI Agent.

When the chat is assigned to an available agent, the agent's name is
provided to the customer to identify who they are chatting with. The
customer will continue the conversation with the live agent in the same
chat window that they were corresponding with the AI Agent in, resulting in a
seamless experience for the customer. Please note that currently the
customer will be unable to end the chat with the live agent, and the live
agent will have to do this.

## Agent experience\[#agent-experience]

When a [Handoff](/docs/handoffs) is triggered and the customer reaches the point in the dialog where there's a Salesforce Block, Ada will check Salesforce to see if
there is an appropriate agent online, adhering to the Salesforce
settings for skills, queues, multiple chat, etc. Depending on the
Salesforce settings, the live agent will either automatically or
manually accept the chat conversation and take over the conversation
from the AI Agent.

As discussed earlier, with every handoff from the AI Agent a new live chat
transcript object will be created in Salesforce. This is where the agent
takes over the chat conversation. Within the same window, the agent will
see the chat transcript between the customer and the AI Agent, as well as
continue the conversation with the customer where the AI Agent left off. As a
reminder, what is handed over from the AI Agent to the live agent is limited
to the transcript up to the point when the customer transferred to the
live agent queue. If the customer continued chatting with the AI Agent after
joining the live agent queue, this portion of the chat history will not
be transferred to the live agent. Further, please note that the live agent
will not be able to see what the customer is typing before they send the
message. They will see that they are typing, but not what they are
typing.

![](/_fern-img/6cd9fbefdcd372054a95108d0591c2cf97d15c5d88cbabb84a6fec5471c6cf63.webp)

If Create Case was toggled on within the advanced settings of the
Salesforce Block, a case will be created in addition to the live chat
transcript object. All of the customer data that the AI Agent knows,
including, but not limited to metadata and local, global, and header
variables, will be deposited in the description field of the case.

---

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