Salesforce · · 43 min read

Service Cloud in Salesforce

A comprehensive guide to Salesforce Service Cloud — Cases, assignment and escalation rules, Email-to-Case, Web-to-Case, Case Teams, Entitlements, Omni-Channel, Knowledge, Quick Text, Surveys, Field Service, and more.

Part 21: Service Cloud in Salesforce

Service Cloud is one of the most feature-rich products in the Salesforce ecosystem. It equips support teams with everything they need to deliver fast, intelligent, multi-channel customer service. In this post we will walk through every major Service Cloud capability — from the foundational Case object to advanced features like Omni-Channel routing, Knowledge management, Field Service, and Digital Engagement.


What Is Service Cloud?

Service Cloud is a Salesforce product built on top of the core platform that focuses on customer support and service operations. It provides tools for case management, agent productivity, self-service, field service, and customer communication across every channel — phone, email, chat, social media, SMS, and more.

Key Capabilities

CapabilityDescription
Case ManagementTrack, prioritize, and resolve customer issues
Omni-Channel RoutingIntelligently route work items to the right agent
Knowledge ManagementBuild a searchable knowledge base for agents and customers
Entitlements & MilestonesDefine and enforce service level agreements
Field ServiceDispatch and manage mobile workers
Digital EngagementCommunicate via SMS, WhatsApp, Facebook Messenger, and more
Service AnalyticsDashboards and reports for service KPIs

Service Cloud Licenses

Service Cloud functionality is gated by license editions:

LicenseKey Features Included
EssentialsBasic case management, email integration, knowledge base
ProfessionalCase assignment rules, escalation rules, case teams
EnterpriseOmni-Channel, entitlements, milestones, Flow-based automation
UnlimitedEverything in Enterprise plus premium support, sandbox, and additional API limits

Add-on licenses are available for features like Field Service, Digital Engagement, Service Cloud Voice, and Einstein for Service.

To check your current licenses, navigate to Setup > Company Information and review the feature licenses and permission set licenses sections.


The Case Object

The Case object is the backbone of Service Cloud. A case represents a customer’s question, issue, or request for support.

Important Standard Fields

FieldDescription
Case NumberAuto-generated unique identifier
StatusCurrent state of the case (New, Working, Escalated, Closed)
PriorityUrgency level (Low, Medium, High, Critical)
OriginChannel the case arrived through (Phone, Email, Web, Chat)
SubjectBrief summary of the issue
DescriptionFull details of the customer problem
Contact NameThe customer who reported the issue
Account NameThe company the contact belongs to
Case OwnerThe user or queue responsible for the case
Case ReasonCategorization of the issue type
TypeClassification such as Problem, Feature Request, Question
EscalatedCheckbox indicating if the case has been escalated
Closed DateDate the case was resolved

Case Lifecycle

A typical case lifecycle flows through these stages:

  1. Creation — Case is created via Email-to-Case, Web-to-Case, phone, chat, or manual entry
  2. Assignment — Case assignment rules route the case to the appropriate queue or agent
  3. Auto-Response — An automated email acknowledges receipt to the customer
  4. Investigation — The agent works the case, adding comments, sending emails, and linking knowledge articles
  5. Escalation — If unresolved within the defined timeframe, escalation rules trigger notifications or reassignment
  6. Resolution — The agent resolves the issue and closes the case
  7. Survey — An optional satisfaction survey is sent to the customer

Support Settings

Configure foundational case behavior at Setup > Support Settings:

  • Default Case Owner — The user or queue that owns cases when no assignment rule matches
  • Automated Case User — The context user for automated case operations
  • Case Comment Notification Template — Email template sent when case comments are added
  • Notify Case Owners on New Comments — Enable or disable notifications

Case Auto-Response Rules

Auto-response rules automatically send an email acknowledgment to the customer when a case is created. This lets customers know their issue has been received.

How to Set Up Auto-Response Rules

  1. Navigate to Setup > Case Auto-Response Rules
  2. Click New and give the rule a name
  3. Check Active to make the rule live (only one rule can be active at a time)
  4. Click the rule name to add Rule Entries
  5. For each entry, define:
    • Sort Order — Priority of evaluation (lower numbers evaluated first)
    • Criteria — Conditions the case must meet (e.g., Origin equals Email)
    • Email Template — The template to send to the customer
    • Sender Name and Email — The from address for the auto-response

Best Practices

  • Create multiple rule entries to send different acknowledgment emails based on case origin, priority, or type
  • Use a branded email template with your company logo and expected response time
  • Set a catch-all entry at the end with no criteria to ensure every case gets an acknowledgment

Case Assignment Rules

Assignment rules automatically route new cases to the correct user or queue based on criteria you define.

How to Set Up Case Assignment Rules

  1. Navigate to Setup > Case Assignment Rules
  2. Click New and name the rule
  3. Activate the rule (only one can be active at a time)
  4. Click the rule name and add Rule Entries
  5. For each entry, configure:
    • Sort Order — Evaluation priority
    • Criteria — Conditions using field values, formulas, or advanced filter logic
    • Assigned To — The user or queue that should own matching cases
    • Email Template — Optional notification sent to the new owner

Assignment Rule Evaluation

Assignment rules are evaluated when:

  • A case is created via Web-to-Case or Email-to-Case
  • A case is created or edited via the API with the useDefaultRule header set to true
  • A case is manually created or edited and the Assign using active assignment rules checkbox is checked
  • A case is created by a Flow or Process Builder that invokes assignment rules

Example Rule Entries

Sort OrderCriteriaAssigned To
1Priority = Critical AND Product = EnterpriseTier 3 Queue
2Priority = HighTier 2 Queue
3Origin = ChatLive Chat Queue
4Origin = EmailEmail Support Queue
5No criteria (catch-all)General Support Queue

