Service Cloud · Experience Cloud

Designing the service experience, from public site to live agent

Good service design is not just the screen a customer sees. It is the routing, the queues, the permissions and the channels working quietly behind it. This series documents how I stand up customer service on Salesforce end to end, from a public self-service site to a live human conversation, so a question never falls through a gap.

Role
Product & UX Designer
Platform
Salesforce Service Cloud
Focus
Experience Cloud · Messaging
Discipline
Service Configuration
Experience Builder Omni-Channel Enhanced Chat Routing & Queues Permission Sets Service Console
Case Study 01 · Category 1 Biking

Launching a self-service community with Enhanced Chat

Category 1 Biking is a UK bike shop with a small chain of stores and a passionate, loyal following. The community was active, but the shop had no way to engage beyond a handful of social media pages. I built them a self-service Experience Cloud site and wired live Enhanced Chat behind it, so fans can find answers themselves and reach a real person when they need one.

Client
Category 1 Biking
Surface
Experience Cloud Site
Channel
Enhanced Chat
Routing
Omni-Channel Queue
Setup · Messaging Settings · Enhanced Chat channel created
Salesforce confirming the Category 1 Biking messaging channel and Enhanced Chat deployment were created
The result. A live Enhanced Chat channel and web deployment for Category 1 Biking, routed to a real support queue and ready to embed on their site.
01 The Challenge

A loyal community with nowhere to talk

The shop had great word of mouth, hosted local meetups, and had started sponsoring road races. What it did not have was a single place for that community to search for answers, ask questions, or reach the team directly.

01

No home base

Engagement lived on scattered social platforms the shop did not control or own.

02

No self-service

Every question, however simple, had to become a phone call or an in-store visit.

03

No live handoff

There was no way to move a customer from browsing to a real, routed conversation.

02 The Foundation

A self-service site in Experience Builder

I enabled Digital Experiences and built the site on the Customer Service template, chosen because it gives members a searchable knowledge base, Q&A, and case creation out of the box.

Picking the right template is a design decision, not a technical default. The Customer Service template leads with search and self-service, which matches how a curious cyclist actually behaves: they want to find the answer themselves first, and only then talk to a human.

Experience Cloud · Choose the Experience You Love
Experience Cloud template gallery with the Customer Service template among the options
Choosing the template. The Customer Service template, built for self-service, curated knowledge and support cases.
Experience Cloud · Enter a Name · Category 1 Biking
Naming the new Experience Cloud site Category 1 Biking
Naming the site. Category 1 Biking, on the shop's own Salesforce domain.
Experience Workspaces · Category 1 Biking
Experience Workspaces for the Category 1 Biking site showing Builder, Moderation, Content Management and more
The workspace. Builder, Moderation, Content Management, Gamification and Guided Setup, the full toolkit for running the community.
03 The Routing Backbone

Getting the right message to the right person

A chat button is useless if no one is listening. Before touching the channel, I built the routing that decides who a conversation goes to and how many a person can handle at once.

A

Enhanced Omni-Channel

Turned on skills-based and direct-to-agent routing so work distributes to the most available, qualified person.

B

Routing configuration

Created a Category 1 Biking config with a Most Available model and a set capacity, so agents are never flooded.

C

A dedicated queue

Built the Category 1 Biking Queue, scoped to Messaging Sessions and linked to the routing configuration.

D

Named the members

Added the support user to the queue, so live conversations always have a real owner.

Setup · Omni-Channel Settings
Omni-Channel Settings with Enhanced Omni-Channel Routing and skills-based routing enabled
Omni-Channel on. Enhanced routing and skills-based, direct-to-agent distribution enabled.
Setup · Routing Configurations · Category 1 Biking
Routing configuration for Category 1 Biking with Most Available model and set capacity
The rules. Priority, a Most Available model and a capacity of five, so work is spread fairly.
Setup · New Queue · Category 1 Biking Queue
New Queue for Category 1 Biking scoped to the Messaging Session object and linked to the routing configuration
The queue. Category 1 Biking Queue, scoped to Messaging Sessions and wired to the routing configuration.
04 Access & Permissions

Giving agents exactly what they need, no more

