agentsclimarketplace

Salesforce service cloud consultant

Skill toddkasper/expert-skills/salesforce/skills/salesforce-service-cloud-consultant

Agent skills that give AI agents the operational competence of expert practitioners (Salesforce, AWS, GitHub Actions, web). SKILL.md format; Claude Code plugins. Not test-prep — certification is the scaffold and benchmark, not the product.

Install
npx -y skills add toddkasper/expert-skills --skill salesforce-service-cloud-consultant

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Designing and configuring Salesforce Service Cloud — cases, assignment/escalation rules, queues, entitlements and milestones (SLAs), the Lightning Service Console, Knowledge (Knowledge__kav, data categories, KCS), Omni-Channel routing, Web-to-Case/Email-to-Case, CTI/voice, and contact-center analytics (AHT, FCR, CSAT). Use when scoping or implementing a case-management/support solution, intake channels, or routing. Not Sales Cloud pipeline (see salesforce-sales-cloud-consultant), portals (see salesforce-experience-cloud-consultant), Field Service dispatch/work orders (a separate credential), or general org admin (see salesforce-administrator). Scoped and benchmarked by the Service Cloud Consultant (Service-Con-201) blueprint.

SKILL.md

34.2 KB, as published. Nobody here has run it

Salesforce Service Cloud Consultant — Skills Reference

This file is an operational playbook, not an exam outline. Each section states the rule as an actionable instruction, gives concrete limits/numbers, decision criteria, and anti-patterns to catch in review. Read the Operational Rules Quick Reference first.

Overview

The Salesforce Certified Service Cloud Consultant credential (exam code Service-Con-201) validates that a practitioner can design, configure, and implement Service Cloud solutions that are scalable, maintainable, and aligned to documented business requirements. It covers the full contact-center lifecycle: discovery, solution architecture, channel configuration (email, chat, voice, messaging, social), case management automation, entitlement-based SLA enforcement, knowledge base design, agent-desktop optimization via the Service Console, and operational analytics.

Load this skill when… designing or configuring a case-management or support solution; setting up intake channels (Email-to-Case, Web-to-Case, chat); implementing entitlements/milestones for SLA enforcement; configuring the Service Console or Omni-Channel routing. Not this skill: Sales Cloud pipeline (Leads, Opportunities, forecasting) → see salesforce-sales-cloud-consultant; authenticated self-service portals → see salesforce-experience-cloud-consultant; field service dispatching/work orders → see salesforce-field-service-consultant; general org admin (profiles, flows, reports) → see salesforce-administrator.

Deeper context: Study resources live in references/study-resources.md (loaded on demand). For org-specific applications, see a per-org appendix in your own project referenced from a CLAUDE.md. For NPSP/nonprofit-specific guidance, see salesforce-nonprofit-cloud-consultant.

Verify steps assume nothing about your tooling — use your project's Salesforce MCP connection, the Salesforce CLI (sf), or the Salesforce setup UI, in that order of preference. The SOQL and describe calls below are written to work through any of them.


Credential logistics and study path: see references/study-resources.md.


Uncertainty & Escalation

  • Always re-verify live: volatile facts in this skill include channel caps (Web-to-Case 5,000/24 h [volatile — verify live]), case merge limits, sandbox refresh intervals, SMS/10DLC registration requirements, Knowledge license names, and any feature-availability detail — verify against official Salesforce documentation and your live org before acting.
  • Live wins: when the live org or official documentation contradicts a statement in this file, trust the live source and log the discrepancy via the Feedback protocol below.
  • Escalate to a human before proceeding on: OWD or sharing-model changes in production; adding or widening guest-user sharing; any destructive operation on production data (hard delete, mass status update); deactivating managed-package automation in a production org; enabling or reconfiguring SMS/messaging channels (10DLC compliance implications).
  • Confidence taxonomy: every fact in this file is considered stable unless tagged [volatile — verify live] or [opinion — house style]. If you act on an untagged fact and the live system disagrees, file feedback — do not silently trust this file over the live org.

1. Service Cloud Solution Design — operational rules

Pick the channel by volume, latency tolerance, and audience, not by what's fashionable. Use this table at design time:

NeedChooseBecause
Async, paper-trail intake, low volumeEmail-to-Case / Web-to-CaseCheapest, no agent-presence required
Real-time, agent onlineChat / MessagingSynchronous SLA, deflects phone
Voice with CTI/transcriptionService Cloud Voice (see §5 for model options)Native, screen-pop, supervisor barge-in
Unauthenticated public accessSalesforce Site / Help CenterNo login friction
Authenticated self-serviceExperience Cloud communityPer-user record visibility

Design for the audience first. Login friction is a real cost for low-tech or one-time users on shared devices. For such audiences, anonymous submit and tokenized magic-link flows beat an authenticated Experience Cloud portal — don't reflexively propose authenticated portals when the audience argues against them.

Default to declarative; reach for code only when declarative can't express it. Decision order:

RequirementUseDon't use
Block a bad save / enforce field ruleValidation RuleApex trigger
Field update, record create, simple branch on saveRecord-Triggered FlowApex trigger
Multi-object, recursion control, complex bulk logic, calloutsApex (trigger + handler)Flow with loops doing DML
Agent step-by-step scriptScreen FlowHard-coded console buttons
  • RED FLAG: a Flow with a DML/record element inside a loop — it consumes a governor limit per iteration and will hit limits in bulk exactly like Apex SOQL-in-loop. Collect into a collection variable, do one DML after the loop.
  • RED FLAG: building in Apex what a Validation Rule or simple Flow does declaratively — unmaintainable for a small or volunteer admin team.
  • Einstein / Agentforce features (Case Classification, Article Recommendations, bots) require data volume to be useful. Low-volume orgs (hundreds of records per year) can't justify them — recognize the use case but don't recommend.
  • Verify the current automation surface before adding more: list the org's objects (your Salesforce MCP, sf sobject list, or Setup → Object Manager), then describe the target object (your Salesforce MCP, sf sobject describe --sobject <object>, or Object Manager → <object> → Fields & Relationships) to see existing fields and record types; check existing Flows/triggers in source control before authoring a new one.
  • Field Service Lightning (FSL) is out of scope for this skill. FSL (Work Orders, Work Types, Service Territories, Service Resources, Scheduling, and the Field Service mobile app) is covered by the separate Salesforce Certified Field Service Consultant credential and is not a current Service Cloud Consultant (Service-Con-201) exam domain. When a requirement involves dispatching field technicians, managing work orders, or scheduling on-site service visits, recognize FSL as the correct product and route to FSL-specific resources. Do not design native Case-management patterns as a substitute for FSL capabilities.

2. Case Management — operational rules

A custom intake object can be treated as the Case analog; the same lifecycle discipline applies.

  • One active assignment rule, one active escalation rule per object at a time. Rule entries are ordered; the first matching entry wins and stops evaluation. Order entries most-specific → most-general. If routing seems wrong, the cause is almost always entry order, not the criteria.
  • Assignment rules only fire when explicitly invoked. Manual UI create/edit fires them only if "Assign using active assignment rule" is checked. API/Apex inserts fire them only if you set AssignmentRuleHeader — otherwise the record keeps the running user as owner. RED FLAG: expecting auto-routing on records created by an integration user via API/JWT.
  • Escalation clock: starts at case creation or last modification (configurable per rule) and respects Business Hours. On-Hold status does not pause escalation unless you design it to. State the clock-start basis explicitly when designing any review SLA.
  • Auto-response rules: one per record origin; first matching entry wins, same as assignment.
  • Record Types differentiate per-type fields, picklists, and layouts. A single object with a type discriminator picklist plus Record Types for per-type page layouts is often preferable to spawning multiple custom objects.
  • Entitlements & milestones model the SLA: milestone criteria → actions on success / warning / violation, integrated with Business Hours. A "review within N days" milestone is the natural fit for an intake-review SLA.
  • Case merge: max 3 at a time [volatile — verify live]; pick the master deliberately — related records re-parent to the master and field values follow master-selection rules.
  • Macros / Quick Text: prefer for repetitive agent actions over training memory. Macros can set fields, send email, apply templates, run a flow. Quick Text snippets are channel-scoped (email/chat/call).
  • Queues vs. Omni-Channel: list-view queues = manual pull; Omni = push/capacity routing. Low volume → a queue list view suffices; don't over-engineer Omni.
  • Verify record types / picklist values before assuming they exist: describe the target object (MCP / sf sobject describe / Object Manager) to see record types and picklist entries; run a SOQL query (MCP / sf data query / Developer Console) to confirm status-value distribution in the live org.