Case Escalation Rules

Escalation rules automatically escalate cases that have not been resolved within a specified timeframe. Escalation can reassign the case, send notification emails, or both.

How to Set Up Case Escalation Rules

  1. Navigate to Setup > Case Escalation Rules
  2. Click New and name the rule
  3. Activate the rule
  4. Add Rule Entries with criteria to identify which cases should be monitored
  5. For each rule entry, add Escalation Actions specifying:
    • Age Over — Hours or minutes since the case was created (or since last modified, based on configuration)
    • Escalation Action — Reassign to a user/queue and/or send email notifications
    • Notification Template — Email template for notifications
    • Notify — The user, case owner, or additional email addresses to alert

Business Hours

Escalation rules respect Business Hours configured at Setup > Business Hours. Cases will only age during defined business hours, so a case created at 5:00 PM on Friday with 8-hour escalation will not escalate until the next business day.

Escalation Rule vs. Age Calculation

SettingBehavior
Based on creation dateTimer starts when the case is created
Based on last modificationTimer resets each time the case is modified

Example Escalation Configuration

Age OverAction
4 hoursNotify case owner’s manager via email
8 hoursReassign to Tier 2 Queue and notify director
24 hoursReassign to VP of Support and send executive alert

Email-to-Case

Email-to-Case allows customers to create and update cases by sending emails. Replies from agents are sent through the case feed, keeping all communication threaded.

Two Approaches

FeatureOn-Demand Email-to-CaseEmail-to-Case (Agent)
SetupConfigure in Salesforce, uses Email ServicesRequires installing an agent behind your firewall
Attachment Limit25 MB25 MB
Email SizeUp to 25 MBConfigurable
FirewallNo firewall changes neededRuns behind your firewall
RecommendedYes (most common)Only for strict security requirements

Setting Up On-Demand Email-to-Case

  1. Navigate to Setup > Email-to-Case
  2. Click Edit and enable Email-to-Case
  3. Check On-Demand Service to enable on-demand mode
  4. Configure settings:
    • Notify Case Owners on New Emails — sends notification when new email arrives
    • Enable HTML Email — preserves HTML formatting
    • Insert Thread ID in the Email Subject — allows threading for reply matching
    • Insert Thread ID in the Email Body — alternative threading approach
  5. Under Routing Addresses, click New to create a routing address:
    • Routing Name — descriptive name (e.g., “General Support”)
    • Email Address — the address customers will email (e.g., support@yourcompany.com)
    • Case Origin — automatically set on created cases (typically “Email”)
    • Case Priority — default priority for new cases
    • Task Status — status for tasks created from emails
    • Save Email Headers — stores original email headers
  6. Salesforce generates an Email Services Address — set up email forwarding from your company email to this address
  7. Verify the forwarding by sending a test email

How Email Threading Works

When an agent replies from the case, Salesforce includes a Thread ID (a reference string like ref:_00D...) in the email. When the customer replies, Salesforce matches the Thread ID to attach the reply to the existing case rather than creating a new one.


Web-to-Case

Web-to-Case lets you capture support requests from your website directly as cases in Salesforce.

Setting Up Web-to-Case

  1. Navigate to Setup > Web-to-Case
  2. Click Edit and enable Web-to-Case
  3. Configure:
    • Default Case Origin — typically set to “Web”
    • Response Template — auto-response email template
    • Hide Record Information — prevents exposing Salesforce record IDs in the HTML
  4. Click Generate Web-to-Case Form under Setup > Web-to-Case HTML Generator
  5. Select the fields to include on the form
  6. Enter the Return URL (the page customers see after submission)
  7. Click Generate — Salesforce produces HTML code
  8. Embed the generated HTML on your website

Daily Limits

Web-to-Case has a limit of 5,000 cases per day by default. Cases submitted beyond this limit are queued and created when the limit resets.

Security Considerations

  • Enable reCAPTCHA or implement your own CAPTCHA to prevent spam submissions
  • Validate and sanitize all form inputs on your web server before submission
  • Use HTTPS for the form page to protect customer data in transit
  • Consider using a custom solution with the Salesforce API for more control over validation

Case Teams

Case Teams allow you to define a group of people who work together to resolve a case. Each team member has a specific role that determines their level of access.

Setting Up Case Teams

  1. Navigate to Setup > Case Teams
  2. First, define Case Team Roles:
    • Click Case Team Roles and create roles like “Support Lead,” “Technical SME,” “Account Manager”
    • For each role, set the Case Access Level (Read Only, Read/Write)
  3. Predefined Case Teams — Create named teams with preset members:
    • Navigate to Setup > Predefined Case Teams
    • Click New and add team members with their roles
    • Predefined teams can be added to cases manually or via automation
  4. Enable Case Teams on the page layout:
    • Add the Case Team related list to the Case page layout

Case Team vs. Account Team

FeatureCase TeamAccount Team
ScopeSingle caseAccount and related records
MembershipPer casePer account
Use CaseCollaborative case resolutionOngoing account management

Case Comments Object

Case Comments provide a way to add notes and updates to a case. Comments can be public (visible to the customer in a portal) or internal (visible only to internal users).

Key Fields

FieldDescription
BodyThe text of the comment
IsPublishedIf true, the comment is visible to portal users
CreatedByThe user who created the comment
ParentIdThe case the comment belongs to

Best Practices

  • Use public comments for customer-facing updates and internal comments for agent notes
  • Enable Notify Case Owners on New Comments in Support Settings for timely updates
  • Consider using the Case Feed (Chatter on cases) for richer collaboration features

Case Contact Roles

Case Contact Roles identify additional contacts associated with a case beyond the primary contact. This is useful when multiple people at a customer’s organization are involved with the same issue.