I created a dedicated MIAW (Messaging for In-App and Web) permission set rather than loosening a profile. It grants the ability to initiate messaging sessions and full access to the Messaging Session object, then assigns cleanly to the support user.

Scoping access to a purpose-built permission set is a quiet but important design choice. It keeps the system auditable and safe: the person can do the messaging job and nothing they should not, and the access can be revoked in one place.

Setup · Permission Sets · MIAW · Initiate Messaging Sessions
MIAW permission set with Initiate Messaging Sessions enabled under Call Center app permissions
The permission set. MIAW, with Initiate Messaging Sessions enabled and Messaging Session object access granted.
05 The Channel

Turning on the conversation

With messaging enabled, I added an Enhanced Chat channel and connected it straight to the routing I had already built, so the moment a customer starts a chat it lands in the right queue.

This is the join between front stage and back stage: the customer sees a simple chat window, but behind it the channel points at the Category 1 Biking Queue through Omni-Queue routing. Nothing is left to chance.

Add a Channel · Native Channels
Add a Channel dialog showing native channel types including Enhanced Chat
Picking the channel. Enhanced Chat, for in-app and web messaging.
Add a Channel · Channel Routing · Omni-Queue
Channel routing set to Omni-Queue and pointed at the Category 1 Biking Queue
Wiring the routing. Omni-Queue routing, pointed straight at the Category 1 Biking Queue.
06 The Agent Console

Where the team actually works

Finally, I brought the channel into the Service Console by adding the Omni-Channel utility, so staff can accept and answer messages without leaving their workspace, and added Send A Message to the global publisher for outbound conversations.

Lightning App Builder · Service Console · Utility Items · Omni-Channel
Adding the Omni-Channel utility item to the Service Console in Lightning App Builder
At their fingertips. The Omni-Channel widget pinned into the Service Console, so agents respond in place.
· Key results

A full service loop, from site to person

Category 1 Biking now owns its community space, lets fans self-serve, and can pull anyone into a real, routed conversation the moment they need help.

Own the space
Self-service site
A branded Experience Cloud site with search, knowledge and cases, no longer renting an audience on social.
Right person
Routed every time
Omni-Channel routing, a capacity-managed configuration and a dedicated queue behind every chat.
One workspace
Answered in place
Agents accept and reply from the Service Console, with access scoped to a clean permission set.
Case Study 02 · Category 1 Biking

Deploying live chat onto the community site

A messaging channel is only useful once customers can actually reach it. This is the end-to-end deployment: standing up a secure web deployment, wiring the browser security handshake, dropping the chat window onto the Experience Cloud site, and building the console page where agents answer.

Client
Category 1 Biking
Surface
Experience Cloud Site
Deployment
Embedded Web
Console
Messaging Session
Embedded Service · Category 1 Biking Deployment · Web (v1) · Active
Category 1 Biking web deployment settings page showing it active and published, with Settings, Branding, Code Snippet and Custom UI Components tiles
The result. A published, active web deployment for Category 1 Biking, connected to the support channel and ready to embed on the live site.
01 The Challenge

A channel with nowhere to appear

The support channel and its routing existed, but the chat window itself had no home. Getting live conversations onto a public site is not a single toggle. It is a chain of dependencies that all have to line up.

01

No deployment

The channel needed an Embedded Web deployment to render a chat window on a real page.

02

Browsers block it

Cross-origin and content-security rules stop an external site from talking to Salesforce until explicitly trusted.

03

Agents need a cockpit

Incoming chats have to land on a record page built for handling a live conversation, not a generic layout.

02 The Deployment

Publishing an Embedded Web deployment

I copied the Experience Cloud site domain, then created a new Embedded Service deployment: Enhanced Chat, Web type, pointed at the Category 1 Biking Support Channel.

Choosing Enhanced Chat over legacy web chat matters. It gives customers a persistent conversation that survives a page refresh, which is the modern, expected behaviour. Binding the deployment to the existing channel means every conversation inherits the routing and queue already built.