3. Implementation Strategies — operational rules

  • Migrate idempotently: always upsert on an External ID, never blind insert. Choose a stable external key and key every load and re-link on it; re-running a load must update, not duplicate.
  • Use the org's purpose-built import tool when one exists. Standard options: Data Import Wizard (≤50k records) or Data Loader (any volume, upsert). In managed-package orgs that ship their own import tool (e.g. NPSP Data Import), use it. See salesforce-nonprofit-cloud-consultant for NPSP Data Import specifics.
  • Sandbox tier selection:
TierUse forData
Developermetadata dev, unit worknone copied
Developer Prolarger dev/test data setsnone copied
Partial CopyUAT with sample datatemplate-sampled
Fullload/perf test, prod-like rehearsalfull copy (mask PII)

Mask PII in any sandbox that carries production data.

  • Deploy via SFDX/metadata API, not Change Sets, for a source-controlled org. Run validation-only first; have a rollback plan. The SFDX project root is the directory containing sfdx-project.json — run sf project ... from there, or it fails with InvalidProjectWorkspaceError.
  • Set SMART baselines before go-live (AHT, FCR, CSAT, NPS, cost-per-case, or the equivalent domain metric such as days-to-review and % records missing documents).
  • RED FLAG: any plan that deploys schema to production, runs a destructive change, or loads data to production without an explicit cutover plan + backfill.

4. Service Console — operational rules

  • The compact layout's field order drives the Highlights panel. Reorder the compact layout to surface the most decision-relevant fields first. This is the cheapest AHT win.
  • Use Quick Actions to render per-context field groups. Role-specific contextual tabs are commonly backed by Quick Actions surfaced via the console:relatedRecord component.
  • CRITICAL CACHE GOTCHA: when you add fields to an existing Quick Action's quickActionLayoutItems via SFDX, Salesforce's runtime QA cache often does NOT invalidate — the new fields are silently absent on the rendered tab, even after a full browser logout/login, with no error. Fix: edit any non-field-list metadata on the QA (<description>, <label>, <layoutSectionStyle>) and redeploy; SF treats the structural change as meaningful and flushes the org-level cache.
  • Utility bar: add only utilities the workflow uses (Macros, Omni widget, History, Open CTI, Notes). Each utility loads per session; don't bloat it.
  • Split view (pinned list + record) is for high-volume queue agents. Low-volume desks don't need it.
  • Verify what fields actually render: a deploy "success" is not proof the field appears. After a QA change, log into the org and look at the rendered tab; confirm field presence visually, and confirm the field exists + is readable by describing the object (MCP / sf sobject describe / Object Manager) — object access ≠ FLS — see §9.

5. Intake & Interaction Channels — operational rules

  • Web-to-Case hard cap: 5,000 cases/24 hours [volatile — verify live] — submissions beyond that limit are NOT silently dropped; they enter a shared pending request queue (combined Web-to-Case + Web-to-Lead, 50,000-request capacity). Queued requests are processed after the next midnight UTC reset. If the pending queue itself is full, additional submissions are permanently lost (the admin receives a notification for the first five rejections only). A custom web app POSTing to your own API (rather than native Web-to-Case) is not bound by this cap.
  • Email-to-Case: prefer On-Demand (no Email Service Agent appliance) over the legacy on-premise agent. Thread-ID in subject/body stitches replies to the same case — don't strip it.
  • Omni-Channel routing model: Most Available (by configured capacity) vs. Least Active. Push routing with a capacity model prevents agent overload; queue-based is simpler. For low volume, a queue list view is sufficient.
  • Messaging consent is mandatory for SMS/WhatsApp (10DLC registration for US SMS). Any SMS link-delivery feature requires 10DLC — flag this as a prerequisite, not a quick toggle.
  • Social Studio is fully retired as of November 18, 2024 — no live instances remain; all customer access ended and data was deleted per contract. Do not design on it or present it as a current option; omit it from solution proposals.
  • Verify channel-created records by querying for their origin: run a SOQL query (MCP / sf data query / Developer Console) filtering on the origin/source field to confirm which intake path produced a record.

CTI/Voice depth (Open CTI vs. Service Cloud Voice, screen pop, supervisor features, PBX considerations): references/cti-voice.md — load when designing or troubleshooting a telephony integration.