Setting Up Case Contact Roles

  1. Navigate to Setup > Case Contact Roles
  2. Define roles such as “Reporter,” “Decision Maker,” “Technical Contact”
  3. Add the Contact Roles related list to the Case page layout
  4. Agents can then associate multiple contacts with a case and specify each person’s role

Case Swarms

Case Swarms bring the right people together quickly when a complex or high-priority case needs collaborative resolution. A swarm creates a Slack channel or Chatter post connected to the case, inviting subject matter experts to help.

How Case Swarms Work

  1. An agent identifies a case that needs expert help
  2. The agent initiates a swarm from the case record
  3. Salesforce creates a collaboration space (Slack channel or Chatter group)
  4. Relevant experts are invited based on skills, product expertise, or manual selection
  5. The team collaborates in the swarm while updates flow back to the case
  6. Once resolved, the swarm is closed and the resolution is documented on the case

Setting Up Case Swarms

  1. Enable Swarming: Navigate to Setup > Swarming and toggle it on
  2. Configure Slack Integration (if using Slack):
    • Install the Salesforce for Slack app from the Slack App Directory
    • In Salesforce Setup, navigate to Slack Apps Setup and connect your Slack workspace
    • Map Salesforce users to Slack users
  3. Define Swarm Roles: Create roles like “Swarm Lead,” “Technical Expert,” “Product Specialist”
  4. Configure Swarm Member Suggestions: Set up skill-based routing to suggest the right experts:
    • Define Skills at Setup > Skills
    • Assign skills to users
    • Configure suggestion rules based on case attributes (product, category, etc.)
  5. Add Swarm to the Page Layout: Add the Swarm related list or quick action to the Case page layout
  6. Create a Flow (optional): Build a Flow that automatically initiates a swarm when certain case criteria are met (e.g., Priority = Critical and Escalated = true)

Swarm vs. Case Team

FeatureCase SwarmCase Team
PurposeAd-hoc collaboration for complex issuesStructured team assignment
CommunicationSlack channel or Chatter postCase comments and feed
DurationTemporary — closed after resolutionPersistent for the life of the case
Expert MatchingSkill-based suggestionsManual or predefined

Entitlements and Milestones

Entitlements define the level of support a customer is eligible to receive. Milestones are the time-dependent steps within an entitlement process that agents must complete.

Key Objects

ObjectDescription
EntitlementRepresents a customer’s right to support (e.g., 24/7 Premium Support)
Entitlement ProcessThe timeline of milestones that govern case resolution
MilestoneA required step with a time limit (e.g., First Response within 2 hours)
Milestone TypeReusable template defining the kind of milestone

Setting Up Entitlements

  1. Enable Entitlements: Navigate to Setup > Entitlement Settings and enable entitlement management
  2. Create Milestone Types: Navigate to Setup > Milestone Types and create types like:
    • First Response
    • Resolution Time
    • Customer Update
  3. Create an Entitlement Process:
    • Navigate to Setup > Entitlement Processes
    • Click New and configure:
      • Name — e.g., “Premium Support Process”
      • Case Entry Criteria — conditions for a case to enter this process (e.g., Priority = High)
      • Exit Criteria — conditions that remove the case from the process (e.g., Status = Closed)
    • Add Milestones to the process:
      • Select a Milestone Type
      • Set the Time Trigger (e.g., 2 hours for First Response)
      • Configure Warning Actions (e.g., email the agent 30 minutes before the deadline)
      • Configure Violation Actions (e.g., email the manager and escalate the case)
  4. Create Entitlement Records: On the Account or Contact, create entitlement records linking customers to their support level
  5. Associate Entitlements with Cases: Add the Entitlement lookup field to the Case page layout so agents can link a case to the correct entitlement
  6. Add Milestone Tracking to the Case Layout: Add the Case Milestones related list to the Case page layout

Milestone Status Icons

Icon/StatusMeaning
Compliant (green)Milestone completed within the time limit
Open (yellow)Milestone in progress, not yet due
Warning (orange)Approaching the deadline
Violated (red)Time limit exceeded

Service Contracts

Service Contracts represent a formal agreement between you and a customer regarding the level of service to be provided. They often contain one or more Contract Line Items and are linked to entitlements.

Key Fields

FieldDescription
AccountThe customer account
Start DateWhen the contract begins
End DateWhen the contract expires
StatusDraft, Active, Expired
Contract Line ItemsProducts or services covered by the contract

Relationship to Entitlements

A Service Contract can have multiple entitlements associated with it. The contract defines the overall agreement, while entitlements define the specific support levels and processes.

Service Contract (e.g., "Annual Support Agreement")
├── Entitlement: "24/7 Premium Support"
│   └── Entitlement Process: "Premium SLA"
├── Entitlement: "Business Hours Standard Support"
│   └── Entitlement Process: "Standard SLA"
└── Contract Line Items
    ├── Product A
    └── Product B

Work Order Objects

Work Orders track work to be performed, typically as part of a field service operation or internal maintenance task. They are often linked to cases, accounts, or service contracts.

Work Order Object Hierarchy

ObjectDescription
Work OrderThe parent record representing the overall job
Work Order Line ItemA specific task within the work order
Service AppointmentA scheduled time slot for performing the work
Service ResourceA person or piece of equipment assigned to do the work

Key Work Order Fields

FieldDescription
SubjectBrief description of the work
StatusNew, In Progress, Completed, Closed
PriorityLow, Medium, High, Critical
CaseThe related case (if applicable)
AccountThe customer account
ContactThe customer contact
Service ContractThe governing service contract
EntitlementThe entitlement covering this work
AddressLocation where the work will be performed

Creating Work Orders from Cases

  1. Add the Work Orders related list to the Case page layout
  2. When a case requires on-site service, create a Work Order from the case
  3. Add Work Order Line Items for each task
  4. Create Service Appointments to schedule the work
  5. Assign Service Resources to the appointments