Setup · Domains · Experience Cloud Sites Domain
Domains setup page with the Experience Cloud Sites Domain row highlighted for copying
The domain. Copying the Experience Cloud Sites domain that the deployment will run on.
New Embedded Service deployment · Enhanced Chat
New Embedded Service deployment dialog with Enhanced Chat selected
Enhanced Chat. Persistent conversations via an embedded window on the site.
New deployment · Web
Deployment type selection with Web chosen over Mobile and Custom Client
Web type. The right target for a public Experience Cloud site.
New deployment · Name, Domain & Channel
Deployment form with name Category 1 Biking Deployment, the site domain, and Category 1 Biking Support Channel selected
Wiring it up. Name, site domain, and the existing support channel, then Save and Publish.
03 The Security Handshake

Teaching the browser to trust the connection

This is the invisible work that makes everything else function. A browser will not let an external site exchange live data with Salesforce unless the origin is explicitly allowed and the content-security rules permit it.

A

CORS allow-list

Added the site URL to the Cross-Origin Resource Sharing allowed origins, so the browser permits the exchange.

B

The scrt2 endpoint

Pulled the real-time messaging endpoint (scrt2URL) from the deployment's code snippet.

C

Trusted URL + CSP

Registered that endpoint as a Trusted URL scoped to Experience Builder Sites, with all six CSP directives enabled.

D

Why it matters

Skip any one of these and the chat window silently fails to load. Getting it right is the difference between a demo and a deployment.

Setup · CORS · Allowed Origins List
CORS allowed origins list including the Category 1 Biking site URL
CORS. The site origin added to the allow-list.
Code Snippet · scrt2URL
Chat code snippet showing the scrt2URL real-time messaging endpoint
The endpoint. Copying the scrt2URL from the generated code snippet.
Setup · Trusted URLs · SCRT_URL · CSP Directives
Trusted URL edit for SCRT_URL with CSP context Experience Builder Sites and all six CSP directives checked
Trusted URL. The messaging endpoint trusted for Experience Builder Sites, with every CSP directive enabled.
04 Placing Chat on the Site

Dropping the window where customers are

In Experience Builder I dragged the Embedded Messaging component into the template footer so it rides along on every page, set it to always visible, opened the site to guest users, and published.

Footer placement is deliberate: one component, present site-wide, so a customer can start a conversation from wherever their question strikes, not just a dedicated contact page.

Experience Builder · Components · Embedded Messaging
Experience Builder components panel with the Embedded Messaging component under Support
The component. Embedded Messaging, dragged into the template footer.
Experience Builder · Publish your site
Publish your site dialog for the Category 1 Biking Experience Cloud site
Going live. Publishing the site with chat in place and guest access on.
05 The Agent Cockpit

A record page built for live conversation

The last piece is where the agent works. I built a Messaging Session record page for the Service Console, cloned from the default, then added a dedicated Messaging tab holding the Enhanced Conversation component.

I activated it as the org default across desktop and phone, so every incoming chat opens on a purpose-built page: the live conversation on the left, customer and case context on the right. That is the difference between an agent who is guessing and one who has everything in view.

Lightning App Builder · Messaging Session Record Page · Messaging tab
Lightning App Builder editing the Messaging Session record page with Conversation, Details and a new Messaging tab
Building the page. A custom Messaging tab added alongside Conversation and Details.
Messaging Session · Enhanced Conversation · Active
Finished Messaging Session record page with the Enhanced Conversation component live under the Messaging tab
Live. The Enhanced Conversation component in place, activated as the org default for desktop and phone.
· Key results

Chat, live and reachable end to end

A customer on the Category 1 Biking site can now open a persistent chat from any page, and every conversation lands on a console page built to answer it.

Site-wide
Always reachable
Embedded Messaging in the footer, present on every page for guest and member alike.
Secure by design
CORS + CSP + Trusted URL
The full browser security handshake wired so the connection actually loads.
Answer-ready
Purpose-built console
A Messaging Session page with live conversation and customer context side by side.
Case Study 03 · Category 1 Biking

Building a knowledge base when the setup menu was missing

Category 1 Biking's support team ran on FAQs taped to office walls and cash registers. The task was to turn that scattered knowledge into a searchable Lightning Knowledge base on the community site. The twist: the standard Service Setup route was missing from my org, so I had to find another way in.

