Einstein Bot
Einstein Bot is Salesforce's chatbot product for automating Tier 1 customer interactions on chat, messaging, and voice channels.
Definition
Einstein Bot is Salesforce's chatbot product for automating Tier 1 customer interactions on chat, messaging, and voice channels. It uses natural-language understanding to interpret user input, routes the conversation through dialog steps, calls Apex or Flow actions when needed, and hands off to a human agent when the bot reaches its limits. Einstein Bots predate Agentforce and remain in production at thousands of orgs for high-volume routine customer interactions like order status, password reset, and FAQ deflection.
A bot has a definition (the dialog tree), intents (categories of user input), entities (extractable data like dates, amounts, IDs), variables (state held during the conversation), and actions (Apex methods or Flows the bot invokes). Bots run on Live Chat (web chat widgets), Messaging channels (WhatsApp, SMS, Apple Messages for Business, Facebook Messenger), and Service Cloud Voice with speech-to-text. Salesforce is steering new bot work toward Agentforce, but Einstein Bots remain supported and continue receiving incremental improvements.
How Einstein Bots automate routine customer interactions
Dialog trees and the conversation model
An Einstein Bot is structured as a dialog tree. Each dialog represents a conversation node: a question to ask, a piece of information to gather, an action to invoke. Branches connect dialogs based on user input or variable values. The bot starts at a Welcome dialog and navigates through the tree based on the conversation flow. Complex bots have dozens of dialogs covering different topics; simple ones have a handful. The dialog tree is the most visible part of the bot design.
Intents and natural-language understanding
Intents categorize what the user wants. "I want to check my order" maps to a Check Order Status intent. "How do I reset my password" maps to a Password Reset intent. Each intent has training utterances (example user inputs) that the platform uses to train its NLU model. Better training data produces better intent recognition. Salesforce ships pre-trained models for common topics and supports custom intents for organization-specific use cases.
Entities and slot filling
Entities are extractable pieces of information: dates, amounts, order numbers, email addresses. The bot recognizes them in user input ("my order from June 15") and stores them as variables for later use. Slot filling is the pattern of asking the user for missing entity values: "I can help with your order status. What is your order number?" Strong entity design lets the bot gather required information conversationally rather than through rigid forms.
Actions: Apex, Flow, and external integration
When the bot needs to do something beyond conversation, it invokes an action. Apex actions call @InvocableMethod Apex methods. Flow actions call autolaunched Flows. Each action accepts inputs from bot variables and returns outputs the bot can use in the next dialog. This is how bots actually retrieve order data, create Cases, send confirmations, and integrate with external systems. Action design is where bot capability meets Salesforce business logic.
Hand-off to human agents
Bots have limits. When the bot reaches one (intent not recognized, action failed, user requests human), it hands off to a live agent. Hand-off uses Omni-Channel routing to find an available agent and transfers the conversation history. Configure hand-off thresholds carefully: too aggressive (bot escalates everything) loses bot value; too restrictive (bot keeps fighting on issues it cannot handle) frustrates customers.
Channels: Live Chat, Messaging, Voice
Einstein Bots deploy to several channels. Live Chat for browser-based real-time chat. Messaging for WhatsApp, SMS, Apple Messages for Business, Facebook Messenger. Service Cloud Voice for inbound and outbound calls (using speech-to-text). Each channel has slightly different UX (text bubbles versus voice prompts) but the bot definition is shared. Channels integrate with Omni-Channel for routing the human hand-off.
Einstein Bots versus Agentforce
Einstein Bots are dialog-tree-driven with limited LLM use. Agentforce is LLM-driven with structured topics and actions. Salesforce is steering new bot work toward Agentforce because the LLM-based approach handles a broader range of inputs without needing comprehensive dialog tree design. Einstein Bots remain supported and are the right choice for highly structured, predictable Tier 1 interactions where dialog trees are sufficient and Agentforce credits feel expensive. Most new bot deployments should evaluate Agentforce first.
How to build an Einstein Bot
Building an Einstein Bot takes deliberate dialog design plus careful intent training. Plan the conversation flows, build the dialog tree, train intents with realistic utterances, configure actions, test thoroughly, then deploy. Bots that work well are iterated through dozens of testing rounds; bots that work poorly were shipped after one design pass.
- Define the bot purpose and scope
What customer interactions should the bot handle? Order status, password reset, FAQ, appointment booking. Define the scope clearly because bots that try to do everything end up doing nothing well. Out-of-scope inputs should route to human agents.
- Create the bot in Setup
Setup > Einstein Bots > New. Provide a name and description. Pick the language. Choose to start from a template (Customer Service, Lead Qualification) or build from scratch.
- Design the dialog tree
Start with the Welcome dialog. Add child dialogs for each capability. Branch based on user input or variable values. Use the visual dialog editor to keep the tree readable. Keep individual dialogs small and focused.
- Train intents with realistic utterances
For each intent, provide 10-20 example utterances that customers might use. The variety matters more than the count; include different phrasings, slang, typos. The NLU model learns from these examples.
- Define entities for data extraction
For each piece of data the bot needs to extract (order number, email, date), define an entity. Salesforce ships standard entities (DateTime, Email, Phone Number) and supports custom entities for org-specific data.
- Wire actions for Apex and Flow integration
Add Action dialog steps that invoke Apex or Flow. Pass bot variables as inputs, capture outputs into bot variables, and use the outputs in subsequent dialogs. This is how bots retrieve data and create records.
- Configure hand-off to human agents
Set the Escalate to Agent dialog. Configure Omni-Channel routing to a specific queue or skill profile. Pass the conversation context so the agent knows what the customer already discussed with the bot.
- Test extensively in the Conversation Tester
Use the built-in tester to run realistic customer conversations. Test the happy path, edge cases, and out-of-scope inputs. Iterate on intent training and dialog design until the bot behaves consistently.
The conversation structure. Each dialog is a step the bot takes; branches connect dialogs based on input.
Categorize user input and extract data. Intents drive dialog branching; entities fill variables for action inputs.
When the bot escalates to a human agent. Configure routing via Omni-Channel to the right queue or skill.
- Bots are only as good as their intent training. Insufficient or poor-quality training utterances produce bots that misroute frequently. Plan for ongoing intent tuning, not a one-shot setup.
- Dialog trees grow unwieldy if not modularized. Use sub-dialogs and reusable utility dialogs to keep the tree manageable as the bot adds capabilities.
- Hand-off thresholds matter. Too aggressive (the bot escalates everything) defeats the purpose; too restrictive (the bot keeps fighting) frustrates customers. Tune based on real conversation logs.
- Einstein Bots are dialog-driven; they do not handle free-form conversation well. For LLM-driven flexibility, evaluate Agentforce instead.
- Action errors disrupt conversations. Wrap Apex and Flow actions in error handling that gracefully degrades to a default response or hand-off, not a raw error message to the customer.
Trust & references
Cross-checked against the following references.
- Einstein Bots OverviewSalesforce Help
- Build Einstein BotsSalesforce Help
- Einstein Bots ConsiderationsSalesforce Help
Straight from the source - Salesforce's reference material on Einstein Bot.
- Einstein Bots DocumentationSalesforce Help
- Bot DialogsSalesforce Help
- Bot IntentsSalesforce Help
About the Author
Dipojjal Chakrabarti is a B2C Solution Architect with 29 Salesforce certifications and over 13 years in the Salesforce ecosystem. He runs salesforcedictionary.com to help admins, developers, architects, and cert/interview candidates sharpen their fundamentals. More about Dipojjal.
Test your knowledge
Q1. What is an Einstein Bot?
Q2. What's a good use case for a bot?
Q3. What's essential for a good bot experience?
Discussion
Loading discussion…