Omni-Channel

Omni-Channel is a feature that routes work items — cases, chats, leads, custom objects, and more — to the most qualified and available agents in real time.

Key Concepts

ConceptDescription
Service ChannelDefines a type of work (Cases, Chats, Leads, etc.)
Routing ConfigurationRules that determine how work is distributed
Presence StatusAgent availability states (Online, Busy, Away)
Presence ConfigurationDefines which statuses agents can use and their capacity
QueueA holding area for work items before they are routed

Routing Methods

MethodDescriptionBest For
Queue-BasedRoutes from queues to agents based on priority and capacitySimple setups
Skill-BasedRoutes based on agent skills matching work item requirementsComplex support orgs
External RoutingIntegrates with third-party routing engines via APILegacy systems

Setting Up Omni-Channel (Queue-Based Routing)

Step 1: Enable Omni-Channel

  1. Navigate to Setup > Omni-Channel Settings
  2. Check Enable Omni-Channel
  3. Save

Step 2: Create Service Channels

  1. Navigate to Setup > Service Channels
  2. Click New and configure:
    • Service Channel Name — e.g., “Cases”
    • Related Object — Case
    • Work Item Component — the console tab component used to display items

Step 3: Create Routing Configurations

  1. Navigate to Setup > Routing Configurations
  2. Click New and configure:
    • Routing Name — e.g., “High Priority Routing”
    • Routing Priority — lower numbers = higher priority
    • Routing Model:
      • Most Available — routes to the agent with the most remaining capacity
      • Least Active — routes to the agent with the fewest active work items
    • Push Timeout — seconds before the work item is reassigned if not accepted
    • Capacity Type — Tab-based (each item takes one slot) or Status-based (uses weighted capacity)

Step 4: Create Queues with Routing

  1. Navigate to Setup > Queues
  2. Create or edit a queue
  3. Under Routing Configuration, select the routing configuration you created
  4. Add the appropriate Supported Objects (e.g., Case)
  5. Add Queue Members (users or groups)

Step 5: Configure Presence Statuses

  1. Navigate to Setup > Presence Statuses
  2. Create statuses like “Available — Cases,” “Available — Chat,” “On Break”
  3. For each status, select the Service Channels the agent can receive work from

Step 6: Configure Presence Configurations

  1. Navigate to Setup > Presence Configurations
  2. Click New and configure:
    • Configuration Name — e.g., “Support Agent Config”
    • Capacity — maximum number of simultaneous work items (e.g., 5)
    • Assign to Users or Profiles — who this configuration applies to
    • Allowed Presence Statuses — which statuses agents can select

Step 7: Add the Omni-Channel Widget

  1. Open the Service Console App in the App Builder
  2. Add the Omni-Channel component to the utility bar
  3. Save and activate

Setting Up Skill-Based Routing

  1. Navigate to Setup > Skills and create skills (e.g., “Billing,” “Technical,” “Enterprise”)
  2. Assign skills to agents at Setup > Service Resources or via the Skills related list on the User record
  3. Create Skill-Based Routing Rules:
    • Navigate to Setup > Routing Configurations and select Skills-Based as the routing model
    • Define which skills are required based on work item field values
  4. Optionally define skill weights to prioritize certain skills over others

Omni-Channel Supervisor

Omni-Channel Supervisor is a real-time monitoring dashboard for managers. It provides visibility into:

  • Agent Status — see which agents are online, busy, or away
  • Queue Backlog — monitor the volume of work waiting in each queue
  • Work in Progress — view open work items across all agents
  • Wait Times — track how long customers are waiting
  • Agent Capacity — see each agent’s current utilization

Accessing Omni-Channel Supervisor:

  1. Add the Omni-Channel Supervisor tab to the Service Console App
  2. Supervisors can filter by queue, agent, skill, or time period
  3. Use the dashboard to make real-time staffing decisions

Salesforce Chat (Live Agent)

Salesforce Chat (formerly Live Agent) allows customers to chat with support agents in real time directly from your website or community.

Setting Up Chat

  1. Enable Chat: Navigate to Setup > Chat Settings and enable it
  2. Create Chat Buttons & Invitations:
    • Navigate to Setup > Chat Buttons & Invitations
    • Click New and configure:
      • Type — Chat Button or Automated Invitation
      • Routing Type — Choice (agent picks), Most Available, or Least Active
      • Queue — the queue to route chats to
      • Pre-Chat Form — optional form to collect information before the chat starts
      • Custom Chat Page — optional branded chat window
  3. Create Chat Deployments:
    • Navigate to Setup > Chat Deployments
    • Click New and configure the deployment
    • Salesforce generates a JavaScript snippet
  4. Embed the Snippet: Add the generated JavaScript code to your website
  5. Add Chat to the Console: Add the Chat component to the Service Console utility bar

Pre-Chat Forms

Pre-chat forms collect customer information before the chat begins. You can:

  • Map form fields to Case, Contact, or Account fields
  • Auto-create records when the chat starts
  • Use the information to route the chat to the right agent

Chat Transcripts

Every chat session is saved as a Chat Transcript record. Transcripts are automatically linked to the related Case, Contact, and Account for full context.


Knowledge

Salesforce Knowledge is a knowledge base that allows you to create, manage, and share articles with agents and customers. Articles help agents resolve cases faster and enable customer self-service.

Key Concepts

ConceptDescription
Knowledge ArticleA piece of content (FAQ, how-to, troubleshooting guide)
Article Type / Record TypeCategorizes articles (FAQ, Technical Article, Policy)
Data CategoryHierarchical taxonomy for organizing articles
Article VersionDraft, Published, or Archived versions
ChannelWhere an article is visible: Internal App, Customer, Partner, Public Knowledge Base