Client
Category 1 Biking
Feature
Lightning Knowledge
Focus
Case Deflection
Skill
Creative Problem-Solving
Service Console · Knowledge · 3 articles published
Service Console Knowledge list showing three published FAQ articles for Category 1 Biking
The result. Three published, customer-visible Knowledge articles, live and searchable, from a base that did not exist an hour earlier.
01 The Challenge

Knowledge on the wall, not on the web

A quality supply of knowledge articles does wonders for case deflection, customer satisfaction and agent productivity. Category 1 Biking had the knowledge, it was just in the wrong place: printed FAQs stuck to walls and registers, invisible to anyone online.

01

No case deflection

Every repeat question became a call or a visit, because customers could not self-serve an answer.

02

No structure

Knowledge needed a record type, a proper answer field, and a layout before it could hold real articles.

03

A blocked front door

The guided Service Setup route the documentation assumed simply was not present in this org.

02 The Creative Workaround

Finding another way in

The instructions said to open Service Setup and run the Knowledge guided setup. That menu was missing from my gear icon. Rather than stall, I reasoned backwards from what the wizard actually does, and went straight to the underlying setting myself.

Every guided setup is just a friendly wrapper around real configuration pages. So I opened standard Setup, searched Knowledge in Quick Find, went into Knowledge Settings, and enabled Lightning Knowledge directly, assigning myself as a Knowledge author in the process. Same destination, different door. This is the part of the job that never appears in a tutorial: when the happy path is gone, you need to understand the system well enough to build your own.

Setup · Quick Find · Knowledge
Setup with Knowledge searched in Quick Find, revealing Knowledge Settings in the left navigation
The side door. Bypassing the missing Service Setup by searching Knowledge in standard Setup.
Knowledge Settings · Enable Lightning Knowledge
Knowledge Settings page with Enable Lightning Knowledge checked
Enabled. Lightning Knowledge switched on directly, no wizard required.
03 Structuring the Article

A record type, a field, and a layout

With Knowledge live, I shaped the article itself. A simple FAQ record type, a long text field to hold the answer, and a page layout that puts that field exactly where an author expects it.

A

FAQ record type

Confirmed the FAQ record type, so articles are typed for simple question-and-answer content.

B

The Text field

Created a Text Area (Long) field, 32,768 characters, three visible lines, made visible to every profile.

C

Layout placement

Dragged the Text field directly under Title in the Information section, so writing an article reads top to bottom.

D

Why it matters

Structure before content. Get the object right first and every article after it is effortless.

Object Manager · Knowledge · Knowledge__kav
Object Manager list with the Knowledge (Knowledge__kav) object selected
The object. Working directly in the Knowledge object via Object Manager.
Knowledge · Record Types · FAQ (Active)
Knowledge Record Types showing the active FAQ record type for simple question and answer articles
The record type. FAQ, active and ready for question-and-answer articles.
New Custom Field · Text Area (Long)
New custom field data type selection with Text Area Long chosen
The data type. Text Area (Long), room for a full answer.
New Custom Field · Text · 32,768 · 3 lines
Custom field details with label Text, length 32768 and 3 visible lines
The details. Labelled Text, 32,768 characters, three visible lines.
Knowledge Layout · Text placed under Title
Knowledge page layout editor with the Text field placed under Title in the Information section
The layout. The Text field dropped directly beneath Title, so authoring flows naturally.
04 Making It Findable

Enabling Topics so articles can surface

Without Knowledge topics enabled, articles cannot be displayed outside the org. Category 1 Biking wants conversations and articles to cluster around common themes, so I enabled Topics for the Knowledge object and pointed topic suggestions at the article Title.

Topics for Objects · Knowledge · Enable Topics · Title
Topics for Objects with Knowledge selected, Enable Topics checked and Title chosen as the topic field
Topics on. Enabled for Knowledge with Title driving topic suggestions, so articles can appear on the public site.
05 Writing & Publishing

From blank base to three live articles

With the foundation in place, I opened Knowledge from the App Launcher and authored three real FAQ articles, each marked visible to customers, then published all three in one pass.

The articles answered genuine community questions: a product release date, how to find local bike groups, and expected delivery times. Small, human answers, now searchable on the site instead of taped to a register.

