Cleaning Services- Solution Design

Solution Design
Cleaning Services
Service Cloud Support Desk

This document outlines the solution design decisions made during the Service Cloud implementation — covering the data model, console configuration, automation approach, SLA design, and productivity tooling.


1. Solution Overview

The solution is built on Salesforce Service Cloud and centres on the Case object as the primary record for all client interactions. Cases are created through multiple channels, automatically routed and assigned, tracked against SLA milestones, and resolved with the help of agent productivity tools.

LayerComponentPurpose
Data ModelCase object with custom fieldsCaptures all relevant service information per query
ConsoleService Console appSingle workspace for agents to manage all cases
RoutingCase Assignment RulesAutomatically assigns cases by priority
SLAEntitlements & MilestonesEnforces response and resolution time targets
AutomationRecord-Triggered FlowAuto-assigns entitlements on case creation
ChannelsWeb-to-Case, Email-to-CaseStructured case creation from external channels
ProductivityMacros, Quick Text, KnowledgeSpeeds up common agent tasks
VisibilityReports & DashboardReal-time operational performance data

2. Data Model

2.1 Custom Fields Added to Case

Field NameField TypePurpose
Property TypePicklist (Residential / Commercial)Identifies client type — affects priority and SLA
Clean DateDateThe date of the clean related to the query
FrequencyPicklistClient service frequency — informs scheduling cases
Assigned CleanerLookup (User)Links the case to the responsible operative
Resolution NotesLong Text AreaStructured summary of how the case was resolved

2.2 Case Status Picklist

StatusMeaning
NewCase received, not yet actioned
In ProgressAgent is actively working on the case
EscalatedCase escalated to supervisor
Awaiting ClientWaiting for client to respond or provide information
ResolvedIssue resolved — awaiting confirmation from client
ClosedCase fully closed, no further action required

3. Service Console Design

3.1 App Configuration

  • App type: Console — enables multi-tab working and the utility bar
  • Navigation items: Cases, Accounts, Contacts, Entitlements, Knowledge, Tasks, Reports, Dashboards
  • Utility bar: Omni-Channel (availability status), History (recent records), Macros
  • User profiles: System Administrator, Standard User, Standard Platform User

3.2 Case Record Page Layout

RegionComponents
Highlights Panel (top)Case Number, Status, Priority, Case Origin, Clean Date, Subject
Left ColumnCase Details (custom sections), Contact Details
Middle ColumnCase Path, Feed / Activity
Right ColumnMilestones, Knowledge (suggested articles), Related

3.3 Case Detail Sections

  • Case Details — Case Number, Case Owner, Subject, Status, Priority, Case Origin, Case Type, Entitlement Name
  • Customer Details — Account Name, Contact Name, Contact Phone, Contact Email, Entitlement Name
  • Service Details — Assigned Cleaner, Clean Date, Property Type
  • Description Information — Case Description, Access Details, Internal Comments
  • Resolution Details — Resolution Type, Resolution Notes

4. Case Path

StageGuidance Summary
NewCheck priority and property type. Respond to High priority cases within 1 hour.
In ProgressEnsure Assigned Cleaner and Clean Date are recorded. Update the client within 2 hours.
EscalatedNotify the supervisor immediately. Update the client within 30 minutes with a plan of action.
Awaiting ClientLog all contact attempts in Resolution Notes. Create a follow-up task for 2 days time.
ResolvedConfirm resolution with the client by email. If no response within 48 hours the case will be closed.
ClosedEnsure Resolution Notes are complete. No further action required unless the client reopens.

5. Assignment Rules

OrderCriteriaAssigned To
1Priority equals HighAgent specialising in high priority cases
2Priority equals MediumGeneral support queue
3No criteria (catch-all)Default agent / supervisor
Design Note

In this demo org, all cases are assigned to a single user. In a live implementation, rule entries 2 and 3 would route to queues with multiple agents, enabling workload distribution and Omni-Channel routing based on agent availability.


6. Entitlements & Milestones

6.1 Entitlement Process

MilestoneTime Trigger
First Response to Customer60 minutes from case creation
Close Case240 minutes from case creation

6.2 Automated Entitlement Assignment (Flow)

  • Trigger: Case is created
  • Step 1 — Get Records: Queries the Entitlement object where Account ID matches the triggering case’s Account ID
  • Step 2 — Update Records: Sets the Entitlement ID on the case to the ID of the retrieved Entitlement record
Troubleshooting Note

During build, an initial error occurred because the Flow was updating the Entitlement ID field with the Entitlement Process ID — a different field. Resolved by mapping the correct ‘ID’ field. A further error related to the $Record SObject reference was resolved by switching to ‘Triggering Record > Account ID’.


7. Knowledge Base

  • What to do when a client reports a missed clean
  • How to handle an invoice or payment query
  • Processing a booking or scheduling change request
  • What to do if a clean fails inventory checks

Articles are surfaced automatically in the Knowledge component on the case record page, ranked by relevance to the case subject.


8. Agent Productivity Tools

8.1 Macros

MacroInstructions
Unable to Reach Client1. Select Active Case Tab   2. Update Status to Awaiting Client   3. Close Tab
Request More InformationConfigured to support agents in requesting further client information
Developer Edition Limitation

The Developer Edition org restricts available macro instruction types. Log a Call and Create Task were unavailable. In a full production org, the macro would also log a call and create a follow-up task in a single click.

8.2 Quick Text

TemplateCategoryChannel
Agent GreetingGreetingEmail, Phone
Unable to Reach ClientFollow UpEmail
Case ResolvedResolutionEmail

9. Web-to-Case

A Web-to-Case form was configured and embedded on the business website. Fields captured: Contact Name, Email, Phone, Subject, Property Type, Clean Date, Description, Access Details. On submission, the form creates a Case record, triggers the assignment rule, and fires the entitlement Flow automatically.