Enabling Salesforce Knowledge

  1. Navigate to Setup > Knowledge Settings
  2. Click Enable Salesforce Knowledge
  3. Select the Knowledge User — assign the Knowledge User feature license to users who will author articles
  4. Configure:
    • Allow users to create and edit articles on the appropriate profiles
    • Default Knowledge Language — your primary language
    • Multiple Languages — enable if your org supports multilingual content

Creating Data Categories

Data Categories provide a hierarchical way to organize and filter knowledge articles.

  1. Navigate to Setup > Data Categories
  2. Click New to create a Category Group (e.g., “Products,” “Regions”)
  3. Add child categories under the group:
    Products (Group)
    ├── Cloud Platform
    │   ├── Sales Cloud
    │   ├── Service Cloud
    │   └── Marketing Cloud
    ├── Hardware
    └── Professional Services
  4. Data Category Visibility: Control which categories users and customer portal users can see at Setup > Data Category Visibility

Article Lifecycle

  1. Draft — Author creates a new article
  2. Review — Article is submitted for approval (if approval process is configured)
  3. Published — Article is live and searchable
  4. Archived — Article is removed from search results but preserved for record-keeping

Knowledge Article Suggestions on Cases

Salesforce can automatically suggest relevant knowledge articles based on case details.

Setting Up Article Suggestions:

  1. Navigate to Setup > Knowledge Settings
  2. Enable Suggest related articles on cases
  3. Configure which fields are used for matching (Subject, Description, etc.)
  4. On the Case page layout, add the Knowledge component
  5. When an agent opens a case, suggested articles appear automatically based on the case subject and description

Attaching Articles to Cases:

  • Agents can attach articles to cases from the Knowledge component
  • Attached articles appear in the Case Articles related list
  • Agents can also email articles directly to the customer from the case

Knowledge Article Translations

If your organization supports multiple languages:

  1. Navigate to Setup > Knowledge Settings and enable Multiple Languages
  2. Add supported languages
  3. To translate an article:
    • Open the published article
    • Click Translate and select the target language
    • Enter the translated content
    • Submit for approval (if required) and publish

Knowledge Article Approvals

You can require articles to be approved before they are published.

  1. Create an Approval Process for the Knowledge article object:
    • Navigate to Setup > Approval Processes
    • Select the Knowledge__kav object
    • Define entry criteria (e.g., Record Type = Technical Article)
    • Add approval steps with approvers
    • Configure final approval actions (set Status to Published)
    • Configure final rejection actions (notify author)
  2. Authors submit articles for approval from the article record
  3. Approvers receive a notification and can approve or reject

Knowledge Search Best Practices

PracticeDescription
Use descriptive titlesTitles should clearly describe the content
Add keywordsPopulate keyword fields for better search matching
Categorize properlyAssign data categories to every article
Keep articles currentRegularly review and update articles
Track article performanceUse Knowledge reports to identify gaps

Quick Text

Quick Text allows agents to create reusable text snippets that can be inserted into emails, chats, case comments, and other communication fields with a few keystrokes.

Setting Up Quick Text

  1. Navigate to Setup > Quick Text Settings
  2. Enable Quick Text
  3. Select the channels where Quick Text is available (Email, Chat, Event, Task, Social, etc.)
  4. Create Quick Text records:
    • Navigate to the Quick Text tab
    • Click New and configure:
      • Quick Text Name — descriptive label (e.g., “Case Acknowledgment”)
      • Message — the text content, supports merge fields like {!Case.CaseNumber}
      • Category — optional classification
      • Channel — where this text can be used

Using Quick Text

In the Service Console, agents can insert Quick Text by:

  1. Clicking in a text field (email body, chat, etc.)
  2. Typing ;; (double semicolon) to open the Quick Text picker
  3. Searching for the desired snippet
  4. Selecting it to insert the text into the field

Quick Text with Merge Fields

Quick Text supports merge fields to personalize messages:

Hi {!Case.Contact.FirstName},

Thank you for contacting us. Your case number is {!Case.CaseNumber}
and we are currently working on your request.

Expected resolution time: {!Case.Entitlement.Name}

Best regards,
{!$User.FirstName}

Surveys

Salesforce Surveys allow you to create and send surveys to customers, partners, or employees directly from Salesforce. Surveys are commonly used to measure customer satisfaction after case resolution.

Setting Up Surveys

Step 1: Enable Surveys

  1. Navigate to Setup > Survey Settings
  2. Toggle Enable Surveys
  3. Configure the Default Community for survey distribution (surveys are delivered via an Experience Cloud site)

Step 2: Create a Survey

  1. Navigate to the Surveys tab
  2. Click New Survey
  3. Use the drag-and-drop builder to add pages and questions:
    • Rating — star or number scale
    • Net Promoter Score (NPS) — 0-10 recommendation scale
    • Short Text — free-text response
    • Long Text — extended free-text response
    • Multiple Choice — single or multi-select
    • Ranking — order preference
    • Date — date picker
    • Score — calculated score field
  4. Add Branching Logic to show different questions based on answers
  5. Add a Thank You page

Step 3: Configure Survey Settings

  • Brand the survey with colors and logo
  • Set Start and End dates
  • Configure Participant Access (anonymous or authenticated)

Step 4: Create Survey Invitations

  1. Click Send from the survey record
  2. Create a Survey Invitation:
    • Invitation Type — Email, Link, or Automated
    • Participants — contacts, leads, or specific email addresses
    • Related Record — link responses to a case, account, or other record
  3. For automated distribution, create a Flow that sends a survey invitation when a case is closed:
    • Trigger: Case Status changed to Closed
    • Action: Create a Survey Invitation record
    • Email: Send the survey link to the case contact

Survey Reporting