6. Knowledge Management — operational rules

  • Lightning Knowledge uses ONE object: Knowledge__kav. There are no per-type article objects (that was Classic). Don't design around article types.
  • Article lifecycle: Draft → In Review → Published → Archived. Gate publish behind an approval process if non-admins author. Editing a published article creates a new draft version; the published version stays live until you publish the new one.
  • Data Categories control visibility, mapped to roles / channel audiences (public Site, customer community, internal). Guest-user access to public articles requires the guest user profile + category visibility — a common miss.
  • KCS loop: link articles to cases, promote resolutions into articles, capture "Was this helpful?", and run the Search Activity Gaps report to find missing content.
  • Permissions: publishing requires the Knowledge User license [volatile — verify live] plus the "Manage Salesforce Knowledge" / "Publish Articles" perms — license alone is not enough.
  • Start small: a handful of high-traffic FAQ articles, public visibility, surfaced on the public site.

7. Industry Knowledge — operational rules

  • Know the cost-per-contact gradient and design to deflect down it: self-service ≈ $0.10, chat ≈ $5, phone ≈ $15–25 per contact [volatile — verify live]. Industry self-service deflection target is 60–80% [volatile — verify live] before an agent touch.
  • Know the KPIs by name and what moves them: AHT, FCR, ASA, Abandonment, Occupancy, Utilization, CSAT, NPS, CES. When asked to "improve service," tie the recommendation to a specific KPI.
  • True omni-channel = unified context across channels, not just multiple channels (multi-channel siloed). Don't claim omni-channel for a setup that can't carry context between channels.
  • Regulatory awareness that bites: HIPAA (PHI in cases/knowledge), GDPR/CCPA (right to erasure, consent, residency), PCI DSS (never record card numbers via voice), WCAG 2.1 AA + Section 508 for public self-service. When a workflow handles PII or sensitive documents, treat those fields as sensitive: never in logs, never echoed behind a tokenized bearer link.
  • Tiered support / severity (P1/P2/P3) and ITIL Incident vs. Problem vs. Change vs. Service Request are conceptual mappings to case management — use them to structure escalation, not as features to configure.

8. Contact Center Analytics — operational rules

  • Pick the right report type up front — you cannot change a report's type after creation. "Cases with X" vs. "Cases" determines which related fields are reachable. For service productivity use Agent Work / Omni-Channel Sessions; for SLA use Case Milestones.
  • Milestone compliance % = completion date vs. target date. Build "cases/records with overdue milestones" as the core SLA report.
  • Real-time vs. historical: Omni Supervisor is live (queue backlog, agent status) — not a substitute for historical trend reports, and vice versa.
  • Establish baselines before launch so post-go-live trending can demonstrate ROI.
  • Verify against live data: run the report (your Salesforce MCP, the Reports tab, or the Analytics/reports REST API), or run a SOQL query with GROUP BY status/type (MCP / sf data query / Developer Console) to confirm the real pipeline distribution before building a dashboard on assumptions.

9. Integration & Data Management — operational rules

  • SFDX field metadata grants FLS to NO ONE. Deploying field-meta.xml creates the field but gives zero field-level security — queries fail with "Invalid field" even as System Administrator. Add explicit <fieldPermissions> in a profile or permset for every custom field.
  • Never put <fieldPermissions> on a <required> field — permset deploy fails with "You cannot deploy to a required field." Omit required fields.
  • Governor limits per sync transaction: 100 SOQL, 150 DML, 50,000 rows, 6 MB heap, 100 callouts / 120s total. Bulkify: never SOQL/DML in a loop — query into a Map, iterate in memory, collect into a List, DML once. RED FLAG: any [SELECT ...] or DML inside a for/while body.
  • Lookup relationshipName unique per parent. Two Lookups to the same parent can't share a name (deploy fails: "Duplicate relationship name"). Use role-specific suffixes; SOQL traversal keys on field name, so renaming is safe.
  • Data skew: >10,000 child records under one parent degrades sharing recalculation and causes lock contention.
  • Bulk API for large loads; REST for small synchronous ops. LDV tactics (skinny tables, custom indexes, Bulk + PK chunking) are for millions of rows — don't prematurely apply.
  • Enforce field max length / picklist values at the input boundary from constants generated from the live org's schema. Apex truncation is a last-line fallback, not a primary guard.
  • Verify field length/type against the live org: describe the object (MCP / sf sobject describe / Object Manager) — returns length, type, picklist value set — diff against generated constants if a field was recently resized, then regenerate.

