@salesforce/afv-skills 1.65.0 → 1.65.1
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/field-service-data-capture-form-deployer-configure/SKILL.md +2 -23
- package/skills/field-service-data-capture-form-designer-configure/SKILL.md +3 -13
- package/skills/field-service-mobile-branding-configure/SKILL.md +3 -17
- package/skills/field-service-objective-designer-configure/SKILL.md +379 -72
- package/skills/field-service-prework-brief-deployer-configure/SKILL.md +537 -10
- package/skills/field-service-scheduling-policy-designer-query/SKILL.md +1093 -65
- package/skills/field-service-sobject-create-configure/SKILL.md +213 -13
- package/skills/field-service-voice-to-form-configure/SKILL.md +11 -40
- package/skills/field-service-work-rule-designer-configure/SKILL.md +95 -121
- package/skills/agentforce-gpt-email-generation-configure/SKILL.md +0 -312
- package/skills/agentforce-wizard-ui-forecasting-analytics-components-configure/SKILL.md +0 -64
- package/skills/agentforce-wizard-ui-sales-einstein-components-configure/SKILL.md +0 -46
- package/skills/automation-company-profile-info-query/SKILL.md +0 -51
- package/skills/automation-digital-wallet-configure/SKILL.md +0 -689
- package/skills/automation-flow-coordinate/SKILL.md +0 -95
- package/skills/automation-flow-coordinate/references/elements/action-call/action-call.md +0 -1569
- package/skills/automation-flow-coordinate/references/elements/action-call/conversation-messaging.md +0 -96
- package/skills/automation-flow-coordinate/references/elements/action-call/examples/send-sms-message.json +0 -23
- package/skills/automation-flow-coordinate/references/elements/action-call/examples/send-to-journey-no-fields.json +0 -31
- package/skills/automation-flow-coordinate/references/elements/action-call/send-to-journey.md +0 -179
- package/skills/automation-flow-coordinate/references/elements/exit-rule/examples/event-email-link-click.json +0 -13
- package/skills/automation-flow-coordinate/references/elements/exit-rule/exit-rule.md +0 -83
- package/skills/automation-flow-coordinate/references/elements/forward-to-bot-or-agent/examples/forward-to-bot-or-agent.json +0 -69
- package/skills/automation-flow-coordinate/references/elements/forward-to-bot-or-agent/forward-to-bot-or-agent.md +0 -274
- package/skills/automation-flow-coordinate/references/elements/start/audience-common.md +0 -192
- package/skills/automation-flow-coordinate/references/elements/start/automation-event-triggered.md +0 -130
- package/skills/automation-flow-coordinate/references/elements/start/data-cloud-data-change-triggered.md +0 -92
- package/skills/automation-flow-coordinate/references/elements/start/form-submission-triggered.md +0 -88
- package/skills/automation-flow-coordinate/references/elements/start/segment-triggered.md +0 -152
- package/skills/automation-flow-coordinate/references/elements/start/start.md +0 -539
- package/skills/automation-flow-coordinate/references/elements/subflow/subflow.md +0 -152
- package/skills/automation-flow-coordinate/references/elements/wait/wait.md +0 -497
- package/skills/automation-flow-coordinate/references/recipes/author/author.md +0 -868
- package/skills/automation-flow-coordinate/references/recipes/summarize/element-generic.md +0 -300
- package/skills/automation-flow-coordinate/references/recipes/summarize/reference-resolution.md +0 -292
- package/skills/automation-flow-coordinate/references/recipes/summarize/summarize.md +0 -323
- package/skills/automation-flow-coordinate/references/recipes/testing/examples/debug-output-template.md +0 -109
- package/skills/automation-flow-coordinate/references/recipes/testing/shape.md +0 -219
- package/skills/automation-flow-coordinate/references/recipes/testing/shared-stages/intent-analyzer.md +0 -180
- package/skills/automation-flow-coordinate/references/recipes/testing/workflows/debug.md +0 -175
- package/skills/automation-flow-coordinate/references/recipes/testing/workflows/promote.md +0 -255
- package/skills/automation-flow-coordinate/references/recipes/testing/workflows/save-debug.md +0 -212
- package/skills/automation-flow-coordinate/references/resources/variable/variable.md +0 -171
- package/skills/automation-flow-coordinate/references/shared/anti-patterns.md +0 -786
- package/skills/automation-flow-coordinate/references/shared/end/end.md +0 -267
- package/skills/automation-flow-coordinate/references/shared/flow-type-resolver/eval/README.md +0 -69
- package/skills/automation-flow-coordinate/references/shared/flow-type-resolver/eval/predictions.jsonl +0 -80
- package/skills/automation-flow-coordinate/references/shared/flow-type-resolver/eval/prompts.jsonl +0 -116
- package/skills/automation-flow-coordinate/references/shared/flow-type-resolver/flow-type-resolver.md +0 -321
- package/skills/automation-flow-coordinate/references/shared/flow-type-resolver/taxonomy.json +0 -320
- package/skills/automation-flow-coordinate/references/shared/server-functions.md +0 -597
- package/skills/automotive-cloud-appraisal-management-settings-configure/SKILL.md +0 -69
- package/skills/automotive-cloud-dealer-essentials-configure/SKILL.md +0 -78
- package/skills/automotive-cloud-ground-agent-data-pipelines-configure/SKILL.md +0 -373
- package/skills/automotive-cloud-ground-mfg-agent-data-pipelines-configure/SKILL.md +0 -273
- package/skills/automotive-cloud-mfg-agent-data-pipelines-configure/SKILL.md +0 -259
- package/skills/automotive-cloud-mfg-sales-concierge-agent-create/SKILL.md +0 -369
- package/skills/automotive-cloud-mfg-sales-concierge-foundation-configure/SKILL.md +0 -542
- package/skills/automotive-cloud-mfg-sales-concierge-foundation-coordinate/SKILL.md +0 -159
- package/skills/automotive-cloud-mfg-sales-concierge-orchestrator-agent-create/SKILL.md +0 -349
- package/skills/automotive-cloud-mfg-sales-concierge-orchestrator-configure/SKILL.md +0 -505
- package/skills/automotive-cloud-sales-concierge-agent-create/SKILL.md +0 -380
- package/skills/automotive-cloud-sales-concierge-foundation-configure/SKILL.md +0 -567
- package/skills/automotive-cloud-sales-concierge-foundation-coordinate/SKILL.md +0 -159
- package/skills/automotive-cloud-sales-concierge-orchestrator-agent-create/SKILL.md +0 -360
- package/skills/automotive-cloud-sales-concierge-orchestrator-configure/SKILL.md +0 -539
- package/skills/automotive-cloud-sales-concierge-search-grounding-configure/SKILL.md +0 -358
- package/skills/commerce-b2b-merchant-quote-configure/SKILL.md +0 -602
- package/skills/commerce-b2b-store-configure/SKILL.md +0 -251
- package/skills/commerce-credit-memo-create/SKILL.md +0 -139
- package/skills/commerce-delivery-business-hours-configure/SKILL.md +0 -277
- package/skills/commerce-delivery-estimation-apply/SKILL.md +0 -155
- package/skills/commerce-delivery-estimation-configure/SKILL.md +0 -377
- package/skills/commerce-delivery-routing-specs-integrate/SKILL.md +0 -174
- package/skills/commerce-estimate-bopis-query/SKILL.md +0 -279
- package/skills/commerce-estimate-delivery-date-query/SKILL.md +0 -349
- package/skills/commerce-fees-apply/SKILL.md +0 -227
- package/skills/commerce-fulfillment-routing-analyze/SKILL.md +0 -200
- package/skills/commerce-guest-buyer-create/SKILL.md +0 -173
- package/skills/commerce-location-bopis-configure/SKILL.md +0 -378
- package/skills/commerce-location-business-hours-configure/SKILL.md +0 -235
- package/skills/commerce-location-delivery-processing-time-configure/SKILL.md +0 -309
- package/skills/commerce-location-graph-integrate/SKILL.md +0 -131
- package/skills/commerce-location-shipping-carrier-method-configure/SKILL.md +0 -755
- package/skills/commerce-location-temporary-operating-hours-configure/SKILL.md +0 -331
- package/skills/commerce-merchant-buyer-groups-configure/SKILL.md +0 -579
- package/skills/commerce-merchant-buyer-user-onboarding-create/SKILL.md +0 -626
- package/skills/commerce-merchant-catalog-configure/SKILL.md +0 -614
- package/skills/commerce-merchant-extension-provider-configure/SKILL.md +0 -368
- package/skills/commerce-merchant-insights-account-health-churn-analyze/SKILL.md +0 -118
- package/skills/commerce-merchant-insights-inventory-returns-analyze/SKILL.md +0 -65
- package/skills/commerce-merchant-insights-order-shopper-get/SKILL.md +0 -90
- package/skills/commerce-merchant-insights-product-performance-analyze/SKILL.md +0 -72
- package/skills/commerce-merchant-insights-query/SKILL.md +0 -279
- package/skills/commerce-merchant-storefront-guest-access-configure/SKILL.md +0 -656
- package/skills/commerce-order-summary-change-apply/SKILL.md +0 -375
- package/skills/commerce-product-details-get/SKILL.md +0 -363
- package/skills/commerce-product-search/SKILL.md +0 -563
- package/skills/commerce-react-storefront-create/SKILL.md +0 -350
- package/skills/commerce-return-order-summary-create/SKILL.md +0 -513
- package/skills/commerce-search-relevance-analyze/SKILL.md +0 -757
- package/skills/commerce-temporary-processing-time-override-create/SKILL.md +0 -274
- package/skills/communications-initial-setup-configure/SKILL.md +0 -630
- package/skills/communications-multisite-configure/SKILL.md +0 -571
- package/skills/communications-revenue-cloud-settings-configure/SKILL.md +0 -74
- package/skills/communications-smb-fiber-catalog-create/SKILL.md +0 -413
- package/skills/communications-tmf-integrate/SKILL.md +0 -1368
- package/skills/consumer-goods-visit-activity-act4-questions-assign/SKILL.md +0 -448
- package/skills/consumer-goods-visit-activity-act5-standard-create/SKILL.md +0 -269
- package/skills/consumer-goods-visit-activity-act6-assortment-configure/SKILL.md +0 -271
- package/skills/consumer-goods-visit-activity-act7-account-scoping-create/SKILL.md +0 -382
- package/skills/consumer-goods-visit-activity-act8-plan-attach-create/SKILL.md +0 -373
- package/skills/consumer-goods-visit-activity-act9-proof-validate/SKILL.md +0 -389
- package/skills/consumer-goods-visit-and-activity-act1-specification-create/SKILL.md +0 -338
- package/skills/consumer-goods-visit-and-activity-act2-template-create/SKILL.md +0 -547
- package/skills/consumer-goods-visit-and-activity-act3-definition-create/SKILL.md +0 -346
- package/skills/consumer-goods-visit-and-activity-configure/SKILL.md +0 -1110
- package/skills/crm-analytics-adoption-insights-configure/SKILL.md +0 -224
- package/skills/crm-analytics-custom-report-type-lightning-configure/SKILL.md +0 -418
- package/skills/crm-analytics-dashboards-configure/SKILL.md +0 -731
- package/skills/crm-analytics-operational-analytics-metadata-bridge-migrate/SKILL.md +0 -233
- package/skills/crm-analytics-report-notifications-ui-configure/SKILL.md +0 -184
- package/skills/crm-analytics-sharing-inheritance-coverage-analyze/SKILL.md +0 -167
- package/skills/crm-analytics-sonic-getting-started-configure/SKILL.md +0 -55
- package/skills/crm-analytics-tableau-next-app-deploy/SKILL.md +0 -1350
- package/skills/crm-analytics-tableau-next-c360-basemodel-validate/SKILL.md +0 -1862
- package/skills/crm-analytics-tableau-next-datacloud-validate/SKILL.md +0 -83
- package/skills/crm-analytics-tableau-next-provisioning-validate/SKILL.md +0 -81
- package/skills/data360-activation-create/SKILL.md +0 -104
- package/skills/data360-activation-external-platform-get/SKILL.md +0 -49
- package/skills/data360-activation-target-create/SKILL.md +0 -93
- package/skills/data360-activation-v2-create/SKILL.md +0 -456
- package/skills/data360-audience-dmo-get/SKILL.md +0 -38
- package/skills/data360-calculated-affinity-create/SKILL.md +0 -82
- package/skills/data360-calculated-insight-create/SKILL.md +0 -148
- package/skills/data360-catalog-metadata-create/SKILL.md +0 -183
- package/skills/data360-code-extension-create/SKILL.md +0 -115
- package/skills/data360-communication-capping-create/SKILL.md +0 -227
- package/skills/data360-connection-create/SKILL.md +0 -491
- package/skills/data360-content-lens-create/SKILL.md +0 -181
- package/skills/data360-data-action-create/SKILL.md +0 -126
- package/skills/data360-data-action-target-create/SKILL.md +0 -181
- package/skills/data360-data-clean-room-create/SKILL.md +0 -238
- package/skills/data360-data-governance-create/SKILL.md +0 -746
- package/skills/data360-data-graph-create/SKILL.md +0 -82
- package/skills/data360-data-harmonized-model-object-reference-create/SKILL.md +0 -38
- package/skills/data360-data-lake-object-create/SKILL.md +0 -207
- package/skills/data360-data-model-object-catalog-get/SKILL.md +0 -49
- package/skills/data360-data-model-object-create/SKILL.md +0 -128
- package/skills/data360-data-model-object-mapping-create/SKILL.md +0 -106
- package/skills/data360-data-space-create/SKILL.md +0 -161
- package/skills/data360-data-streams-create/SKILL.md +0 -324
- package/skills/data360-engagement-signal-get/SKILL.md +0 -38
- package/skills/data360-experiment-create/SKILL.md +0 -82
- package/skills/data360-goal-based-campaign-create/SKILL.md +0 -192
- package/skills/data360-harmonization-process-history-get/SKILL.md +0 -38
- package/skills/data360-harmonized-unstructured-dmo-create/SKILL.md +0 -84
- package/skills/data360-identity-resolution-create/SKILL.md +0 -115
- package/skills/data360-intelligent-document-processing-create/SKILL.md +0 -148
- package/skills/data360-knowledge-graph-construction-create/SKILL.md +0 -93
- package/skills/data360-knowledge-graph-create/SKILL.md +0 -216
- package/skills/data360-knowledge-space-mcp-configure/SKILL.md +0 -475
- package/skills/data360-machine-learning-mcp-configure/SKILL.md +0 -697
- package/skills/data360-multi-org-mcp-configure/SKILL.md +0 -117
- package/skills/data360-secondary-index-mcp-configure/SKILL.md +0 -126
- package/skills/data360-segment-mcp-configure/SKILL.md +0 -159
- package/skills/data360-semantic-calculated-dimension-mcp-configure/SKILL.md +0 -93
- package/skills/data360-semantic-calculated-measurement-mcp-configure/SKILL.md +0 -93
- package/skills/data360-semantic-data-object-mcp-configure/SKILL.md +0 -93
- package/skills/data360-semantic-dimension-mcp-configure/SKILL.md +0 -38
- package/skills/data360-semantic-engine-mcp-configure/SKILL.md +0 -62
- package/skills/data360-semantic-measurement-mcp-configure/SKILL.md +0 -38
- package/skills/data360-semantic-metric-mcp-configure/SKILL.md +0 -93
- package/skills/data360-semantic-model-mcp-configure/SKILL.md +0 -115
- package/skills/data360-standard-mapping-mcp-configure/SKILL.md +0 -38
- package/skills/data360-tenant-lifecycle-mcp-configure/SKILL.md +0 -73
- package/skills/experience-afv-query/SKILL.md +0 -234
- package/skills/experience-agentforce-vibes-in-react-configure/SKILL.md +0 -63
- package/skills/experience-apex-components-configure/SKILL.md +0 -69
- package/skills/experience-apex-pages-configure/SKILL.md +0 -107
- package/skills/experience-app-home-configure/SKILL.md +0 -76
- package/skills/experience-aura-lightning-out-access-configure/SKILL.md +0 -58
- package/skills/experience-briefcase-configure/SKILL.md +0 -287
- package/skills/experience-community-flexi-page-list-create/SKILL.md +0 -74
- package/skills/experience-community-template-definition-list-query/SKILL.md +0 -48
- package/skills/experience-community-theme-definition-list-query/SKILL.md +0 -38
- package/skills/experience-content-assets-configure/SKILL.md +0 -86
- package/skills/experience-custom-domain-create/SKILL.md +0 -727
- package/skills/experience-defer-rendering-workspace-page-setup-configure/SKILL.md +0 -41
- package/skills/experience-field-service-app-builder-configure/SKILL.md +0 -187
- package/skills/experience-flow-category-configure/SKILL.md +0 -117
- package/skills/experience-formula-configure/SKILL.md +0 -358
- package/skills/experience-global-actions-configure/SKILL.md +0 -69
- package/skills/experience-global-publisher-layouts-configure/SKILL.md +0 -79
- package/skills/experience-instrumentation-configure/SKILL.md +0 -64
- package/skills/experience-lex-engagement-configure/SKILL.md +0 -50
- package/skills/experience-lightning-bolt-open/SKILL.md +0 -12
- package/skills/experience-lightning-out-configure/SKILL.md +0 -129
- package/skills/experience-lightning-preview-configure/SKILL.md +0 -67
- package/skills/experience-lightning-types-query/SKILL.md +0 -98
- package/skills/experience-malware-scan-configure/SKILL.md +0 -71
- package/skills/experience-my-salesforce-configure/SKILL.md +0 -126
- package/skills/experience-navigation-menus-configure/SKILL.md +0 -235
- package/skills/experience-notification-types-configure/SKILL.md +0 -206
- package/skills/experience-notifications-configure/SKILL.md +0 -75
- package/skills/experience-record-discovery-query/SKILL.md +0 -227
- package/skills/experience-regenerate-previews-open/SKILL.md +0 -94
- package/skills/experience-sales-cloud-mab-configure/SKILL.md +0 -254
- package/skills/experience-schema-builder-open/SKILL.md +0 -38
- package/skills/experience-simple-record-home-configure/SKILL.md +0 -110
- package/skills/experience-static-resources-configure/SKILL.md +0 -74
- package/skills/field-service-setup-coordinate/SKILL.md +0 -62
- package/skills/field-service-work-plan-configure/SKILL.md +0 -253
- package/skills/fsc-actionable-segmentation-settings-configure/SKILL.md +0 -180
- package/skills/fsc-digital-origination-bre-decision-matrix-foundation-create/SKILL.md +0 -196
- package/skills/fsc-digital-origination-bre-disclosures-consent-configure/SKILL.md +0 -106
- package/skills/fsc-digital-origination-bre-document-upload-configure/SKILL.md +0 -96
- package/skills/fsc-digital-origination-bre-permissions-assign/SKILL.md +0 -111
- package/skills/fsc-digital-origination-bre-setup-coordinate/SKILL.md +0 -250
- package/skills/fsc-digital-origination-bre-stp-eligibility-configure/SKILL.md +0 -122
- package/skills/fsc-digital-origination-coordinate/SKILL.md +0 -653
- package/skills/fsc-digital-origination-demo-run/SKILL.md +0 -225
- package/skills/fsc-digital-origination-execution-guardrails-validate/SKILL.md +0 -112
- package/skills/fsc-digital-origination-initial-setup-configure/SKILL.md +0 -396
- package/skills/fsc-digital-origination-pricing-setup-coordinate/SKILL.md +0 -336
- package/skills/fsc-digital-origination-pricing-setup-data-foundation-create/SKILL.md +0 -208
- package/skills/fsc-digital-origination-pricing-setup-procedure-create/SKILL.md +0 -375
- package/skills/fsc-digital-origination-product-setup-act1-permissions-assign/SKILL.md +0 -83
- package/skills/fsc-digital-origination-product-setup-coordinate/SKILL.md +0 -248
- package/skills/fsc-digital-origination-sample-data-create/SKILL.md +0 -206
- package/skills/fsc-document-checklist-settings-configure/SKILL.md +0 -57
- package/skills/fsc-flexible-hierarchy-configure/SKILL.md +0 -148
- package/skills/fsc-flexible-hierarchy-foundation-configure/SKILL.md +0 -1430
- package/skills/fsc-flexible-hierarchy-graph-config-create/SKILL.md +0 -471
- package/skills/fsc-flexible-hierarchy-rule-based-graph-deploy/SKILL.md +0 -429
- package/skills/fsc-pricing-product-configurator-configure/SKILL.md +0 -150
- package/skills/fsc-pricing-salesforce-omnistudio-switch/SKILL.md +0 -123
- package/skills/fsc-product-act2-catalog-categories-create/SKILL.md +0 -82
- package/skills/fsc-product-act3-attributes-create/SKILL.md +0 -249
- package/skills/fsc-product-act4-classification-assignment-create/SKILL.md +0 -196
- package/skills/fsc-product-act5-considerations-get/SKILL.md +0 -44
- package/skills/fsc-stage-management-apex-flow-deploy/SKILL.md +0 -384
- package/skills/fsc-stage-management-compliant-data-sharing-configure/SKILL.md +0 -144
- package/skills/fsc-stage-management-decision-matrices-create/SKILL.md +0 -107
- package/skills/fsc-stage-management-definition-assignments-create/SKILL.md +0 -189
- package/skills/fsc-stage-management-definition-create/SKILL.md +0 -108
- package/skills/fsc-stage-management-permissions-assign/SKILL.md +0 -143
- package/skills/fsc-stage-management-transitions-configure/SKILL.md +0 -139
- package/skills/health-cloud-appt-booking-config-configure/SKILL.md +0 -135
- package/skills/health-cloud-appt-booking-url-config-configure/SKILL.md +0 -134
- package/skills/health-cloud-care-provider-affl-role-config-configure/SKILL.md +0 -136
- package/skills/health-cloud-care-provider-search-config-configure/SKILL.md +0 -134
- package/skills/health-cloud-care-requests-create/SKILL.md +0 -178
- package/skills/health-cloud-initial-configure/SKILL.md +0 -511
- package/skills/health-cloud-patient-appointment-scheduling-configure/SKILL.md +0 -1374
- package/skills/health-cloud-provider-search-settings-configure/SKILL.md +0 -924
- package/skills/health-cloud-referral-management-coordinate/SKILL.md +0 -513
- package/skills/health-cloud-timeline-configure/SKILL.md +0 -622
- package/skills/health-cloud-virtual-visit-config-configure/SKILL.md +0 -135
- package/skills/industries-account-score-settings-query/SKILL.md +0 -78
- package/skills/industries-actionable-list-data-sources-dmo-configure/SKILL.md +0 -177
- package/skills/industries-ad-product-availability-search/SKILL.md +0 -399
- package/skills/industries-advanced-account-forecast-settings-configure/SKILL.md +0 -628
- package/skills/industries-advanced-therapy-management-settings-configure/SKILL.md +0 -73
- package/skills/industries-atm-settings-starter-configure/SKILL.md +0 -76
- package/skills/industries-batch-document-ai-configure/SKILL.md +0 -196
- package/skills/industries-behavioral-health-app-settings-configure/SKILL.md +0 -71
- package/skills/industries-branch-management-settings-configure/SKILL.md +0 -89
- package/skills/industries-bre-decision-table-access-configure/SKILL.md +0 -367
- package/skills/industries-brokerage-settings-configure/SKILL.md +0 -41
- package/skills/industries-calendar-sync-settings-configure/SKILL.md +0 -89
- package/skills/industries-care-request-settings-configure/SKILL.md +0 -218
- package/skills/industries-case-management-intelligence-settings-configure/SKILL.md +0 -54
- package/skills/industries-catalog-process-attributes-products-configure/SKILL.md +0 -380
- package/skills/industries-catalog-process-fulfillment-configure/SKILL.md +0 -216
- package/skills/industries-catalog-process-intake-configure/SKILL.md +0 -219
- package/skills/industries-catalog-process-knowledge-configure/SKILL.md +0 -153
- package/skills/industries-catalog-process-preprocessor-configure/SKILL.md +0 -168
- package/skills/industries-cds-general-settings-configure/SKILL.md +0 -69
- package/skills/industries-claim-financial-settings-configure/SKILL.md +0 -169
- package/skills/industries-clinical-data-model-settings-configure/SKILL.md +0 -136
- package/skills/industries-clinical-data-model-settings-starter-configure/SKILL.md +0 -105
- package/skills/industries-collection-plan-settings-configure/SKILL.md +0 -132
- package/skills/industries-comms-service-console-settings-configure/SKILL.md +0 -159
- package/skills/industries-compliance-configure/SKILL.md +0 -102
- package/skills/industries-compliance-document-extraction-setup-configure/SKILL.md +0 -76
- package/skills/industries-contact-center-app-layout-configure/SKILL.md +0 -88
- package/skills/industries-contact-center-components-configure/SKILL.md +0 -96
- package/skills/industries-contact-center-path-knowledge-configure/SKILL.md +0 -95
- package/skills/industries-contact-center-user-access-assign/SKILL.md +0 -96
- package/skills/industries-course-waitlist-config-configure/SKILL.md +0 -162
- package/skills/industries-crisis-center-settings-configure/SKILL.md +0 -84
- package/skills/industries-custom-object-settings-configure/SKILL.md +0 -94
- package/skills/industries-data-cloud-integration-configure/SKILL.md +0 -88
- package/skills/industries-data-space-feature-mappings-configure/SKILL.md +0 -245
- package/skills/industries-decision-matrix-builder-configure/SKILL.md +0 -78
- package/skills/industries-decision-table-hbase-configure/SKILL.md +0 -87
- package/skills/industries-decision-table-version-configure/SKILL.md +0 -74
- package/skills/industries-decision-tables-builder-configure/SKILL.md +0 -253
- package/skills/industries-decision-tables-configure/SKILL.md +0 -439
- package/skills/industries-energy-utilities-configure/SKILL.md +0 -251
- package/skills/industries-eu-cloud-multisite-configure/SKILL.md +0 -1008
- package/skills/industries-eu-new-connections-configure/SKILL.md +0 -30
- package/skills/industries-explainability-msg-template-configure/SKILL.md +0 -135
- package/skills/industries-expression-set-message-token-configure/SKILL.md +0 -135
- package/skills/industries-field-service-settings-configure/SKILL.md +0 -82
- package/skills/industries-form-framework-settings-configure/SKILL.md +0 -30
- package/skills/industries-fsc-ai-settings-configure/SKILL.md +0 -57
- package/skills/industries-fsc-association-engine-settings-configure/SKILL.md +0 -172
- package/skills/industries-fsc-b2b-settings-configure/SKILL.md +0 -61
- package/skills/industries-fsc-insurance-settings-configure/SKILL.md +0 -58
- package/skills/industries-fsc-visa-fulfillment-setup-configure/SKILL.md +0 -103
- package/skills/industries-fsc-wealth-agent-settings-configure/SKILL.md +0 -117
- package/skills/industries-fsc-wealth-settings-configure/SKILL.md +0 -99
- package/skills/industries-fundraising-gift-entry-settings-configure/SKILL.md +0 -120
- package/skills/industries-fundraising-rfm-configure/SKILL.md +0 -128
- package/skills/industries-fundraising-settings-configure/SKILL.md +0 -145
- package/skills/industries-fundraising-source-code-gen-configure/SKILL.md +0 -299
- package/skills/industries-google-maps-api-key-settings-configure/SKILL.md +0 -87
- package/skills/industries-grantmaking-intelligence-settings-open/SKILL.md +0 -58
- package/skills/industries-hc-score-category-settings-configure/SKILL.md +0 -167
- package/skills/industries-health-engagement-settings-configure/SKILL.md +0 -218
- package/skills/industries-home-health-agentforce-setup-configure/SKILL.md +0 -131
- package/skills/industries-home-health-bundling-policy-create/SKILL.md +0 -50
- package/skills/industries-home-health-entity-labels-configure/SKILL.md +0 -29
- package/skills/industries-home-health-fsl-package-deploy/SKILL.md +0 -71
- package/skills/industries-home-health-fsl-settings-validate/SKILL.md +0 -27
- package/skills/industries-home-health-guided-setup-care-and-skill-get/SKILL.md +0 -80
- package/skills/industries-home-health-guided-setup-configure/SKILL.md +0 -836
- package/skills/industries-home-health-guided-setup-enable-org-fsl-get/SKILL.md +0 -55
- package/skills/industries-home-health-guided-setup-get-org-ready-get/SKILL.md +0 -61
- package/skills/industries-home-health-licenses-assign/SKILL.md +0 -27
- package/skills/industries-home-health-operating-hours-create/SKILL.md +0 -40
- package/skills/industries-home-health-scheduling-policy-create/SKILL.md +0 -41
- package/skills/industries-home-health-service-objective-create/SKILL.md +0 -22
- package/skills/industries-home-health-skills-create/SKILL.md +0 -31
- package/skills/industries-home-health-users-create/SKILL.md +0 -29
- package/skills/industries-icm-act3-toggles-configure/SKILL.md +0 -198
- package/skills/industries-icm-act5-genai-suggested-assessments-configure/SKILL.md +0 -361
- package/skills/industries-icm-act6-mcg-integration-configure/SKILL.md +0 -550
- package/skills/industries-integrated-care-management-configure/SKILL.md +0 -168
- package/skills/industries-object-enablement-configure/SKILL.md +0 -86
- package/skills/industries-tpm-system-processing-service-configure/SKILL.md +0 -64
- package/skills/integration-apex-settings-configure/SKILL.md +0 -61
- package/skills/marketing-e360-email-archiving-configure/SKILL.md +0 -73
- package/skills/platform-custom-permissions-configure/SKILL.md +0 -687
- package/skills/platform-label-workbench-import-create/SKILL.md +0 -67
- package/skills/platform-privacy-agent-settings-configure/SKILL.md +0 -752
|
@@ -1,110 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: experience-simple-record-home-configure
|
|
3
|
-
description: "Use this skill when users want to setup-page controller for Simple Record Home — three org-wide preferences (master enable; Related-List vs Activities-Timeline view; Multi-User Live Records), plus a composite `getInitData` read that returns the activities-view enum and the provisioning gates. Trigger when users mention simple, record, home, simple record home."
|
|
4
|
-
metadata:
|
|
5
|
-
version: "1.0"
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
# Managing Simple Record Home
|
|
9
|
-
|
|
10
|
-
## When to Use This Skill
|
|
11
|
-
|
|
12
|
-
Setup-page controller for Simple Record Home — three org-wide preferences (master enable; Related-List vs Activities-Timeline view; Multi-User Live Records), plus a composite `getInitData` read that returns the activities-view enum and the provisioning gates. The canonical authoring surface differs per write: master-enable and related-list-view are declarative Metadata `RecordPageSettings` fields — prefer a Metadata deploy over the Aura toggle to persist them org-wide; Multi-User Live Records has no declarative equivalent, so its Aura toggle is canonical. All Aura steps stay dispatchable (and are the only surface on dispatcher-only orgs). See each step for the org-pref name, its `RecordPageSettings` field where one exists, the provisioning gate, and read-back guidance.
|
|
13
|
-
|
|
14
|
-
## Verification Checklist
|
|
15
|
-
|
|
16
|
-
After every write operation, confirm the effect by re-reading state:
|
|
17
|
-
|
|
18
|
-
- After `handleSimpleRecordHomeToggle_1`: call `verify-handleSimpleRecordHomeToggle_1` (`GET /headless/invoke/platform/force/simple-record-home-setup-page/get-init-data`)
|
|
19
|
-
- After `handleActivitiesToggle_1`: call `verify-handleActivitiesToggle_1` (`GET /headless/invoke/platform/force/simple-record-home-setup-page/get-init-data`)
|
|
20
|
-
- After `handleMultiUserLiveRecordsToggle_1`: call `verify-handleMultiUserLiveRecordsToggle_1` (`GET /headless/invoke/platform/force/simple-record-home-setup-page/get-init-data`)
|
|
21
|
-
|
|
22
|
-
## Operations Reference
|
|
23
|
-
|
|
24
|
-
Operations grouped by purpose. Use these as the building blocks for the workflows above.
|
|
25
|
-
|
|
26
|
-
### Summary
|
|
27
|
-
|
|
28
|
-
| Operation | Purpose | Status | Call | Depends on |
|
|
29
|
-
|-----------|---------|--------|------|------------|
|
|
30
|
-
| `getInitData_1` | read | — | `GET /headless/invoke/platform/force/simple-record-home-setup-page/get-init-data` | — |
|
|
31
|
-
| `handleSimpleRecordHomeToggle_1` | write | — | `PATCH /headless/invoke/platform/force/simple-record-home-setup-page/handle-simple-record-home-toggle` | — |
|
|
32
|
-
| `handleActivitiesToggle_1` | write | — | `PATCH /headless/invoke/platform/force/simple-record-home-setup-page/handle-activities-toggle` | — |
|
|
33
|
-
| `handleMultiUserLiveRecordsToggle_1` | write | — | `PATCH /headless/invoke/platform/force/simple-record-home-setup-page/handle-multi-user-live-records-toggle` | — |
|
|
34
|
-
| `verify-handleSimpleRecordHomeToggle_1` | verify | — | `GET /headless/invoke/platform/force/simple-record-home-setup-page/get-init-data` | `handleSimpleRecordHomeToggle_1` |
|
|
35
|
-
| `verify-handleActivitiesToggle_1` | verify | — | `GET /headless/invoke/platform/force/simple-record-home-setup-page/get-init-data` | `handleActivitiesToggle_1` |
|
|
36
|
-
| `verify-handleMultiUserLiveRecordsToggle_1` | verify | — | `GET /headless/invoke/platform/force/simple-record-home-setup-page/get-init-data` | `handleMultiUserLiveRecordsToggle_1` |
|
|
37
|
-
|
|
38
|
-
### Dependency graph
|
|
39
|
-
|
|
40
|
-
```mermaid
|
|
41
|
-
graph TD
|
|
42
|
-
getInitData_1["getInitData_1 (read)"]
|
|
43
|
-
handleSimpleRecordHomeToggle_1["handleSimpleRecordHomeToggle_1 (write)"]
|
|
44
|
-
handleActivitiesToggle_1["handleActivitiesToggle_1 (write)"]
|
|
45
|
-
handleMultiUserLiveRecordsToggle_1["handleMultiUserLiveRecordsToggle_1 (write)"]
|
|
46
|
-
verify_handleSimpleRecordHomeToggle_1["verify-handleSimpleRecordHomeToggle_1 (verify)"]
|
|
47
|
-
verify_handleActivitiesToggle_1["verify-handleActivitiesToggle_1 (verify)"]
|
|
48
|
-
verify_handleMultiUserLiveRecordsToggle_1["verify-handleMultiUserLiveRecordsToggle_1 (verify)"]
|
|
49
|
-
handleSimpleRecordHomeToggle_1 --> verify_handleSimpleRecordHomeToggle_1
|
|
50
|
-
handleActivitiesToggle_1 --> verify_handleActivitiesToggle_1
|
|
51
|
-
handleMultiUserLiveRecordsToggle_1 --> verify_handleMultiUserLiveRecordsToggle_1
|
|
52
|
-
```
|
|
53
|
-
|
|
54
|
-
### Read operations
|
|
55
|
-
|
|
56
|
-
#### `getInitData_1`
|
|
57
|
-
|
|
58
|
-
Reads the Simple Record Home Setup page state. Requires Customize Application; returns null otherwise. Observed body on a fresh (non-provisioned) org carries four fields: `isEacEnabled`, `isLexEnabled`, `recordHomeActivitiesDisplaySetting` (enum: `TIMELINE` | `RELATED_LIST`), and `recordHomeActivitiesDisplayOptions` (radio-option label list). Additional fields (`isSRHAllowed`, `isMultiUserLiveRecordsAllowed`, and the three persisted-preference booleans `isSimpleRecordHomeEnabled` / `isRelatedListEnabled` / `isMultiUserLiveRecordsEnabled`) are provisioning-conditional — they surface once SRH is enabled for the org. AURA-IS-CANONICAL — the composite response cannot be reconstructed from a raw persistence read.
|
|
59
|
-
|
|
60
|
-
**Call:** `GET /headless/invoke/platform/force/simple-record-home-setup-page/get-init-data`
|
|
61
|
-
|
|
62
|
-
### Write operations
|
|
63
|
-
|
|
64
|
-
#### `handleSimpleRecordHomeToggle_1`
|
|
65
|
-
|
|
66
|
-
PATCH the org-wide SRH master-enable preference (org-pref `SRHSimpleRecordHomeEnabled`). Requires Customize Application AND the `SRHSimpleRecordHomeAllowed` provisioning gate (surfaced as `isSRHAllowed` in `getInitData_1`). CANONICAL SURFACE: this preference maps to a declarative Metadata field — `RecordPageSettings.enableFullRecordView` — so to persist it org-wide, deploy `RecordPageSettings` via the Metadata API. This Aura toggle is NOT the canonical authoring surface — it stays callable (and is the only surface wired on dispatcher-only orgs), but the generic org-preference Connect endpoint (`PATCH /services/data/vXX/setup/org/preferences/{name}`) does NOT accept this pref (allowlist-gated → 404). The response body echoes the caller-supplied `toggleValue` rather than a persistence outcome — chain `verify-handleSimpleRecordHomeToggle_1` and read `isSimpleRecordHomeEnabled` for the authoritative read-back (absent on non-provisioned orgs).
|
|
67
|
-
|
|
68
|
-
**Call:** `PATCH /headless/invoke/platform/force/simple-record-home-setup-page/handle-simple-record-home-toggle`
|
|
69
|
-
|
|
70
|
-
#### `handleActivitiesToggle_1`
|
|
71
|
-
|
|
72
|
-
Sets the Related-List vs Activities-Timeline preference (org-pref `SRHRelatedListViewEnabled`). `toggleValue: true` selects the Related-List view; `toggleValue: false` selects the Activities Timeline. Requires Customize Application and that Einstein Activity Capture is OFF (EAC forces Timeline; the call returns `false` while EAC is on). CANONICAL SURFACE: this preference maps to a declarative Metadata field — `RecordPageSettings.enableActivityRelatedList` — so deploy `RecordPageSettings` via the Metadata API to persist org config. This Aura toggle is NOT the canonical authoring surface (the generic org-preference Connect endpoint does not accept it — 404, allowlist-gated) but stays callable for driving the Setup page / dispatcher-only orgs. Request-body contract is permissive: a missing body, an unknown field, or a wrong-typed `toggleValue` all silently coerce to `false` and process as a write — construct the body carefully, no client-facing validation error surfaces. Chain `verify-handleActivitiesToggle_1` and read `recordHomeActivitiesDisplaySetting` (`TIMELINE` | `RELATED_LIST`) for the authoritative read-back.
|
|
73
|
-
|
|
74
|
-
**Call:** `PATCH /headless/invoke/platform/force/simple-record-home-setup-page/handle-activities-toggle`
|
|
75
|
-
|
|
76
|
-
#### `handleMultiUserLiveRecordsToggle_1`
|
|
77
|
-
|
|
78
|
-
PATCH the multi-user-live-records org preference (org-pref `MultiUserLiveRecords`). Requires Customize Application AND the `isMultiUserLiveRecordsAllowed` provisioning gate (surfaced from `getInitData_1`; gated by `RecordInvalidationEnabled`). CANONICAL SURFACE: unlike the other two SRH writes, this preference has NO declarative/Metadata equivalent — it is not exposed as a `RecordPageSettings` field, and the generic org-preference Connect endpoint does not accept it (404, allowlist-gated). This Aura toggle is therefore the canonical programmatic surface for this preference. The response body echoes the caller-supplied `toggleValue` rather than a persistence outcome — chain `verify-handleMultiUserLiveRecordsToggle_1` and read `isMultiUserLiveRecordsEnabled` for the authoritative read-back (absent on non-provisioned orgs).
|
|
79
|
-
|
|
80
|
-
**Call:** `PATCH /headless/invoke/platform/force/simple-record-home-setup-page/handle-multi-user-live-records-toggle`
|
|
81
|
-
|
|
82
|
-
### Verify operations
|
|
83
|
-
|
|
84
|
-
#### `verify-handleSimpleRecordHomeToggle_1`
|
|
85
|
-
|
|
86
|
-
Re-reads the Setup-page Model after `handleSimpleRecordHomeToggle_1` to confirm the master SRH preference persisted. Same underlying operation as `getInitData_1`; the persisted value surfaces as `isSimpleRecordHomeEnabled` in the response only once SRH is provisioned for the org.
|
|
87
|
-
|
|
88
|
-
**Call:** `GET /headless/invoke/platform/force/simple-record-home-setup-page/get-init-data`
|
|
89
|
-
|
|
90
|
-
**Depends on:** `handleSimpleRecordHomeToggle_1`
|
|
91
|
-
|
|
92
|
-
#### `verify-handleActivitiesToggle_1`
|
|
93
|
-
|
|
94
|
-
Re-reads the Setup-page Model after `handleActivitiesToggle_1` to confirm the activities-view preference persisted. The persisted value surfaces as `recordHomeActivitiesDisplaySetting` (`TIMELINE` | `RELATED_LIST`) — the enum is observable on every org (unlike the provisioning-conditional booleans).
|
|
95
|
-
|
|
96
|
-
**Call:** `GET /headless/invoke/platform/force/simple-record-home-setup-page/get-init-data`
|
|
97
|
-
|
|
98
|
-
**Depends on:** `handleActivitiesToggle_1`
|
|
99
|
-
|
|
100
|
-
#### `verify-handleMultiUserLiveRecordsToggle_1`
|
|
101
|
-
|
|
102
|
-
Re-reads the Setup-page Model after `handleMultiUserLiveRecordsToggle_1` to confirm the multi-user-live-records preference persisted. The persisted value surfaces as `isMultiUserLiveRecordsEnabled` in the response only once SRH is provisioned; a non-provisioned org will not surface this field.
|
|
103
|
-
|
|
104
|
-
**Call:** `GET /headless/invoke/platform/force/simple-record-home-setup-page/get-init-data`
|
|
105
|
-
|
|
106
|
-
**Depends on:** `handleMultiUserLiveRecordsToggle_1`
|
|
107
|
-
|
|
108
|
-
## Notes
|
|
109
|
-
|
|
110
|
-
- **factory_gaps:** {'kind': 'extractor_bug', 'step_id': 'getInitData_1', 'observed': 'The base SOR emitted `GET /headless/invoke/platform/simple-record-home/get-init-data`; a live probe returned "No controller mapping" on the target org.', 'correct': 'GET /headless/invoke/platform/force/simple-record-home-setup-page/get-init-data — matches the pattern the three PATCH write steps already use.', 'scope': "The same emit affects the spec's four path keys (all under the wrong prefix). SOR path + spec path keys corrected via overlays; source fix belongs in the pipeline-v2 emitter."}, {'kind': 'probe_environment', 'symptom': '`/headless/metadata` returns "No controller mapping" on the dev org — the Metadata-API deploy surface is not routed there.', 'impact': "The canonical `RecordPageSettings` deploy (enableFullRecordView / enableActivityRelatedList) could not be exercised live on this org; the org-pref → RecordPageSettings mapping was instead confirmed from the platform's canonical metadata definition.", 'disposition': 'Bucket-III coverage_gap RESOLVED (see `/notes/coverage_gap`). Canonical declarative surface confirmed via Core for two of the three writes; AURA-IS-CANONICAL overturned for those two and retained only for multi-user-live-records (no declarative equivalent) + the getInitData composite read.'}
|
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: experience-static-resources-configure
|
|
3
|
-
description: "Use this skill when users want to tooling sObject CRUD for StaticResource (UDD setup entity; Data API does not expose setup-entity records). Trigger when users mention static, resources, static resources."
|
|
4
|
-
metadata:
|
|
5
|
-
version: "1.0"
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
# Managing Static Resources
|
|
9
|
-
|
|
10
|
-
## When to Use This Skill
|
|
11
|
-
|
|
12
|
-
Tooling sObject CRUD for StaticResource (UDD setup entity; Data API does not expose setup-entity records). Holds binary or text assets (CSS, JS, images, archive bundles) addressable from Visualforce / LWC / Aura / community sites; CacheControl Public|Private gates cross-org/anonymous fetchability of the served URL. Tooling sObject is the canonical programmatic CRUD surface; Metadata API SOAP type StaticResource is the deploy/retrieve transport, not per-record CRUD. Image-only domain helpers under platform.interaction-builder (createImageStaticResource / getImageStaticResources) narrow content-type and orderBy. Customize Application user permission required to write.
|
|
13
|
-
|
|
14
|
-
## Critical Constraints
|
|
15
|
-
|
|
16
|
-
**Preconditions:**
|
|
17
|
-
|
|
18
|
-
- Caller needs the Customize Application user permission to write StaticResource records (standard gate for setup-entity writes; Tooling sObject CRUD enforces it). (check: `PermissionsCustomizeApplication`)
|
|
19
|
-
- API access on Tooling — UDD setup entity, Data API does not expose the StaticResource sObject.
|
|
20
|
-
|
|
21
|
-
**Destructive operations — require explicit user confirmation:**
|
|
22
|
-
|
|
23
|
-
- **`delete_StaticResource_1`** — Delete a StaticResource record by Id via the Tooling/sObject API. The {id} path parameter is the record Id.
|
|
24
|
-
- Rollback: No automatic rollback.
|
|
25
|
-
|
|
26
|
-
## Operations Reference
|
|
27
|
-
|
|
28
|
-
Operations grouped by purpose. Use these as the building blocks for the workflows above.
|
|
29
|
-
|
|
30
|
-
### Summary
|
|
31
|
-
|
|
32
|
-
| Operation | Purpose | Status | Call | Depends on |
|
|
33
|
-
|-----------|---------|--------|------|------------|
|
|
34
|
-
| `list_StaticResource_1` | read | — | `query.StaticResource` | — |
|
|
35
|
-
| `get_StaticResource_1` | read | — | `sobjects/StaticResource/{id}` | — |
|
|
36
|
-
| `create_StaticResource_1` | write | — | `sobjects/StaticResource` | — |
|
|
37
|
-
| `update_StaticResource_1` | write | — | `sobjects/StaticResource/{id}` | — |
|
|
38
|
-
| `delete_StaticResource_1` | delete | — | `sobjects/StaticResource/{id}` | — |
|
|
39
|
-
|
|
40
|
-
### Read operations
|
|
41
|
-
|
|
42
|
-
#### `list_StaticResource_1`
|
|
43
|
-
|
|
44
|
-
SOQL list via Tooling. {q} is the SOQL string, e.g. SELECT Id, Name, NamespacePrefix, ContentType, BodyLength, CacheControl, Description FROM StaticResource.
|
|
45
|
-
|
|
46
|
-
**Call:** `query.StaticResource`
|
|
47
|
-
|
|
48
|
-
#### `get_StaticResource_1`
|
|
49
|
-
|
|
50
|
-
GET single StaticResource by Id via Tooling sObject. Returns the record envelope plus FullName and Metadata (cacheControl, contentType, description — the deploy-shape mirror).
|
|
51
|
-
|
|
52
|
-
**Call:** `sobjects/StaticResource/{id}`
|
|
53
|
-
|
|
54
|
-
### Write operations
|
|
55
|
-
|
|
56
|
-
#### `create_StaticResource_1`
|
|
57
|
-
|
|
58
|
-
POST new StaticResource via Tooling sObject — Name, Body (base64 binary/text), ContentType (MIME), CacheControl (Public|Private gates served-URL public fetchability), Description. Image-only alternate platform.interaction-builder.createImageStaticResource defaults cacheControl=PRIVATE and surfaces DuplicateDeveloperNameException.
|
|
59
|
-
|
|
60
|
-
**Call:** `sobjects/StaticResource`
|
|
61
|
-
|
|
62
|
-
#### `update_StaticResource_1`
|
|
63
|
-
|
|
64
|
-
Update a StaticResource record by Id via the Tooling/sObject API. The {id} path parameter is the record Id; body fields replace existing values.
|
|
65
|
-
|
|
66
|
-
**Call:** `sobjects/StaticResource/{id}`
|
|
67
|
-
|
|
68
|
-
### Destructive operations
|
|
69
|
-
|
|
70
|
-
#### `delete_StaticResource_1`
|
|
71
|
-
|
|
72
|
-
Delete a StaticResource record by Id via the Tooling/sObject API. The {id} path parameter is the record Id.
|
|
73
|
-
|
|
74
|
-
**Call:** `sobjects/StaticResource/{id}`
|
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: field-service-setup-coordinate
|
|
3
|
-
description: "Use this skill to set up Salesforce Field Service — Work Types, Skills, Service Territories, Operating Hours, Scheduling Policy, Work Rules, Service Objectives, Data Capture Forms, FSL mobile forms, Pre-Work Brief, Mobile Branding, or any FSL setup, enablement, or configuration request. Entry point that identifies what the user wants to configure and routes to the right sub-workflow: Foundation Setup, Scheduling Policy, Data Capture Forms, Pre-Work Brief, or Mobile Branding."
|
|
4
|
-
metadata:
|
|
5
|
-
version: "1.0"
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
## How It Works
|
|
9
|
-
|
|
10
|
-
This skill is the entry point for all Field Service setup. It identifies what the user wants to configure and routes to the correct sub-skill. It does not perform setup work itself.
|
|
11
|
-
|
|
12
|
-
## Phase 1 — Identify and Confirm
|
|
13
|
-
|
|
14
|
-
If the intent is unclear or generic, first establish what the user wants to set up before going further.
|
|
15
|
-
|
|
16
|
-
Before routing to any workflow, always ask a brief confirmation question — never skip this step, even when intent is obvious or the user has already provided data. Adapt the question naturally to context:
|
|
17
|
-
|
|
18
|
-
- For workflows with a design stage (Foundation Setup, Scheduling Policy, Data Capture Forms): the question should establish whether the user wants a guided design conversation or to proceed directly with data they already have.
|
|
19
|
-
- For workflows without a design stage (Pre-Work Brief, Mobile Branding): confirm the user is ready before proceeding.
|
|
20
|
-
|
|
21
|
-
One short question. Wait for the answer before delegating.
|
|
22
|
-
|
|
23
|
-
## Phase 2 — Route
|
|
24
|
-
|
|
25
|
-
Match the user's intent semantically to a workflow and delegate to the sub-skill.
|
|
26
|
-
|
|
27
|
-
| Workflow | Sub-skill | Note |
|
|
28
|
-
|---|---|---|
|
|
29
|
-
| **Foundation Setup** *(default)* | `sfs-setup-experience/sfs-foundation-setup-designer` → deploys via `sfs-sobject-create` | Always first; covers Work Types, Skills, Service Territories, Operating Hours |
|
|
30
|
-
| Scheduling Policy | `sfs-setup-experience/sfs-scheduling-policy-designer` → deploys via `sfs-sobject-create` | Ask if Foundation is done; if not, offer it first |
|
|
31
|
-
| Data Capture Forms | `sfs-mobile-core-experience/fs-data-capture-form-designer` → `fs-data-capture-form-deployer` | Ask if Foundation is done; if not, offer it first |
|
|
32
|
-
| Pre-Work Brief | `sfs-frontline-ai/fs-prework-brief-deployer` | Ask if Foundation is done; if not, offer it first |
|
|
33
|
-
| Mobile Branding | `sfs-mobile-core-experience/fs-mobile-branding` | Ask if Foundation is done; if not, offer it first |
|
|
34
|
-
|
|
35
|
-
## Conversational Tone
|
|
36
|
-
|
|
37
|
-
- Announce each phase in one plain sentence before it begins — what's about to happen and why.
|
|
38
|
-
- Never expose skill names, SOR IDs, or tool references to the user (no "sfs-foundation-setup-designer", "sfs-sobject-create", "dispatch"). Use plain labels: "Foundation Setup", "design interview", "creating your records".
|
|
39
|
-
|
|
40
|
-
## Key Principles
|
|
41
|
-
|
|
42
|
-
- This skill routes — it never does setup work itself.
|
|
43
|
-
- One workflow at a time; wait for explicit confirmation before the next.
|
|
44
|
-
- If a requested area has no sub-skill yet, say so and ask if the user wants to proceed manually.
|
|
45
|
-
- Never delegate to `sfs-sobject-create` directly — Foundation records must always go through `sfs-foundation-setup-designer` first.
|
|
46
|
-
|
|
47
|
-
<!-- skill-validate: ignore-start -->
|
|
48
|
-
<!-- codey:operations start -->
|
|
49
|
-
## Operations Reference
|
|
50
|
-
|
|
51
|
-
Operations this skill uses — routing and dependency reference.
|
|
52
|
-
|
|
53
|
-
| Operation | Purpose | Status | Call | Depends on |
|
|
54
|
-
|-----------|---------|--------|------|------------|
|
|
55
|
-
| `delegate-foundation-setup-designer` | delegate | — | → `sfs-setup-experience/sfs-foundation-setup-designer` | — |
|
|
56
|
-
| `delegate-scheduling-policy-designer` | delegate | — | → `sfs-setup-experience/sfs-scheduling-policy-designer` | — |
|
|
57
|
-
| `delegate-data-capture-form-designer` | delegate | — | → `sfs-mobile-core-experience/fs-data-capture-form-designer` | — |
|
|
58
|
-
| `delegate-data-capture-form-deployer` | delegate | — | → `sfs-mobile-core-experience/fs-data-capture-form-deployer` | — |
|
|
59
|
-
| `delegate-prework-brief-deployer` | delegate | — | → `sfs-frontline-ai/fs-prework-brief-deployer` | — |
|
|
60
|
-
| `delegate-mobile-branding` | delegate | — | → `sfs-mobile-core-experience/fs-mobile-branding` | — |
|
|
61
|
-
<!-- codey:operations end -->
|
|
62
|
-
<!-- skill-validate: ignore-end -->
|
|
@@ -1,253 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: field-service-work-plan-configure
|
|
3
|
-
description: "Use this skill when users want to configure org-level Salesforce Field Service Work Plans settings and template-to-record custom field mappings. Trigger when users mention work, plan, settings, work plan settings."
|
|
4
|
-
metadata:
|
|
5
|
-
version: "1.0"
|
|
6
|
-
accessCheck: "(FieldServiceAccessCheck.ORG_HAS_WORK_PLANS_GENERAL) || (FieldServiceAccessCheck.ORG_PERMISSION_FIELD_SERVICE) || (FieldServiceSettingAccessCheck.ORG_PERMISSION_WORK_PLANS_DURATION) || (OldAccessCheck.USER_HAS_CUSTOMIZE_APPLICATION_OR_SYS_ADMIN)"
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
# Managing Work Plan Settings
|
|
10
|
-
|
|
11
|
-
## When to Use This Skill
|
|
12
|
-
|
|
13
|
-
Configure org-level Salesforce Field Service Work Plans settings and
|
|
14
|
-
template-to-record custom field mappings. Covers the auto-generation,
|
|
15
|
-
manual-status-update, and hide-not-applicable toggles, the work-order
|
|
16
|
-
duration source, and custom field mappings from Work Plan Template / Work
|
|
17
|
-
Step Template / Work Plan Template Entry to the generated Work Plan and
|
|
18
|
-
Work Step records. Use for Field Service Work Plans configuration and
|
|
19
|
-
field mapping — NOT for unrelated "work", "plan", or "settings" requests
|
|
20
|
-
outside Field Service Work Plans.
|
|
21
|
-
|
|
22
|
-
## Critical Constraints
|
|
23
|
-
|
|
24
|
-
**Preconditions:**
|
|
25
|
-
|
|
26
|
-
- Field Service feature must be enabled at the org level (FieldServiceAccessCheck.ORG_PERMISSION_FIELD_SERVICE). When off, getWorkPlansSettingsConfiguration short-circuits at the fieldServicePerm check and returns only fieldServicePerm + hasCustomizeApplicationPerm. (check: `FieldServiceAccessCheck.ORG_PERMISSION_FIELD_SERVICE`)
|
|
27
|
-
- Work Plans General feature must be on at org level (FieldServiceAccessCheck.ORG_HAS_WORK_PLANS_GENERAL). hasAccess() AND-combines this with the Customize Application/Sys Admin perm; without it saveWorkPlansSettings throws NoAccessException. (check: `FieldServiceAccessCheck.ORG_HAS_WORK_PLANS_GENERAL`)
|
|
28
|
-
- Customize Application permission OR System Administrator (OldAccessCheck.USER_HAS_CUSTOMIZE_APPLICATION_OR_SYS_ADMIN). Required by hasAccess(); save throws NoAccessException otherwise. (check: `OldAccessCheck.USER_HAS_CUSTOMIZE_APPLICATION_OR_SYS_ADMIN`)
|
|
29
|
-
- workOrderDurationSource write additionally requires FieldServiceSettingAccessCheck.ORG_PERMISSION_WORK_PLANS_DURATION; without it the duration write is silently skipped (other toggles still persist). (check: `FieldServiceSettingAccessCheck.ORG_PERMISSION_WORK_PLANS_DURATION`)
|
|
30
|
-
|
|
31
|
-
**Operational rules:**
|
|
32
|
-
|
|
33
|
-
- WHAT WORK PLANS ARE
|
|
34
|
-
Field Service Work Plans give front-line and back-office workers an
|
|
35
|
-
ordered checklist of "work steps" on a Work Order (WO) or Work Order Line
|
|
36
|
-
Item (WOLI), so jobs are completed consistently. The feature has a
|
|
37
|
-
reusable "library" plus generated instances:
|
|
38
|
-
- Work Step Template (WST): a reusable task (may carry a quick action or
|
|
39
|
-
a Field Service mobile flow).
|
|
40
|
-
- Work Plan Template (WPT): a reusable ordered list of steps.
|
|
41
|
-
- Work Plan Template Entry (WPTE): a WST placed into a WPT.
|
|
42
|
-
- Work Plan Selection Rule (WPSR): logic that picks which WPT(s) apply to
|
|
43
|
-
a WO/WOLI (by work type, asset, location, service contract, etc.).
|
|
44
|
-
NOTE: selection rules support STANDARD fields only.
|
|
45
|
-
- Work Plan (WP) / Work Step (WS): the point-in-time instances generated
|
|
46
|
-
onto the WO/WOLI from the templates (WP↔WS is master-detail).
|
|
47
|
-
On WO/WOLI create, the WPSR is evaluated → the matching WPT + its WSTs are
|
|
48
|
-
copied into a WP + WS set on the record.
|
|
49
|
-
- SCOPE OF THIS SKILL
|
|
50
|
-
This skill is the ORG-LEVEL Work Plans SETTINGS page (Setup → Work Plans).
|
|
51
|
-
It owns: the three org toggles (auto-generation, manual work-step status
|
|
52
|
-
update, hide-not-applicable), the work-order duration source, and the
|
|
53
|
-
CUSTOM FIELD MAPPINGS. It does NOT create the library records or generate
|
|
54
|
-
plans — see "broader feature" below.
|
|
55
|
-
- CUSTOM FIELD MAPPING
|
|
56
|
-
Standard fields are auto-mapped from templates to the generated records and
|
|
57
|
-
CANNOT be changed (WPT→WP: Name, Description, Execution Order; WST/WPTE→WS:
|
|
58
|
-
Action Definition, Action Type, Description, Execution Order, Name, Work
|
|
59
|
-
Plan Execution Order). Custom field mapping lets an admin (Customize
|
|
60
|
-
Application) carry CUSTOM template fields onto the generated WP/WS records —
|
|
61
|
-
e.g. a procedures-doc URL, a compliance picklist, or a "mandatory" flag on a
|
|
62
|
-
step. Three fixed mapping types: WorkPlanTemplate→WorkPlan,
|
|
63
|
-
WorkStepTemplate→WorkStep, WorkPlanTemplateEntry→WorkStep.
|
|
64
|
-
Workflow:
|
|
65
|
-
1. getObjectMappingConfiguration_3 — the authoritative field-discovery +
|
|
66
|
-
read step. Returns the SUPPORTED source custom fields (allSourceFields[],
|
|
67
|
-
already filtered — no External Lookup / Encrypted Text / Rollup) with
|
|
68
|
-
their allowed, type-compatible targetFields[], plus the current
|
|
69
|
-
mappings. Do NOT use a raw FieldDefinition/describe query to pick
|
|
70
|
-
fields — it returns more than the mapper supports.
|
|
71
|
-
2. saveWorkPlansSettings_2 with hasMappedFieldDataChanged=true and the
|
|
72
|
-
mappedFieldData composite (see that step's notes for the exact
|
|
73
|
-
{sourceEntity, targetEntity, mappedFields} shape; all five hasXChanged
|
|
74
|
-
flags must be present even on a mappings-only save). Only map a source
|
|
75
|
-
field to a target drawn from that source field's targetFields[]. Two
|
|
76
|
-
mappings that share a target object (WST→WS and WPTE→WS both target
|
|
77
|
-
WorkStep) must use DISTINCT target fields.
|
|
78
|
-
3. Re-read via getObjectMappingConfiguration_3 to confirm persistence
|
|
79
|
-
(save returns a bare true). Mappings persist as FieldServiceSettings
|
|
80
|
-
metadata (Tooling API), not org prefs.
|
|
81
|
-
- BROADER FEATURE (outside this settings page)
|
|
82
|
-
Building the library and generating plans is done elsewhere and is
|
|
83
|
-
supported by standard/public APIs — this skill can guide a user there:
|
|
84
|
-
- Create/manage WorkPlanTemplate, WorkStepTemplate, WorkPlanTemplateEntry,
|
|
85
|
-
WorkPlanSelectionRule, WorkPlan, WorkStep as standard sObjects (REST/
|
|
86
|
-
SOQL/Tooling); the record-level Generate / Add / Delete Work Plans and
|
|
87
|
-
Add Work Steps actions live on the WO/WOLI (see the sibling controllers
|
|
88
|
-
generate-work-plans, add-work-plans, delete-work-plans,
|
|
89
|
-
add-work-steps-to-work-plan, update-work-plan-template-entry — separate
|
|
90
|
-
from this settings page).
|
|
91
|
-
- Typical setup order: (1) Enable Work Plans + add the WO/WOLI related
|
|
92
|
-
lists and the Generate/Add/Delete actions (Object Manager); (2) assign
|
|
93
|
-
user permissions (CRUD + View All on WPT/WST/WPSR; Read/Update on WP/WS;
|
|
94
|
-
Run Flows for mobile-flow steps); (3) build WSTs, WPTs, WPTEs, and
|
|
95
|
-
selection rules; (4) map custom fields (this page); (5) generate plans.
|
|
96
|
-
- PUBLIC DOCS
|
|
97
|
-
- Intro: https://help.salesforce.com/s/articleView?id=service.fs_work_plans_intro.htm&type=5
|
|
98
|
-
- Enable: https://help.salesforce.com/s/articleView?id=service.fs_work_plans_enable.htm&type=5
|
|
99
|
-
- Customize settings: https://help.salesforce.com/s/articleView?id=service.fs_work_plans_customize_settings.htm&type=5
|
|
100
|
-
- Assign permissions: https://help.salesforce.com/s/articleView?id=service.fs_work_plans_assign_user_perms.htm&type=5
|
|
101
|
-
- Map custom fields: https://help.salesforce.com/s/articleView?id=service.fs_work_plans_map_custom_fields.htm&type=5
|
|
102
|
-
- Selection rules: https://help.salesforce.com/s/articleView?id=service.fs_work_plans_create_selection_rules.htm&type=5
|
|
103
|
-
- Generate plans: https://help.salesforce.com/s/articleView?id=service.fs_work_plans_generate_work_plans.htm&type=5
|
|
104
|
-
|
|
105
|
-
## Operations Reference
|
|
106
|
-
|
|
107
|
-
Operations grouped by purpose. Use these as the building blocks for the workflows above.
|
|
108
|
-
|
|
109
|
-
### Summary
|
|
110
|
-
|
|
111
|
-
| Operation | Purpose | Status | Call | Depends on |
|
|
112
|
-
|-----------|---------|--------|------|------------|
|
|
113
|
-
| `getWorkPlansSettingsConfiguration_1` | read | implemented | `GET /headless/invoke/service/fieldservice/work-plans-settings/get-work-plans-settings-configuration` | — |
|
|
114
|
-
| `saveWorkPlansSettings_2` | write | implemented | `PATCH /headless/invoke/service/fieldservice/work-plans-settings/save-work-plans-settings` | `getWorkPlansSettingsConfiguration_1` |
|
|
115
|
-
| `getObjectMappingConfiguration_3` | read | implemented | `GET /headless/invoke/service/fieldservice/field-service-object-mapping/get-object-mapping-configuration` | `getWorkPlansSettingsConfiguration_1` |
|
|
116
|
-
|
|
117
|
-
### Read operations
|
|
118
|
-
|
|
119
|
-
#### `getWorkPlansSettingsConfiguration_1`
|
|
120
|
-
|
|
121
|
-
Returns WorkPlansSettingsConfiguration: toggle values, workOrderDurationSource picklist with conditional workOrderDurationSourceOptions, and gating booleans the agent uses to decide which controls are mutable. AURA-IS-CANONICAL — no public Connect/Tooling/Metadata equivalent.
|
|
122
|
-
|
|
123
|
-
**Call:** `GET /headless/invoke/service/fieldservice/work-plans-settings/get-work-plans-settings-configuration` — status: `implemented`
|
|
124
|
-
|
|
125
|
-
**Output:** WorkPlansSettingsConfiguration object. Toggle values:
|
|
126
|
-
isWorkPlansAutoGenerationEnabled, isWorkStepManualStatusUpdateEnabled,
|
|
127
|
-
isWorkStepsHideNotApplicableEnabled, workOrderDurationSource (string,
|
|
128
|
-
nullable). Gating booleans: fieldServicePerm, fieldServiceOrgPref,
|
|
129
|
-
hasWorkPlansDurationPerm, hasCustomizeApplicationPerm. When the duration
|
|
130
|
-
perm is granted, workOrderDurationSourceOptions is also returned (the
|
|
131
|
-
picklist for the duration source). mappingTypes is a fixed 3-element
|
|
132
|
-
array: WorkPlans_WorkPlanTemplate_WorkPlan,
|
|
133
|
-
WorkPlans_WorkStepTemplate_WorkStep,
|
|
134
|
-
WorkPlans_WorkPlanTemplateEntry_WorkStep — used by the save step's
|
|
135
|
-
optional mappedFieldData composite upsert. When Field Service is off
|
|
136
|
-
(fieldServicePerm=false), the response short-circuits and returns only
|
|
137
|
-
fieldServicePerm + hasCustomizeApplicationPerm.
|
|
138
|
-
|
|
139
|
-
#### `getObjectMappingConfiguration_3`
|
|
140
|
-
|
|
141
|
-
THE field-discovery + read step for custom field mapping — use this
|
|
142
|
-
(not a raw FieldDefinition/describe query) to learn which fields can be
|
|
143
|
-
mapped. Returns an array; each element (one per requested mappingType)
|
|
144
|
-
has: type (the mappingType), sourceApiName + sourceLabel (source object,
|
|
145
|
-
e.g. WorkPlanTemplate), targetApiName + targetLabel (target object, e.g.
|
|
146
|
-
WorkPlan), allSourceFields[] and mappedFields.
|
|
147
|
-
- allSourceFields[]: the ONLY custom source fields that may be mapped.
|
|
148
|
-
The controller already filters out unsupported source types (External
|
|
149
|
-
Lookup, Encrypted Text, Rollup Summary). Each entry has value (source
|
|
150
|
-
field API name) + targetFields[]: the allowed targets for THAT source
|
|
151
|
-
field — restricted to data-type-compatible custom fields on the target
|
|
152
|
-
object, plus a "None" ({value:""}) option. Only pair a source field
|
|
153
|
-
with a target from its own targetFields[] list.
|
|
154
|
-
- mappedFields: the currently-configured {sourceFieldApiName:
|
|
155
|
-
targetFieldApiName} map for this mappingType.
|
|
156
|
-
Empty allSourceFields / mappedFields means no custom fields are defined
|
|
157
|
-
or none are mapped yet. This is the READ half of the workflow; the WRITE
|
|
158
|
-
half is saveWorkPlansSettings with mappedFieldData. Backed by the
|
|
159
|
-
embedded customFieldMapperSetupWrapper UI subcomponent on the Work Plan
|
|
160
|
-
Settings page.
|
|
161
|
-
|
|
162
|
-
**Call:** `GET /headless/invoke/service/fieldservice/field-service-object-mapping/get-object-mapping-configuration` — status: `implemented`
|
|
163
|
-
|
|
164
|
-
**Inputs:**
|
|
165
|
-
|
|
166
|
-
- `mappingTypes` *(`List`)* — List of mappingType enum values to fetch. The three valid values
|
|
167
|
-
(from getWorkPlansSettingsConfiguration's mappingTypes[]):
|
|
168
|
-
WorkPlans_WorkPlanTemplate_WorkPlan (WorkPlanTemplate→WorkPlan),
|
|
169
|
-
WorkPlans_WorkStepTemplate_WorkStep (WorkStepTemplate→WorkStep),
|
|
170
|
-
WorkPlans_WorkPlanTemplateEntry_WorkStep (WorkPlanTemplateEntry→WorkStep).
|
|
171
|
-
|
|
172
|
-
**Depends on:** `getWorkPlansSettingsConfiguration_1`
|
|
173
|
-
|
|
174
|
-
### Write operations
|
|
175
|
-
|
|
176
|
-
#### `saveWorkPlansSettings_2`
|
|
177
|
-
|
|
178
|
-
Persist Work Plans toggles. workPlansSettings map MUST include all five
|
|
179
|
-
pairs (hasIsWorkPlansAutoGenerationEnabledChanged,
|
|
180
|
-
hasIsWorkStepManualStatusUpdateEnabledChanged,
|
|
181
|
-
hasIsWorkStepsHideNotApplicableEnabledChanged,
|
|
182
|
-
hasWorkOrderDurationSourceChanged, hasMappedFieldDataChanged) + their
|
|
183
|
-
matching new values; a missing hasXChanged key raises 500
|
|
184
|
-
CONTROLLER_ERROR. Duration-source writes require the WORK_PLANS_DURATION
|
|
185
|
-
org perm — without it the write is silently skipped while save still
|
|
186
|
-
returns true. Optional mappedFieldData drives a composite upsert against
|
|
187
|
-
one of the fixed mappingTypes returned by the GET step. Throws
|
|
188
|
-
NoAccessException without Customize Application + Work Plans General.
|
|
189
|
-
Returns bare true — verify persistence by re-reading via
|
|
190
|
-
getWorkPlansSettingsConfiguration. AURA-IS-CANONICAL — controller value-add
|
|
191
|
-
(gate + batch + mappedFieldData).
|
|
192
|
-
|
|
193
|
-
**Call:** `PATCH /headless/invoke/service/fieldservice/work-plans-settings/save-work-plans-settings` — status: `implemented`
|
|
194
|
-
|
|
195
|
-
**Inputs:**
|
|
196
|
-
|
|
197
|
-
- `workPlansSettings` *(`LinkedHashMap`)*
|
|
198
|
-
|
|
199
|
-
**Depends on:** `getWorkPlansSettingsConfiguration_1`
|
|
200
|
-
|
|
201
|
-
**Rollback:** getWorkPlansSettingsConfiguration_1
|
|
202
|
-
|
|
203
|
-
**Notes:** payload_contract: workPlansSettings map keys (all five hasXChanged flags are REQUIRED to
|
|
204
|
-
avoid a 500 NPE; matching value fields are read only when the
|
|
205
|
-
corresponding hasXChanged is true):
|
|
206
|
-
hasIsWorkPlansAutoGenerationEnabledChanged + isWorkPlansAutoGenerationEnabled (boolean)
|
|
207
|
-
hasIsWorkStepManualStatusUpdateEnabledChanged + isWorkStepManualStatusUpdateEnabled (boolean)
|
|
208
|
-
hasIsWorkStepsHideNotApplicableEnabledChanged + isWorkStepsHideNotApplicableEnabled (boolean)
|
|
209
|
-
hasWorkOrderDurationSourceChanged + workOrderDurationSource (string or null)
|
|
210
|
-
hasMappedFieldDataChanged + mappedFieldData (composite upsert object or null); error_contracts: {'empty_or_partial_payload': "Missing workPlansSettings input OR missing any hasXChanged key →\n500 CONTROLLER_ERROR (the controller unboxes booleans without null\nchecks). Send all five hasXChanged keys explicitly, even the ones\nyou don't intend to change (set those to false).", 'missing_access': 'NoAccessException when Customize Application or Sys Admin perm is\nabsent, or when Work Plans General feature is off at the org level.', 'duration_perm_silently_skipped': 'When the Work Plans Duration org permission is not granted, a\nworkOrderDurationSource write is dropped silently; save still\nreturns true. Confirm hasWorkPlansDurationPerm=true from the read\nstep before setting hasWorkOrderDurationSourceChanged=true.', 'error_message_shapes': 'Two distinct 500 CONTROLLER_ERROR message shapes distinguish payload\ndefects — inspect the error body to pick the fix:\n - Outer-null (body={} or workPlansSettings unset): the error\n reports that "workPlansSettings" is null → wrap the input in the\n workPlansSettings key.\n - Inner-null (workPlansSettings present but a hasXChanged key\n missing): the error names the missing flag directly\n (e.g. hasMappedFieldDataChanged) → default the named flag to\n false. On some orgs the message instead reports a null value for\n the workPlansSettings map lookup without naming the flag.', 'mapping_type_enum_mismatch': 'When hasMappedFieldDataChanged=true AND mappedFieldData contains a key\nthat isn\'t one of the three mappingTypes enum values, save fails with\n500 CONTROLLER_ERROR "No enum constant MappingType.<attempted-key>" —\ncomposite keys are validated pre-mutation against the mapping-type\nenum. Fix: cross-check mappedFieldData keys against mappingTypes[]\nreturned by getWorkPlansSettingsConfiguration_1 before sending.', 'mapping_data_type_mismatch': 'Catch-all 500 CONTROLLER_ERROR "We can\'t map these fields. Verify that\nthe data type details of the source and target fields match." raised\nwhen the Tooling upsert of FieldServiceSettings rejects the mapping.\nIt is NOT limited to data-type mismatches — verified against a live\norg, it also fires when:\n - source/target field data types are incompatible;\n - sourceEntity or targetEntity is omitted from a mappedFieldData\n entry (the controller builds a null ObjectMapping);\n - two mappings that share a target entity point at the SAME target\n field (e.g. WorkStepTemplate→WorkStep and\n WorkPlanTemplateEntry→WorkStep both mapping to\n WorkStep.Custom_text_field__c) — each target field on a shared\n target object can be the destination of only one source mapping.\nThe write is atomic: on this error NOTHING persists (state unchanged).\nFix: build mappings ONLY from getObjectMappingConfiguration_3 — pick a\nsource field from allSourceFields[] and a target from that field\'s own\ntargetFields[] list (both are already filtered to supported +\ntype-compatible fields); always include sourceEntity + targetEntity;\nand give each target field on a shared target object a distinct source\nmapping. Safest pattern: read the current valid config and modify it.'}; flag_gate_semantics: Flag-gate is STRICT. When hasXChanged=false the paired value is
|
|
211
|
-
silently ignored — sending a new value alongside flag=false never
|
|
212
|
-
writes and never errors. Consequence: all-hasXChanged=false is a
|
|
213
|
-
safe no-op payload (idempotent contract). Corollary: to guarantee a
|
|
214
|
-
write happens, set hasXChanged=true and populate the paired value.; loose_schema_tolerance: Unknown keys in the workPlansSettings map are silently dropped — the
|
|
215
|
-
server returns 200 true with no error and does not persist the typo.
|
|
216
|
-
Callers get no server-side signal on misspelled flag names. Validate
|
|
217
|
-
against payload_contract keys client-side before send.; mapping_types_enum: ['WorkPlans_WorkPlanTemplate_WorkPlan', 'WorkPlans_WorkStepTemplate_WorkStep', 'WorkPlans_WorkPlanTemplateEntry_WorkStep']; mapped_field_data: Optional composite upsert of custom field mappings. Set
|
|
218
|
-
hasMappedFieldDataChanged=true and populate mappedFieldData; leave both
|
|
219
|
-
unset/false on a toggles-only save. mappedFieldData is a MAP keyed by
|
|
220
|
-
mappingType enum name; the VALUE under each key is an object with THREE
|
|
221
|
-
fields (NOT a bare {source:target} map):
|
|
222
|
-
{
|
|
223
|
-
"<mappingType>": {
|
|
224
|
-
"sourceEntity": "<source object API name>", # e.g. WorkPlanTemplate
|
|
225
|
-
"targetEntity": "<target object API name>", # e.g. WorkPlan
|
|
226
|
-
"mappedFields": { "<sourceFieldApiName>": "<targetFieldApiName>" }
|
|
227
|
-
}
|
|
228
|
-
}
|
|
229
|
-
sourceEntity/targetEntity come from sourceApiName/targetApiName in the
|
|
230
|
-
getObjectMappingConfiguration_3 read; each sourceField + targetField pair
|
|
231
|
-
in mappedFields MUST come from that read's allSourceFields[] (the source)
|
|
232
|
-
and that source field's targetFields[] (the allowed, type-compatible
|
|
233
|
-
target). Omitting sourceEntity or targetEntity makes the controller build
|
|
234
|
-
a null ObjectMapping and the Tooling upsert fails with
|
|
235
|
-
dataTypeMismatchError. Persistence is a Tooling API upsert of the
|
|
236
|
-
FieldServiceSettings metadata record (ObjectMappingItem[]) — mappings
|
|
237
|
-
survive as org metadata, not an org pref. Verified example against a
|
|
238
|
-
live org (200 true, idempotent re-apply):
|
|
239
|
-
"mappedFieldData": {
|
|
240
|
-
"WorkPlans_WorkPlanTemplate_WorkPlan": {
|
|
241
|
-
"sourceEntity": "WorkPlanTemplate", "targetEntity": "WorkPlan",
|
|
242
|
-
"mappedFields": {"Custom_text_field__c": "Custom_text_field__c"}},
|
|
243
|
-
"WorkPlans_WorkStepTemplate_WorkStep": {
|
|
244
|
-
"sourceEntity": "WorkStepTemplate", "targetEntity": "WorkStep",
|
|
245
|
-
"mappedFields": {"Custom_text_field__c": "Custom_text_field__c"}},
|
|
246
|
-
"WorkPlans_WorkPlanTemplateEntry_WorkStep": {
|
|
247
|
-
"sourceEntity": "WorkPlanTemplateEntry", "targetEntity": "WorkStep",
|
|
248
|
-
"mappedFields": {"Custom_text_field__c": "Custom_text_field_2__c"}}
|
|
249
|
-
}; idempotency: Save is idempotent for toggles — re-issuing the same payload is a safe
|
|
250
|
-
no-op. All-hasXChanged=false is also a safe no-op (flag-gate strict).
|
|
251
|
-
To roll back a toggle change: (1) capture the GET response before save;
|
|
252
|
-
(2) re-PATCH with hasXChanged=true for each changed pair and the prior
|
|
253
|
-
value.
|