Survey responses are stored as Survey Response records. Create reports and dashboards to track:

  • Average satisfaction score
  • NPS trends
  • Response rates
  • Individual case feedback

Service Cloud Voice

Service Cloud Voice integrates telephony directly into the Service Console, giving agents a unified workspace for phone, digital channels, and CRM data.

Key Features

FeatureDescription
Integrated softphoneMake and receive calls within the console
Real-time transcriptionAutomatic speech-to-text during calls
Einstein recommendationsAI-suggested next best actions and knowledge articles
Supervisor monitoringListen in, whisper, or barge into live calls
Omni-Channel integrationPhone calls routed through the same Omni-Channel engine

Setup with Amazon Connect

Service Cloud Voice integrates natively with Amazon Connect as the telephony provider.

Step 1: Prerequisites

  • Service Cloud Voice license (add-on)
  • An AWS account
  • Amazon Connect instance (Salesforce can provision one for you)

Step 2: Enable Service Cloud Voice

  1. Navigate to Setup > Service Cloud Voice
  2. Click Get Started
  3. Choose the setup option:
    • Salesforce-managed — Salesforce provisions and manages the Amazon Connect instance
    • Partner-managed — Use an existing Amazon Connect instance
  4. Follow the guided setup wizard

Step 3: Configure the Contact Center

  1. In Setup > Contact Centers, configure:
    • Phone numbers — claim or port phone numbers
    • Contact Flows — define IVR menus and routing logic in Amazon Connect
    • Queues — map Amazon Connect queues to Salesforce queues
  2. Configure Omni-Channel to include the Voice service channel

Step 4: Configure the Agent Workspace

  1. Add the Phone component to the Service Console utility bar
  2. Agents will see an integrated softphone with:
    • Click-to-dial from records
    • Incoming call screen pops with customer information
    • Real-time call transcription
    • Call controls (hold, mute, transfer, conference)
  3. After each call, a Voice Call record is created with the transcript and recording

Field Service Lightning

Field Service (formerly Field Service Lightning) extends Service Cloud to manage a mobile workforce. It covers scheduling, dispatching, and tracking work performed at customer locations.

Key Components

ComponentDescription
Field Service CoreScheduling, work orders, service territories (included with Service Cloud)
Managed PackageThe Field Service managed package adds the dispatcher console and advanced scheduling
Mobile AppThe Salesforce Field Service mobile app for technicians

Key Objects

ObjectDescription
Service TerritoryA geographic region where work is performed
Service ResourceA technician or piece of equipment
Service AppointmentA scheduled slot for performing work
Work OrderThe parent record for the job
Work Order Line ItemA specific task within the job
Service CrewA group of service resources who work together
Product ItemInventory tracked in a specific location
Product RequiredParts needed to complete a work order line item

Setting Up Field Service

  1. Enable Field Service: Navigate to Setup > Field Service Settings and enable it
  2. Install the Managed Package: Install the Field Service managed package from AppExchange
  3. Create Service Territories:
    • Navigate to the Service Territories tab
    • Create territories representing your service regions (e.g., “San Francisco Bay Area”)
    • Define operating hours for each territory
  4. Create Service Resources:
    • Navigate to Service Resources and create records for each technician
    • Link to the User record
    • Assign skills and service territories
  5. Configure the Dispatcher Console:
    • Open the Field Service app
    • The dispatcher console shows a map view, Gantt chart, and work order list
    • Dispatchers can drag and drop appointments to resources
  6. Configure the Mobile App:
    • Download the Salesforce Field Service mobile app
    • Configure mobile settings in Setup > Field Service Mobile Settings
    • Define which record types and flows are available on mobile

Scheduling Policies

PolicyDescription
Customer FirstPrioritizes customer-preferred time windows
Soft BoundariesAllows scheduling outside territory boundaries when needed
High IntensityMaximizes the number of appointments per day
EmergencyImmediately schedules critical work, overriding other policies

Digital Engagement

Digital Engagement extends Service Cloud to messaging channels beyond phone and email. It allows agents to communicate with customers on the channels they prefer.

Supported Channels

ChannelDescription
SMSText messaging via short codes or long codes
WhatsAppBusiness messaging via WhatsApp
Facebook MessengerMessaging via Facebook pages
Apple Messages for BusinessMessaging via Apple’s platform
Custom ChannelsBuild custom integrations with the Messaging Framework API

Setting Up Digital Engagement

  1. Obtain the License: Digital Engagement requires an add-on license
  2. Enable Messaging: Navigate to Setup > Messaging Settings and enable messaging
  3. Configure Channels:
    • For each channel, navigate to Setup > Messaging Channels
    • Follow the channel-specific setup (e.g., connect your WhatsApp Business account, verify your Facebook page)
  4. Create Routing: Configure Omni-Channel routing for messaging work items
  5. Agent Workspace: Messaging conversations appear in the Service Console as messaging sessions, similar to chat

Digital Engagement vs. Chat

FeatureDigital EngagementChat (Live Agent)
ChannelsSMS, WhatsApp, Messenger, etc.Web-based chat only
Session TypeAsynchronous (conversations persist)Synchronous (ends when chat closes)
Customer IdentityKnown (phone number, social account)May be anonymous
LicenseAdd-on requiredIncluded with Service Cloud

Section Notes

Key Exam Topics

If you are preparing for the Salesforce Administrator or Service Cloud Consultant certification, focus on:

  • Case lifecycle and automation — understand how assignment rules, escalation rules, and auto-response rules interact
  • Email-to-Case vs. Web-to-Case — know the differences, limits, and setup steps
  • Entitlements and Milestones — understand the object model and how SLAs are enforced
  • Omni-Channel — know queue-based vs. skill-based routing, capacity models, and presence configuration
  • Knowledge — understand article lifecycle, data categories, and channel visibility

