@salesforce/afv-skills 1.63.0 → 1.65.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/skills/agentforce-gpt-email-generation-configure/SKILL.md +312 -0
- package/skills/agentforce-offline-experimentation-run/SKILL.md +253 -0
- package/skills/agentforce-offline-experimentation-run/scripts/build_report.py +796 -0
- package/skills/agentforce-offline-experimentation-run/scripts/resolve-token.sh +111 -0
- package/skills/agentforce-offline-experimentation-run/scripts/sfap_replay.py +1053 -0
- package/skills/agentforce-wizard-ui-forecasting-analytics-components-configure/SKILL.md +64 -0
- package/skills/agentforce-wizard-ui-sales-einstein-components-configure/SKILL.md +46 -0
- package/skills/automation-company-profile-info-query/SKILL.md +51 -0
- package/skills/automation-digital-wallet-configure/SKILL.md +689 -0
- package/skills/automation-flow-coordinate/SKILL.md +95 -0
- package/skills/automation-flow-coordinate/references/elements/action-call/action-call.md +1569 -0
- package/skills/automation-flow-coordinate/references/elements/action-call/conversation-messaging.md +96 -0
- package/skills/automation-flow-coordinate/references/elements/action-call/examples/send-sms-message.json +23 -0
- package/skills/automation-flow-coordinate/references/elements/action-call/examples/send-to-journey-no-fields.json +31 -0
- package/skills/automation-flow-coordinate/references/elements/action-call/send-to-journey.md +179 -0
- package/skills/automation-flow-coordinate/references/elements/exit-rule/examples/event-email-link-click.json +13 -0
- package/skills/automation-flow-coordinate/references/elements/exit-rule/exit-rule.md +83 -0
- package/skills/automation-flow-coordinate/references/elements/forward-to-bot-or-agent/examples/forward-to-bot-or-agent.json +69 -0
- package/skills/automation-flow-coordinate/references/elements/forward-to-bot-or-agent/forward-to-bot-or-agent.md +274 -0
- package/skills/automation-flow-coordinate/references/elements/start/audience-common.md +192 -0
- package/skills/automation-flow-coordinate/references/elements/start/automation-event-triggered.md +130 -0
- package/skills/automation-flow-coordinate/references/elements/start/data-cloud-data-change-triggered.md +92 -0
- package/skills/automation-flow-coordinate/references/elements/start/form-submission-triggered.md +88 -0
- package/skills/automation-flow-coordinate/references/elements/start/segment-triggered.md +152 -0
- package/skills/automation-flow-coordinate/references/elements/start/start.md +539 -0
- package/skills/automation-flow-coordinate/references/elements/subflow/subflow.md +152 -0
- package/skills/automation-flow-coordinate/references/elements/wait/wait.md +497 -0
- package/skills/automation-flow-coordinate/references/recipes/author/author.md +868 -0
- package/skills/automation-flow-coordinate/references/recipes/summarize/element-generic.md +300 -0
- package/skills/automation-flow-coordinate/references/recipes/summarize/reference-resolution.md +292 -0
- package/skills/automation-flow-coordinate/references/recipes/summarize/summarize.md +323 -0
- package/skills/automation-flow-coordinate/references/recipes/testing/examples/debug-output-template.md +109 -0
- package/skills/automation-flow-coordinate/references/recipes/testing/shape.md +219 -0
- package/skills/automation-flow-coordinate/references/recipes/testing/shared-stages/intent-analyzer.md +180 -0
- package/skills/automation-flow-coordinate/references/recipes/testing/workflows/debug.md +175 -0
- package/skills/automation-flow-coordinate/references/recipes/testing/workflows/promote.md +255 -0
- package/skills/automation-flow-coordinate/references/recipes/testing/workflows/save-debug.md +212 -0
- package/skills/automation-flow-coordinate/references/resources/variable/variable.md +171 -0
- package/skills/automation-flow-coordinate/references/shared/anti-patterns.md +786 -0
- package/skills/automation-flow-coordinate/references/shared/end/end.md +267 -0
- package/skills/automation-flow-coordinate/references/shared/flow-type-resolver/eval/README.md +69 -0
- package/skills/automation-flow-coordinate/references/shared/flow-type-resolver/eval/predictions.jsonl +80 -0
- package/skills/automation-flow-coordinate/references/shared/flow-type-resolver/eval/prompts.jsonl +116 -0
- package/skills/automation-flow-coordinate/references/shared/flow-type-resolver/flow-type-resolver.md +321 -0
- package/skills/automation-flow-coordinate/references/shared/flow-type-resolver/taxonomy.json +320 -0
- package/skills/automation-flow-coordinate/references/shared/server-functions.md +597 -0
- package/skills/automation-sandbox-post-copy-config-generate/SKILL.md +21 -11
- package/skills/automation-sandbox-post-copy-config-generate/assets/config_template.json +10 -0
- package/skills/automation-sandbox-post-copy-config-generate/assets/json_schema.json +33 -1
- package/skills/automation-sandbox-post-copy-config-generate/references/configuration_catalog.md +44 -1
- package/skills/automation-sandbox-post-copy-configure/SKILL.md +132 -124
- package/skills/automation-sandbox-post-copy-configure/references/flow_activation_path.md +151 -0
- package/skills/automation-sandbox-post-copy-configure/references/scheduled_apex_path.md +55 -9
- package/skills/automotive-cloud-appraisal-management-settings-configure/SKILL.md +69 -0
- package/skills/automotive-cloud-dealer-essentials-configure/SKILL.md +78 -0
- package/skills/automotive-cloud-ground-agent-data-pipelines-configure/SKILL.md +373 -0
- package/skills/automotive-cloud-ground-mfg-agent-data-pipelines-configure/SKILL.md +273 -0
- package/skills/automotive-cloud-mfg-agent-data-pipelines-configure/SKILL.md +259 -0
- package/skills/automotive-cloud-mfg-sales-concierge-agent-create/SKILL.md +369 -0
- package/skills/automotive-cloud-mfg-sales-concierge-foundation-configure/SKILL.md +542 -0
- package/skills/automotive-cloud-mfg-sales-concierge-foundation-coordinate/SKILL.md +159 -0
- package/skills/automotive-cloud-mfg-sales-concierge-orchestrator-agent-create/SKILL.md +349 -0
- package/skills/automotive-cloud-mfg-sales-concierge-orchestrator-configure/SKILL.md +505 -0
- package/skills/automotive-cloud-sales-concierge-agent-create/SKILL.md +380 -0
- package/skills/automotive-cloud-sales-concierge-foundation-configure/SKILL.md +567 -0
- package/skills/automotive-cloud-sales-concierge-foundation-coordinate/SKILL.md +159 -0
- package/skills/automotive-cloud-sales-concierge-orchestrator-agent-create/SKILL.md +360 -0
- package/skills/automotive-cloud-sales-concierge-orchestrator-configure/SKILL.md +539 -0
- package/skills/automotive-cloud-sales-concierge-search-grounding-configure/SKILL.md +358 -0
- package/skills/commerce-b2b-merchant-quote-configure/SKILL.md +602 -0
- package/skills/commerce-b2b-store-configure/SKILL.md +251 -0
- package/skills/commerce-credit-memo-create/SKILL.md +139 -0
- package/skills/commerce-delivery-business-hours-configure/SKILL.md +277 -0
- package/skills/commerce-delivery-estimation-apply/SKILL.md +155 -0
- package/skills/commerce-delivery-estimation-configure/SKILL.md +377 -0
- package/skills/commerce-delivery-routing-specs-integrate/SKILL.md +174 -0
- package/skills/commerce-estimate-bopis-query/SKILL.md +279 -0
- package/skills/commerce-estimate-delivery-date-query/SKILL.md +349 -0
- package/skills/commerce-fees-apply/SKILL.md +227 -0
- package/skills/commerce-fulfillment-routing-analyze/SKILL.md +200 -0
- package/skills/commerce-guest-buyer-create/SKILL.md +173 -0
- package/skills/commerce-location-bopis-configure/SKILL.md +378 -0
- package/skills/commerce-location-business-hours-configure/SKILL.md +235 -0
- package/skills/commerce-location-delivery-processing-time-configure/SKILL.md +309 -0
- package/skills/commerce-location-graph-integrate/SKILL.md +131 -0
- package/skills/commerce-location-shipping-carrier-method-configure/SKILL.md +755 -0
- package/skills/commerce-location-temporary-operating-hours-configure/SKILL.md +331 -0
- package/skills/commerce-merchant-buyer-groups-configure/SKILL.md +579 -0
- package/skills/commerce-merchant-buyer-user-onboarding-create/SKILL.md +626 -0
- package/skills/commerce-merchant-catalog-configure/SKILL.md +614 -0
- package/skills/commerce-merchant-extension-provider-configure/SKILL.md +368 -0
- package/skills/commerce-merchant-insights-account-health-churn-analyze/SKILL.md +118 -0
- package/skills/commerce-merchant-insights-inventory-returns-analyze/SKILL.md +65 -0
- package/skills/commerce-merchant-insights-order-shopper-get/SKILL.md +90 -0
- package/skills/commerce-merchant-insights-product-performance-analyze/SKILL.md +72 -0
- package/skills/commerce-merchant-insights-query/SKILL.md +279 -0
- package/skills/commerce-merchant-storefront-guest-access-configure/SKILL.md +656 -0
- package/skills/commerce-order-summary-change-apply/SKILL.md +375 -0
- package/skills/commerce-product-details-get/SKILL.md +363 -0
- package/skills/commerce-product-search/SKILL.md +563 -0
- package/skills/commerce-react-storefront-create/SKILL.md +350 -0
- package/skills/commerce-return-order-summary-create/SKILL.md +513 -0
- package/skills/commerce-search-relevance-analyze/SKILL.md +757 -0
- package/skills/commerce-temporary-processing-time-override-create/SKILL.md +274 -0
- package/skills/communications-initial-setup-configure/SKILL.md +630 -0
- package/skills/communications-multisite-configure/SKILL.md +571 -0
- package/skills/communications-revenue-cloud-settings-configure/SKILL.md +74 -0
- package/skills/communications-smb-fiber-catalog-create/SKILL.md +413 -0
- package/skills/communications-tmf-integrate/SKILL.md +1368 -0
- package/skills/consumer-goods-promotion-bo-api-deploy/SKILL.md +54 -107
- package/skills/consumer-goods-promotion-bo-api-deploy/assets/set-comment-value/payloads/copy.json +1 -1
- package/skills/consumer-goods-promotion-bo-api-deploy/references/conventions-and-payload-rules.md +82 -5
- package/skills/consumer-goods-promotion-bo-api-deploy/references/generate-and-wire.md +35 -2
- package/skills/consumer-goods-promotion-bo-api-deploy/references/preflight-and-seed-queries.md +149 -0
- package/skills/consumer-goods-promotion-bo-api-deploy/references/smoke-and-verify.md +17 -1
- package/skills/consumer-goods-visit-activity-act4-questions-assign/SKILL.md +448 -0
- package/skills/consumer-goods-visit-activity-act5-standard-create/SKILL.md +269 -0
- package/skills/consumer-goods-visit-activity-act6-assortment-configure/SKILL.md +271 -0
- package/skills/consumer-goods-visit-activity-act7-account-scoping-create/SKILL.md +382 -0
- package/skills/consumer-goods-visit-activity-act8-plan-attach-create/SKILL.md +373 -0
- package/skills/consumer-goods-visit-activity-act9-proof-validate/SKILL.md +389 -0
- package/skills/consumer-goods-visit-and-activity-act1-specification-create/SKILL.md +338 -0
- package/skills/consumer-goods-visit-and-activity-act2-template-create/SKILL.md +547 -0
- package/skills/consumer-goods-visit-and-activity-act3-definition-create/SKILL.md +346 -0
- package/skills/consumer-goods-visit-and-activity-configure/SKILL.md +1110 -0
- package/skills/crm-analytics-adoption-insights-configure/SKILL.md +224 -0
- package/skills/crm-analytics-custom-report-type-lightning-configure/SKILL.md +418 -0
- package/skills/crm-analytics-dashboards-configure/SKILL.md +731 -0
- package/skills/crm-analytics-operational-analytics-metadata-bridge-migrate/SKILL.md +233 -0
- package/skills/crm-analytics-report-notifications-ui-configure/SKILL.md +184 -0
- package/skills/crm-analytics-sharing-inheritance-coverage-analyze/SKILL.md +167 -0
- package/skills/crm-analytics-sonic-getting-started-configure/SKILL.md +55 -0
- package/skills/crm-analytics-tableau-next-app-deploy/SKILL.md +1350 -0
- package/skills/crm-analytics-tableau-next-c360-basemodel-validate/SKILL.md +1862 -0
- package/skills/crm-analytics-tableau-next-datacloud-validate/SKILL.md +83 -0
- package/skills/crm-analytics-tableau-next-provisioning-validate/SKILL.md +81 -0
- package/skills/data360-activation-create/SKILL.md +104 -0
- package/skills/data360-activation-external-platform-get/SKILL.md +49 -0
- package/skills/data360-activation-target-create/SKILL.md +93 -0
- package/skills/data360-activation-v2-create/SKILL.md +456 -0
- package/skills/data360-audience-dmo-get/SKILL.md +38 -0
- package/skills/data360-calculated-affinity-create/SKILL.md +82 -0
- package/skills/data360-calculated-insight-create/SKILL.md +148 -0
- package/skills/data360-catalog-metadata-create/SKILL.md +183 -0
- package/skills/data360-code-extension-create/SKILL.md +115 -0
- package/skills/data360-communication-capping-create/SKILL.md +227 -0
- package/skills/data360-connection-create/SKILL.md +491 -0
- package/skills/data360-content-lens-create/SKILL.md +181 -0
- package/skills/data360-data-action-create/SKILL.md +126 -0
- package/skills/data360-data-action-target-create/SKILL.md +181 -0
- package/skills/data360-data-clean-room-create/SKILL.md +238 -0
- package/skills/data360-data-governance-create/SKILL.md +746 -0
- package/skills/data360-data-graph-create/SKILL.md +82 -0
- package/skills/data360-data-harmonized-model-object-reference-create/SKILL.md +38 -0
- package/skills/data360-data-lake-object-create/SKILL.md +207 -0
- package/skills/data360-data-model-object-catalog-get/SKILL.md +49 -0
- package/skills/data360-data-model-object-create/SKILL.md +128 -0
- package/skills/data360-data-model-object-mapping-create/SKILL.md +106 -0
- package/skills/data360-data-space-create/SKILL.md +161 -0
- package/skills/data360-data-streams-create/SKILL.md +324 -0
- package/skills/data360-engagement-signal-get/SKILL.md +38 -0
- package/skills/data360-experiment-create/SKILL.md +82 -0
- package/skills/data360-goal-based-campaign-create/SKILL.md +192 -0
- package/skills/data360-harmonization-process-history-get/SKILL.md +38 -0
- package/skills/data360-harmonized-unstructured-dmo-create/SKILL.md +84 -0
- package/skills/data360-identity-resolution-create/SKILL.md +115 -0
- package/skills/data360-intelligent-document-processing-create/SKILL.md +148 -0
- package/skills/data360-knowledge-graph-construction-create/SKILL.md +93 -0
- package/skills/data360-knowledge-graph-create/SKILL.md +216 -0
- package/skills/data360-knowledge-space-mcp-configure/SKILL.md +475 -0
- package/skills/data360-machine-learning-mcp-configure/SKILL.md +697 -0
- package/skills/data360-multi-org-mcp-configure/SKILL.md +117 -0
- package/skills/data360-secondary-index-mcp-configure/SKILL.md +126 -0
- package/skills/data360-segment-mcp-configure/SKILL.md +159 -0
- package/skills/data360-semantic-calculated-dimension-mcp-configure/SKILL.md +93 -0
- package/skills/data360-semantic-calculated-measurement-mcp-configure/SKILL.md +93 -0
- package/skills/data360-semantic-data-object-mcp-configure/SKILL.md +93 -0
- package/skills/data360-semantic-dimension-mcp-configure/SKILL.md +38 -0
- package/skills/data360-semantic-engine-mcp-configure/SKILL.md +62 -0
- package/skills/data360-semantic-measurement-mcp-configure/SKILL.md +38 -0
- package/skills/data360-semantic-metric-mcp-configure/SKILL.md +93 -0
- package/skills/data360-semantic-model-mcp-configure/SKILL.md +115 -0
- package/skills/data360-standard-mapping-mcp-configure/SKILL.md +38 -0
- package/skills/data360-tenant-lifecycle-mcp-configure/SKILL.md +73 -0
- package/skills/dx-devops-conflict-resolve/SKILL.md +1 -5
- package/skills/dx-devops-pipeline-manage/SKILL.md +1 -5
- package/skills/dx-devops-project-manage/SKILL.md +1 -5
- package/skills/dx-devops-promote/SKILL.md +1 -5
- package/skills/dx-devops-request-status/SKILL.md +1 -5
- package/skills/dx-lifecycle-center/SKILL.md +120 -0
- package/skills/dx-lifecycle-center/examples/workflows.md +175 -0
- package/skills/dx-lifecycle-center/references/connect-api.md +123 -0
- package/skills/dx-lifecycle-center/references/connect-org.md +184 -0
- package/skills/dx-lifecycle-center/references/deploy.md +153 -0
- package/skills/dx-lifecycle-center/references/error-handling.md +21 -0
- package/skills/dx-lifecycle-center/references/hub-org.md +37 -0
- package/skills/dx-lifecycle-center/references/list-orgs.md +99 -0
- package/skills/dx-lifecycle-center/references/request-body.md +75 -0
- package/skills/dx-lifecycle-center/references/troubleshooting.md +31 -0
- package/skills/dx-lifecycle-center/scripts/poll-deploy-status.sh +200 -0
- package/skills/dx-lifecycle-center/scripts/resolve-environment.sh +120 -0
- package/skills/dx-org-devhub-configure/SKILL.md +1 -3
- package/skills/dx-org-shape-manage/SKILL.md +1 -5
- package/skills/dx-org-snapshot-manage/SKILL.md +1 -3
- package/skills/education-cloud-academic-calendar-generate/SKILL.md +1 -3
- package/skills/education-cloud-course-catalog-migrate/SKILL.md +1 -3
- package/skills/education-cloud-domain-configure/SKILL.md +1 -3
- package/skills/education-cloud-multi-campus-configure/SKILL.md +1 -3
- package/skills/education-cloud-student-recruitment-agent-configure/SKILL.md +1 -5
- package/skills/experience-afv-query/SKILL.md +234 -0
- package/skills/experience-agentforce-vibes-in-react-configure/SKILL.md +63 -0
- package/skills/experience-apex-components-configure/SKILL.md +69 -0
- package/skills/experience-apex-pages-configure/SKILL.md +107 -0
- package/skills/experience-app-home-configure/SKILL.md +76 -0
- package/skills/experience-aura-lightning-out-access-configure/SKILL.md +58 -0
- package/skills/experience-briefcase-configure/SKILL.md +287 -0
- package/skills/experience-community-flexi-page-list-create/SKILL.md +74 -0
- package/skills/experience-community-template-definition-list-query/SKILL.md +48 -0
- package/skills/experience-community-theme-definition-list-query/SKILL.md +38 -0
- package/skills/experience-content-assets-configure/SKILL.md +86 -0
- package/skills/experience-custom-domain-create/SKILL.md +727 -0
- package/skills/experience-defer-rendering-workspace-page-setup-configure/SKILL.md +41 -0
- package/skills/experience-field-service-app-builder-configure/SKILL.md +187 -0
- package/skills/experience-flow-category-configure/SKILL.md +117 -0
- package/skills/experience-formula-configure/SKILL.md +358 -0
- package/skills/experience-global-actions-configure/SKILL.md +69 -0
- package/skills/experience-global-publisher-layouts-configure/SKILL.md +79 -0
- package/skills/experience-instrumentation-configure/SKILL.md +64 -0
- package/skills/experience-lex-engagement-configure/SKILL.md +50 -0
- package/skills/experience-lightning-bolt-open/SKILL.md +12 -0
- package/skills/experience-lightning-out-configure/SKILL.md +129 -0
- package/skills/experience-lightning-preview-configure/SKILL.md +67 -0
- package/skills/experience-lightning-types-query/SKILL.md +98 -0
- package/skills/experience-malware-scan-configure/SKILL.md +71 -0
- package/skills/experience-my-salesforce-configure/SKILL.md +126 -0
- package/skills/experience-navigation-menus-configure/SKILL.md +235 -0
- package/skills/experience-notification-types-configure/SKILL.md +206 -0
- package/skills/experience-notifications-configure/SKILL.md +75 -0
- package/skills/experience-record-discovery-query/SKILL.md +227 -0
- package/skills/experience-regenerate-previews-open/SKILL.md +94 -0
- package/skills/experience-sales-cloud-mab-configure/SKILL.md +254 -0
- package/skills/experience-schema-builder-open/SKILL.md +38 -0
- package/skills/experience-simple-record-home-configure/SKILL.md +110 -0
- package/skills/experience-static-resources-configure/SKILL.md +74 -0
- package/skills/experience-ui-bundle-2gp-deploy/SKILL.md +1 -3
- package/skills/experience-ui-bundle-features-generate/SKILL.md +1 -5
- package/skills/experience-ui-bundle-mfa-configure/SKILL.md +1 -3
- package/skills/field-service-data-capture-form-deployer-configure/SKILL.md +23 -2
- package/skills/field-service-data-capture-form-designer-configure/SKILL.md +13 -3
- package/skills/field-service-data-capture-migrate/SKILL.md +1 -3
- package/skills/field-service-mobile-branding-configure/SKILL.md +17 -3
- package/skills/field-service-objective-designer-configure/SKILL.md +72 -379
- package/skills/field-service-prework-brief-deployer-configure/SKILL.md +10 -537
- package/skills/field-service-scheduling-policy-designer-query/SKILL.md +65 -1093
- package/skills/{field-service-setup-orchestrator-get → field-service-setup-coordinate}/SKILL.md +18 -3
- package/skills/field-service-sobject-create-configure/SKILL.md +13 -213
- package/skills/field-service-voice-to-form-configure/SKILL.md +40 -11
- package/skills/field-service-work-plan-configure/SKILL.md +253 -0
- package/skills/field-service-work-rule-designer-configure/SKILL.md +121 -95
- package/skills/fsc-actionable-segmentation-settings-configure/SKILL.md +180 -0
- package/skills/fsc-digital-origination-bre-decision-matrix-foundation-create/SKILL.md +196 -0
- package/skills/fsc-digital-origination-bre-disclosures-consent-configure/SKILL.md +106 -0
- package/skills/fsc-digital-origination-bre-document-upload-configure/SKILL.md +96 -0
- package/skills/fsc-digital-origination-bre-permissions-assign/SKILL.md +111 -0
- package/skills/fsc-digital-origination-bre-setup-coordinate/SKILL.md +250 -0
- package/skills/fsc-digital-origination-bre-stp-eligibility-configure/SKILL.md +122 -0
- package/skills/fsc-digital-origination-coordinate/SKILL.md +653 -0
- package/skills/fsc-digital-origination-demo-run/SKILL.md +225 -0
- package/skills/fsc-digital-origination-execution-guardrails-validate/SKILL.md +112 -0
- package/skills/fsc-digital-origination-initial-setup-configure/SKILL.md +396 -0
- package/skills/fsc-digital-origination-pricing-setup-coordinate/SKILL.md +336 -0
- package/skills/fsc-digital-origination-pricing-setup-data-foundation-create/SKILL.md +208 -0
- package/skills/fsc-digital-origination-pricing-setup-procedure-create/SKILL.md +375 -0
- package/skills/fsc-digital-origination-product-setup-act1-permissions-assign/SKILL.md +83 -0
- package/skills/fsc-digital-origination-product-setup-coordinate/SKILL.md +248 -0
- package/skills/fsc-digital-origination-sample-data-create/SKILL.md +206 -0
- package/skills/fsc-document-checklist-settings-configure/SKILL.md +57 -0
- package/skills/fsc-flexible-hierarchy-configure/SKILL.md +148 -0
- package/skills/fsc-flexible-hierarchy-foundation-configure/SKILL.md +1430 -0
- package/skills/fsc-flexible-hierarchy-graph-config-create/SKILL.md +471 -0
- package/skills/fsc-flexible-hierarchy-rule-based-graph-deploy/SKILL.md +429 -0
- package/skills/fsc-pricing-product-configurator-configure/SKILL.md +150 -0
- package/skills/fsc-pricing-salesforce-omnistudio-switch/SKILL.md +123 -0
- package/skills/fsc-product-act2-catalog-categories-create/SKILL.md +82 -0
- package/skills/fsc-product-act3-attributes-create/SKILL.md +249 -0
- package/skills/fsc-product-act4-classification-assignment-create/SKILL.md +196 -0
- package/skills/fsc-product-act5-considerations-get/SKILL.md +44 -0
- package/skills/fsc-stage-management-apex-flow-deploy/SKILL.md +384 -0
- package/skills/fsc-stage-management-compliant-data-sharing-configure/SKILL.md +144 -0
- package/skills/fsc-stage-management-decision-matrices-create/SKILL.md +107 -0
- package/skills/fsc-stage-management-definition-assignments-create/SKILL.md +189 -0
- package/skills/fsc-stage-management-definition-create/SKILL.md +108 -0
- package/skills/fsc-stage-management-permissions-assign/SKILL.md +143 -0
- package/skills/fsc-stage-management-transitions-configure/SKILL.md +139 -0
- package/skills/health-cloud-appt-booking-config-configure/SKILL.md +135 -0
- package/skills/health-cloud-appt-booking-url-config-configure/SKILL.md +134 -0
- package/skills/health-cloud-care-provider-affl-role-config-configure/SKILL.md +136 -0
- package/skills/health-cloud-care-provider-search-config-configure/SKILL.md +134 -0
- package/skills/health-cloud-care-requests-create/SKILL.md +178 -0
- package/skills/health-cloud-initial-configure/SKILL.md +511 -0
- package/skills/health-cloud-patient-appointment-scheduling-configure/SKILL.md +1374 -0
- package/skills/health-cloud-provider-search-settings-configure/SKILL.md +924 -0
- package/skills/health-cloud-referral-management-coordinate/SKILL.md +513 -0
- package/skills/health-cloud-timeline-configure/SKILL.md +622 -0
- package/skills/health-cloud-virtual-visit-config-configure/SKILL.md +135 -0
- package/skills/industries-account-score-settings-query/SKILL.md +78 -0
- package/skills/industries-actionable-list-data-sources-dmo-configure/SKILL.md +177 -0
- package/skills/industries-ad-product-availability-search/SKILL.md +399 -0
- package/skills/industries-advanced-account-forecast-settings-configure/SKILL.md +628 -0
- package/skills/industries-advanced-therapy-management-settings-configure/SKILL.md +73 -0
- package/skills/industries-atm-settings-starter-configure/SKILL.md +76 -0
- package/skills/industries-batch-document-ai-configure/SKILL.md +196 -0
- package/skills/industries-behavioral-health-app-settings-configure/SKILL.md +71 -0
- package/skills/industries-branch-management-settings-configure/SKILL.md +89 -0
- package/skills/industries-bre-decision-table-access-configure/SKILL.md +367 -0
- package/skills/industries-brokerage-settings-configure/SKILL.md +41 -0
- package/skills/industries-calendar-sync-settings-configure/SKILL.md +89 -0
- package/skills/industries-care-request-settings-configure/SKILL.md +218 -0
- package/skills/industries-case-management-intelligence-settings-configure/SKILL.md +54 -0
- package/skills/industries-catalog-process-attributes-products-configure/SKILL.md +380 -0
- package/skills/industries-catalog-process-fulfillment-configure/SKILL.md +216 -0
- package/skills/industries-catalog-process-intake-configure/SKILL.md +219 -0
- package/skills/industries-catalog-process-knowledge-configure/SKILL.md +153 -0
- package/skills/industries-catalog-process-preprocessor-configure/SKILL.md +168 -0
- package/skills/industries-cds-general-settings-configure/SKILL.md +69 -0
- package/skills/industries-claim-financial-settings-configure/SKILL.md +169 -0
- package/skills/industries-clinical-data-model-settings-configure/SKILL.md +136 -0
- package/skills/industries-clinical-data-model-settings-starter-configure/SKILL.md +105 -0
- package/skills/industries-collection-plan-settings-configure/SKILL.md +132 -0
- package/skills/industries-comms-service-console-settings-configure/SKILL.md +159 -0
- package/skills/industries-compliance-configure/SKILL.md +102 -0
- package/skills/industries-compliance-document-extraction-setup-configure/SKILL.md +76 -0
- package/skills/industries-contact-center-app-layout-configure/SKILL.md +88 -0
- package/skills/industries-contact-center-components-configure/SKILL.md +96 -0
- package/skills/industries-contact-center-path-knowledge-configure/SKILL.md +95 -0
- package/skills/industries-contact-center-user-access-assign/SKILL.md +96 -0
- package/skills/industries-course-waitlist-config-configure/SKILL.md +162 -0
- package/skills/industries-crisis-center-settings-configure/SKILL.md +84 -0
- package/skills/industries-custom-object-settings-configure/SKILL.md +94 -0
- package/skills/industries-data-cloud-integration-configure/SKILL.md +88 -0
- package/skills/industries-data-space-feature-mappings-configure/SKILL.md +245 -0
- package/skills/industries-decision-matrix-builder-configure/SKILL.md +78 -0
- package/skills/industries-decision-table-hbase-configure/SKILL.md +87 -0
- package/skills/industries-decision-table-version-configure/SKILL.md +74 -0
- package/skills/industries-decision-tables-builder-configure/SKILL.md +253 -0
- package/skills/industries-decision-tables-configure/SKILL.md +439 -0
- package/skills/industries-energy-utilities-configure/SKILL.md +251 -0
- package/skills/industries-eu-cloud-multisite-configure/SKILL.md +1008 -0
- package/skills/industries-eu-new-connections-configure/SKILL.md +30 -0
- package/skills/industries-explainability-msg-template-configure/SKILL.md +135 -0
- package/skills/industries-expression-set-message-token-configure/SKILL.md +135 -0
- package/skills/industries-field-service-settings-configure/SKILL.md +82 -0
- package/skills/industries-form-framework-settings-configure/SKILL.md +30 -0
- package/skills/industries-fsc-ai-settings-configure/SKILL.md +57 -0
- package/skills/industries-fsc-association-engine-settings-configure/SKILL.md +172 -0
- package/skills/industries-fsc-b2b-settings-configure/SKILL.md +61 -0
- package/skills/industries-fsc-insurance-settings-configure/SKILL.md +58 -0
- package/skills/industries-fsc-visa-fulfillment-setup-configure/SKILL.md +103 -0
- package/skills/industries-fsc-wealth-agent-settings-configure/SKILL.md +117 -0
- package/skills/industries-fsc-wealth-settings-configure/SKILL.md +99 -0
- package/skills/industries-fundraising-gift-entry-settings-configure/SKILL.md +120 -0
- package/skills/industries-fundraising-rfm-configure/SKILL.md +128 -0
- package/skills/industries-fundraising-settings-configure/SKILL.md +145 -0
- package/skills/industries-fundraising-source-code-gen-configure/SKILL.md +299 -0
- package/skills/industries-google-maps-api-key-settings-configure/SKILL.md +87 -0
- package/skills/industries-grantmaking-intelligence-settings-open/SKILL.md +58 -0
- package/skills/industries-hc-score-category-settings-configure/SKILL.md +167 -0
- package/skills/industries-health-engagement-settings-configure/SKILL.md +218 -0
- package/skills/industries-home-health-agentforce-setup-configure/SKILL.md +131 -0
- package/skills/industries-home-health-bundling-policy-create/SKILL.md +50 -0
- package/skills/industries-home-health-entity-labels-configure/SKILL.md +29 -0
- package/skills/industries-home-health-fsl-package-deploy/SKILL.md +71 -0
- package/skills/industries-home-health-fsl-settings-validate/SKILL.md +27 -0
- package/skills/industries-home-health-guided-setup-care-and-skill-get/SKILL.md +80 -0
- package/skills/industries-home-health-guided-setup-configure/SKILL.md +836 -0
- package/skills/industries-home-health-guided-setup-enable-org-fsl-get/SKILL.md +55 -0
- package/skills/industries-home-health-guided-setup-get-org-ready-get/SKILL.md +61 -0
- package/skills/industries-home-health-licenses-assign/SKILL.md +27 -0
- package/skills/industries-home-health-operating-hours-create/SKILL.md +40 -0
- package/skills/industries-home-health-scheduling-policy-create/SKILL.md +41 -0
- package/skills/industries-home-health-service-objective-create/SKILL.md +22 -0
- package/skills/industries-home-health-skills-create/SKILL.md +31 -0
- package/skills/industries-home-health-users-create/SKILL.md +29 -0
- package/skills/industries-icm-act3-toggles-configure/SKILL.md +198 -0
- package/skills/industries-icm-act5-genai-suggested-assessments-configure/SKILL.md +361 -0
- package/skills/industries-icm-act6-mcg-integration-configure/SKILL.md +550 -0
- package/skills/industries-integrated-care-management-configure/SKILL.md +168 -0
- package/skills/industries-object-enablement-configure/SKILL.md +86 -0
- package/skills/industries-tpm-system-processing-service-configure/SKILL.md +64 -0
- package/skills/insurance-brokerage-agency-billing-configure/SKILL.md +1 -3
- package/skills/integration-apex-settings-configure/SKILL.md +61 -0
- package/skills/marketing-e360-email-archiving-configure/SKILL.md +73 -0
- package/skills/marketing-message-test/SKILL.md +1 -3
- package/skills/nonprofit-fundraising-configure/SKILL.md +240 -0
- package/skills/nonprofit-fundraising-configure/references/gotchas.md +26 -0
- package/skills/nonprofit-fundraising-configure/references/mcp-invocation.md +678 -0
- package/skills/nonprofit-fundraising-configure/references/permission-targeting.md +35 -0
- package/skills/nonprofit-volunteer-management-model-get/SKILL.md +166 -0
- package/skills/nonprofit-volunteer-management-model-get/references/entities.md +315 -0
- package/skills/nonprofit-volunteer-management-model-get/references/relationships.md +175 -0
- package/skills/nonprofit-volunteer-management-model-get/references/themes.md +143 -0
- package/skills/nonprofit-volunteer-management-records-create/SKILL.md +121 -0
- package/skills/nonprofit-volunteer-management-records-create/references/field-guide.md +284 -0
- package/skills/nonprofit-volunteer-management-records-create/references/mcp-invocation.md +248 -0
- package/skills/nonprofit-volunteer-management-records-create/references/review-format.md +140 -0
- package/skills/nonprofit-volunteer-management-records-create/scripts/expand-series.py +632 -0
- package/skills/nonprofit-volunteer-management-records-create/scripts/render-review-table.py +419 -0
- package/skills/nonprofit-volunteer-management-records-create/scripts/tests/test_expand_series.py +690 -0
- package/skills/nonprofit-volunteer-management-records-create/scripts/tests/test_render_review_table.py +421 -0
- package/skills/nonprofit-volunteer-management-structure-generate/SKILL.md +119 -0
- package/skills/nonprofit-volunteer-management-structure-generate/references/configuration-decisions.md +159 -0
- package/skills/nonprofit-volunteer-management-structure-generate/references/discovery-interview.md +137 -0
- package/skills/nonprofit-volunteer-management-structure-generate/references/edge-cases.md +48 -0
- package/skills/nonprofit-volunteer-management-structure-generate/references/mcp-invocation.md +75 -0
- package/skills/nonprofit-volunteer-management-structure-generate/references/plan-output.md +141 -0
- package/skills/platform-custom-field-generate/SKILL.md +1 -0
- package/skills/platform-custom-field-generate/references/advanced-picklists.md +5 -5
- package/skills/platform-custom-metadata-type-generate/SKILL.md +3 -0
- package/skills/platform-custom-object-generate/SKILL.md +4 -0
- package/skills/platform-custom-permissions-configure/SKILL.md +687 -0
- package/skills/platform-custom-setting-generate/SKILL.md +3 -0
- package/skills/platform-datamask-run/SKILL.md +1 -5
- package/skills/platform-label-workbench-import-create/SKILL.md +67 -0
- package/skills/platform-permission-set-generate/SKILL.md +3 -0
- package/skills/platform-privacy-agent-settings-configure/SKILL.md +752 -0
- package/skills/platform-salesforce-connect-adapter-generate/SKILL.md +1 -3
- package/skills/platform-sandbox-configure/SKILL.md +1 -3
- package/skills/platform-value-set-generate/SKILL.md +3 -0
- package/skills/sales-call-scoring-configure/SKILL.md +1 -5
- package/skills/service-agentforce-channel-configure/SKILL.md +1 -3
- package/skills/service-agentforce-human-escalation-configure/SKILL.md +1 -3
- package/skills/service-catalog-template-coordinate/SKILL.md +1 -3
- package/skills/service-concierge-portal-generate/SKILL.md +1 -3
- package/skills/service-email-to-case-configure/SKILL.md +1 -5
- package/skills/service-itsm-agentic-setup-agent-runtime-access-assign/SKILL.md +1 -3
- package/skills/service-itsm-agentic-setup-agentforce-coordinate/SKILL.md +1 -3
- package/skills/service-itsm-agentic-setup-agentforce-studio-configure/SKILL.md +1 -3
- package/skills/service-itsm-agentic-setup-agentforce-studio-validate/SKILL.md +1 -3
- package/skills/service-itsm-agentic-setup-cmdb-access-assign/SKILL.md +1 -3
- package/skills/service-itsm-agentic-setup-cmdb-bundle-deploy/SKILL.md +1 -5
- package/skills/service-itsm-agentic-setup-cmdb-configure/SKILL.md +1 -3
- package/skills/service-itsm-agentic-setup-cmdb-coordinate/SKILL.md +1 -3
- package/skills/service-itsm-agentic-setup-cmdb-discovery-configure/SKILL.md +1 -3
- package/skills/service-itsm-agentic-setup-employee-agent-configure/SKILL.md +1 -3
- package/skills/service-itsm-agentic-setup-fulfiller-agent-configure/SKILL.md +1 -3
- package/skills/service-itsm-agentic-setup-incident-sla-configure/SKILL.md +1 -0
- package/skills/service-itsm-agentic-setup-itsm-agentforce-permset-assign/SKILL.md +1 -3
- package/skills/service-itsm-agentic-setup-uel-user-create/SKILL.md +1 -9
- package/skills/service-itsm-incident-mgmt-configure/SKILL.md +1 -5
- package/skills/service-itsm-incident-priority-configure/SKILL.md +1 -3
- package/skills/service-itsm-slack-itservice-configure/SKILL.md +1 -3
- package/skills/service-itsm-swarming-configure/SKILL.md +1 -3
- package/skills/service-itsm-teams-configure/SKILL.md +1 -3
- package/skills/service-itsm-teams-debug/SKILL.md +1 -3
- package/skills/service-itsm-teams-employee-agent-configure/SKILL.md +1 -3
- package/skills/service-itsm-teams-itdesk-configure/SKILL.md +1 -3
- package/skills/service-itsm-teams-itservice-configure/SKILL.md +1 -3
- package/skills/service-native-voice-recording-transcription-configure/SKILL.md +1 -3
- package/skills/service-omni-agent-users-create/SKILL.md +1 -3
- package/skills/service-omni-agent-work-sharing-configure/SKILL.md +1 -3
- package/skills/service-omni-attribute-routing-configure/SKILL.md +1 -3
- package/skills/service-omni-base-settings-configure/SKILL.md +1 -3
- package/skills/service-omni-channel-inventory-analyze/SKILL.md +1 -3
- package/skills/service-omni-channel-limits-analyze/SKILL.md +1 -3
- package/skills/service-omni-channel-setup-coordinate/SKILL.md +1 -3
- package/skills/service-omni-command-center-analyze/SKILL.md +1 -3
- package/skills/service-omni-command-center-configure/SKILL.md +1 -3
- package/skills/service-omni-permission-set-assign/SKILL.md +1 -3
- package/skills/service-omni-presence-status-deploy/SKILL.md +1 -3
- package/skills/service-omni-presence-user-config-deploy/SKILL.md +1 -3
- package/skills/service-omni-queue-deploy/SKILL.md +1 -3
- package/skills/service-omni-queue-members-assign/SKILL.md +1 -3
- package/skills/service-omni-queue-routing-config-deploy/SKILL.md +1 -3
- package/skills/service-omni-routing-flow-deploy/SKILL.md +1 -3
- package/skills/service-omni-service-channel-configure/SKILL.md +1 -3
- package/skills/service-omni-sidebar-configure/SKILL.md +1 -3
- package/skills/service-omni-skills-based-routing-configure/SKILL.md +1 -3
- package/skills/service-omni-supervisor-config-deploy/SKILL.md +1 -3
- package/skills/service-omni-supervisor-permset-assign/SKILL.md +1 -3
- package/skills/service-omni-supervisor-surface-deploy/SKILL.md +1 -3
- package/skills/service-omni-supervisor-users-create/SKILL.md +1 -3
- package/skills/service-omni-work-skill-routing-configure/SKILL.md +1 -3
- package/skills/tableau-next-asset-create/README.md +0 -65
|
@@ -0,0 +1,505 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: automotive-cloud-mfg-sales-concierge-orchestrator-configure
|
|
3
|
+
description: "Enable the foundational Manufacturing Cloud org preferences (feature toggles) and assign the supporting permission sets that the Salesforce Industries Sales Concierge agent depends on — entirely headless and API-first, driven only through the Headless 360 MCP server's dispatch tool. This is \"Act 0\" (Enable the Foundation) of the Industries Sales Concierge steel thread and it is SETUP ONLY. It first enables the Agentforce platform prerequisites (Einstein GPT Platform → Agent Platform → Einstein Copilot) via Connect API, then turns on Criteria-Based Search & Filter via Aura controller, Appraisal Management and Partner Lead Management via Connect API, Quotes Without Opportunity via Metadata API; it hands the two legally-gated preferences — MFG Agents and Manufacturing Generative AI — off to the user to enable in the Setup UI (both preferences have legal terms-and-conditions consent popups that have no headless path), STOPS AND WAITS for user confirmation, then resumes; and it assigns the Agentforce-platform and Manufacturing foundation permission sets to the target user via the sObject REST API. TRIGGER when the user wants to enable the Manufacturing Cloud foundation, set up Industries Sales Concierge prerequisites, enable the Agentforce / Einstein GPT platform prerequisites, turn on the Manufacturing org preferences, or assign the Manufacturing foundation permission sets. DO NOT TRIGGER when the user wants to create business data, run Data Pipelines jobs, deploy the Agentforce agent, create partner lead records, or create quote records — those are later Acts served by separate skills, not this setup-only foundation skill."
|
|
4
|
+
metadata:
|
|
5
|
+
version: "1.0"
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Enable Industries Sales Concierge Foundation (Act 0)
|
|
9
|
+
|
|
10
|
+
Enable the foundational **Manufacturing Cloud** org preferences and assign the supporting
|
|
11
|
+
permission sets that the **Industries Sales Concierge** agent depends on — directly in a live org,
|
|
12
|
+
**headlessly and API-first, using only the Headless 360 MCP server's `dispatch` tool**.
|
|
13
|
+
|
|
14
|
+
This is **Act 0 — "Enable the Foundation"** of the Industries Sales Concierge steel thread. Its job
|
|
15
|
+
is narrow and deliberate: **enable the Agentforce platform prerequisites via Connect API (Einstein
|
|
16
|
+
GPT Platform, Agent Platform, Einstein Copilot — in that mandatory order), then enable the
|
|
17
|
+
remaining Manufacturing foundation preferences via Connect API, Aura controller, and Metadata API,
|
|
18
|
+
hand the two legally-gated preferences — MFG Agents and Manufacturing Generative AI — to the user
|
|
19
|
+
to enable in the Setup UI (STOP and WAIT for user confirmation, then resume), and assign the
|
|
20
|
+
supporting permission sets** — so the later Acts (create data, run Data Pipelines, deploy the agent)
|
|
21
|
+
start from a working foundation.
|
|
22
|
+
|
|
23
|
+
This skill **mutates a live org**. Everything it does runs through `dispatch`.
|
|
24
|
+
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
## The command surface — `dispatch` ONLY (no sf CLI, no curl, no browser)
|
|
28
|
+
|
|
29
|
+
Every call this skill makes is a single MCP tool call:
|
|
30
|
+
|
|
31
|
+
```text
|
|
32
|
+
dispatch(method, path, body?, query_params?)
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
- The MCP server resolves the org, instance URL, and bearer token on its own. **Do not** ask for or
|
|
36
|
+
handle tokens, instance URLs, org IDs, or API versions as inputs to a call — `dispatch` supplies
|
|
37
|
+
them. Discover the API version once (below) only so you can build versioned REST paths.
|
|
38
|
+
- **Connect API surface:** `PATCH /services/data/v<apiVersion>/setup/org/preferences/<preferenceName>`
|
|
39
|
+
with body `{"desiredState": "true"}` enables a preference. `GET` at the same path returns
|
|
40
|
+
`{"isPreferenceEnabled": true|false}`.
|
|
41
|
+
- **Aura controller surface:** The CBSF preference uses a headless Aura controller route at
|
|
42
|
+
`/headless/invoke/platform/criteria-based-search-and-filter/set-criteria-based-search-and-filter-pref`.
|
|
43
|
+
- **Metadata surface:** `PUT /services/data/v<apiVersion>/headless/metadata` with an `xmlRep` body.
|
|
44
|
+
`GET` with query params `type` + `fullName` reads the current component. Always use the
|
|
45
|
+
fully-qualified path (`/services/data/v<apiVersion>/headless/metadata`), never bare
|
|
46
|
+
`/headless/metadata`.
|
|
47
|
+
- **Metadata PUT body format — `xmlRep` is mandatory.** The endpoint does NOT accept a
|
|
48
|
+
`"metadata": {key: value}` shorthand. Every PUT must supply the full Metadata API XML
|
|
49
|
+
representation in the `xmlRep` field:
|
|
50
|
+
```json
|
|
51
|
+
{
|
|
52
|
+
"type": "<SettingsTypeName>",
|
|
53
|
+
"fullName": "<FullName>",
|
|
54
|
+
"xmlRep": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<SettingsTypeName xmlns=\"http://soap.sforce.com/2006/04/metadata\">\n <fieldName>value</fieldName>\n</SettingsTypeName>"
|
|
55
|
+
}
|
|
56
|
+
```
|
|
57
|
+
For GET (read), the body is simply `{"type": "<SettingsTypeName>", "fullName": "<FullName>"}` —
|
|
58
|
+
no `xmlRep` needed for reads. Because a Metadata write is a **full-record replace**, always
|
|
59
|
+
**read the current component before writing** and include only the fields you intend to set in
|
|
60
|
+
the `xmlRep`, so you don't reset omitted fields to defaults.
|
|
61
|
+
- **Native REST surfaces** (sObject, SOQL `query`) pass straight through `dispatch` at their
|
|
62
|
+
fully-qualified `/services/data/v<apiVersion>/...` paths.
|
|
63
|
+
|
|
64
|
+
> **Absolute rules (from the Headless 360 factory):**
|
|
65
|
+
> - **`sf` CLI must NEVER appear as a step here.** Hosted-MCP customers have no shell.
|
|
66
|
+
> - **No browser / no manual Setup click — with exactly two deliberate, documented exceptions:** the
|
|
67
|
+
> MFG Agents and Manufacturing Generative AI legal-consent preferences (see step 7), which have no
|
|
68
|
+
> headless path at all. Every other step is fully headless. If a non-handoff step cannot be
|
|
69
|
+
> completed by `dispatch`, STOP and report the exact failing response — do not reach for a
|
|
70
|
+
> browser workaround.
|
|
71
|
+
|
|
72
|
+
---
|
|
73
|
+
|
|
74
|
+
## Be interactive — narrate, ask, and handle termination gracefully
|
|
75
|
+
|
|
76
|
+
This skill runs against a live org, so keep the user in the loop the whole way:
|
|
77
|
+
|
|
78
|
+
- **Narrate every step before and after you do it** — what you're about to call, then what came back.
|
|
79
|
+
- **Ask when a real decision is needed** — which org, which target user, and the MFG Agents +
|
|
80
|
+
Generative-AI UI handoff pause (step 7), where you must **wait for the user to confirm** before
|
|
81
|
+
resuming.
|
|
82
|
+
- **Handle errors and terminations gracefully.** On any failure, report the exact API response
|
|
83
|
+
(status + body), say which preference it affected, then offer: retry, skip-and-continue, or stop.
|
|
84
|
+
|
|
85
|
+
---
|
|
86
|
+
|
|
87
|
+
## Scope — SETUP ONLY
|
|
88
|
+
|
|
89
|
+
- **In scope**
|
|
90
|
+
- Enabling Manufacturing Cloud org preferences via three surfaces: Connect API PATCH, Aura
|
|
91
|
+
controller, and Metadata API PUT.
|
|
92
|
+
- Handing the `MfgAgentsEnabled` and `ManufacturingGenAIPref` preferences off to the user to
|
|
93
|
+
enable in the Setup UI (both are legally gated — see step 7), then resuming.
|
|
94
|
+
- Verifying the required Permission Set **Licenses** (read-only) and assigning the derived
|
|
95
|
+
**permission sets** to a target user via the sObject REST API.
|
|
96
|
+
|
|
97
|
+
- **Out of scope** (delegate — do NOT attempt here)
|
|
98
|
+
- Creating business data of any kind (accounts, assets, leads, partner lead management records,
|
|
99
|
+
quote records).
|
|
100
|
+
- Running Data Pipelines (DPE) jobs — a later Act.
|
|
101
|
+
- Deploying the Agentforce agent, its topics, or actions.
|
|
102
|
+
- Provisioning the underlying Permission Set **Licenses** — those are org entitlements granted by
|
|
103
|
+
license and cannot be created via API; this skill reads and reports them, then assigns the derived
|
|
104
|
+
permission sets.
|
|
105
|
+
- **OmniStudio in any form — explicitly out of scope for this steel thread.**
|
|
106
|
+
- **Named credentials**, integration procedures, FlexCards, the messaging channel, ASA, and MIAW —
|
|
107
|
+
all out of scope for this steel thread.
|
|
108
|
+
- **DPE clone and activation** — a separate skill, integrated later.
|
|
109
|
+
- **Act 6** in its entirety, and any verification of the deployed agent's actions.
|
|
110
|
+
|
|
111
|
+
---
|
|
112
|
+
|
|
113
|
+
## Required Inputs
|
|
114
|
+
|
|
115
|
+
- **Target org** — the org the MCP server is connected to. Confirm with the user before mutating.
|
|
116
|
+
- **Target user** for permission-set assignment — defaults to the authenticated user. Ask only if
|
|
117
|
+
the user wants to provision a different user.
|
|
118
|
+
- **Desired scope** — default is the full Sales Concierge foundation (all preferences below).
|
|
119
|
+
|
|
120
|
+
**Do not hardcode** org IDs, instance URLs, access tokens, user IDs, permission-set IDs, or the API
|
|
121
|
+
version. Resolve them all at runtime through `dispatch`.
|
|
122
|
+
|
|
123
|
+
---
|
|
124
|
+
|
|
125
|
+
## The 9 preferences this skill enables
|
|
126
|
+
|
|
127
|
+
| # | Org Preference | Method | Surface / Endpoint | Notes |
|
|
128
|
+
|---|---|---|---|---|
|
|
129
|
+
| 1 | `EinsteinGPTPlatformEnabled` | PATCH | `/services/data/v<apiVersion>/setup/org/preferences/EinsteinGPTPlatformEnabled` | **Connect API.** Agentforce platform prerequisite — enable FIRST. Body: `{"desiredState": "true"}`. |
|
|
130
|
+
| 2 | `AgentPlatformEnabled` | PATCH | `/services/data/v<apiVersion>/setup/org/preferences/AgentPlatformEnabled` | **Connect API.** Agentforce platform prerequisite — enable after #1. Body: `{"desiredState": "true"}`. |
|
|
131
|
+
| 3 | `EinsteinGPTCopilotEnabled` | PATCH | `/services/data/v<apiVersion>/setup/org/preferences/EinsteinGPTCopilotEnabled` | **Connect API.** Agentforce platform prerequisite — enable after #2. Body: `{"desiredState": "true"}`. |
|
|
132
|
+
| 4 | `CriteriaBasedSearchAndFilterEnabled` | PATCH | `/headless/invoke/platform/criteria-based-search-and-filter/set-criteria-based-search-and-filter-pref` | **Aura controller.** CBSF master gate — enables the Criteria-Based Search and Filter feature. Body: `{"enable": true}`. |
|
|
133
|
+
| 5 | `AppraisalManagementEnabled` | PATCH | `/services/data/v<apiVersion>/setup/org/preferences/AppraisalManagementEnabled` | **Connect API.** Master appraisal-management toggle. Body: `{"desiredState": "true"}`. |
|
|
134
|
+
| 6 | `MfgPartnerLeadMgmtEnabled` | PATCH | `/services/data/v<apiVersion>/setup/org/preferences/MfgPartnerLeadMgmtEnabled` | **Connect API.** Partner lead management. Body: `{"desiredState": "true"}`. |
|
|
135
|
+
| 7 | `QuotesWithoutOppEnabled` | PUT | `/services/data/v<apiVersion>/headless/metadata` | **Metadata API.** `QuoteSettings` / `Quote` / `enableQuotesWithoutOppEnabled`. Quotes without opportunity — commerce dependency for the Create-Quote action (later Act). |
|
|
136
|
+
| 8 | **`MfgAgentsEnabled`** | — | **Setup UI (user handoff — see step 7)** | **Legally gated.** Enabling it triggers a legal terms-and-conditions consent popup in the Setup UI that has **no headless path**. The skill **pauses and asks the user to enable it in the UI** alongside Manufacturing Generative AI (#9), waits for user confirmation, then resumes. |
|
|
137
|
+
| 9 | **`ManufacturingGenAIPref`** | — | **Setup UI (user handoff — see step 7)** | **Legally gated.** Enabling it triggers a legal terms-and-conditions consent popup in the Setup UI that has **no headless path** — it is opted out of the Metadata API for legal reasons (`mdApiOptOutReason="LEGAL"`). The skill **pauses and asks the user to enable it in the UI**, waits for user confirmation, then resumes. |
|
|
138
|
+
|
|
139
|
+
### Enablement order (load-bearing)
|
|
140
|
+
|
|
141
|
+
```text
|
|
142
|
+
#1 → #2 → #3 → #4 → #5 → #6 → then #7, #8, #9 in any order
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
- **#1 before #2:** Agent Platform requires Einstein GPT Platform on.
|
|
146
|
+
- **#2 before #3:** Einstein Copilot requires Agent Platform on.
|
|
147
|
+
|
|
148
|
+
### Verify reads for each surface
|
|
149
|
+
|
|
150
|
+
| Surface | Verify endpoint | Expected success response |
|
|
151
|
+
|---|---|---|
|
|
152
|
+
| Connect API (#1–#3, #5, #6) | `GET /services/data/v<apiVersion>/setup/org/preferences/<preferenceName>` | `{"isPreferenceEnabled": true}` |
|
|
153
|
+
| Aura controller (#4) | `GET /headless/invoke/platform/criteria-based-search-and-filter` | `{"status": "SUCCESS", "isPrefEnabled": true}` |
|
|
154
|
+
| Metadata API (#7) | `GET /services/data/v<apiVersion>/headless/metadata?type=QuoteSettings&fullName=Quote` | XML body containing `<enableQuotesWithoutOppEnabled>true</enableQuotesWithoutOppEnabled>` |
|
|
155
|
+
|
|
156
|
+
### The Industries Sales Concierge access-check chain
|
|
157
|
+
|
|
158
|
+
The Industries Sales Concierge agent's org-access gate requires ALL of the following features
|
|
159
|
+
to be active simultaneously:
|
|
160
|
+
|
|
161
|
+
- Criteria-Based Search and Filter (`CriteriaBasedSearchAndFilterEnabled`)
|
|
162
|
+
- MFG Agents (`MfgAgentsEnabled` — enabled via UI handoff in step 7)
|
|
163
|
+
- Partner Lead Management (`MfgPartnerLeadMgmtEnabled`)
|
|
164
|
+
|
|
165
|
+
If any leaf is false after the writes and UI handoffs, the agent's access check fails.
|
|
166
|
+
|
|
167
|
+
---
|
|
168
|
+
|
|
169
|
+
## Workflow
|
|
170
|
+
|
|
171
|
+
Follow in order. Every mutation is followed by a verify read. Report progress per step.
|
|
172
|
+
|
|
173
|
+
### 1. Preflight — confirm the connected org and resolve runtime facts
|
|
174
|
+
|
|
175
|
+
Discover the API version (used to build every versioned REST path) and the authenticated user, all
|
|
176
|
+
through `dispatch`:
|
|
177
|
+
|
|
178
|
+
```text
|
|
179
|
+
dispatch("GET", "/services/data/")
|
|
180
|
+
# → array of {label, url, version}; take the highest version as <apiVersion>.
|
|
181
|
+
|
|
182
|
+
dispatch("GET", "/services/data/v<apiVersion>/chatter/users/me")
|
|
183
|
+
# → the current user (id, username). Capture id → <userId>, username → <username>.
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
Tell the user which org and user this run targets and confirm before mutating.
|
|
187
|
+
|
|
188
|
+
### 2. Write-then-verify pattern (applies to ALL preference writes in steps 3–5)
|
|
189
|
+
|
|
190
|
+
For each preference on Connect API, Aura controller, or Metadata API, apply this pattern:
|
|
191
|
+
|
|
192
|
+
1. **Write** — PATCH (Connect API / Aura) or PUT (Metadata API) to enable the preference.
|
|
193
|
+
2. **Verify** — GET at the verify endpoint to confirm the preference is now enabled.
|
|
194
|
+
|
|
195
|
+
If a write "succeeds" but the verify reads back as not enabled, that preference is almost certainly
|
|
196
|
+
gated behind a missing Permission Set License — note it and continue; step 8 verifies the PSLs.
|
|
197
|
+
|
|
198
|
+
### 3. Enable the Agentforce platform prerequisites — Connect API, in order
|
|
199
|
+
|
|
200
|
+
These three must be enabled sequentially. Each uses the write-then-verify pattern:
|
|
201
|
+
|
|
202
|
+
```text
|
|
203
|
+
# Write:
|
|
204
|
+
dispatch("PATCH", "/services/data/v<apiVersion>/setup/org/preferences/<preferenceName>",
|
|
205
|
+
body={"desiredState": "true"})
|
|
206
|
+
|
|
207
|
+
# Verify:
|
|
208
|
+
dispatch("GET", "/services/data/v<apiVersion>/setup/org/preferences/<preferenceName>")
|
|
209
|
+
# → {"isPreferenceEnabled": true}
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
| Order | Preference Name | Notes |
|
|
213
|
+
|---|---|---|
|
|
214
|
+
| First | `EinsteinGPTPlatformEnabled` | Master Einstein GPT switch. If verify reads `false` after write, the `EinsteinGPTPlatformAddOn` PSL is missing — license-level blocker. |
|
|
215
|
+
| Second | `AgentPlatformEnabled` | Only after `EinsteinGPTPlatformEnabled` verifies `true`. |
|
|
216
|
+
| Third | `EinsteinGPTCopilotEnabled` | Only after `AgentPlatformEnabled` verifies `true`. **Silent-failure mode:** PATCH succeeds but verify reads `false` when the `EinsteinGPTCopilot` org permission (Einstein Copilot add-on license) is missing — report as license-level blocker and **continue** (Manufacturing prefs do not depend on this). |
|
|
217
|
+
|
|
218
|
+
### 4. Enable the Manufacturing foundation preferences
|
|
219
|
+
|
|
220
|
+
**#4 — CriteriaBasedSearchAndFilterEnabled (Aura controller):**
|
|
221
|
+
Enable the CBSF org preference via the Aura controller headless route.
|
|
222
|
+
|
|
223
|
+
```text
|
|
224
|
+
# Write:
|
|
225
|
+
dispatch("PATCH", "/headless/invoke/platform/criteria-based-search-and-filter/set-criteria-based-search-and-filter-pref",
|
|
226
|
+
body={"enable": true})
|
|
227
|
+
|
|
228
|
+
# Verify:
|
|
229
|
+
dispatch("GET", "/headless/invoke/platform/criteria-based-search-and-filter")
|
|
230
|
+
# → {"status": "SUCCESS", "isPrefEnabled": true}
|
|
231
|
+
```
|
|
232
|
+
|
|
233
|
+
**#5, #6 — AppraisalManagementEnabled, MfgPartnerLeadMgmtEnabled (Connect API):**
|
|
234
|
+
Continue with the same Connect API write-then-verify pattern from step 3:
|
|
235
|
+
|
|
236
|
+
| Order | Preference Name | Notes |
|
|
237
|
+
|---|---|---|
|
|
238
|
+
| First | `AppraisalManagementEnabled` | Master appraisal-management toggle. |
|
|
239
|
+
| Any | `MfgPartnerLeadMgmtEnabled` | Partner lead management. No ordering dependency. |
|
|
240
|
+
|
|
241
|
+
### 5. Enable Quotes — Metadata API
|
|
242
|
+
|
|
243
|
+
Apply the read-merge-write pattern for the Metadata API surface. Read the current `QuoteSettings`
|
|
244
|
+
component first (to preserve sibling fields), flip `enableQuotesWithoutOppEnabled` to `true`, then
|
|
245
|
+
PUT the full XML body back.
|
|
246
|
+
|
|
247
|
+
```text
|
|
248
|
+
# Read:
|
|
249
|
+
dispatch("GET", "/services/data/v<apiVersion>/headless/metadata",
|
|
250
|
+
query_params={"type": "QuoteSettings", "fullName": "Quote"})
|
|
251
|
+
# → {type, fullName, xmlRep} — contains enableQuote and enableQuotesWithoutOppEnabled
|
|
252
|
+
|
|
253
|
+
# Write (with enableQuotesWithoutOppEnabled flipped to true in the xmlRep):
|
|
254
|
+
dispatch("PUT", "/services/data/v<apiVersion>/headless/metadata",
|
|
255
|
+
body={"type": "QuoteSettings", "fullName": "Quote", "xmlRep": "<full XML body>"})
|
|
256
|
+
|
|
257
|
+
# Verify:
|
|
258
|
+
dispatch("GET", "/services/data/v<apiVersion>/headless/metadata",
|
|
259
|
+
query_params={"type": "QuoteSettings", "fullName": "Quote"})
|
|
260
|
+
# → confirm <enableQuotesWithoutOppEnabled>true</enableQuotesWithoutOppEnabled>
|
|
261
|
+
```
|
|
262
|
+
|
|
263
|
+
### 6. (Marker) — headless writes complete
|
|
264
|
+
|
|
265
|
+
All headless preferences (#1–#7) are now written and verified. The two remaining legally-gated
|
|
266
|
+
preferences — MFG Agents (#8) and Manufacturing Generative AI (#9) — are handled next as a user
|
|
267
|
+
UI handoff.
|
|
268
|
+
|
|
269
|
+
### 7. Enable MFG Agents and Manufacturing Generative AI — USER UI HANDOFF (HARD STOP — wait for user)
|
|
270
|
+
|
|
271
|
+
`MfgAgentsEnabled` and `ManufacturingGenAIPref` **cannot be enabled headlessly.** Both are opted out
|
|
272
|
+
of the Metadata API for legal reasons, and enabling either surfaces a **legal terms-and-conditions
|
|
273
|
+
consent popup in the Setup UI** that no headless surface can satisfy. **Do not attempt a Connect
|
|
274
|
+
PATCH, Metadata write, or any headless workaround for these preferences** — they will not carry the
|
|
275
|
+
legal consent.
|
|
276
|
+
|
|
277
|
+
> **⚠️ HARD BLOCKING CHECKPOINT — DO NOT PROCEED PAST THIS POINT UNTIL THE USER CONFIRMS.**
|
|
278
|
+
> This is NOT optional. You MUST stop execution here, present the instructions below, and then
|
|
279
|
+
> WAIT for the user's explicit confirmation message (e.g. "done", "enabled", "I've toggled them on")
|
|
280
|
+
> before taking ANY further action. Do not skip this step. Do not proceed "for now" and come back
|
|
281
|
+
> later. Do not continue to Step 8 without user confirmation. The user must confirm OR explicitly
|
|
282
|
+
> tell you to skip these preferences and continue without them.
|
|
283
|
+
|
|
284
|
+
Instead, hand off to the user, then **STOP and WAIT**:
|
|
285
|
+
|
|
286
|
+
1. **STOP execution and clearly tell the user** you are pausing here for two mandatory manual steps,
|
|
287
|
+
and exactly why (the legal consent popups have no API path).
|
|
288
|
+
2. **Give precise instructions:** in the target org:
|
|
289
|
+
- Go to **Setup → Manufacturing Cloud → MFG Agents**, toggle on **MFG Agents**, and **accept the
|
|
290
|
+
legal terms-and-conditions popup** that appears.
|
|
291
|
+
- Go to **Setup → Einstein / Manufacturing Generative AI setup**, toggle on **Manufacturing
|
|
292
|
+
Generative AI**, and **accept the legal terms-and-conditions popup** that appears.
|
|
293
|
+
3. **STOP HERE. Do not proceed.** Wait for the user to respond with explicit confirmation that they
|
|
294
|
+
have completed both UI steps and accepted the legal terms. Acceptable responses include: "done",
|
|
295
|
+
"enabled them", "toggled them on", "skip these", or similar. If the user says to skip, note them
|
|
296
|
+
as open items and proceed to Step 8. **Any other situation: WAIT.**
|
|
297
|
+
4. **On confirmation, verify headlessly** (reads are allowed) and resume:
|
|
298
|
+
|
|
299
|
+
```text
|
|
300
|
+
dispatch("GET", "/services/data/v<apiVersion>/setup/org/preferences/MfgAgentsEnabled")
|
|
301
|
+
# → expect {"isPreferenceEnabled": true}
|
|
302
|
+
|
|
303
|
+
dispatch("GET", "/services/data/v<apiVersion>/setup/org/preferences/ManufacturingGenAIPref")
|
|
304
|
+
# → expect {"isPreferenceEnabled": true}
|
|
305
|
+
```
|
|
306
|
+
|
|
307
|
+
- If both read `true`, confirm to the user and continue to step 8.
|
|
308
|
+
- If either still reads `false`, tell the user which toggle/consent didn't take, ask them to
|
|
309
|
+
re-check the relevant Setup page and re-accept the popup, and re-verify. Offer to continue with
|
|
310
|
+
the rest of the foundation and leave the failing preference(s) as open items if they prefer —
|
|
311
|
+
the permission-set assignments in step 8 do not depend on them.
|
|
312
|
+
|
|
313
|
+
### 8. Assign the foundation permission sets (sObject REST, API-first)
|
|
314
|
+
|
|
315
|
+
Salesforce licensing for a feature is two calls — missing either one silently breaks things with no error:
|
|
316
|
+
|
|
317
|
+
1. **`PermissionSetLicenseAssign`** — consumes a seat from a `PermissionSetLicense` bucket (bookkeeping only, grants no access by itself).
|
|
318
|
+
2. **`PermissionSetAssignment`** — assigns the actual `PermissionSet` (the CRUD/FLS/user-permission grants) to the user. **This is the call that actually grants access.**
|
|
319
|
+
|
|
320
|
+
Assign **both** the PSL and its paired PermissionSet for each feature below. A `DUPLICATE_VALUE` on
|
|
321
|
+
either write means it is already assigned — treat as success and continue.
|
|
322
|
+
|
|
323
|
+
**8a. Verify PSL presence (resolve by exact DeveloperName).**
|
|
324
|
+
|
|
325
|
+
```text
|
|
326
|
+
dispatch("GET", "/services/data/v<apiVersion>/query", query_params={
|
|
327
|
+
"q": "SELECT Id, DeveloperName, MasterLabel FROM PermissionSetLicense WHERE DeveloperName IN ('EinsteinGPTCopilotPsl','EinsteinGPTPromptTemplatesPsl','ManufacturingFoundationUserPsl','CriteriaBasedSearchAndFilterPsl','ManufacturingPartnerLeadMgmtPsl','IndustriesServiceExcellencePsl')"
|
|
328
|
+
})
|
|
329
|
+
```
|
|
330
|
+
|
|
331
|
+
PSL → capability map (verified against a live Manufacturing Cloud central org, 2026-08-21):
|
|
332
|
+
|
|
333
|
+
| # | PSL DeveloperName | Label | Capability it gates |
|
|
334
|
+
|---|---|---|---|
|
|
335
|
+
| 1 | `EinsteinGPTCopilotPsl` | Agentforce (Default) | Agentforce agent runtime — backs CopilotSalesforceUser + CopilotSalesforceAdmin |
|
|
336
|
+
| 2 | `EinsteinGPTPromptTemplatesPsl` | Einstein Prompt Templates | Prompt template invocation |
|
|
337
|
+
| 3 | `ManufacturingFoundationUserPsl` | Manufacturing Foundation User | Base Manufacturing objects |
|
|
338
|
+
| 4 | `CriteriaBasedSearchAndFilterPsl` | Criteria-Based Search and Filter | CBSF objects |
|
|
339
|
+
| 5 | `ManufacturingPartnerLeadMgmtPsl` | Partner Lead Management | Partner lead management |
|
|
340
|
+
| 6 | `IndustriesServiceExcellencePsl` | Industry Service Excellence | Industries base |
|
|
341
|
+
|
|
342
|
+
Any PSL not found in the org means the license is not provisioned — report it as the likely cause of
|
|
343
|
+
a related preference staying off; it needs a license/entitlement grant (out of headless scope).
|
|
344
|
+
|
|
345
|
+
**8b. Assign PSL seats** — for each PSL above, consume a seat:
|
|
346
|
+
|
|
347
|
+
```text
|
|
348
|
+
dispatch("GET", "/services/data/v<apiVersion>/query", query_params={
|
|
349
|
+
"q": "SELECT Id FROM PermissionSetLicense WHERE DeveloperName = '<pslDeveloperName>'"
|
|
350
|
+
})
|
|
351
|
+
dispatch("POST", "/services/data/v<apiVersion>/sobjects/PermissionSetLicenseAssign",
|
|
352
|
+
body={"AssigneeId": "<userId>", "PermissionSetLicenseId": "<pslId>"})
|
|
353
|
+
```
|
|
354
|
+
|
|
355
|
+
`DUPLICATE_VALUE` = already assigned = success.
|
|
356
|
+
|
|
357
|
+
**8c. Resolve and assign PermissionSets by exact Name.**
|
|
358
|
+
|
|
359
|
+
```text
|
|
360
|
+
dispatch("GET", "/services/data/v<apiVersion>/query", query_params={
|
|
361
|
+
"q": "SELECT Id, Name, Label FROM PermissionSet WHERE Name IN ('CopilotSalesforceUser','CopilotSalesforceAdmin','EinsteinGPTPromptTemplateUser','ManufacturingFoundationUserPsl','CriteriaBasedSearchAndFilterPsl','ManufacturingPartnerLeadMgmtPsl','IndustriesServiceExcellence')"
|
|
362
|
+
})
|
|
363
|
+
```
|
|
364
|
+
|
|
365
|
+
PermissionSet → PSL map (verified against a live central org, 2026-08-21):
|
|
366
|
+
|
|
367
|
+
| # | PermissionSet Name | Label | Backing PSL |
|
|
368
|
+
|---|---|---|---|
|
|
369
|
+
| 1 | `CopilotSalesforceUser` | Access Agentforce Default Agent | EinsteinGPTCopilotPsl |
|
|
370
|
+
| 2 | `CopilotSalesforceAdmin` | Agentforce Default Admin | EinsteinGPTCopilotPsl |
|
|
371
|
+
| 3 | `EinsteinGPTPromptTemplateUser` | Prompt Template User | EinsteinGPTPromptTemplatesPsl |
|
|
372
|
+
| 4 | `ManufacturingFoundationUserPsl` | Manufacturing Foundation User | ManufacturingFoundationUserPsl |
|
|
373
|
+
| 5 | `CriteriaBasedSearchAndFilterPsl` | Criteria-Based Search and Filter | CriteriaBasedSearchAndFilterPsl |
|
|
374
|
+
| 6 | `ManufacturingPartnerLeadMgmtPsl` | Partner Lead Management | ManufacturingPartnerLeadMgmtPsl |
|
|
375
|
+
| 7 | `IndustriesServiceExcellence` | Industry Service Excellence | IndustriesServiceExcellencePsl |
|
|
376
|
+
|
|
377
|
+
**8d. The target user Id** is `<userId>` from step 1 (default = authenticated user). If provisioning a
|
|
378
|
+
different user, resolve their Id:
|
|
379
|
+
|
|
380
|
+
```text
|
|
381
|
+
dispatch("GET", "/services/data/v<apiVersion>/query", query_params={
|
|
382
|
+
"q": "SELECT Id, Username FROM User WHERE Username = '<username>'"
|
|
383
|
+
})
|
|
384
|
+
```
|
|
385
|
+
|
|
386
|
+
**8e. Assign each PermissionSet to the target user:**
|
|
387
|
+
|
|
388
|
+
```text
|
|
389
|
+
dispatch("POST", "/services/data/v<apiVersion>/sobjects/PermissionSetAssignment",
|
|
390
|
+
body={"AssigneeId": "<userId>", "PermissionSetId": "<permissionSetId>"})
|
|
391
|
+
```
|
|
392
|
+
|
|
393
|
+
A `DUPLICATE_VALUE` / already-assigned error is benign — treat as success and continue.
|
|
394
|
+
|
|
395
|
+
**8f. Verify the assignments landed** — read back BOTH PSL seats AND PermissionSets:
|
|
396
|
+
|
|
397
|
+
```text
|
|
398
|
+
dispatch("GET", "/services/data/v<apiVersion>/query", query_params={
|
|
399
|
+
"q": "SELECT Id, PermissionSetLicenseId, PermissionSetLicense.DeveloperName FROM PermissionSetLicenseAssign WHERE AssigneeId = '<userId>'"
|
|
400
|
+
})
|
|
401
|
+
```
|
|
402
|
+
|
|
403
|
+
Confirm all 6 PSL seats from the table in 8a are assigned. Report any that are missing.
|
|
404
|
+
|
|
405
|
+
```text
|
|
406
|
+
dispatch("GET", "/services/data/v<apiVersion>/query", query_params={
|
|
407
|
+
"q": "SELECT PermissionSetId, PermissionSet.Name FROM PermissionSetAssignment WHERE AssigneeId = '<userId>'"
|
|
408
|
+
})
|
|
409
|
+
```
|
|
410
|
+
|
|
411
|
+
Confirm all 7 PermissionSets from the table in 8c are present. Report any that are missing.
|
|
412
|
+
|
|
413
|
+
**Notes (from the live org):**
|
|
414
|
+
- Agent/Copilot access (`Einstein_Copilot_User` / `AgentForce_User`) is delivered by the Agentforce
|
|
415
|
+
package, not this foundation — it belongs to a later Act. Do not block on it.
|
|
416
|
+
- Not every org has every permission set — assign the ones that resolve; report any that don't.
|
|
417
|
+
|
|
418
|
+
---
|
|
419
|
+
|
|
420
|
+
## Rules / Constraints
|
|
421
|
+
|
|
422
|
+
| Constraint | Rationale |
|
|
423
|
+
|---|---|
|
|
424
|
+
| `dispatch` only — no `sf` CLI, no `curl`, no browser | Hosted-MCP customers have no shell. |
|
|
425
|
+
| MFG Agents and GenAI are the two deliberate UI handoffs — HARD STOP | Both are legally opted out of every headless surface and require accepting consent popups; there is no API path. Pause, instruct, WAIT for user confirmation, verify, resume. |
|
|
426
|
+
| No hardcoded org IDs, instance URLs, tokens, user IDs, permission-set IDs, or API versions | Portable across orgs; resolve at runtime. |
|
|
427
|
+
| Enable Einstein GPT (#1) before Agent Platform (#2) before Copilot (#3) | Hard ordering dependency. |
|
|
428
|
+
| Verify after every write | A write can "succeed" while a gated field stays false. |
|
|
429
|
+
| The preference table is the source of truth | Enable ONLY the 9 preferences listed. Do NOT attempt additional preferences. |
|
|
430
|
+
| Stay inside setup scope | This is Act 0. Never create data, run pipelines, or deploy the agent. |
|
|
431
|
+
|
|
432
|
+
---
|
|
433
|
+
|
|
434
|
+
## Troubleshooting
|
|
435
|
+
|
|
436
|
+
### Connect API failures
|
|
437
|
+
|
|
438
|
+
| Symptom | Cause | Resolution |
|
|
439
|
+
|---|---|---|
|
|
440
|
+
| PATCH returns error | Preference gated behind a missing PSL | Verify PSLs in step 8a; report missing PSL. |
|
|
441
|
+
| Verify reads `false` after successful write | Silent-failure — underlying permission/license missing | Report the specific PSL blocker and continue. |
|
|
442
|
+
| 404 Not Found | Preference name incorrect or not registered on this org version | Verify the exact preference name from the table. |
|
|
443
|
+
|
|
444
|
+
### Aura controller failures (CBSF)
|
|
445
|
+
|
|
446
|
+
| Symptom | Cause | Resolution |
|
|
447
|
+
|---|---|---|
|
|
448
|
+
| PATCH returns error or 404 | Route not available on this org | Verify the headless invoke route exists; report the exact error. |
|
|
449
|
+
| Verify reads `isPrefEnabled: false` | Feature gated behind a missing PSL | Verify `CriteriaBasedSearchAndFilterPsl` is provisioned. |
|
|
450
|
+
|
|
451
|
+
### Metadata API failures (Quotes)
|
|
452
|
+
|
|
453
|
+
| Symptom | Cause | Resolution |
|
|
454
|
+
|---|---|---|
|
|
455
|
+
| `Invalid field` | Field name wrong for this API version | Re-check against table; if correct, feature is PSL-gated. |
|
|
456
|
+
| Write succeeds but verify shows field `false` | Preference gated behind a missing PSL | Report PSL blocker. |
|
|
457
|
+
| `INSUFFICIENT_ACCESS` | Connected user lacks Customize Application | Report; must use an admin. |
|
|
458
|
+
|
|
459
|
+
### MFG Agents + Generative AI preferences (UI handoff)
|
|
460
|
+
|
|
461
|
+
| Symptom | Cause | Resolution |
|
|
462
|
+
|---|---|---|
|
|
463
|
+
| User asks why these aren't automated | Legal consent popups; opted out of headless surfaces | Explain: enabling them requires accepting legal terms in the Setup UI, which no API can do. These are the two intended manual steps. |
|
|
464
|
+
| GET still `{"isPreferenceEnabled": false}` after the user says they enabled it | Toggle/consent didn't take | Ask the user to re-open the Setup page, re-toggle, and re-accept the popup; re-verify. Offer to continue and leave the failing preference as an open item. |
|
|
465
|
+
|
|
466
|
+
### Permission-set assignment failures
|
|
467
|
+
|
|
468
|
+
| Symptom | Cause | Headless fallback |
|
|
469
|
+
|---|---|---|
|
|
470
|
+
| POST → `DUPLICATE_VALUE` | User already has the set | Benign — treat as success, continue. |
|
|
471
|
+
| Query returns fewer sets than requested | Some sets not present in the org | Assign the ones that resolved; report the missing labels (package not installed). |
|
|
472
|
+
| PSL query returns fewer rows than expected | Not all PSLs provisioned | Report each missing PSL and the preference it blocks. |
|
|
473
|
+
|
|
474
|
+
If none of these resolves an issue, STOP and report the exact API response (status + body) — do not
|
|
475
|
+
fall back to a browser or manual Setup step (except the documented MFG Agents + GenAI handoffs).
|
|
476
|
+
|
|
477
|
+
---
|
|
478
|
+
|
|
479
|
+
## Output Expectations
|
|
480
|
+
|
|
481
|
+
Report, in order:
|
|
482
|
+
1. **Org & user** — the connected org, target user, and resolved API version.
|
|
483
|
+
2. **Per-preference results** — for each of the 9 preferences: skipped (already on), newly enabled
|
|
484
|
+
(wrote + verified), or still off (name the blocker).
|
|
485
|
+
3. **Actions taken** — Connect API writes, Aura controller write, Metadata write, MFG Agents + GenAI
|
|
486
|
+
handoff outcome, permission-set assignments.
|
|
487
|
+
4. **Gaps** — any preference still off and the blocker (PSL/license), and MFG Agents / GenAI if the
|
|
488
|
+
user left them as open items.
|
|
489
|
+
5. **Next step** — the foundation is ready; hand back to the orchestrator for the next Act.
|
|
490
|
+
|
|
491
|
+
---
|
|
492
|
+
|
|
493
|
+
## Cross-Skill Integration
|
|
494
|
+
|
|
495
|
+
This skill is **Act 0** and is designed to be invoked by the **MFG Sales Concierge Foundation
|
|
496
|
+
Orchestrator** (its parent). It does the setup only; every downstream capability is a later Act the
|
|
497
|
+
orchestrator runs after this one succeeds.
|
|
498
|
+
|
|
499
|
+
| Need | Belongs to |
|
|
500
|
+
|---|---|
|
|
501
|
+
| Enable CBSF-specific data/config beyond the toggle | later Act — "cbsf enablement" |
|
|
502
|
+
| Run Data Pipelines (DPE) jobs | later Act — "dpe enablement" |
|
|
503
|
+
| Deploy the Agentforce agent metadata (GenAiAgent/topics/actions) | later Act — `create-mfg-sales-concierge-agent` |
|
|
504
|
+
| Create partner lead management data | later Act — partner lead configure |
|
|
505
|
+
| Create quote setup data | later Act — quote configure |
|