10. Entitlement Processes — operational rules

Entitlement Processes are the template that governs which milestones apply and when the clock starts. Confusing the Process with the Milestone (or the Entitlement) is the most common design error.

  • Three-layer hierarchy: Entitlement (per customer/account/contact/asset) → Entitlement Process → Milestones. An Entitlement Process is a reusable template; you attach it to an Entitlement, not directly to a Case.
  • Milestone criteria determine which milestones are inserted on a Case. If no criterion matches, the milestone is skipped — missed criteria produce no error, just a silent skip. Always test with a real case.
  • Clock start options per milestone: case creation, case modification, or a custom date/time field. The most robust SLA design sets the clock on a stable, immutable field (e.g., submitted-date), not on modification date.
  • Milestone actions fire at three points: Success (met), Warning (approaching), Violation (breached). Wire at least a Warning action — waiting for a Violation notification means the SLA is already broken before anyone is alerted.
  • Business Hours on the Entitlement overrides org-default Business Hours. If a VIP account SLA should use 24/7 hours, set a separate Business Hours record on that Entitlement.
  • On-Hold pause: the standard Entitlement clock does NOT automatically pause when a case status is "On Hold." You must set the Entitlement Process's "Stop milestone timing when case status equals" option, or the clock runs through on-hold periods.
  • Verify: after creating a test case, query CaseMilestone records via SOQL to confirm the expected milestones were inserted, their TargetDate is correct given the Business Hours, and the timeline aligns with the Entitlement Process configuration.

Executable Workflows

1. Stand up Email-to-Case + assignment rules + escalation

  1. Enable Email-to-Case: Setup → Email-to-Case → Enable. Choose On-Demand (no appliance). → gate: Email-to-Case setting shows "Enabled" in Setup.
  2. Create a routing address ([email protected] forwarded to the Salesforce-generated address). Verify the thread token setting is ON. → gate: send a test email and confirm a Case is created with the correct Subject and thread ID in body.
  3. Create the Active Case Assignment Rule: Setup → Case Assignment Rules → New. Add entries ordered most-specific → most-general. → gate: insert a test case matching the top entry; SOQL SELECT OwnerId FROM Case WHERE Id = '<id>' confirms correct owner.
  4. Confirm assignment fires on Email-to-Case: Email-to-Case bypasses manual "Assign using active rule" — it fires automatically. Verify by querying the OwnerId on the email-created case. → gate: OwnerId matches the expected queue, not the system user.
  5. Create an Escalation Rule: Setup → Escalation Rules. Set clock-start basis (creation vs. last modification) and Business Hours. Wire at minimum a Warning action before the Violation action. → gate: create a test case that meets the escalation criteria; confirm the escalation email or action fires at the expected elapsed time.

2. Configure entitlements + milestones (SLA clock, business hours)

  1. Create a Business Hours record: Setup → Business Hours → New. Set hours per day and time zone. → gate: Business Hours record is Active.
  2. Create an Entitlement Process: Setup → Entitlement Processes → New. Assign the Business Hours record. Add Milestones (e.g. "First Response — 4 hours," "Resolution — 3 days"). Set clock-start basis per milestone. → gate: at least one milestone appears in the process with correct target time.
  3. Add milestone criteria so the milestone applies only to the right cases (e.g. Case Priority = High). → gate: create a test case without matching criteria — the milestone should NOT be inserted.
  4. Wire milestone actions: Success, Warning (at ~75% of target time), and Violation. → gate: confirm a Warning action email is configured — do not rely on Violation alone.
  5. Create an Entitlement record linked to an Account and the Entitlement Process. Associate it to a test Case. → gate: query SELECT Id, TargetDate, CompletionDate FROM CaseMilestone WHERE CaseId = '<id>' — expected milestones present with correct TargetDate.
  6. Test On-Hold pause: set the case to On-Hold, wait, reopen, query CaseMilestone.TargetDate — confirm it shifted forward if the process has "Stop timing on On-Hold" enabled. → gate: TargetDate delta matches the paused duration.