App Launcher · Knowledge
App Launcher searching for and opening the Knowledge app
Into Knowledge. Opening the Knowledge app to author and publish the articles.
· Key results

A searchable knowledge base, built around a blocker

Category 1 Biking's FAQs now live where customers actually look, and the whole base was stood up despite the standard setup route being unavailable.

3 articles
Live and public
Authored, marked visible to customers, and published to the community site.
Found the door
When the path was blocked
Enabled Lightning Knowledge directly when the guided Service Setup was missing.
Deflection ready
Self-service answers
Structured, topic-tagged articles that cut repeat questions to the team.
Case Study 04 · Category 1 Biking

Turning a list of articles into a navigable site

Articles that exist but cannot be found may as well not exist. This is the information architecture layer: giving the community three clear topics to navigate by, dressing them with imagery, and tagging every article so it surfaces in the right place.

Client
Category 1 Biking
Focus
Information Architecture
Tool
Content Management
Surface
Experience Cloud Site
Category 1 Biking · Home · Featured Topics live
Category 1 Biking community home page with Customer Support, Social Groups and New Products featured topics and trending articles
The result. The community home page, organised around three featured topics with imagery and trending articles surfacing beneath them.
01 The Challenge

Content with no map

The knowledge base was live, but the site had no structure to lead people to it. Category 1 Biking wanted the community to navigate around clear themes, and to grow that structure over time.

01

No wayfinding

Nothing on the site told a visitor where to go or how the content was organised.

02

Flat and plain

Even the right topics feel lifeless without imagery to invite a click.

03

Articles unlinked

Each article sat on its own, unconnected to any theme a visitor might browse.

02 Navigational Topics

Three ways to move through the site

Working in the site's Content Management workspace, I defined three navigational topics that map to how the community actually thinks: Customer Support, Social Groups, and New Products.

Navigational topics become the site's menu. Keeping it to three is a deliberate IA choice: enough to cover the ground, few enough that no one feels lost. Structure first, then decorate.

Setup · All Sites · Category 1 Biking · Workspaces
All Sites list with Category 1 Biking and its Workspaces link
Into the site. Opening the Category 1 Biking workspaces from All Sites.
Workspaces · Content Management
My Workspaces tiles including Content Management
Content Management. Where topics, collections and articles are organised.
Topics · Navigational Topics · 3 added
Navigational Topics list showing Customer Support, Social Groups and New Products
The menu. Customer Support, Social Groups and New Products, the three pillars of the site's navigation.
03 Featured Topics & Imagery

Giving each topic a face

Featured topics appear prominently on the home page, so I promoted all three and gave each a photograph: a support rep, a group ride, and a rider celebrating a new product.

Imagery is not decoration here, it is affordance. A photo tells a visitor at a glance what lives behind a tile, and makes the difference between a menu people scan past and one they click into.

Topics · Featured Topics · images added
Featured Topics with images for Customer Support, Social Groups and New Products
Faces for the topics. Each featured topic paired with a photograph that signals what it holds.
04 Tagging the Articles

Connecting content to its topic

Structure only works if content is linked to it. In Article Management I assigned each of the three FAQ articles to its natural topic: delivery to Customer Support, bike groups to Social Groups, and the product question to New Products.

Article Management · Add Topics · Customer Support
Assigning the Customer Support topic to the When will my bike arrive article
Making the link. Tagging each article to its topic so it surfaces where visitors expect it.
05 Seeing It Live

The structure, rendered

Back in Experience Builder, the work came together on the home page: three image-led featured topics, a topics menu in the header, and trending articles pulling through automatically.

Experience Builder · Home · Content Management menu
Experience Builder workspace menu with Builder selected for the Category 1 Biking site
Into Builder. Opening the site builder to see the topic structure rendered on the page.
· Key results

A site you can actually navigate

Category 1 Biking's community now has a clear structure: three themed topics, each with a face, and every article tagged to surface in the right place.

3 topics
Clear wayfinding
Customer Support, Social Groups and New Products, driving the site menu.
Image-led
Inviting to click
Every featured topic paired with a photo that signals what it holds.
Every article tagged
Content connected
Each FAQ linked to its topic so it appears where visitors look.
Case Study 05 · Category 1 Biking

