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.
| Layer | Component | Purpose |
| Data Model | Case object with custom fields | Captures all relevant service information per query |
| Console | Service Console app | Single workspace for agents to manage all cases |
| Routing | Case Assignment Rules | Automatically assigns cases by priority |
| SLA | Entitlements & Milestones | Enforces response and resolution time targets |
| Automation | Record-Triggered Flow | Auto-assigns entitlements on case creation |
| Channels | Web-to-Case, Email-to-Case | Structured case creation from external channels |
| Productivity | Macros, Quick Text, Knowledge | Speeds up common agent tasks |
| Visibility | Reports & Dashboard | Real-time operational performance data |
2. Data Model
2.1 Custom Fields Added to Case
| Field Name | Field Type | Purpose |
| Property Type | Picklist (Residential / Commercial) | Identifies client type — affects priority and SLA |
| Clean Date | Date | The date of the clean related to the query |
| Frequency | Picklist | Client service frequency — informs scheduling cases |
| Assigned Cleaner | Lookup (User) | Links the case to the responsible operative |
| Resolution Notes | Long Text Area | Structured summary of how the case was resolved |
2.2 Case Status Picklist
| Status | Meaning |
| New | Case received, not yet actioned |
| In Progress | Agent is actively working on the case |
| Escalated | Case escalated to supervisor |
| Awaiting Client | Waiting for client to respond or provide information |
| Resolved | Issue resolved — awaiting confirmation from client |
| Closed | Case 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
| Region | Components |
| Highlights Panel (top) | Case Number, Status, Priority, Case Origin, Clean Date, Subject |
| Left Column | Case Details (custom sections), Contact Details |
| Middle Column | Case Path, Feed / Activity |
| Right Column | Milestones, 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
| Stage | Guidance Summary |
| New | Check priority and property type. Respond to High priority cases within 1 hour. |
| In Progress | Ensure Assigned Cleaner and Clean Date are recorded. Update the client within 2 hours. |
| Escalated | Notify the supervisor immediately. Update the client within 30 minutes with a plan of action. |
| Awaiting Client | Log all contact attempts in Resolution Notes. Create a follow-up task for 2 days time. |
| Resolved | Confirm resolution with the client by email. If no response within 48 hours the case will be closed. |
| Closed | Ensure Resolution Notes are complete. No further action required unless the client reopens. |
5. Assignment Rules
| Order | Criteria | Assigned To |
| 1 | Priority equals High | Agent specialising in high priority cases |
| 2 | Priority equals Medium | General support queue |
| 3 | No 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
| Milestone | Time Trigger |
| First Response to Customer | 60 minutes from case creation |
| Close Case | 240 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
| Macro | Instructions |
| Unable to Reach Client | 1. Select Active Case Tab 2. Update Status to Awaiting Client 3. Close Tab |
| Request More Information | Configured 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
| Template | Category | Channel |
| Agent Greeting | Greeting | Email, Phone |
| Unable to Reach Client | Follow Up | Email |
| Case Resolved | Resolution | Email |
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.