3. Set up Omni-Channel routing (presence, capacity, skills)

  1. Enable Omni-Channel: Setup → Omni-Channel Settings → Enable. → gate: Omni-Channel appears in App Manager.
  2. Create a Service Channel for Cases (or your intake object). → gate: channel appears in Setup → Service Channels.
  3. Create Routing Configurations: set routing model (Most Available or Least Active), capacity, and priority. → gate: routing config is saved with non-zero capacity.
  4. Create a Queue and associate it with the Routing Configuration and the Service Channel. → gate: queue appears in Omni-Channel queue list.
  5. Create Presence Statuses (Online, Busy, Away) and assign to profiles. → gate: a test agent logs into the Service Console and sees Omni-Channel widget with presence status options.
  6. Assign agents to the queue. Route a test case to the queue. → gate: Omni-Channel widget rings for the test agent; agent accepts; AgentWork record created in SOQL confirming the work item assignment.

Decision Scenarios

Five original scenarios. Scenarios 4–5 are in references/scenarios.md — load for the entitlement TargetDate Business Hours gotcha and the Web-to-Case spike capacity scenario.


Scenario 1 — Assignment rule not firing on API-created cases

Situation: Integration creates Cases via REST/JWT. All new cases land in the integration user's personal queue. Active assignment rule is configured correctly.

Competent move: Assignment rules are not auto-applied on API inserts unless AssignmentRuleHeader is explicitly set in the request. Fix the integration to set AssignmentRuleHeader pointing to the active rule ID.

Tempting-but-wrong: Re-ordering rule entries or adding an after-insert Flow. The Flow workaround works but duplicates routing logic; AssignmentRuleHeader is the correct surface.

Verify: Insert a test case via the same path; SOQL query Case.OwnerId (MCP / sf data query / Developer Console). Confirm Assignment Rule history on the Case record.


Scenario 2 — Milestone clock running through On-Hold cases

Situation: SLA report shows frequent violations on cases agents placed in "On Hold" while waiting for documents. Delay was customer-caused; agents see the violations as unfair.

Competent move: Open the Entitlement Process → enable "Stop milestone timing when case status equals On Hold." Test: set a case to On Hold, wait, reopen, confirm CaseMilestone.TargetDate shifts forward by paused duration.

Tempting-but-wrong: After-update Flow to extend the target date manually — fragile, bypasses the native engine, produces drift. Adjusting Warning/Violation email actions informs people about violations without preventing them.

Verify: Query CaseMilestone.TargetDate before and after the change. Note: existing milestones are not retroactively adjusted — only future cases benefit.


Scenario 3 — New Quick Action fields silently missing after SFDX deploy

Situation: Developer adds three fields to an existing Quick Action via quickActionLayoutItems in SFDX. Deploy succeeds. Testers log out/in; fields are absent from the contextual tab with no error.

Competent move: QA org-level cache was not flushed. Fix: edit any non-field-list metadata on the QA (<description> or <label>) and redeploy — SF treats it as a structural change and invalidates the cache.

Tempting-but-wrong: Repeated logout/login (cache is org-level, not browser-level); adding FLS permissions before diagnosing the cache.

Verify: After the cache-bust redeploy, visually confirm fields render in the org. Also describe the object (MCP / sf sobject describe) to confirm FLS is correct — deploy success does not grant FLS (see §9).


