Architectural Overview
EmbeddedServiceFlowConfig is a specialized metadata component within Service Cloud that couples active Salesforce Screen Flows directly to an Embedded Service deployment (formerly Snap-ins). It enables organizations to embed guided self-service experiences—such as appointment scheduling, incident triage, identity verification, and case creation—directly into external websites and Experience Cloud portals.
From an enterprise architecture perspective, decoupling the conversational flow definition from the widget deployment allows contact center administrators to iterate on business logic inside Flow Builder without reconfiguring web endpoints or snippet code.
Directory and File Conventions
EmbeddedServiceFlowConfig metadata files reside within the embeddedServiceFlowConfigs directory when retrieved as standalone definitions, or are managed as nested configurations alongside EmbeddedServiceConfig.
| Property | Value |
|---|---|
| Metadata Type Name | EmbeddedServiceFlowConfig |
| SFDX Folder | force-app/main/default/embeddedServiceFlowConfigs/ |
| File Suffix | .embeddedServiceFlowConfig-meta.xml |
| API Support | Tooling API, Metadata API |
Key Metadata Fields
The EmbeddedServiceFlowConfig metadata structure includes the following core fields:
| Field Name | Field Type | Required | Architectural Description |
|---|---|---|---|
embeddedServiceConfig |
string |
Yes | DeveloperName of the parent EmbeddedServiceConfig deployment. |
flow |
string |
Yes | API name of the target active Flow definition. |
flowType |
string (Picklist) |
Yes | Specifies flow behavior: FL_Flow, FS_Appointment_Booking, FS_Cancel_Appointment, FS_Modify_Appointment, or FS_New_Appointment. |
isAuthenticationRequired |
boolean |
No | Indicates whether guest users must authenticate before executing the flow. |
Note
The target Flow must be active and configured with Screen elements compatible with the Embedded Service runtime container.
Declarative XML and Package Manifest Examples
Below is a declarative XML definition linking a customer intake flow to an Embedded Service deployment:
<?xml version="1.0" encoding="UTF-8"?>
<EmbeddedServiceFlowConfig xmlns="http://soap.sforce.com/2006/04/metadata">
<embeddedServiceConfig>Customer_Support_Channel</embeddedServiceConfig>
<flow>Customer_Intake_Screen_Flow</flow>
<flowType>FL_Flow</flowType>
<isAuthenticationRequired>false</isAuthenticationRequired>
</EmbeddedServiceFlowConfig>Manifest Definition (package.xml)
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>Case_Intake_Flow</members>
<name>EmbeddedServiceFlowConfig</name>
</types>
<types>
<members>Customer_Intake_Screen_Flow</members>
<name>Flow</name>
</types>
<version>68.0</version>
</Package>CLI Retrieval and Deployment Commands
Retrieve and deploy the metadata using the Salesforce CLI:
# Retrieve EmbeddedServiceFlowConfig
sf project retrieve start --metadata EmbeddedServiceFlowConfig:Case_Intake_Flow
# Deploy flow and configuration together
sf project deploy start --metadata EmbeddedServiceFlowConfig:Case_Intake_Flow Flow:Customer_Intake_Screen_FlowArchitect Best Practices and Gotchas
- Dependency Sequencing: The referenced
Flowmust exist and be activated in the target org before or during deployment. If deploying in a single transaction, include bothFlowandEmbeddedServiceFlowConfigin the same package manifest. - Guest User Permissions: If
isAuthenticationRequiredisfalse, verify that the Experience Cloud Guest User Profile or Guest User Permission Set has read access to all objects, fields, and Apex controllers invoked within the Screen Flow. - Field Service Appointment Flows: When using
FS_Appointment_Bookingor related Field Service flow types, ensure Salesforce Field Service (FFS) licenses and operating hours are properly configured in target sandboxes.
Tip
Use Flow versioning discipline to test flow logic in sandbox sandboxes without disrupting the live Embedded Service snippet on public websites.
Frequently asked questions
What does EmbeddedServiceFlowConfig define in Salesforce?
It defines screen flow associations for Embedded Service deployments, enabling automated customer workflows like appointment booking or case logging.
Which flow types are supported in EmbeddedServiceFlowConfig?
It supports standard screen flows and Field Service flows such as FS Appointment Booking, FS New Appointment, and custom conversational customer flows.
What is the typical deployment order for embedded flows?
Deploy the underlying Flow definitions and activate them first, then deploy the EmbeddedServiceConfig and EmbeddedServiceFlowConfig metadata components.
Comments
Questions, corrections and tips are welcome. Comments are GitHub Discussions, so you sign in with GitHub.