Comparison Summary

FeaturePurposeLicense Required
CasesTrack customer issuesService Cloud (any edition)
Assignment RulesAuto-route casesProfessional+
Escalation RulesAuto-escalate overdue casesProfessional+
Email-to-CaseCreate cases from emailProfessional+
Web-to-CaseCreate cases from web formsProfessional+
EntitlementsEnforce SLAsEnterprise+
Omni-ChannelIntelligent work routingEnterprise+
KnowledgeKnowledge baseEnterprise+ (with Knowledge license)
Field ServiceMobile workforce managementEnterprise+ (with Field Service license)
Service Cloud VoiceIntegrated telephonyEnterprise+ (add-on license)
Digital EngagementMessaging channelsEnterprise+ (add-on license)

Governor Limits to Remember

LimitValue
Web-to-Case daily limit5,000 cases
Email-to-Case email size limit25 MB
Active Case Assignment Rules1 at a time
Active Case Escalation Rules1 at a time
Active Case Auto-Response Rules1 at a time
Knowledge articles per data category group8 categories deep maximum

PROJECT: Set Up a Service Cloud Implementation

This hands-on project walks you through building a complete Service Cloud implementation from scratch. By the end, you will have a fully functional support operation with cases, routing, SLAs, knowledge, and customer communication.

Project Requirements

  • A Salesforce Developer Edition or Trailhead Playground org
  • Service Cloud features enabled (most are available in Developer Edition)

Phase 1: Configure Case Management

Step 1: Customize Case Fields

  1. Navigate to Setup > Object Manager > Case > Fields & Relationships
  2. Create a custom picklist field called Product Area with values: “Platform,” “Billing,” “Integration,” “Mobile App”
  3. Create a custom picklist field called Issue Type with values: “Bug,” “How-To,” “Feature Request,” “Account Issue”

Step 2: Create Queues

  1. Navigate to Setup > Queues
  2. Create the following queues (all supporting the Case object):
Queue NameMembers
Tier 1 SupportAll support agents
Tier 2 TechnicalSenior technical agents
Billing SupportBilling team members
Escalation QueueSupport managers

Step 3: Set Up Case Assignment Rules

  1. Navigate to Setup > Case Assignment Rules
  2. Create a rule called Service Cloud Assignment Rule and activate it
  3. Add rule entries:
OrderCriteriaAssign To
1Product Area = BillingBilling Support Queue
2Issue Type = Bug AND Priority = CriticalTier 2 Technical Queue
3Issue Type = BugTier 2 Technical Queue
4No criteria (catch-all)Tier 1 Support Queue

Step 4: Set Up Case Escalation Rules

  1. Navigate to Setup > Case Escalation Rules
  2. Create a rule called Standard Escalation and activate it
  3. Add a rule entry for cases where Status does not equal Closed
  4. Add escalation actions:
    • At 4 hours: Send email notification to case owner
    • At 8 hours: Reassign to Escalation Queue and notify support manager

Step 5: Set Up Auto-Response Rules

  1. Navigate to Setup > Case Auto-Response Rules
  2. Create and activate a rule
  3. Add an entry that sends a branded acknowledgment email for all cases

Phase 2: Configure Email-to-Case and Web-to-Case

Step 1: Enable Email-to-Case

  1. Navigate to Setup > Email-to-Case and enable it with On-Demand Service
  2. Create a routing address:
    • Routing Name: “General Support Email”
    • Email Address: support@yourcompany.com
    • Case Origin: Email
    • Case Priority: Medium
  3. Set up email forwarding from your company email to the generated Salesforce email services address

Step 2: Enable Web-to-Case

  1. Navigate to Setup > Web-to-Case and enable it
  2. Generate a Web-to-Case form with fields: Name, Email, Phone, Subject, Description, Product Area
  3. Save the generated HTML — in a real implementation, you would embed this on your support website

Step 3: Test Both Channels

  1. Send a test email to your routing address and verify a case is created
  2. Submit the Web-to-Case form and verify a case is created
  3. Confirm auto-response emails are sent for both

Phase 3: Set Up Entitlements and SLAs

Step 1: Enable Entitlements

  1. Navigate to Setup > Entitlement Settings and enable entitlement management

Step 2: Create Milestone Types

  1. Create the following milestone types:
    • First Response — Time to first agent response
    • Resolution — Time to case resolution

Step 3: Create Entitlement Processes

Create two processes:

Premium Support Process:

MilestoneTime TriggerWarning ActionViolation Action
First Response1 hourEmail agent at 45 minEmail manager, set Escalated = true
Resolution4 hoursEmail agent at 3 hoursReassign to Escalation Queue

Standard Support Process:

MilestoneTime TriggerWarning ActionViolation Action
First Response4 hoursEmail agent at 3 hoursEmail manager
Resolution24 hoursEmail agent at 20 hoursReassign to Escalation Queue

Step 4: Create Entitlement Records

  1. On a test Account, create two entitlement records:
    • “Premium 24/7 Support” — linked to the Premium Support Process
    • “Standard Business Hours Support” — linked to the Standard Support Process

Step 5: Update Page Layouts

  1. Add the Entitlement Name field to the Case page layout
  2. Add the Case Milestones related list to the Case page layout

Phase 4: Configure Omni-Channel

Step 1: Enable Omni-Channel

  1. Navigate to Setup > Omni-Channel Settings and enable it

Step 2: Create Service Channels

  1. Create a service channel for Cases

Step 3: Create Routing Configurations

Config NamePriorityModelCapacity
Critical Routing1Least Active3 items
Standard Routing5Most Available5 items

Step 4: Update Queues

  1. Edit each queue to assign the appropriate routing configuration:
    • Tier 2 Technical and Escalation Queue: Critical Routing
    • Tier 1 Support and Billing Support: Standard Routing

