Loading...
Loading...
Configures Embedded Messaging Deployments for Messaging for In-App and Web (MIAW). Use when the user needs to create a new embedded messaging deployment from scratch using Connect API with defaults, or update an existing deployment's settings using Metadata API. Produces Connect API request payloads for new deployments and EmbeddedServiceConfig metadata XML for updates. TRIGGER when the user mentions embedded messaging deployment, embedded service deployment, MIAW deployment, messaging widget setup, chat widget configuration, embedded chat deployment, or references a .EmbeddedServiceConfig-meta.xml file. DO NOT TRIGGER when the user is creating a messaging channel (use service-digital-engagement-channel-configure), configuring legacy Live Agent embedded service, or generating the JavaScript code snippet for website embedding.
npx skill4agent add forcedotcom/sf-skills service-digital-engagement-deployment-configureEmbeddedServiceConfigEmbeddedServiceConfigservice-digital-engagement-channel-configurechannelPlatformKeycreateupdateAPIMobileWebmasterLabelchannelPlatformKeyESW_<name>_<timestamp>BrandingSetBusinessHoursisEnabledtruedeploymentFeatureEmbeddedMessagingscripts/check-api-version.sh 67.0 <org-alias>sfdx-project.json"sourceApiVersion": "67.0"references/deployment_settings.mdcreate| Deployment Type | Creation Method | Prerequisites |
|---|---|---|
| API | Metadata API deploy | Channel must exist |
| Mobile | Metadata API deploy | Channel must exist |
| Web | Connect API | Channel must exist + Experience Site required |
assets/esd_api_mobile_template.xmlEmbeddedServiceConfigdeploymentTypeAPIMobiledeploymentFeatureEmbeddedMessagingreferences/connect_api_creation.md.EmbeddedServiceConfig-meta.xmlsf api request rest "/services/data/v67.0/connect/embeddedservice/embeddedserviceconfig/publish/<EMBEDDED_SERVICE_CONFIG_ID>" -X POST -o <org-alias>EMBEDDED_SERVICE_CONFIG_IDsf data query --query "SELECT Id FROM EmbeddedServiceConfig WHERE DeveloperName = '<DEPLOYMENT_NAME>'" --target-org <org-alias>references/code_snippet.mdupdateEmbeddedServiceConfigsf project retrieve start --metadata EmbeddedServiceConfig:<DEPLOYMENT_NAME> --target-org <org-alias>assets/esd_web_update_template.xml<embeddedServiceMessagingChannel>messagingChannelchannelPlatformKeyshouldShowAgentforceTaglineshouldShowDeliveryReceiptsshouldShowEmojiSelectionshouldShowReadReceiptsshouldShowTypingIndicatorsshouldStartNewLineOnEnterisChatInvitationCustomizableisInvitationEnabled<embeddedServiceForms><embeddedServiceFormFields>embeddedServiceFormFieldNameisRequiredreferences/branding_and_tooling.mdisInvitationEnabledtrue<embeddedServiceMessagingChannel><embdMsgChannelInvitationConditions>sequenceconditionTypeoperandvaluecustomVariableNameformula<embeddedServiceMessagingChannel>1 AND 21 OR 2sequencereferences/deployment_settings.mdisTermsAndConditionsEnabledisTermsAndConditionsRequiredsite.EmbeddedServiceConfig-meta.xmlEmbeddedServiceConfig/sf api request rest "/services/data/v67.0/connect/embeddedservice/embeddedserviceconfig/publish/<EMBEDDED_SERVICE_CONFIG_ID>" -X POST -o <org-alias>EMBEDDED_SERVICE_CONFIG_IDsf data query --query "SELECT Id FROM EmbeddedServiceConfig WHERE DeveloperName = '<DEPLOYMENT_NAME>'" --target-org <org-alias>references/code_snippet.md| Constraint | Rationale |
|---|---|
| Always retrieve existing deployment before updating | Ensures current settings are preserved and only intended changes are applied |
| Platform rejects other values |
Never update the | Site name is auto-generated at creation and must not be changed |
| Web deployments cannot be created via Metadata API | Circular dependency between Network and CustomSite — use Connect API |
| Deployment fails if channel doesn't exist |
| Web widget must be associated with an Experience Site |
| BrandingSet is auto-created with defaults by Connect API | To override branding properties, use Tooling API — see |
| Pre-chat form fields must reference valid channel custom parameters | ChoiceList fields need the parameter deployed on the channel first |
File extension is | Metadata API uses this specific extension |
Do not hardcode file paths — respect | Customer orgs customize source paths |
| Never include deploy/push commands in generated output | This skill produces artifacts only |
| Publish step (Connect API) required after Web ESD updates | Changes are not live until published |
| Issue | Resolution |
|---|---|
| Web ESD creation fails via Metadata API | Web type requires Connect API for initial creation; use Metadata API only for updates |
| Site name not found | Site must exist before Web ESD update; format is |
| Branding overrides not applied | Use Tooling API to update individual BrandingSet properties after the deployment is created |
| Pre-chat ChoiceList not showing | ChoiceList requires two-step deploy: create ChoiceList first, then assign to form field |
| Changes not appearing in widget | Web ESDs must be published via Connect API after any update |
| Set to |
| reCAPTCHA configuration rejected | reCAPTCHA is |
| Business hours not taking effect | Only updating existing business hours works; creation is managed separately |
| Deploy fails with "required field missing" or "upsert failed null" | All attributes are mandatory: boolean fields in |
| Standard pre-chat field not found | Use |
deploymentTypeAPIMobileWebmasterLabelmessagingChanneldeploymentFeatureEmbeddedMessagingisEnabledtruesiteembeddedServiceBrandingNameisInvitationEnabledtrueformulasequence<embdMsgChannelInvitationConditions>siteUrldeploymentTypeAPIMobile<source-path>/EmbeddedServiceConfig/<DeploymentName>.EmbeddedServiceConfig-meta.xml<source-path>/EmbeddedServiceConfig/<DeploymentName>.EmbeddedServiceConfig-meta.xmlassets/| Need | Delegate to |
|---|---|
| Creating the messaging channel | |
| Creating Omni-Channel routing flows | |
| Creating permission sets for agents | |
| File | When to read |
|---|---|
| Before generating API or Mobile type deployments |
| Before generating Web type updates |
| When configuring deployment options beyond defaults |
| When creating Web type deployments (Connect API required) |
| When user asks about branding configuration |
| When user wants the JavaScript embed code snippet for their website |
| Phase 1 — verify org API version meets the passed minimum (67.0) |
| To verify output for API type deployment |
| To verify output for Mobile type deployment |
| To verify output for fully configured Web deployment |