Messaging Components
Messaging Components in Salesforce are the building blocks of structured outbound messages sent through Messaging for In-App and Web (the platform's customer messaging product, formerly Embedded Service Chat and predecessors).
Definition
Messaging Components in Salesforce are the building blocks of structured outbound messages sent through Messaging for In-App and Web (the platform's customer messaging product, formerly Embedded Service Chat and predecessors). Components include rich content elements like images, headers, buttons, lists, time-pickers, and forms that agents and bots compose into messages richer than plain text. The platform renders these components consistently across the supported channels (in-app messaging, web messaging, WhatsApp, Apple Messages for Business, Facebook Messenger), with channel-specific fallbacks when a channel does not support a given component.
The components matter because customer messaging has moved beyond plain text. Customers expect rich interactive responses: tappable buttons, structured order summaries, embedded forms, location pickers. Messaging Components are the platform mechanism for building those experiences declaratively, without writing per-channel rendering code. Agents use them through the agent console; bots use them through Einstein Bots; integrations use them through the Messaging API. The component library is configured in Setup, with administrators defining which components are available and how they render per channel.
How Messaging Components render across channels
The component library
The standard library includes: Text (plain message), Image (single image with optional caption), Title (header text), Buttons (1-3 tappable buttons), List Picker (selectable list), Time Picker (date/time selection), Form (multi-field input), and several specialized types. Each component renders differently per channel: Apple Messages for Business supports rich Quick Reply buttons natively; WhatsApp uses its own Interactive Message format; web/in-app uses HTML rendering.
Channel-specific rendering
Each messaging channel has its own message format and supported component set. The platform renders components by translating to channel-native formats: a Buttons component becomes WhatsApp Interactive Buttons on WhatsApp, Apple Quick Replies on Apple Messages, HTML buttons on web. When a channel does not support a component, the platform falls back to a plain-text representation. Test the rendering per channel; the same component looks different across platforms.
Authoring through Setup
Administrators configure Messaging Components in Setup > Messaging. Define the components available, the rendering logic per channel, any localization rules. The configuration is metadata that deploys through changesets. Once defined, components are referenced by message templates or bot dialogues.
Use in Einstein Bots
Einstein Bots use Messaging Components to send rich responses to users. The bot dialogue references components by name; the platform renders per channel. This is the primary path for bot UX beyond text replies. Bot designers should learn the component library to build effective bots.
Use in agent console
Agents working in the Service Console can insert components into outbound messages through quick action menus. The agent picks the component type, fills in the data, sends. The customer sees the rich rendering. Quick send shortcuts can pre-fill common components for high-volume use cases.
Localization
Components support per-locale variants for multi-language messaging. Button labels, form field names, and other user-facing text translate based on the customer's locale. Configure translations through the standard Translation Workbench. Without translation, the customer sees the default locale text.
Limitations
Not every component works on every channel. Forms work on web and in-app but not on Apple Messages for Business in many configurations. Time Picker has channel restrictions. Test thoroughly per channel before relying on a component for production use. Channel APIs evolve; what works today may need adjustment after a channel-side update.
Set up Messaging Components
Setting up Messaging Components for an org involves configuring the library, defining channel rendering, and training agents and bots to use them. The steps below cover the rollout.
- Confirm Messaging is licensed and enabled
Messaging for In-App and Web requires specific licensing. Confirm before configuring components.
- Open Messaging Settings
Setup > Messaging Settings. The page lists available components and channel configurations.
- Identify needed components
Based on customer messaging use cases, decide which components are needed: Buttons for menu navigation, List Picker for catalog browsing, Time Picker for appointment scheduling, etc.
- Configure rendering per channel
For each component, verify the rendering on each enabled channel. Test in sandbox with real channel endpoints if possible.
- Localize content
Through Translation Workbench, translate button labels and form field names for each supported locale.
- Train agents on quick actions
Show agents how to insert components from the Service Console. Build quick actions for high-volume component types.
- Train bot designers
For Einstein Bots, train designers on referencing components in dialogues. Rich bot responses depend on component usage.
Plain message. The base of every conversation.
1-3 tappable buttons. Common for menu navigation.
Selectable list. Catalog browsing, multi-option questions.
Date/time selection. Appointment scheduling.
Multi-field input. Customer data collection.
- Not every component works on every channel. Test per channel; Forms on Apple Messages may not work as expected.
- Fallback to plain text degrades UX. Design flows that work in both rich and plain modes.
- Channel APIs evolve. Periodic testing catches regressions from WhatsApp or Apple platform updates.
- Localization requires Translation Workbench setup. Without it, all customers see the default locale text.
- Quick actions per agent vary in adoption. Train regularly; otherwise agents default to plain text and miss the rich experience.
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. Can a Salesforce admin configure Messaging Components without writing code?
Q2. Why is understanding Messaging Components important for Salesforce admins?
Q3. In which area of Salesforce would you typically find Messaging Components?
Discussion
Loading discussion…