Operational Rules Quick Reference

  • DO prefer declarative (Validation Rule → Flow) over Apex; reach for Apex only for multi-object/bulk/recursion/callout logic.
  • DON'T put SOQL/DML inside any loop — in Apex or Flow. Query once, collect, DML once.
  • REMEMBER limits per transaction: 100 SOQL, 150 DML, 50,000 rows, 6 MB sync heap, 100 callouts / 120s.
  • DO add explicit <fieldPermissions> for every non-required custom field — SFDX field-meta grants FLS to no one.
  • DON'T put <fieldPermissions> on a required field — the deploy fails; omit required fields.
  • DO make Lookup relationshipName unique per parent object (role-specific suffixes).
  • DO upsert on an External ID for idempotent loads/re-links — never blind insert.
  • DO use the org's purpose-built import tool (e.g. NPSP Data Import for nonprofit orgs) when one exists; see salesforce-nonprofit-cloud-consultant for NPSP specifics.
  • DON'T expect assignment/escalation rules to auto-fire on API/Apex inserts — set AssignmentRuleHeader explicitly.
  • REMEMBER assignment/auto-response/escalation: first matching entry wins; order entries specific→general.
  • DO bust the Quick Action cache by editing non-field metadata (<description>) when new QA fields don't render — logout/login alone won't.
  • DO order the compact layout to control the Highlights panel.
  • REMEMBER Web-to-Case caps at 5,000 cases/24 h; overflow → shared pending queue (50k combined cap with Web-to-Lead), processed at next midnight UTC reset; if queue full, submissions are permanently lost. Case merge: 3 records max.
  • REMEMBER Lightning Knowledge = one object Knowledge__kav; Data Categories drive visibility.
  • DO run sf project ... from the SFDX project root (where sfdx-project.json lives), never an arbitrary dir.
  • DO validation-only deploy first; have a rollback plan.
  • DON'T deploy schema, run destructive changes, or load data to production without a cutover plan + backfill.
  • DON'T log or surface PII / medical / sensitive-document data anywhere (logs, caches, behind a tokenized bearer link).
  • DO enforce field max-length / picklist constraints at the input boundary from live-org-generated constants; don't rely on Apex truncation.
  • DO verify against the live org by describing objects (FLS, field length, picklists, record types) before trusting metadata or constants.
  • DON'T trust a deploy "success" as proof a field renders — confirm visually + by describing the object.
  • DON'T over-engineer (Omni-Channel, Einstein, Experience Cloud auth portal) for low-volume orgs.
  • DO design for the audience: minimize login friction for low-tech / one-time / shared-device users (anonymous submit, tokenized magic link).
  • REMEMBER Entitlement clock does not pause on On-Hold status unless you explicitly configure it.
  • REMEMBER Milestone actions need at minimum a Warning action — don't wait for Violation to alert.
  • DO wire Business Hours on the Entitlement record for accounts with non-standard SLA windows, not on the org default.

References

  • references/study-resources.md — credential logistics and study path.
  • references/scenarios.md — Decision Scenarios 4–5: Entitlement TargetDate Business Hours bug and Web-to-Case spike capacity planning.
  • references/cti-voice.md — CTI and Voice depth: Open CTI vs. Service Cloud Voice, screen pop, supervisor features (barge-in/whisper), and PBX integration considerations.

For NPSP/nonprofit-specific operational guidance, see salesforce-nonprofit-cloud-consultant.


Feedback protocol

Using this skill and hit a wall? If you find a claim contradicted by the live system or official docs, a missing rule that cost you a wrong attempt, or a decision this skill gave no criteria for — append an entry in the moment to .skill-feedback/salesforce-service-cloud-consultant.md at the project root (create it if absent):

date | skill last-reviewed | claim or gap | what you observed instead | evidence (error text / doc URL / query output) | suggested fix

These are harvested back into the skill via the learning loop. When the live system and this file disagree, trust the live system.

Changelog

  • 2026-06-10 — Cycle-4 curation (inbox): corrected Web-to-Case cap 500→5,000/24 h and "silently dropped" behavior → pending queue (50k combined cap, midnight UTC reset) in §5, Quick Reference, and scenarios.md Scenario 5; corrected Service Cloud Voice to three-model architecture (Amazon Connect, Partner Telephony, BYOT) in cti-voice.md; marked Social Studio as fully retired 2024-11-18 in §5; corrected passing score 63%→67% in study-resources.md; added FSL scope note to §1 and description. Updated description to surface SCV models and FSL boundary.
  • 2026-06-09 — Conformed to the 12-dimension skill standard: task-vocab description + Scope block, Uncertainty & Escalation guidance with inline [volatile — verify live] marks, executable workflows, tool-agnostic verify steps, and the feedback protocol above. Exam logistics relocated to references/study-resources.md; last-reviewed set to 2026-06-09.

Disclaimer: Independent educational content to upskill AI agents. Not affiliated with, authorized by, endorsed by, or sponsored by Salesforce, Inc. or any certification body. "Salesforce," "Service Cloud," "Salesforce Certified Service Cloud Consultant," and related marks are trademarks of Salesforce, Inc. and are used here solely to identify the subject matter. Content is provided as-is, as guidance only — verify all configuration details, limits, and procedures against official Salesforce documentation and your live org before acting. No certification outcome is implied or guaranteed.

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.