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
| Capability | Description |
|---|---|
| Case Management | Track, prioritize, and resolve customer issues |
| Omni-Channel Routing | Intelligently route work items to the right agent |
| Knowledge Management | Build a searchable knowledge base for agents and customers |
| Entitlements & Milestones | Define and enforce service level agreements |
| Field Service | Dispatch and manage mobile workers |
| Digital Engagement | Communicate via SMS, WhatsApp, Facebook Messenger, and more |
| Service Analytics | Dashboards and reports for service KPIs |
Service Cloud Licenses
Service Cloud functionality is gated by license editions:
| License | Key Features Included |
|---|---|
| Essentials | Basic case management, email integration, knowledge base |
| Professional | Case assignment rules, escalation rules, case teams |
| Enterprise | Omni-Channel, entitlements, milestones, Flow-based automation |
| Unlimited | Everything 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
| Field | Description |
|---|---|
| Case Number | Auto-generated unique identifier |
| Status | Current state of the case (New, Working, Escalated, Closed) |
| Priority | Urgency level (Low, Medium, High, Critical) |
| Origin | Channel the case arrived through (Phone, Email, Web, Chat) |
| Subject | Brief summary of the issue |
| Description | Full details of the customer problem |
| Contact Name | The customer who reported the issue |
| Account Name | The company the contact belongs to |
| Case Owner | The user or queue responsible for the case |
| Case Reason | Categorization of the issue type |
| Type | Classification such as Problem, Feature Request, Question |
| Escalated | Checkbox indicating if the case has been escalated |
| Closed Date | Date the case was resolved |
Case Lifecycle
A typical case lifecycle flows through these stages:
- Creation — Case is created via Email-to-Case, Web-to-Case, phone, chat, or manual entry
- Assignment — Case assignment rules route the case to the appropriate queue or agent
- Auto-Response — An automated email acknowledges receipt to the customer
- Investigation — The agent works the case, adding comments, sending emails, and linking knowledge articles
- Escalation — If unresolved within the defined timeframe, escalation rules trigger notifications or reassignment
- Resolution — The agent resolves the issue and closes the case
- 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
- Navigate to Setup > Case Auto-Response Rules
- Click New and give the rule a name
- Check Active to make the rule live (only one rule can be active at a time)
- Click the rule name to add Rule Entries
- 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
- Navigate to Setup > Case Assignment Rules
- Click New and name the rule
- Activate the rule (only one can be active at a time)
- Click the rule name and add Rule Entries
- 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
useDefaultRuleheader 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 Order | Criteria | Assigned To |
|---|---|---|
| 1 | Priority = Critical AND Product = Enterprise | Tier 3 Queue |
| 2 | Priority = High | Tier 2 Queue |
| 3 | Origin = Chat | Live Chat Queue |
| 4 | Origin = Email | Email Support Queue |
| 5 | No 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
- Navigate to Setup > Case Escalation Rules
- Click New and name the rule
- Activate the rule
- Add Rule Entries with criteria to identify which cases should be monitored
- 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
| Setting | Behavior |
|---|---|
| Based on creation date | Timer starts when the case is created |
| Based on last modification | Timer resets each time the case is modified |
Example Escalation Configuration
| Age Over | Action |
|---|---|
| 4 hours | Notify case owner’s manager via email |
| 8 hours | Reassign to Tier 2 Queue and notify director |
| 24 hours | Reassign 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
| Feature | On-Demand Email-to-Case | Email-to-Case (Agent) |
|---|---|---|
| Setup | Configure in Salesforce, uses Email Services | Requires installing an agent behind your firewall |
| Attachment Limit | 25 MB | 25 MB |
| Email Size | Up to 25 MB | Configurable |
| Firewall | No firewall changes needed | Runs behind your firewall |
| Recommended | Yes (most common) | Only for strict security requirements |
Setting Up On-Demand Email-to-Case
- Navigate to Setup > Email-to-Case
- Click Edit and enable Email-to-Case
- Check On-Demand Service to enable on-demand mode
- 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
- 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
- Salesforce generates an Email Services Address — set up email forwarding from your company email to this address
- 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
- Navigate to Setup > Web-to-Case
- Click Edit and enable Web-to-Case
- 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
- Click Generate Web-to-Case Form under Setup > Web-to-Case HTML Generator
- Select the fields to include on the form
- Enter the Return URL (the page customers see after submission)
- Click Generate — Salesforce produces HTML code
- 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
- Navigate to Setup > Case Teams
- 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)
- 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
- Enable Case Teams on the page layout:
- Add the Case Team related list to the Case page layout
Case Team vs. Account Team
| Feature | Case Team | Account Team |
|---|---|---|
| Scope | Single case | Account and related records |
| Membership | Per case | Per account |
| Use Case | Collaborative case resolution | Ongoing 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
| Field | Description |
|---|---|
| Body | The text of the comment |
| IsPublished | If true, the comment is visible to portal users |
| CreatedBy | The user who created the comment |
| ParentId | The 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
- Navigate to Setup > Case Contact Roles
- Define roles such as “Reporter,” “Decision Maker,” “Technical Contact”
- Add the Contact Roles related list to the Case page layout
- 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
- An agent identifies a case that needs expert help
- The agent initiates a swarm from the case record
- Salesforce creates a collaboration space (Slack channel or Chatter group)
- Relevant experts are invited based on skills, product expertise, or manual selection
- The team collaborates in the swarm while updates flow back to the case
- Once resolved, the swarm is closed and the resolution is documented on the case
Setting Up Case Swarms
- Enable Swarming: Navigate to Setup > Swarming and toggle it on
- 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
- Define Swarm Roles: Create roles like “Swarm Lead,” “Technical Expert,” “Product Specialist”
- 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.)
- Add Swarm to the Page Layout: Add the Swarm related list or quick action to the Case page layout
- 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
| Feature | Case Swarm | Case Team |
|---|---|---|
| Purpose | Ad-hoc collaboration for complex issues | Structured team assignment |
| Communication | Slack channel or Chatter post | Case comments and feed |
| Duration | Temporary — closed after resolution | Persistent for the life of the case |
| Expert Matching | Skill-based suggestions | Manual 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
| Object | Description |
|---|---|
| Entitlement | Represents a customer’s right to support (e.g., 24/7 Premium Support) |
| Entitlement Process | The timeline of milestones that govern case resolution |
| Milestone | A required step with a time limit (e.g., First Response within 2 hours) |
| Milestone Type | Reusable template defining the kind of milestone |
Setting Up Entitlements
- Enable Entitlements: Navigate to Setup > Entitlement Settings and enable entitlement management
- Create Milestone Types: Navigate to Setup > Milestone Types and create types like:
- First Response
- Resolution Time
- Customer Update
- 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)
- Create Entitlement Records: On the Account or Contact, create entitlement records linking customers to their support level
- Associate Entitlements with Cases: Add the Entitlement lookup field to the Case page layout so agents can link a case to the correct entitlement
- Add Milestone Tracking to the Case Layout: Add the Case Milestones related list to the Case page layout
Milestone Status Icons
| Icon/Status | Meaning |
|---|---|
| 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
| Field | Description |
|---|---|
| Account | The customer account |
| Start Date | When the contract begins |
| End Date | When the contract expires |
| Status | Draft, Active, Expired |
| Contract Line Items | Products 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
| Object | Description |
|---|---|
| Work Order | The parent record representing the overall job |
| Work Order Line Item | A specific task within the work order |
| Service Appointment | A scheduled time slot for performing the work |
| Service Resource | A person or piece of equipment assigned to do the work |
Key Work Order Fields
| Field | Description |
|---|---|
| Subject | Brief description of the work |
| Status | New, In Progress, Completed, Closed |
| Priority | Low, Medium, High, Critical |
| Case | The related case (if applicable) |
| Account | The customer account |
| Contact | The customer contact |
| Service Contract | The governing service contract |
| Entitlement | The entitlement covering this work |
| Address | Location where the work will be performed |
Creating Work Orders from Cases
- Add the Work Orders related list to the Case page layout
- When a case requires on-site service, create a Work Order from the case
- Add Work Order Line Items for each task
- Create Service Appointments to schedule the work
- 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
| Concept | Description |
|---|---|
| Service Channel | Defines a type of work (Cases, Chats, Leads, etc.) |
| Routing Configuration | Rules that determine how work is distributed |
| Presence Status | Agent availability states (Online, Busy, Away) |
| Presence Configuration | Defines which statuses agents can use and their capacity |
| Queue | A holding area for work items before they are routed |
Routing Methods
| Method | Description | Best For |
|---|---|---|
| Queue-Based | Routes from queues to agents based on priority and capacity | Simple setups |
| Skill-Based | Routes based on agent skills matching work item requirements | Complex support orgs |
| External Routing | Integrates with third-party routing engines via API | Legacy systems |
Setting Up Omni-Channel (Queue-Based Routing)
Step 1: Enable Omni-Channel
- Navigate to Setup > Omni-Channel Settings
- Check Enable Omni-Channel
- Save
Step 2: Create Service Channels
- Navigate to Setup > Service Channels
- 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
- Navigate to Setup > Routing Configurations
- 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
- Navigate to Setup > Queues
- Create or edit a queue
- Under Routing Configuration, select the routing configuration you created
- Add the appropriate Supported Objects (e.g., Case)
- Add Queue Members (users or groups)
Step 5: Configure Presence Statuses
- Navigate to Setup > Presence Statuses
- Create statuses like “Available — Cases,” “Available — Chat,” “On Break”
- For each status, select the Service Channels the agent can receive work from
Step 6: Configure Presence Configurations
- Navigate to Setup > Presence Configurations
- 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
- Open the Service Console App in the App Builder
- Add the Omni-Channel component to the utility bar
- Save and activate
Setting Up Skill-Based Routing
- Navigate to Setup > Skills and create skills (e.g., “Billing,” “Technical,” “Enterprise”)
- Assign skills to agents at Setup > Service Resources or via the Skills related list on the User record
- 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
- 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:
- Add the Omni-Channel Supervisor tab to the Service Console App
- Supervisors can filter by queue, agent, skill, or time period
- 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
- Enable Chat: Navigate to Setup > Chat Settings and enable it
- 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
- Create Chat Deployments:
- Navigate to Setup > Chat Deployments
- Click New and configure the deployment
- Salesforce generates a JavaScript snippet
- Embed the Snippet: Add the generated JavaScript code to your website
- 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
| Concept | Description |
|---|---|
| Knowledge Article | A piece of content (FAQ, how-to, troubleshooting guide) |
| Article Type / Record Type | Categorizes articles (FAQ, Technical Article, Policy) |
| Data Category | Hierarchical taxonomy for organizing articles |
| Article Version | Draft, Published, or Archived versions |
| Channel | Where an article is visible: Internal App, Customer, Partner, Public Knowledge Base |
Enabling Salesforce Knowledge
- Navigate to Setup > Knowledge Settings
- Click Enable Salesforce Knowledge
- Select the Knowledge User — assign the Knowledge User feature license to users who will author articles
- 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.
- Navigate to Setup > Data Categories
- Click New to create a Category Group (e.g., “Products,” “Regions”)
- Add child categories under the group:
Products (Group) ├── Cloud Platform │ ├── Sales Cloud │ ├── Service Cloud │ └── Marketing Cloud ├── Hardware └── Professional Services - Data Category Visibility: Control which categories users and customer portal users can see at Setup > Data Category Visibility
Article Lifecycle
- Draft — Author creates a new article
- Review — Article is submitted for approval (if approval process is configured)
- Published — Article is live and searchable
- 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:
- Navigate to Setup > Knowledge Settings
- Enable Suggest related articles on cases
- Configure which fields are used for matching (Subject, Description, etc.)
- On the Case page layout, add the Knowledge component
- 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:
- Navigate to Setup > Knowledge Settings and enable Multiple Languages
- Add supported languages
- 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.
- 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)
- Authors submit articles for approval from the article record
- Approvers receive a notification and can approve or reject
Knowledge Search Best Practices
| Practice | Description |
|---|---|
| Use descriptive titles | Titles should clearly describe the content |
| Add keywords | Populate keyword fields for better search matching |
| Categorize properly | Assign data categories to every article |
| Keep articles current | Regularly review and update articles |
| Track article performance | Use 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
- Navigate to Setup > Quick Text Settings
- Enable Quick Text
- Select the channels where Quick Text is available (Email, Chat, Event, Task, Social, etc.)
- 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:
- Clicking in a text field (email body, chat, etc.)
- Typing
;;(double semicolon) to open the Quick Text picker - Searching for the desired snippet
- 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
- Navigate to Setup > Survey Settings
- Toggle Enable Surveys
- Configure the Default Community for survey distribution (surveys are delivered via an Experience Cloud site)
Step 2: Create a Survey
- Navigate to the Surveys tab
- Click New Survey
- 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
- Add Branching Logic to show different questions based on answers
- 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
- Click Send from the survey record
- 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
- 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
| Feature | Description |
|---|---|
| Integrated softphone | Make and receive calls within the console |
| Real-time transcription | Automatic speech-to-text during calls |
| Einstein recommendations | AI-suggested next best actions and knowledge articles |
| Supervisor monitoring | Listen in, whisper, or barge into live calls |
| Omni-Channel integration | Phone 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
- Navigate to Setup > Service Cloud Voice
- Click Get Started
- Choose the setup option:
- Salesforce-managed — Salesforce provisions and manages the Amazon Connect instance
- Partner-managed — Use an existing Amazon Connect instance
- Follow the guided setup wizard
Step 3: Configure the Contact Center
- 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
- Configure Omni-Channel to include the Voice service channel
Step 4: Configure the Agent Workspace
- Add the Phone component to the Service Console utility bar
- 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)
- 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
| Component | Description |
|---|---|
| Field Service Core | Scheduling, work orders, service territories (included with Service Cloud) |
| Managed Package | The Field Service managed package adds the dispatcher console and advanced scheduling |
| Mobile App | The Salesforce Field Service mobile app for technicians |
Key Objects
| Object | Description |
|---|---|
| Service Territory | A geographic region where work is performed |
| Service Resource | A technician or piece of equipment |
| Service Appointment | A scheduled slot for performing work |
| Work Order | The parent record for the job |
| Work Order Line Item | A specific task within the job |
| Service Crew | A group of service resources who work together |
| Product Item | Inventory tracked in a specific location |
| Product Required | Parts needed to complete a work order line item |
Setting Up Field Service
- Enable Field Service: Navigate to Setup > Field Service Settings and enable it
- Install the Managed Package: Install the Field Service managed package from AppExchange
- 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
- Create Service Resources:
- Navigate to Service Resources and create records for each technician
- Link to the User record
- Assign skills and service territories
- 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
- 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
| Policy | Description |
|---|---|
| Customer First | Prioritizes customer-preferred time windows |
| Soft Boundaries | Allows scheduling outside territory boundaries when needed |
| High Intensity | Maximizes the number of appointments per day |
| Emergency | Immediately 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
| Channel | Description |
|---|---|
| SMS | Text messaging via short codes or long codes |
| Business messaging via WhatsApp | |
| Facebook Messenger | Messaging via Facebook pages |
| Apple Messages for Business | Messaging via Apple’s platform |
| Custom Channels | Build custom integrations with the Messaging Framework API |
Setting Up Digital Engagement
- Obtain the License: Digital Engagement requires an add-on license
- Enable Messaging: Navigate to Setup > Messaging Settings and enable messaging
- 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)
- Create Routing: Configure Omni-Channel routing for messaging work items
- Agent Workspace: Messaging conversations appear in the Service Console as messaging sessions, similar to chat
Digital Engagement vs. Chat
| Feature | Digital Engagement | Chat (Live Agent) |
|---|---|---|
| Channels | SMS, WhatsApp, Messenger, etc. | Web-based chat only |
| Session Type | Asynchronous (conversations persist) | Synchronous (ends when chat closes) |
| Customer Identity | Known (phone number, social account) | May be anonymous |
| License | Add-on required | Included 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
| Feature | Purpose | License Required |
|---|---|---|
| Cases | Track customer issues | Service Cloud (any edition) |
| Assignment Rules | Auto-route cases | Professional+ |
| Escalation Rules | Auto-escalate overdue cases | Professional+ |
| Email-to-Case | Create cases from email | Professional+ |
| Web-to-Case | Create cases from web forms | Professional+ |
| Entitlements | Enforce SLAs | Enterprise+ |
| Omni-Channel | Intelligent work routing | Enterprise+ |
| Knowledge | Knowledge base | Enterprise+ (with Knowledge license) |
| Field Service | Mobile workforce management | Enterprise+ (with Field Service license) |
| Service Cloud Voice | Integrated telephony | Enterprise+ (add-on license) |
| Digital Engagement | Messaging channels | Enterprise+ (add-on license) |
Governor Limits to Remember
| Limit | Value |
|---|---|
| Web-to-Case daily limit | 5,000 cases |
| Email-to-Case email size limit | 25 MB |
| Active Case Assignment Rules | 1 at a time |
| Active Case Escalation Rules | 1 at a time |
| Active Case Auto-Response Rules | 1 at a time |
| Knowledge articles per data category group | 8 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
- Navigate to Setup > Object Manager > Case > Fields & Relationships
- Create a custom picklist field called Product Area with values: “Platform,” “Billing,” “Integration,” “Mobile App”
- Create a custom picklist field called Issue Type with values: “Bug,” “How-To,” “Feature Request,” “Account Issue”
Step 2: Create Queues
- Navigate to Setup > Queues
- Create the following queues (all supporting the Case object):
| Queue Name | Members |
|---|---|
| Tier 1 Support | All support agents |
| Tier 2 Technical | Senior technical agents |
| Billing Support | Billing team members |
| Escalation Queue | Support managers |
Step 3: Set Up Case Assignment Rules
- Navigate to Setup > Case Assignment Rules
- Create a rule called Service Cloud Assignment Rule and activate it
- Add rule entries:
| Order | Criteria | Assign To |
|---|---|---|
| 1 | Product Area = Billing | Billing Support Queue |
| 2 | Issue Type = Bug AND Priority = Critical | Tier 2 Technical Queue |
| 3 | Issue Type = Bug | Tier 2 Technical Queue |
| 4 | No criteria (catch-all) | Tier 1 Support Queue |
Step 4: Set Up Case Escalation Rules
- Navigate to Setup > Case Escalation Rules
- Create a rule called Standard Escalation and activate it
- Add a rule entry for cases where Status does not equal Closed
- 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
- Navigate to Setup > Case Auto-Response Rules
- Create and activate a rule
- 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
- Navigate to Setup > Email-to-Case and enable it with On-Demand Service
- Create a routing address:
- Routing Name: “General Support Email”
- Email Address: support@yourcompany.com
- Case Origin: Email
- Case Priority: Medium
- Set up email forwarding from your company email to the generated Salesforce email services address
Step 2: Enable Web-to-Case
- Navigate to Setup > Web-to-Case and enable it
- Generate a Web-to-Case form with fields: Name, Email, Phone, Subject, Description, Product Area
- Save the generated HTML — in a real implementation, you would embed this on your support website
Step 3: Test Both Channels
- Send a test email to your routing address and verify a case is created
- Submit the Web-to-Case form and verify a case is created
- Confirm auto-response emails are sent for both
Phase 3: Set Up Entitlements and SLAs
Step 1: Enable Entitlements
- Navigate to Setup > Entitlement Settings and enable entitlement management
Step 2: Create Milestone Types
- 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:
| Milestone | Time Trigger | Warning Action | Violation Action |
|---|---|---|---|
| First Response | 1 hour | Email agent at 45 min | Email manager, set Escalated = true |
| Resolution | 4 hours | Email agent at 3 hours | Reassign to Escalation Queue |
Standard Support Process:
| Milestone | Time Trigger | Warning Action | Violation Action |
|---|---|---|---|
| First Response | 4 hours | Email agent at 3 hours | Email manager |
| Resolution | 24 hours | Email agent at 20 hours | Reassign to Escalation Queue |
Step 4: Create Entitlement Records
- 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
- Add the Entitlement Name field to the Case page layout
- Add the Case Milestones related list to the Case page layout
Phase 4: Configure Omni-Channel
Step 1: Enable Omni-Channel
- Navigate to Setup > Omni-Channel Settings and enable it
Step 2: Create Service Channels
- Create a service channel for Cases
Step 3: Create Routing Configurations
| Config Name | Priority | Model | Capacity |
|---|---|---|---|
| Critical Routing | 1 | Least Active | 3 items |
| Standard Routing | 5 | Most Available | 5 items |
Step 4: Update Queues
- 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
- Create presence statuses: “Available — Cases,” “On Break,” “In Meeting”
- Create a presence configuration with capacity of 5 and assign it to support agent profiles
Step 6: Add to Console
- Add the Omni-Channel widget to the Service Console utility bar
Phase 5: Build the Knowledge Base
Step 1: Enable Knowledge
- Navigate to Setup > Knowledge Settings and enable Salesforce Knowledge
- Assign the Knowledge User license to your user
Step 2: Create Data Categories
- Create a category group called “Products” with children: Platform, Billing, Integration, Mobile App
- Create a category group called “Issue Type” with children: Troubleshooting, How-To, FAQ, Policy
Step 3: Create Knowledge Articles
- Create at least 5 articles covering common scenarios:
| Article Title | Product Category | Type Category |
|---|---|---|
| How to Reset Your Password | Platform | How-To |
| Understanding Your Invoice | Billing | FAQ |
| API Rate Limits and Best Practices | Integration | Troubleshooting |
| Mobile App Installation Guide | Mobile App | How-To |
| Refund Policy | Billing | Policy |
- Publish all articles to the Internal channel
Step 4: Enable Article Suggestions
- In Knowledge Settings, enable article suggestions on cases
- 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
- Enable Quick Text at Setup > Quick Text Settings
- Create the following Quick Text records:
| Name | Message | Channel |
|---|---|---|
| Case Greeting | ”Hi {!Case.Contact.FirstName}, thank you for reaching out…” | Email, Chat |
| Escalation Notice | ”I am escalating your case to our specialist team…” | |
| Case Closure | ”Your case {!Case.CaseNumber} has been resolved…” | |
| Transfer Notice | ”I am transferring you to a specialist who can better assist…” | Chat |
Step 2: Set Up a Customer Satisfaction Survey
- Navigate to the Surveys tab and create a new survey called “Case Resolution Survey”
- 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)
- Add a Thank You page
- 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
- Navigate to Setup > App Manager
- Click New Lightning App
- Name it “Customer Support Console”
- Select Console Navigation
- Add navigation items: Cases, Knowledge, Accounts, Contacts, Reports, Dashboards
Step 2: Customize the Case Record Page
- Open a Case record and click Edit Page (Lightning App Builder)
- 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
- Save and assign the page to the Customer Support Console app
Step 3: Add Utility Bar Components
- 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:
- Send an email to your Email-to-Case address with Subject “Cannot access my account”
- Verify the case is created with correct Origin, assignment, and auto-response
- Log into the Service Console as a support agent
- Set your presence to “Available — Cases” in the Omni-Channel widget
- Accept the routed case when it appears
- Check Knowledge suggestions — verify relevant articles appear
- Add a case comment using Quick Text
- Check the entitlement milestone — verify the First Response timer is running
- Respond to the customer via the case feed email action
- Resolve the case — change status to Closed
- Verify the survey is sent to the customer
- Review reports — check case metrics in the dashboard
Verification Checklist
| Item | Status |
|---|---|
| Cases created from Email-to-Case | Verify |
| Cases created from Web-to-Case | Verify |
| Assignment rules routing correctly | Verify |
| Auto-response emails sent | Verify |
| Escalation rules triggering on time | Verify |
| Entitlement milestones tracking | Verify |
| Omni-Channel routing to agents | Verify |
| Knowledge articles suggesting on cases | Verify |
| Quick Text working in email composer | Verify |
| Survey sent on case closure | Verify |
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.