Step 5: Configure Presence

  1. Create presence statuses: “Available — Cases,” “On Break,” “In Meeting”
  2. Create a presence configuration with capacity of 5 and assign it to support agent profiles

Step 6: Add to Console

  1. Add the Omni-Channel widget to the Service Console utility bar

Phase 5: Build the Knowledge Base

Step 1: Enable Knowledge

  1. Navigate to Setup > Knowledge Settings and enable Salesforce Knowledge
  2. Assign the Knowledge User license to your user

Step 2: Create Data Categories

  1. Create a category group called “Products” with children: Platform, Billing, Integration, Mobile App
  2. Create a category group called “Issue Type” with children: Troubleshooting, How-To, FAQ, Policy

Step 3: Create Knowledge Articles

  1. Create at least 5 articles covering common scenarios:
Article TitleProduct CategoryType Category
How to Reset Your PasswordPlatformHow-To
Understanding Your InvoiceBillingFAQ
API Rate Limits and Best PracticesIntegrationTroubleshooting
Mobile App Installation GuideMobile AppHow-To
Refund PolicyBillingPolicy
  1. Publish all articles to the Internal channel

Step 4: Enable Article Suggestions

  1. In Knowledge Settings, enable article suggestions on cases
  2. Test by creating a case with Subject “reset password” and verify the password article appears as a suggestion

Phase 6: Configure Quick Text and Surveys

Step 1: Set Up Quick Text

  1. Enable Quick Text at Setup > Quick Text Settings
  2. Create the following Quick Text records:
NameMessageChannel
Case Greeting”Hi {!Case.Contact.FirstName}, thank you for reaching out…”Email, Chat
Escalation Notice”I am escalating your case to our specialist team…”Email
Case Closure”Your case {!Case.CaseNumber} has been resolved…”Email
Transfer Notice”I am transferring you to a specialist who can better assist…”Chat

Step 2: Set Up a Customer Satisfaction Survey

  1. Navigate to the Surveys tab and create a new survey called “Case Resolution Survey”
  2. Add questions:
    • Rating: “How satisfied were you with your support experience?” (1-5 stars)
    • NPS: “How likely are you to recommend our support?” (0-10)
    • Short Text: “What could we have done better?”
    • Multiple Choice: “Was your issue fully resolved?” (Yes / No / Partially)
  3. Add a Thank You page
  4. Create a Flow to send the survey automatically when a case is closed

Phase 7: Build the Service Console App

Step 1: Create the App

  1. Navigate to Setup > App Manager
  2. Click New Lightning App
  3. Name it “Customer Support Console”
  4. Select Console Navigation
  5. Add navigation items: Cases, Knowledge, Accounts, Contacts, Reports, Dashboards

Step 2: Customize the Case Record Page

  1. Open a Case record and click Edit Page (Lightning App Builder)
  2. Add the following components:
    • Highlights Panel — case details at a glance
    • Case Feed — communication history
    • Knowledge — article suggestions and search
    • Related Lists — Case Team, Work Orders, Milestones
  3. Save and assign the page to the Customer Support Console app

Step 3: Add Utility Bar Components

  1. In the App Builder for the console app, add to the utility bar:
    • Omni-Channel — for work routing
    • History — recently viewed records
    • Notes — quick note-taking
    • Quick Text — access to text snippets

Phase 8: Test the Full Implementation

Run through this end-to-end test scenario:

  1. Send an email to your Email-to-Case address with Subject “Cannot access my account”
  2. Verify the case is created with correct Origin, assignment, and auto-response
  3. Log into the Service Console as a support agent
  4. Set your presence to “Available — Cases” in the Omni-Channel widget
  5. Accept the routed case when it appears
  6. Check Knowledge suggestions — verify relevant articles appear
  7. Add a case comment using Quick Text
  8. Check the entitlement milestone — verify the First Response timer is running
  9. Respond to the customer via the case feed email action
  10. Resolve the case — change status to Closed
  11. Verify the survey is sent to the customer
  12. Review reports — check case metrics in the dashboard

Verification Checklist

ItemStatus
Cases created from Email-to-CaseVerify
Cases created from Web-to-CaseVerify
Assignment rules routing correctlyVerify
Auto-response emails sentVerify
Escalation rules triggering on timeVerify
Entitlement milestones trackingVerify
Omni-Channel routing to agentsVerify
Knowledge articles suggesting on casesVerify
Quick Text working in email composerVerify
Survey sent on case closureVerify

Summary

Service Cloud is a comprehensive platform for delivering customer support at scale. In this post we covered:

  • Case management — the Case object, its lifecycle, and automation through assignment, escalation, and auto-response rules
  • Case creation channels — Email-to-Case for email, Web-to-Case for web forms
  • Collaboration — Case Teams, Case Comments, Contact Roles, and Case Swarms
  • SLA management — Entitlements, Milestones, and Service Contracts
  • Work management — Work Orders and their relationship to Field Service
  • Intelligent routing — Omni-Channel with queue-based and skill-based approaches
  • Real-time communication — Salesforce Chat and Service Cloud Voice with Amazon Connect
  • Knowledge management — articles, data categories, translations, approvals, and case suggestions
  • Agent productivity — Quick Text for reusable snippets
  • Customer feedback — Surveys for measuring satisfaction
  • Mobile workforce — Field Service Lightning for dispatching and managing technicians
  • Messaging — Digital Engagement across SMS, WhatsApp, Messenger, and more

Service Cloud brings all of these capabilities into a unified console experience where agents have everything they need in a single workspace.


Next up — Part 22: Experience Cloud in Salesforce — We will explore how to build branded portals and communities for customers, partners, and employees using Salesforce Experience Cloud, including templates, builder tools, authentication, and content management.