Branding the site and proving the whole loop works

The final layer: giving the site a face with custom branding, a Cases menu item and a header image, then publishing and testing the entire experience end to end, from a live chat to an asked question to a submitted case.

Client
Category 1 Biking
Focus
Branding · QA
Tool
Experience Builder
Outcome
Published & Tested
Category 1 Biking · Published · header image, branding, Cases menu
Published Category 1 Biking community site with header image, welcome headline, featured topics and Cases in the navigation
The result. The finished, published community: branded header, welcome headline, featured topics and a Cases menu, live for members.
01 The Challenge

Functional, but not yet a brand

Everything worked, but the site still wore the default template. It needed a headline that speaks to the community, colours and imagery that feel like Category 1 Biking, and a way to reach cases, before it was ready to publish.

01

Generic voice

The default headline said nothing about who the community was for.

02

No brand feel

Stock colours and no hero image left the site looking like a template.

03

Unproven

Nothing had been tested end to end from a real customer's point of view.

02 Branding the Site

Headline, theme and a header image

In Builder I gave the site a voice and a look: a "Category 1 Biking, Welcome to the community!" headline, adjusted theme colours, and a road-cycling header image to set the tone the moment a visitor lands.

Branding is not paint on top. The headline sets intent, the colours carry the identity, and the header image gives the page a sense of place, together they turn a functional template into somewhere the community feels they belong.

Builder · Headline · Category 1 Biking
Editing the Headline component title and banner text in Experience Builder
The voice. A welcoming headline and banner, set on the home page.
Builder · Theme · Colors & Images
Theme panel in Experience Builder with Colors, Images and Font options
The look. Theme colours and imagery adjusted to the brand.
Builder · Header image applied
Category 1 Biking home page in Builder with a road cycling header image applied
A sense of place. A road-cycling header image sets the tone the moment the page loads.
03 Navigation & Publish

A Cases menu, then go live

I added a Cases item to the navigation menu, wired to the Case object with a My Open Cases list view, so members can track their own support requests. Then I published the site.

Edit Default Navigation · Cases · Case · My Open Cases
Adding a Cases menu item pointing to the Case object with My Open Cases list view
Self-service cases. A Cases menu item so members can track their own requests.
Home · Cases in the nav · ready to publish
Home page in Builder showing Home, Topics and Cases in the navigation menu
In the menu. Home, Topics and Cases, then Publish.
04 Testing the Whole Loop

Proving it from the customer's side

A build is not done until it is proven. I set Omni-Channel to Available Messaging, opened the live site, and walked the full journey a real member would: chat, ask a question, and open a support case.

A

Live chat

Started a chat from the site and accepted it in the Service Console, confirming the whole routing chain works in production.

B

Ask a question

Posted a New Products question from the site and watched it appear under the right topic.

C

Create a case

Created a new contact and submitted a case through Contact Support, end to end.

D

Verify in Cases

Confirmed the new case appeared in the My Open Cases list on the site's Cases menu.

Service Console · Omni-Channel · Available Messaging
Omni-Channel set to Available Messaging in the Service Console
Agent online. Omni-Channel set to Available Messaging to receive chats.
Site · Ask a Question · New Products
Asking a question on the live site, posted to the New Products topic
Asking a question. Posting to New Products from the live site.
Site · Contact Support · New Contact
Creating a new contact while submitting a case from the site
Creating a case. Adding a contact and submitting a support case.
Site · Cases · My Open Cases
My Open Cases list on the site showing the newly submitted case
Confirmed. The new case appears in My Open Cases, the loop is closed.
· Key results

A complete, branded, self-service community

Category 1 Biking fans can now engage with the company and each other in a whole new way: branded knowledge organised by topic, a live chat button, a way to ask questions, and self-service cases, all proven end to end.

Fully branded
Feels like the brand
Custom headline, theme colours and header image on top of the working system.
One loop
Chat, ask, case
Every path a member can take, tested live from the customer's side.
Self-service
Members in control
Knowledge, discussions and a My Open Cases view, all in one community.
Next case study
salesforce ui/ux strategy →
Like this thinking? Let’s talk →