Architectural Overview

SocialCustomerServiceSettings manages the platform-level configuration for Social Customer Service, Salesforce’s capability for turning customer social media interactions (such as messages, mentions, and posts on X/Twitter, Facebook, YouTube, and Instagram) into actionable CRM Case and SocialPost records.

In modern omnichannel contact centers, social care operations must balance rapid SLA responses with strict brand protection. Architecturally, SocialCustomerServiceSettings controls inbound case generation rules, case subject line formats, social persona association, and whether outgoing social responses from support agents must pass through an automated ApprovalProcess before being published to external networks.

Inbound Social Post (X / Facebook) Social Customer Service Ingestion Engine SocialCustomerService.settings-meta.xml Auto-Generates Case Record Links or Creates SocialPersona Enforces Social Approvals on Agent Outbound Posts Omni-Channel Agent Console Queue

Directory and File Conventions

In SFDX source format, SocialCustomerServiceSettings is stored in the settings directory under the filename SocialCustomerService.settings-meta.xml.

Property Value
Metadata Type Name Settings (member: SocialCustomerService) or SocialCustomerServiceSettings
SFDX Storage Folder force-app/main/default/settings/
File Name SocialCustomerService.settings-meta.xml
Scratch Org Setting Key socialCustomerServiceSettings

Key Metadata Fields

The SocialCustomerServiceSettings schema defines the operational rules governing social case generation:

Field Name Field Type Required Architectural Description
enableSocialCustomerService boolean No Master toggle enabling Social Customer Service across the Salesforce instance.
caseSubjectOption string No Formatting style for generated case subjects (e.g. SocialPostContent, BuildSubject).
enableSocialApprovals boolean No Enforces an approval workflow before an agent’s social reply is published externally.
enableSocialPersonaHistoryTracking boolean No Enables field history tracking on the SocialPersona standard entity.
enableSocialPostHistoryTracking boolean No Enables field history tracking on the SocialPost standard entity.

Note

Connecting live social accounts (e.g., corporate X handles or Facebook pages) requires an authenticated administrator OAuth handshake in the Setup UI, but all underlying routing and policy infrastructure is governed by this metadata.

Declarative XML and Package Manifest Examples

Below is an enterprise XML configuration enforcing social post approvals and history tracking:

force-app/main/default/settings/SocialCustomerService.settings-meta.xml
<?xml version="1.0" encoding="UTF-8"?>
<SocialCustomerServiceSettings xmlns="http://soap.sforce.com/2006/04/metadata">
    <caseSubjectOption>SocialPostContent</caseSubjectOption>
    <enableSocialApprovals>true</enableSocialApprovals>
    <enableSocialCustomerService>true</enableSocialCustomerService>
    <enableSocialPersonaHistoryTracking>true</enableSocialPersonaHistoryTracking>
    <enableSocialPostHistoryTracking>true</enableSocialPostHistoryTracking>
</SocialCustomerServiceSettings>

Manifest Definition (package.xml)

manifest/package.xml
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
    <types>
        <members>SocialCustomerService</members>
        <name>Settings</name>
    </types>
    <version>68.0</version>
</Package>

Retrieval and Deployment

To retrieve or deploy SocialCustomerServiceSettings using the Salesforce CLI:

Terminal
# Retrieve Social Customer Service settings
sf project retrieve start --metadata "Settings:SocialCustomerService"

# Deploy Social Customer Service settings
sf project deploy start --metadata "Settings:SocialCustomerService"

Senior Architect Deployment Best Practices and Gotchas

  1. Licensing and Feature Enablement: Target orgs must have Service Cloud entitlements and social customer service features enabled. Verify scratch org feature definitions include ServiceCloud before deployment.
  2. Custom Apex Social Handler: If implementing a custom Apex social intake class (Social.InboundSocialPostHandler), ensure the Apex class is deployed alongside this setting to prevent case generation failures.
  3. Approval Process Coupling: When setting enableSocialApprovals to true, ensure that an active ApprovalProcess on SocialPost is deployed; otherwise, agents will encounter runtime errors when submitting responses.
  4. Data Volume and Retention: High-frequency social campaigns can generate millions of SocialPost records rapidly. Architect an automated archival or purge strategy using Big Objects or Scheduled Apex to manage storage consumption.

Tip

Use caseSubjectOption set to SocialPostContent so service agents can quickly assess customer inquiry sentiment from case list views and notifications without opening individual records.

Frequently asked questions

What is the function of SocialCustomerServiceSettings?

It manages automated case generation from social posts, case subject formatting, social persona linking, and social response approvals.

Where is SocialCustomerServiceSettings stored in SFDX format?

In force-app/main/default/settings/SocialCustomerService.settings-meta.xml under the Settings:SocialCustomerService component.

Can social replies be put through an approval process before posting?

Yes, enabling social approvals requires agent responses to pass through an approval workflow before publishing to social networks.

What dependencies exist when deploying SocialCustomerServiceSettings?

Service Cloud licensing, the Case standard object, and Social Post object availability must be active in the target org.

Comments

Questions, corrections and tips are welcome. Comments are GitHub Discussions, so you sign in with GitHub.