@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.
Files changed (349) hide show
  1. package/package.json +1 -1
  2. package/skills/field-service-data-capture-form-deployer-configure/SKILL.md +2 -23
  3. package/skills/field-service-data-capture-form-designer-configure/SKILL.md +3 -13
  4. package/skills/field-service-mobile-branding-configure/SKILL.md +3 -17
  5. package/skills/field-service-objective-designer-configure/SKILL.md +379 -72
  6. package/skills/field-service-prework-brief-deployer-configure/SKILL.md +537 -10
  7. package/skills/field-service-scheduling-policy-designer-query/SKILL.md +1093 -65
  8. package/skills/field-service-sobject-create-configure/SKILL.md +213 -13
  9. package/skills/field-service-voice-to-form-configure/SKILL.md +11 -40
  10. package/skills/field-service-work-rule-designer-configure/SKILL.md +95 -121
  11. package/skills/agentforce-gpt-email-generation-configure/SKILL.md +0 -312
  12. package/skills/agentforce-wizard-ui-forecasting-analytics-components-configure/SKILL.md +0 -64
  13. package/skills/agentforce-wizard-ui-sales-einstein-components-configure/SKILL.md +0 -46
  14. package/skills/automation-company-profile-info-query/SKILL.md +0 -51
  15. package/skills/automation-digital-wallet-configure/SKILL.md +0 -689
  16. package/skills/automation-flow-coordinate/SKILL.md +0 -95
  17. package/skills/automation-flow-coordinate/references/elements/action-call/action-call.md +0 -1569
  18. package/skills/automation-flow-coordinate/references/elements/action-call/conversation-messaging.md +0 -96
  19. package/skills/automation-flow-coordinate/references/elements/action-call/examples/send-sms-message.json +0 -23
  20. package/skills/automation-flow-coordinate/references/elements/action-call/examples/send-to-journey-no-fields.json +0 -31
  21. package/skills/automation-flow-coordinate/references/elements/action-call/send-to-journey.md +0 -179
  22. package/skills/automation-flow-coordinate/references/elements/exit-rule/examples/event-email-link-click.json +0 -13
  23. package/skills/automation-flow-coordinate/references/elements/exit-rule/exit-rule.md +0 -83
  24. package/skills/automation-flow-coordinate/references/elements/forward-to-bot-or-agent/examples/forward-to-bot-or-agent.json +0 -69
  25. package/skills/automation-flow-coordinate/references/elements/forward-to-bot-or-agent/forward-to-bot-or-agent.md +0 -274
  26. package/skills/automation-flow-coordinate/references/elements/start/audience-common.md +0 -192
  27. package/skills/automation-flow-coordinate/references/elements/start/automation-event-triggered.md +0 -130
  28. package/skills/automation-flow-coordinate/references/elements/start/data-cloud-data-change-triggered.md +0 -92
  29. package/skills/automation-flow-coordinate/references/elements/start/form-submission-triggered.md +0 -88
  30. package/skills/automation-flow-coordinate/references/elements/start/segment-triggered.md +0 -152
  31. package/skills/automation-flow-coordinate/references/elements/start/start.md +0 -539
  32. package/skills/automation-flow-coordinate/references/elements/subflow/subflow.md +0 -152
  33. package/skills/automation-flow-coordinate/references/elements/wait/wait.md +0 -497
  34. package/skills/automation-flow-coordinate/references/recipes/author/author.md +0 -868
  35. package/skills/automation-flow-coordinate/references/recipes/summarize/element-generic.md +0 -300
  36. package/skills/automation-flow-coordinate/references/recipes/summarize/reference-resolution.md +0 -292
  37. package/skills/automation-flow-coordinate/references/recipes/summarize/summarize.md +0 -323
  38. package/skills/automation-flow-coordinate/references/recipes/testing/examples/debug-output-template.md +0 -109
  39. package/skills/automation-flow-coordinate/references/recipes/testing/shape.md +0 -219
  40. package/skills/automation-flow-coordinate/references/recipes/testing/shared-stages/intent-analyzer.md +0 -180
  41. package/skills/automation-flow-coordinate/references/recipes/testing/workflows/debug.md +0 -175
  42. package/skills/automation-flow-coordinate/references/recipes/testing/workflows/promote.md +0 -255
  43. package/skills/automation-flow-coordinate/references/recipes/testing/workflows/save-debug.md +0 -212
  44. package/skills/automation-flow-coordinate/references/resources/variable/variable.md +0 -171
  45. package/skills/automation-flow-coordinate/references/shared/anti-patterns.md +0 -786
  46. package/skills/automation-flow-coordinate/references/shared/end/end.md +0 -267
  47. package/skills/automation-flow-coordinate/references/shared/flow-type-resolver/eval/README.md +0 -69
  48. package/skills/automation-flow-coordinate/references/shared/flow-type-resolver/eval/predictions.jsonl +0 -80
  49. package/skills/automation-flow-coordinate/references/shared/flow-type-resolver/eval/prompts.jsonl +0 -116
  50. package/skills/automation-flow-coordinate/references/shared/flow-type-resolver/flow-type-resolver.md +0 -321
  51. package/skills/automation-flow-coordinate/references/shared/flow-type-resolver/taxonomy.json +0 -320
  52. package/skills/automation-flow-coordinate/references/shared/server-functions.md +0 -597
  53. package/skills/automotive-cloud-appraisal-management-settings-configure/SKILL.md +0 -69
  54. package/skills/automotive-cloud-dealer-essentials-configure/SKILL.md +0 -78
  55. package/skills/automotive-cloud-ground-agent-data-pipelines-configure/SKILL.md +0 -373
  56. package/skills/automotive-cloud-ground-mfg-agent-data-pipelines-configure/SKILL.md +0 -273
  57. package/skills/automotive-cloud-mfg-agent-data-pipelines-configure/SKILL.md +0 -259
  58. package/skills/automotive-cloud-mfg-sales-concierge-agent-create/SKILL.md +0 -369
  59. package/skills/automotive-cloud-mfg-sales-concierge-foundation-configure/SKILL.md +0 -542
  60. package/skills/automotive-cloud-mfg-sales-concierge-foundation-coordinate/SKILL.md +0 -159
  61. package/skills/automotive-cloud-mfg-sales-concierge-orchestrator-agent-create/SKILL.md +0 -349
  62. package/skills/automotive-cloud-mfg-sales-concierge-orchestrator-configure/SKILL.md +0 -505
  63. package/skills/automotive-cloud-sales-concierge-agent-create/SKILL.md +0 -380
  64. package/skills/automotive-cloud-sales-concierge-foundation-configure/SKILL.md +0 -567
  65. package/skills/automotive-cloud-sales-concierge-foundation-coordinate/SKILL.md +0 -159
  66. package/skills/automotive-cloud-sales-concierge-orchestrator-agent-create/SKILL.md +0 -360
  67. package/skills/automotive-cloud-sales-concierge-orchestrator-configure/SKILL.md +0 -539
  68. package/skills/automotive-cloud-sales-concierge-search-grounding-configure/SKILL.md +0 -358
  69. package/skills/commerce-b2b-merchant-quote-configure/SKILL.md +0 -602
  70. package/skills/commerce-b2b-store-configure/SKILL.md +0 -251
  71. package/skills/commerce-credit-memo-create/SKILL.md +0 -139
  72. package/skills/commerce-delivery-business-hours-configure/SKILL.md +0 -277
  73. package/skills/commerce-delivery-estimation-apply/SKILL.md +0 -155
  74. package/skills/commerce-delivery-estimation-configure/SKILL.md +0 -377
  75. package/skills/commerce-delivery-routing-specs-integrate/SKILL.md +0 -174
  76. package/skills/commerce-estimate-bopis-query/SKILL.md +0 -279
  77. package/skills/commerce-estimate-delivery-date-query/SKILL.md +0 -349
  78. package/skills/commerce-fees-apply/SKILL.md +0 -227
  79. package/skills/commerce-fulfillment-routing-analyze/SKILL.md +0 -200
  80. package/skills/commerce-guest-buyer-create/SKILL.md +0 -173
  81. package/skills/commerce-location-bopis-configure/SKILL.md +0 -378
  82. package/skills/commerce-location-business-hours-configure/SKILL.md +0 -235
  83. package/skills/commerce-location-delivery-processing-time-configure/SKILL.md +0 -309
  84. package/skills/commerce-location-graph-integrate/SKILL.md +0 -131
  85. package/skills/commerce-location-shipping-carrier-method-configure/SKILL.md +0 -755
  86. package/skills/commerce-location-temporary-operating-hours-configure/SKILL.md +0 -331
  87. package/skills/commerce-merchant-buyer-groups-configure/SKILL.md +0 -579
  88. package/skills/commerce-merchant-buyer-user-onboarding-create/SKILL.md +0 -626
  89. package/skills/commerce-merchant-catalog-configure/SKILL.md +0 -614
  90. package/skills/commerce-merchant-extension-provider-configure/SKILL.md +0 -368
  91. package/skills/commerce-merchant-insights-account-health-churn-analyze/SKILL.md +0 -118
  92. package/skills/commerce-merchant-insights-inventory-returns-analyze/SKILL.md +0 -65
  93. package/skills/commerce-merchant-insights-order-shopper-get/SKILL.md +0 -90
  94. package/skills/commerce-merchant-insights-product-performance-analyze/SKILL.md +0 -72
  95. package/skills/commerce-merchant-insights-query/SKILL.md +0 -279
  96. package/skills/commerce-merchant-storefront-guest-access-configure/SKILL.md +0 -656
  97. package/skills/commerce-order-summary-change-apply/SKILL.md +0 -375
  98. package/skills/commerce-product-details-get/SKILL.md +0 -363
  99. package/skills/commerce-product-search/SKILL.md +0 -563
  100. package/skills/commerce-react-storefront-create/SKILL.md +0 -350
  101. package/skills/commerce-return-order-summary-create/SKILL.md +0 -513
  102. package/skills/commerce-search-relevance-analyze/SKILL.md +0 -757
  103. package/skills/commerce-temporary-processing-time-override-create/SKILL.md +0 -274
  104. package/skills/communications-initial-setup-configure/SKILL.md +0 -630
  105. package/skills/communications-multisite-configure/SKILL.md +0 -571
  106. package/skills/communications-revenue-cloud-settings-configure/SKILL.md +0 -74
  107. package/skills/communications-smb-fiber-catalog-create/SKILL.md +0 -413
  108. package/skills/communications-tmf-integrate/SKILL.md +0 -1368
  109. package/skills/consumer-goods-visit-activity-act4-questions-assign/SKILL.md +0 -448
  110. package/skills/consumer-goods-visit-activity-act5-standard-create/SKILL.md +0 -269
  111. package/skills/consumer-goods-visit-activity-act6-assortment-configure/SKILL.md +0 -271
  112. package/skills/consumer-goods-visit-activity-act7-account-scoping-create/SKILL.md +0 -382
  113. package/skills/consumer-goods-visit-activity-act8-plan-attach-create/SKILL.md +0 -373
  114. package/skills/consumer-goods-visit-activity-act9-proof-validate/SKILL.md +0 -389
  115. package/skills/consumer-goods-visit-and-activity-act1-specification-create/SKILL.md +0 -338
  116. package/skills/consumer-goods-visit-and-activity-act2-template-create/SKILL.md +0 -547
  117. package/skills/consumer-goods-visit-and-activity-act3-definition-create/SKILL.md +0 -346
  118. package/skills/consumer-goods-visit-and-activity-configure/SKILL.md +0 -1110
  119. package/skills/crm-analytics-adoption-insights-configure/SKILL.md +0 -224
  120. package/skills/crm-analytics-custom-report-type-lightning-configure/SKILL.md +0 -418
  121. package/skills/crm-analytics-dashboards-configure/SKILL.md +0 -731
  122. package/skills/crm-analytics-operational-analytics-metadata-bridge-migrate/SKILL.md +0 -233
  123. package/skills/crm-analytics-report-notifications-ui-configure/SKILL.md +0 -184
  124. package/skills/crm-analytics-sharing-inheritance-coverage-analyze/SKILL.md +0 -167
  125. package/skills/crm-analytics-sonic-getting-started-configure/SKILL.md +0 -55
  126. package/skills/crm-analytics-tableau-next-app-deploy/SKILL.md +0 -1350
  127. package/skills/crm-analytics-tableau-next-c360-basemodel-validate/SKILL.md +0 -1862
  128. package/skills/crm-analytics-tableau-next-datacloud-validate/SKILL.md +0 -83
  129. package/skills/crm-analytics-tableau-next-provisioning-validate/SKILL.md +0 -81
  130. package/skills/data360-activation-create/SKILL.md +0 -104
  131. package/skills/data360-activation-external-platform-get/SKILL.md +0 -49
  132. package/skills/data360-activation-target-create/SKILL.md +0 -93
  133. package/skills/data360-activation-v2-create/SKILL.md +0 -456
  134. package/skills/data360-audience-dmo-get/SKILL.md +0 -38
  135. package/skills/data360-calculated-affinity-create/SKILL.md +0 -82
  136. package/skills/data360-calculated-insight-create/SKILL.md +0 -148
  137. package/skills/data360-catalog-metadata-create/SKILL.md +0 -183
  138. package/skills/data360-code-extension-create/SKILL.md +0 -115
  139. package/skills/data360-communication-capping-create/SKILL.md +0 -227
  140. package/skills/data360-connection-create/SKILL.md +0 -491
  141. package/skills/data360-content-lens-create/SKILL.md +0 -181
  142. package/skills/data360-data-action-create/SKILL.md +0 -126
  143. package/skills/data360-data-action-target-create/SKILL.md +0 -181
  144. package/skills/data360-data-clean-room-create/SKILL.md +0 -238
  145. package/skills/data360-data-governance-create/SKILL.md +0 -746
  146. package/skills/data360-data-graph-create/SKILL.md +0 -82
  147. package/skills/data360-data-harmonized-model-object-reference-create/SKILL.md +0 -38
  148. package/skills/data360-data-lake-object-create/SKILL.md +0 -207
  149. package/skills/data360-data-model-object-catalog-get/SKILL.md +0 -49
  150. package/skills/data360-data-model-object-create/SKILL.md +0 -128
  151. package/skills/data360-data-model-object-mapping-create/SKILL.md +0 -106
  152. package/skills/data360-data-space-create/SKILL.md +0 -161
  153. package/skills/data360-data-streams-create/SKILL.md +0 -324
  154. package/skills/data360-engagement-signal-get/SKILL.md +0 -38
  155. package/skills/data360-experiment-create/SKILL.md +0 -82
  156. package/skills/data360-goal-based-campaign-create/SKILL.md +0 -192
  157. package/skills/data360-harmonization-process-history-get/SKILL.md +0 -38
  158. package/skills/data360-harmonized-unstructured-dmo-create/SKILL.md +0 -84
  159. package/skills/data360-identity-resolution-create/SKILL.md +0 -115
  160. package/skills/data360-intelligent-document-processing-create/SKILL.md +0 -148
  161. package/skills/data360-knowledge-graph-construction-create/SKILL.md +0 -93
  162. package/skills/data360-knowledge-graph-create/SKILL.md +0 -216
  163. package/skills/data360-knowledge-space-mcp-configure/SKILL.md +0 -475
  164. package/skills/data360-machine-learning-mcp-configure/SKILL.md +0 -697
  165. package/skills/data360-multi-org-mcp-configure/SKILL.md +0 -117
  166. package/skills/data360-secondary-index-mcp-configure/SKILL.md +0 -126
  167. package/skills/data360-segment-mcp-configure/SKILL.md +0 -159
  168. package/skills/data360-semantic-calculated-dimension-mcp-configure/SKILL.md +0 -93
  169. package/skills/data360-semantic-calculated-measurement-mcp-configure/SKILL.md +0 -93
  170. package/skills/data360-semantic-data-object-mcp-configure/SKILL.md +0 -93
  171. package/skills/data360-semantic-dimension-mcp-configure/SKILL.md +0 -38
  172. package/skills/data360-semantic-engine-mcp-configure/SKILL.md +0 -62
  173. package/skills/data360-semantic-measurement-mcp-configure/SKILL.md +0 -38
  174. package/skills/data360-semantic-metric-mcp-configure/SKILL.md +0 -93
  175. package/skills/data360-semantic-model-mcp-configure/SKILL.md +0 -115
  176. package/skills/data360-standard-mapping-mcp-configure/SKILL.md +0 -38
  177. package/skills/data360-tenant-lifecycle-mcp-configure/SKILL.md +0 -73
  178. package/skills/experience-afv-query/SKILL.md +0 -234
  179. package/skills/experience-agentforce-vibes-in-react-configure/SKILL.md +0 -63
  180. package/skills/experience-apex-components-configure/SKILL.md +0 -69
  181. package/skills/experience-apex-pages-configure/SKILL.md +0 -107
  182. package/skills/experience-app-home-configure/SKILL.md +0 -76
  183. package/skills/experience-aura-lightning-out-access-configure/SKILL.md +0 -58
  184. package/skills/experience-briefcase-configure/SKILL.md +0 -287
  185. package/skills/experience-community-flexi-page-list-create/SKILL.md +0 -74
  186. package/skills/experience-community-template-definition-list-query/SKILL.md +0 -48
  187. package/skills/experience-community-theme-definition-list-query/SKILL.md +0 -38
  188. package/skills/experience-content-assets-configure/SKILL.md +0 -86
  189. package/skills/experience-custom-domain-create/SKILL.md +0 -727
  190. package/skills/experience-defer-rendering-workspace-page-setup-configure/SKILL.md +0 -41
  191. package/skills/experience-field-service-app-builder-configure/SKILL.md +0 -187
  192. package/skills/experience-flow-category-configure/SKILL.md +0 -117
  193. package/skills/experience-formula-configure/SKILL.md +0 -358
  194. package/skills/experience-global-actions-configure/SKILL.md +0 -69
  195. package/skills/experience-global-publisher-layouts-configure/SKILL.md +0 -79
  196. package/skills/experience-instrumentation-configure/SKILL.md +0 -64
  197. package/skills/experience-lex-engagement-configure/SKILL.md +0 -50
  198. package/skills/experience-lightning-bolt-open/SKILL.md +0 -12
  199. package/skills/experience-lightning-out-configure/SKILL.md +0 -129
  200. package/skills/experience-lightning-preview-configure/SKILL.md +0 -67
  201. package/skills/experience-lightning-types-query/SKILL.md +0 -98
  202. package/skills/experience-malware-scan-configure/SKILL.md +0 -71
  203. package/skills/experience-my-salesforce-configure/SKILL.md +0 -126
  204. package/skills/experience-navigation-menus-configure/SKILL.md +0 -235
  205. package/skills/experience-notification-types-configure/SKILL.md +0 -206
  206. package/skills/experience-notifications-configure/SKILL.md +0 -75
  207. package/skills/experience-record-discovery-query/SKILL.md +0 -227
  208. package/skills/experience-regenerate-previews-open/SKILL.md +0 -94
  209. package/skills/experience-sales-cloud-mab-configure/SKILL.md +0 -254
  210. package/skills/experience-schema-builder-open/SKILL.md +0 -38
  211. package/skills/experience-simple-record-home-configure/SKILL.md +0 -110
  212. package/skills/experience-static-resources-configure/SKILL.md +0 -74
  213. package/skills/field-service-setup-coordinate/SKILL.md +0 -62
  214. package/skills/field-service-work-plan-configure/SKILL.md +0 -253
  215. package/skills/fsc-actionable-segmentation-settings-configure/SKILL.md +0 -180
  216. package/skills/fsc-digital-origination-bre-decision-matrix-foundation-create/SKILL.md +0 -196
  217. package/skills/fsc-digital-origination-bre-disclosures-consent-configure/SKILL.md +0 -106
  218. package/skills/fsc-digital-origination-bre-document-upload-configure/SKILL.md +0 -96
  219. package/skills/fsc-digital-origination-bre-permissions-assign/SKILL.md +0 -111
  220. package/skills/fsc-digital-origination-bre-setup-coordinate/SKILL.md +0 -250
  221. package/skills/fsc-digital-origination-bre-stp-eligibility-configure/SKILL.md +0 -122
  222. package/skills/fsc-digital-origination-coordinate/SKILL.md +0 -653
  223. package/skills/fsc-digital-origination-demo-run/SKILL.md +0 -225
  224. package/skills/fsc-digital-origination-execution-guardrails-validate/SKILL.md +0 -112
  225. package/skills/fsc-digital-origination-initial-setup-configure/SKILL.md +0 -396
  226. package/skills/fsc-digital-origination-pricing-setup-coordinate/SKILL.md +0 -336
  227. package/skills/fsc-digital-origination-pricing-setup-data-foundation-create/SKILL.md +0 -208
  228. package/skills/fsc-digital-origination-pricing-setup-procedure-create/SKILL.md +0 -375
  229. package/skills/fsc-digital-origination-product-setup-act1-permissions-assign/SKILL.md +0 -83
  230. package/skills/fsc-digital-origination-product-setup-coordinate/SKILL.md +0 -248
  231. package/skills/fsc-digital-origination-sample-data-create/SKILL.md +0 -206
  232. package/skills/fsc-document-checklist-settings-configure/SKILL.md +0 -57
  233. package/skills/fsc-flexible-hierarchy-configure/SKILL.md +0 -148
  234. package/skills/fsc-flexible-hierarchy-foundation-configure/SKILL.md +0 -1430
  235. package/skills/fsc-flexible-hierarchy-graph-config-create/SKILL.md +0 -471
  236. package/skills/fsc-flexible-hierarchy-rule-based-graph-deploy/SKILL.md +0 -429
  237. package/skills/fsc-pricing-product-configurator-configure/SKILL.md +0 -150
  238. package/skills/fsc-pricing-salesforce-omnistudio-switch/SKILL.md +0 -123
  239. package/skills/fsc-product-act2-catalog-categories-create/SKILL.md +0 -82
  240. package/skills/fsc-product-act3-attributes-create/SKILL.md +0 -249
  241. package/skills/fsc-product-act4-classification-assignment-create/SKILL.md +0 -196
  242. package/skills/fsc-product-act5-considerations-get/SKILL.md +0 -44
  243. package/skills/fsc-stage-management-apex-flow-deploy/SKILL.md +0 -384
  244. package/skills/fsc-stage-management-compliant-data-sharing-configure/SKILL.md +0 -144
  245. package/skills/fsc-stage-management-decision-matrices-create/SKILL.md +0 -107
  246. package/skills/fsc-stage-management-definition-assignments-create/SKILL.md +0 -189
  247. package/skills/fsc-stage-management-definition-create/SKILL.md +0 -108
  248. package/skills/fsc-stage-management-permissions-assign/SKILL.md +0 -143
  249. package/skills/fsc-stage-management-transitions-configure/SKILL.md +0 -139
  250. package/skills/health-cloud-appt-booking-config-configure/SKILL.md +0 -135
  251. package/skills/health-cloud-appt-booking-url-config-configure/SKILL.md +0 -134
  252. package/skills/health-cloud-care-provider-affl-role-config-configure/SKILL.md +0 -136
  253. package/skills/health-cloud-care-provider-search-config-configure/SKILL.md +0 -134
  254. package/skills/health-cloud-care-requests-create/SKILL.md +0 -178
  255. package/skills/health-cloud-initial-configure/SKILL.md +0 -511
  256. package/skills/health-cloud-patient-appointment-scheduling-configure/SKILL.md +0 -1374
  257. package/skills/health-cloud-provider-search-settings-configure/SKILL.md +0 -924
  258. package/skills/health-cloud-referral-management-coordinate/SKILL.md +0 -513
  259. package/skills/health-cloud-timeline-configure/SKILL.md +0 -622
  260. package/skills/health-cloud-virtual-visit-config-configure/SKILL.md +0 -135
  261. package/skills/industries-account-score-settings-query/SKILL.md +0 -78
  262. package/skills/industries-actionable-list-data-sources-dmo-configure/SKILL.md +0 -177
  263. package/skills/industries-ad-product-availability-search/SKILL.md +0 -399
  264. package/skills/industries-advanced-account-forecast-settings-configure/SKILL.md +0 -628
  265. package/skills/industries-advanced-therapy-management-settings-configure/SKILL.md +0 -73
  266. package/skills/industries-atm-settings-starter-configure/SKILL.md +0 -76
  267. package/skills/industries-batch-document-ai-configure/SKILL.md +0 -196
  268. package/skills/industries-behavioral-health-app-settings-configure/SKILL.md +0 -71
  269. package/skills/industries-branch-management-settings-configure/SKILL.md +0 -89
  270. package/skills/industries-bre-decision-table-access-configure/SKILL.md +0 -367
  271. package/skills/industries-brokerage-settings-configure/SKILL.md +0 -41
  272. package/skills/industries-calendar-sync-settings-configure/SKILL.md +0 -89
  273. package/skills/industries-care-request-settings-configure/SKILL.md +0 -218
  274. package/skills/industries-case-management-intelligence-settings-configure/SKILL.md +0 -54
  275. package/skills/industries-catalog-process-attributes-products-configure/SKILL.md +0 -380
  276. package/skills/industries-catalog-process-fulfillment-configure/SKILL.md +0 -216
  277. package/skills/industries-catalog-process-intake-configure/SKILL.md +0 -219
  278. package/skills/industries-catalog-process-knowledge-configure/SKILL.md +0 -153
  279. package/skills/industries-catalog-process-preprocessor-configure/SKILL.md +0 -168
  280. package/skills/industries-cds-general-settings-configure/SKILL.md +0 -69
  281. package/skills/industries-claim-financial-settings-configure/SKILL.md +0 -169
  282. package/skills/industries-clinical-data-model-settings-configure/SKILL.md +0 -136
  283. package/skills/industries-clinical-data-model-settings-starter-configure/SKILL.md +0 -105
  284. package/skills/industries-collection-plan-settings-configure/SKILL.md +0 -132
  285. package/skills/industries-comms-service-console-settings-configure/SKILL.md +0 -159
  286. package/skills/industries-compliance-configure/SKILL.md +0 -102
  287. package/skills/industries-compliance-document-extraction-setup-configure/SKILL.md +0 -76
  288. package/skills/industries-contact-center-app-layout-configure/SKILL.md +0 -88
  289. package/skills/industries-contact-center-components-configure/SKILL.md +0 -96
  290. package/skills/industries-contact-center-path-knowledge-configure/SKILL.md +0 -95
  291. package/skills/industries-contact-center-user-access-assign/SKILL.md +0 -96
  292. package/skills/industries-course-waitlist-config-configure/SKILL.md +0 -162
  293. package/skills/industries-crisis-center-settings-configure/SKILL.md +0 -84
  294. package/skills/industries-custom-object-settings-configure/SKILL.md +0 -94
  295. package/skills/industries-data-cloud-integration-configure/SKILL.md +0 -88
  296. package/skills/industries-data-space-feature-mappings-configure/SKILL.md +0 -245
  297. package/skills/industries-decision-matrix-builder-configure/SKILL.md +0 -78
  298. package/skills/industries-decision-table-hbase-configure/SKILL.md +0 -87
  299. package/skills/industries-decision-table-version-configure/SKILL.md +0 -74
  300. package/skills/industries-decision-tables-builder-configure/SKILL.md +0 -253
  301. package/skills/industries-decision-tables-configure/SKILL.md +0 -439
  302. package/skills/industries-energy-utilities-configure/SKILL.md +0 -251
  303. package/skills/industries-eu-cloud-multisite-configure/SKILL.md +0 -1008
  304. package/skills/industries-eu-new-connections-configure/SKILL.md +0 -30
  305. package/skills/industries-explainability-msg-template-configure/SKILL.md +0 -135
  306. package/skills/industries-expression-set-message-token-configure/SKILL.md +0 -135
  307. package/skills/industries-field-service-settings-configure/SKILL.md +0 -82
  308. package/skills/industries-form-framework-settings-configure/SKILL.md +0 -30
  309. package/skills/industries-fsc-ai-settings-configure/SKILL.md +0 -57
  310. package/skills/industries-fsc-association-engine-settings-configure/SKILL.md +0 -172
  311. package/skills/industries-fsc-b2b-settings-configure/SKILL.md +0 -61
  312. package/skills/industries-fsc-insurance-settings-configure/SKILL.md +0 -58
  313. package/skills/industries-fsc-visa-fulfillment-setup-configure/SKILL.md +0 -103
  314. package/skills/industries-fsc-wealth-agent-settings-configure/SKILL.md +0 -117
  315. package/skills/industries-fsc-wealth-settings-configure/SKILL.md +0 -99
  316. package/skills/industries-fundraising-gift-entry-settings-configure/SKILL.md +0 -120
  317. package/skills/industries-fundraising-rfm-configure/SKILL.md +0 -128
  318. package/skills/industries-fundraising-settings-configure/SKILL.md +0 -145
  319. package/skills/industries-fundraising-source-code-gen-configure/SKILL.md +0 -299
  320. package/skills/industries-google-maps-api-key-settings-configure/SKILL.md +0 -87
  321. package/skills/industries-grantmaking-intelligence-settings-open/SKILL.md +0 -58
  322. package/skills/industries-hc-score-category-settings-configure/SKILL.md +0 -167
  323. package/skills/industries-health-engagement-settings-configure/SKILL.md +0 -218
  324. package/skills/industries-home-health-agentforce-setup-configure/SKILL.md +0 -131
  325. package/skills/industries-home-health-bundling-policy-create/SKILL.md +0 -50
  326. package/skills/industries-home-health-entity-labels-configure/SKILL.md +0 -29
  327. package/skills/industries-home-health-fsl-package-deploy/SKILL.md +0 -71
  328. package/skills/industries-home-health-fsl-settings-validate/SKILL.md +0 -27
  329. package/skills/industries-home-health-guided-setup-care-and-skill-get/SKILL.md +0 -80
  330. package/skills/industries-home-health-guided-setup-configure/SKILL.md +0 -836
  331. package/skills/industries-home-health-guided-setup-enable-org-fsl-get/SKILL.md +0 -55
  332. package/skills/industries-home-health-guided-setup-get-org-ready-get/SKILL.md +0 -61
  333. package/skills/industries-home-health-licenses-assign/SKILL.md +0 -27
  334. package/skills/industries-home-health-operating-hours-create/SKILL.md +0 -40
  335. package/skills/industries-home-health-scheduling-policy-create/SKILL.md +0 -41
  336. package/skills/industries-home-health-service-objective-create/SKILL.md +0 -22
  337. package/skills/industries-home-health-skills-create/SKILL.md +0 -31
  338. package/skills/industries-home-health-users-create/SKILL.md +0 -29
  339. package/skills/industries-icm-act3-toggles-configure/SKILL.md +0 -198
  340. package/skills/industries-icm-act5-genai-suggested-assessments-configure/SKILL.md +0 -361
  341. package/skills/industries-icm-act6-mcg-integration-configure/SKILL.md +0 -550
  342. package/skills/industries-integrated-care-management-configure/SKILL.md +0 -168
  343. package/skills/industries-object-enablement-configure/SKILL.md +0 -86
  344. package/skills/industries-tpm-system-processing-service-configure/SKILL.md +0 -64
  345. package/skills/integration-apex-settings-configure/SKILL.md +0 -61
  346. package/skills/marketing-e360-email-archiving-configure/SKILL.md +0 -73
  347. package/skills/platform-custom-permissions-configure/SKILL.md +0 -687
  348. package/skills/platform-label-workbench-import-create/SKILL.md +0 -67
  349. package/skills/platform-privacy-agent-settings-configure/SKILL.md +0 -752
@@ -1,174 +0,0 @@
1
- ---
2
- name: commerce-delivery-routing-specs-integrate
3
- description: "Use this skill when users want to use this workflow to propagate FulfmtRoutgSpec changes — most commonly a ProcessingTimeSpec temporary override just created by create-temporary-processing-time-override — to the external Commerce Delivery Service (CDS). Also use when you created/changed one spec and want only it to go live. Trigger when users mention sync, delivery, routing, specs."
4
- metadata:
5
- version: "1.0"
6
- accessCheck: "CommerceDelivery.orgHasDeliveryRoutingEngineFeatureEnabled"
7
- ---
8
-
9
- # Managing Sync Delivery Routing Specs
10
-
11
- ## When to Use This Skill
12
-
13
- Use this workflow to propagate FulfmtRoutgSpec changes — most commonly a ProcessingTimeSpec
14
- temporary override just created by create-temporary-processing-time-override — to the external
15
- Commerce Delivery Service (CDS). A spec created/edited in Core is NOT live in the CDS until it
16
- is synced. Two modes, chosen via the sync-scope choice_point:
17
-
18
- 1. SINGLE (targeted): syncSingleFulfmtRoutgSpec — POST
19
- /commerce/delivery/fulfillment-routing-specs/sync/{specId} — pushes just ONE spec, by its
20
- 1fH... Id. Use when you created/changed one spec and want only it to go live. Smaller blast
21
- radius. Verified live on bopis (2026-08-05): 201 {success:true, errors:[]}.
22
- 2. ALL (org-wide bulk): syncAllFulfmtRoutgSpecs — POST
23
- /commerce/delivery/fulfillment-routing-specs/sync (no body) — loads and pushes EVERY
24
- FulfmtRoutgSpec in the org. Full reconcile; also re-pushes any other pending specs.
25
- Verified live on bopis (2026-08-04): 201.
26
-
27
- Both are owned by CC OM Not Hotdog and gated by "Delivery Routing Engine enabled". NOTE: the
28
- single-spec endpoint is live in Core but currently MISSING from the generated OAS/corpus (a
29
- generation-staleness gap — the raw Core source spec lists it), so it's authored here against the
30
- verified live Core contract (minVersion 262 = API v62+, path {specId}, no request body, 201).
31
-
32
- ## Workflow
33
-
34
- Propagate FulfmtRoutgSpec changes to the external Commerce Delivery Service. TWO modes via the
35
- sync-scope choice_point:
36
- - single -> sync-single-fulfillment-routing-spec: POST
37
- /commerce/delivery/fulfillment-routing-specs/sync/{specId} (spec Id in path, no body) —
38
- pushes ONLY that spec. Verified live 2026-08-05 (201). Requires a 1fH... spec Id.
39
- - all -> sync-all-fulfillment-routing-specs: POST
40
- /commerce/delivery/fulfillment-routing-specs/sync (no body, or an optional
41
- fulfmtRoutgSpecSyncInput.type filter — ProcessingTime | Markdown) — bulk sync of every spec,
42
- or every spec of one type. Verified live 2026-08-04 (201, unscoped).
43
-
44
- Prefer SINGLE right after creating/editing one spec (e.g. a holiday ProcessingTimeSpec):
45
- pass that spec's id. Use ALL for a full reconcile, or when no single id is in hand (single
46
- requires the spec Id); when the caller knows the spec's Type, pass it on the ALL branch too
47
- (type=ProcessingTime / type=Markdown) so an org-wide reconcile can't be failed by a malformed,
48
- unrelated spec of the other type sharing the same bulk batch.
49
-
50
- This is the propagation step a ProcessingTimeSpec needs to go live — a created spec exists in
51
- Core but isn't fully in effect until synced. It's the delegation target of
52
- create-temporary-processing-time-override — a deterministic caller (see the EXCEPTION above):
53
- it only ever creates ONE spec per run, so it hardcodes sync-scope: single and passes the new
54
- spec id, without asking. Can also run standalone after any FulfmtRoutgSpec create/edit.
55
-
56
- ## Critical Constraints
57
-
58
- **Preconditions:**
59
-
60
- - The Delivery Routing Engine feature must be enabled in the org (Connect org-access-check
61
- "Delivery Routing Engine enabled"), or the sync is rejected. (check: `Delivery Routing Engine enabled`)
62
-
63
- **Operational rules:**
64
-
65
- - ASK which scope the customer wants (default single — smaller blast radius) — this MUST be an
66
- explicit customer choice, never a silently-guessed default, even when this SOR is reached via
67
- delegates_to: a delegating SOR must surface the question, not guess on the customer's behalf.
68
- - EXCEPTION — deterministic callers may hardcode instead of asking: the "always ask" rule exists
69
- to stop an AMBIGUOUS scope being silently guessed wrong (that was the actual 2026-08-17
70
- incident — an agent defaulted to a scope it wasn't sure about). It does NOT apply when the
71
- calling SOR's own flow makes the correct scope a certainty rather than a guess. The bar for
72
- this is a STRUCTURAL invariant in the caller's OWN steps, provable by reading them — not a
73
- feeling that a scope is "probably" right. e.g. create-temporary-processing-time-override only
74
- ever creates exactly ONE spec per run (its create step has no fan-out, no loop, no batch input),
75
- so "single" is the only correct answer there; asking would just be friction over a question with
76
- one possible answer, not a real choice. That caller hardcodes sync-scope: single unconditionally.
77
- A future caller claiming this exception must be able to point to the equivalent structural
78
- guarantee in its own flow (e.g. "this step processes exactly one record because X"), not just
79
- assert confidence — when a caller's own scope IS genuinely ambiguous (it doesn't know in
80
- advance whether the customer wants one spec or a full reconcile), it must still ask.
81
- - CORPUS NOTE: the single-spec sync is live in Core but missing from the generated OAS (staleness
82
- gap; the raw Core source spec lists it) — authored against the verified live contract.
83
- - DELEGATED vs STANDALONE: when invoked via delegates_to from another SOR, stay silent on
84
- completion — the delegating SOR owns the single closing message to the customer. Only when
85
- invoked STANDALONE (directly, not via delegation) should this SOR itself say the canonical
86
- closing line below.
87
- - CUSTOMER-FACING WORDING (standalone only): this SOR never writes/saves anything itself — it
88
- only pushes whatever already exists in Core (same reasoning as the sibling sync-location-graph)
89
- — NOT the "saved and synced" canonical line, which implies a write just happened here; that
90
- write, if any, belongs to whichever caller created/edited the spec before reaching this SOR.
91
- Say which spec(s) were synced, not just "synced" generically:
92
- - SINGLE: "Your routing spec has been synced." — this SOR only ever receives the raw specId
93
- (1fH...) as input — no Name or ExternalReference. Never speak that raw Id in prose. Instead
94
- give a best-effort link with NEUTRAL anchor text (you don't have a friendly name to use):
95
- [view routing spec](<orgHost>/lightning/r/FulfmtRoutgSpec/<specId>/view) — keep the `]` and
96
- `(` on the same line with no space/break between them, or the Markdown link renders broken.
97
- If the caller (a delegating SOR) already named the spec by its own Name/ExternalReference in
98
- ITS recap, this branch is DELEGATED, not standalone, so you're silent anyway (see above) —
99
- this wording only fires when an admin invoked sync-delivery-routing-specs directly with a
100
- bare Id and no other SOR is speaking for them.
101
- - ALL: no single entity to name or link. If a type filter (ProcessingTime/Markdown) was
102
- sent, say "Your <type> routing specs have been synced." (e.g. "Your processing-time
103
- routing specs have been synced.") — NOT the unqualified "all routing specs," which
104
- overclaims scope when only one type was actually touched. Only say "Your routing specs
105
- have been synced." (unqualified) when NO type filter was sent — a genuinely unscoped,
106
- every-type sync.
107
- RECAP LAYOUT — MULTIPLE syncs standalone in one conversation (e.g. "sync spec A and spec B" —
108
- two sync-scope: single calls with different spec Ids — or "sync all processing-time specs,
109
- then all markdown specs" — two sync-scope: all calls with different type filters): give ONE
110
- consolidated table instead of repeating the sentence form per sync —
111
- | Spec / Scope | Outcome |
112
- |---|---|
113
- | [view routing spec](<orgHost>/lightning/r/FulfmtRoutgSpec/<specId>/view) | synced |
114
- | all processing-time specs | synced |
115
- One row per sync performed in this conversation. For a SINGLE-mode row, reuse the same
116
- best-effort NEUTRAL-anchor-text link as above (still no friendly name to show — the anchor
117
- text is identical across rows, only the link target differs). For an ALL-mode row, name the
118
- type filter if one was sent (e.g. "all processing-time specs"), or "all routing specs" if
119
- unscoped. Use whichever outcome word applies (synced / could not be synced — see the SINGLE/ALL
120
- guidance above for what failure looks like). Say the canonical opening line once, before the
121
- table, if every row synced — e.g. "Your routing specs have been synced." Omit it only when a
122
- row could not be synced, since that's the one outcome it would misstate; in that case name the
123
- failed rows separately from the succeeded ones.
124
- Keep it under ~200 characters of VISIBLE text where possible (soft target — the link URL
125
- doesn't count). Never say "CDS",
126
- "Commerce Delivery Service", or "delivery service" as something distinct from the setup change
127
- — describe it as one seamless save. Don't surface the Connect path, sObject names, or
128
- raw HTTP codes.
129
-
130
- ## Operations Reference
131
-
132
- Operations grouped by purpose. Use these as the building blocks for the workflows above.
133
-
134
- ### Summary
135
-
136
- | Operation | Purpose | Status | Call | Depends on |
137
- |-----------|---------|--------|------|------------|
138
- | `sync-single-fulfillment-routing-spec` | write | implemented | `syncSingleFulfmtRoutgSpec` | — |
139
- | `sync-all-fulfillment-routing-specs` | write | implemented | `syncAllFulfmtRoutgSpecs` | — |
140
-
141
- ### Write operations
142
-
143
- #### `sync-single-fulfillment-routing-spec`
144
-
145
- Targeted sync — push a SINGLE FulfmtRoutgSpec (e.g. the ProcessingTimeSpec just created) to
146
- the Commerce Delivery Service by its Id, so only that spec goes live in the CDS.
147
-
148
- **Call:** `syncSingleFulfmtRoutgSpec` — status: `implemented`
149
-
150
- **Inputs:**
151
-
152
- - `specId` *(`String`)* — The FulfmtRoutgSpec / ProcessingTimeSpec Id to sync (1fH...). Provided by the caller at
153
- invocation: a delegating SOR passes it (e.g. create-temporary-processing-time-override's
154
- create-temporary-override.spec_id), or a standalone admin supplies it directly (e.g.
155
- DeliveryEstimationSetup.ProcessingTimeSpecId).
156
-
157
- #### `sync-all-fulfillment-routing-specs`
158
-
159
- Org-wide bulk sync — load every FulfmtRoutgSpec for the org (optionally scoped to one Type)
160
- and push the bulk payload to the Commerce Delivery Service, making all Core-side spec changes
161
- live at once.
162
-
163
- **Call:** `syncAllFulfmtRoutgSpecs` — status: `implemented`
164
-
165
- **Inputs:**
166
-
167
- - `type` *(`String`)* — Optional FulfmtRoutgSpec.Type to scope the bulk sync to (ProcessingTime | Markdown). Omit
168
- to sync every FulfmtRoutgSpec regardless of type — verified server-side
169
- (CDSFulfmtRoutgSpecSyncRequestMapper): no body, or a blank type, is explicitly
170
- backward-compatible and syncs all types. SET THIS whenever the caller only cares about one
171
- type (e.g. delegated from a ProcessingTime-only flow): the bulk endpoint loads + PUTs every
172
- matching spec in ONE call, so one malformed/incompatible spec of the OTHER type elsewhere in
173
- the org can fail the entire batch even though the spec you care about is fine. An
174
- unrecognized value 400s (INVALID_INPUT).
@@ -1,279 +0,0 @@
1
- ---
2
- name: commerce-estimate-bopis-query
3
- description: "Use this skill when users want to use this workflow when someone wants a real-time BUY-ONLINE-PICKUP-IN-STORE (BOPIS) estimate — \"which stores can I pick this up from?\", \"when can I collect these items in store?\", \"find pickup locations near <address>\". Trigger when users mention estimate, bopis."
4
- metadata:
5
- version: "1.0"
6
- ---
7
-
8
- # Querying Estimate Bopis
9
-
10
- ## When to Use This Skill
11
-
12
- Use this workflow when someone wants a real-time BUY-ONLINE-PICKUP-IN-STORE (BOPIS) estimate — "which
13
- stores can I pick this up from?", "when can I collect these items in store?", "find pickup locations
14
- near <address>". It does NOT change any configuration; it is a read-only estimate over the current
15
- DeliveryEstimationSetup and its pickup-eligible locations. To turn a location's pickup eligibility
16
- ON, use the sibling enable-location-bopis skill instead.
17
-
18
- It guides the caller through building the request one piece at a time — do not ask for raw JSON:
19
- pick the DeliveryEstimationSetup, then EITHER name the specific store(s) to check (each must be
20
- BOPIS/pickup-eligible — this skill verifies that first) OR ask the service to find nearby
21
- pickup-eligible stores within a radius of an address, choose products + quantities, collect the
22
- address — then calls EstimateBopis (at API v68.0) and reads back, per store, the earliest pickup
23
- time, order cutoff, distance, and available inventory.
24
-
25
- TWO WAYS TO CHOOSE STORES (the location-selection choice_point): (1) SPECIFIC — the customer names
26
- the store(s); each named store must be pickup-eligible (the skill checks and, if one isn't, says so
27
- and offers enable-location-bopis); an address is optional. (2) NEARBY — the customer gives an
28
- address + a radius and the service returns the closest pickup-eligible stores; here the address,
29
- radius, and a max-store count are all required.
30
-
31
- TWO WAYS TO IDENTIFY THE SETUP (the setup-selection choice_point): (1) FILTER — the default when a
32
- person runs this skill directly; an optional Name/ExternalReference substring narrows the setup
33
- list, and the customer picks one. (2) PIN — used when another skill (e.g. enable-location-bopis) has
34
- already resolved and chosen the setup for you; it hands off the exact record Id and no further
35
- customer-facing selection happens on this path.
36
-
37
- ADMIN/CUSTOMER-FACING WORDING: answer in plain language — e.g. "2 units of SKU-1042 can be picked
38
- up at Downtown Store (2.8 mi away) from Aug 8, 6:20 PM Pacific; order by Aug 8, 9:59 AM
39
- Pacific." ALWAYS NAME THE ZONE: the response's times carry an explicit "Z" and are UTC, so quoting
40
- the raw clock face can be off by a full calendar day (see the estimate step's TIMES ARRIVE AS UTC
41
- guidance). Multi-store answers go in complete table(s), not a sentence per store — see that step's
42
- RECAP LAYOUT. Don't surface the Connect path, sObject/field API names, external-reference strings, or raw
43
- HTTP codes.
44
-
45
- ## Workflow
46
-
47
- Guided real-time BUY-ONLINE-PICKUP-IN-STORE (BOPIS) estimate. Read-only: builds an EstimateBopis
48
- request with the customer, one piece at a time, and returns each store's pickup estimate. Changes
49
- nothing. To turn a location's pickup eligibility ON, use enable-location-bopis (this skill only
50
- reads it).
51
-
52
- Flow:
53
-
54
- ### Phase 1: resolve-delivery-estimation-setup (FILTER) or resolve-setup-by-id (PIN) -> exactly one...
55
-
56
- resolve-delivery-estimation-setup (FILTER) or resolve-setup-by-id (PIN) -> exactly one runs, per
57
- the setup-selection choice; either way it captures the setup's Id and Name for the recap,
58
- ExternalReference (the URL PATH segment), and LocationGroupId. FILTER lists setups for the customer
59
- to pick from; PIN resolves the one exact Id a delegating skill already chose — no customer-facing
60
- selection on that path.
61
-
62
- ### Phase 2: list-bopis-eligible-locations -> show the group's stores + pickup...
63
-
64
- list-bopis-eligible-locations -> show the group's stores + pickup eligibility. SPECIFIC mode:
65
- verify each named store is pickup-eligible (match on ExternalReference); NEARBY mode:
66
- informational. If none are eligible, suggest enable-location-bopis and STOP.
67
-
68
- ### Phase 3: list-products -> present SKU'd products; customer picks products...
69
-
70
- list-products -> present SKU'd products; customer picks products + a positive whole-number
71
- quantity each.
72
-
73
- ### Phase 4: estimate-bopis -> build the body per the location-selection...
74
-
75
- estimate-bopis -> build the body per the location-selection choice and POST; read back the
76
- per-store pickup estimate.
77
-
78
- ## Critical Constraints
79
-
80
- **Preconditions:**
81
-
82
- - The Delivery Estimation Service must be enabled/provisioned in the org. Without it the estimate
83
- call is rejected. (check: `Delivery Estimation Service enabled`)
84
- - At least one DeliveryEstimationSetup record (with its ExternalReference) must exist — this skill
85
- estimates against an existing setup; it does not create one. (check: `DeliveryEstimationSetup record exists`)
86
- - At least one Location in the setup's LocationGroup must be pickup-eligible
87
- (Location.IsEligibleForPickup = true). BOPIS estimates only against pickup-eligible stores; if
88
- none are eligible, enable one first with the enable-location-bopis skill. (check: `A pickup-eligible Location exists in the setup's group`)
89
- - The products being estimated must exist as Product2 records with a StockKeepingUnit (the request
90
- keys products by SKU). (check: `Product2 records with StockKeepingUnit exist`)
91
-
92
- **Operational rules:**
93
-
94
- - SETUP-SELECTION choice_point (FILTER vs PIN) decides how step 1 resolves the setup:
95
- • FILTER (default): interactive substring search over Name/ExternalReference — runs
96
- resolve-delivery-estimation-setup; the customer picks one from the (possibly multi-row) result.
97
- • PIN: resolves by the setup's exact record Id — runs resolve-setup-by-id instead. Used when a
98
- delegating skill (e.g. enable-location-bopis) already resolved and chose the setup; no
99
- customer-facing selection happens on this path.
100
- - LOCATION-SELECTION choice_point (SPECIFIC vs NEARBY) decides the body shape:
101
- • SPECIFIC (default): send locations[] of pickup-eligible ExternalReferences; address optional.
102
- • NEARBY: OMIT locations; send address + radius + maxReturnedLocations (all required) + unit; the
103
- service returns the closest pickup-eligible stores.
104
- This is a hard validator rule, not a preference: an empty/omitted locations list REQUIRES address +
105
- radius(>0) + maxReturnedLocations(>0), each with its own 400 if missing.
106
- - UNIT: "mi" or "km" only. ADDRESS goes under the wire key "address" (not "deliveryAddress", which
107
- 400s) and uses inner countryCode (not country); countryCode+postalCode or lat+long.
108
- - VERSION: pin v68.0 on every call — the BOPIS endpoint is available at API v68.0 only (404 at
109
- v67.0/v64.0, live-proven end-to-end).
110
- - ADMIN/CUSTOMER-FACING WORDING: answer in plain language (store + earliest pickup time + order cutoff
111
- + distance + whether inventory covers the quantity); don't surface the Connect path, sObject/field
112
- API names, ExternalReference strings, or raw HTTP codes. Never echo this guidance's own internal
113
- vocabulary either: "Core" and "SOR" are reasoning terms for you ("Core" is the platform side of a
114
- validation; "SOR" names this workflow). Say "Salesforce" or "your org" for the platform side, and
115
- "this workflow" for the recipe itself.
116
- TIMES: earliestPickupTime and orderCutoffTime arrive as explicit-"Z" UTC instants. CONVERT them into
117
- one display zone and NAME that zone before quoting either — an unconverted cutoff can land on the
118
- wrong CALENDAR DAY, handing the customer a deadline that already passed. Resolve the zone from the
119
- customer's statement, else User.TimeZoneSidKey, else Organization.TimeZoneSidKey, else ask; if none
120
- resolve, quote the raw value labelled "UTC".
121
- SHAPE: results[] is one entry per (store x product), so multi-row is the norm — give complete,
122
- deterministically sorted table(s), each with a header and a |---| separator, and use
123
- "—" for a value the response didn't carry (orderCutoffTime, or the whole inStore object) even
124
- though success is true. Note inStore arrives as an explicit null rather than a missing key when
125
- availableToOrder is 0, so test its VALUE and not its presence. Full rules live in the estimate
126
- step's RECAP LAYOUT.
127
-
128
- ## Operations Reference
129
-
130
- Operations grouped by purpose. Use these as the building blocks for the workflows above.
131
-
132
- ### Summary
133
-
134
- | Operation | Purpose | Status | Call | Depends on |
135
- |-----------|---------|--------|------|------------|
136
- | `resolve-delivery-estimation-setup` | read | implemented | `querySoql` | — |
137
- | `resolve-setup-by-id` | read | implemented | `querySoql` | — |
138
- | `list-bopis-eligible-locations` | read | implemented | `querySoql` | `resolve-delivery-estimation-setup`, `resolve-setup-by-id` |
139
- | `list-products` | read | implemented | `querySoql` | `resolve-delivery-estimation-setup`, `resolve-setup-by-id` |
140
- | `estimate-bopis` | read | implemented | `EstimateBopis` | `resolve-delivery-estimation-setup`, `resolve-setup-by-id`, `list-bopis-eligible-locations`, `list-products` |
141
-
142
- ### Dependency graph
143
-
144
- ```mermaid
145
- graph TD
146
- resolve_delivery_estimation_setup["resolve-delivery-estimation-setup (read)"]
147
- resolve_setup_by_id["resolve-setup-by-id (read)"]
148
- list_bopis_eligible_locations["list-bopis-eligible-locations (read)"]
149
- list_products["list-products (read)"]
150
- estimate_bopis["estimate-bopis (read)"]
151
- resolve_delivery_estimation_setup --> list_bopis_eligible_locations
152
- resolve_setup_by_id --> list_bopis_eligible_locations
153
- resolve_delivery_estimation_setup --> list_products
154
- resolve_setup_by_id --> list_products
155
- resolve_delivery_estimation_setup --> estimate_bopis
156
- resolve_setup_by_id --> estimate_bopis
157
- list_bopis_eligible_locations --> estimate_bopis
158
- list_products --> estimate_bopis
159
- ```
160
-
161
- ### Read operations
162
-
163
- #### `resolve-delivery-estimation-setup`
164
-
165
- List / resolve the DeliveryEstimationSetup and capture its ExternalReference (the URL path
166
- segment for the estimate call) and its LocationGroupId (used next to list the group's
167
- pickup-eligible stores). Optionally filter by a Name/ExternalReference substring.
168
-
169
- **Call:** `querySoql` — status: `implemented`
170
-
171
- **Inputs:**
172
-
173
- - `nameFilter` *(`String`)* — OPTIONAL Name or ExternalReference filter (e.g. "west"). When provided the query matches either
174
- field with a LIKE; when omitted, all setups are listed. Source: user_input.
175
-
176
- #### `resolve-setup-by-id`
177
-
178
- Resolve the ONE DeliveryEstimationSetup whose exact record Id was handed in (the delegated / pinned
179
- path). Captures the SAME fields as the substring resolve step — Id and Name for recap, plus
180
- ExternalReference (the estimate URL path segment) and LocationGroupId (the group to list) — so
181
- every downstream step binds identically regardless of which resolve branch ran.
182
-
183
- **Call:** `querySoql` — status: `implemented`
184
-
185
- **Inputs:**
186
-
187
- - `setupId` *(`String`)* — The exact DeliveryEstimationSetup record Id (2A0...) to resolve. Source: a delegating skill that
188
- already resolved AND chose the setup (e.g. enable-location-bopis.resolve-delivery-estimation-setup.setup_ids[chosen]).
189
- An Id is exact + unique, so this pins the exact setup with no re-search and no Name/ExternalReference
190
- collision.
191
-
192
- #### `list-bopis-eligible-locations`
193
-
194
- List the stores in the resolved setup's LocationGroup together with each one's pickup eligibility
195
- (Location.IsEligibleForPickup), so the caller can (in SPECIFIC mode) confirm the store(s) they
196
- name are pickup-eligible, or (in NEARBY mode) see which stores are eligible for context. The BOPIS
197
- request keys locations by Location.ExternalReference, so this step surfaces exactly those
198
- references.
199
-
200
- **Call:** `querySoql` — status: `implemented`
201
-
202
- **Inputs:**
203
-
204
- - `locationGroupId` *(`String`)* — LocationGroup Id (0gh...) of the chosen setup. Source: whichever resolve branch ran — resolve-delivery-estimation-setup.location_group_ids[chosen] (filter) or resolve-setup-by-id.location_group_ids[0] (pin).
205
-
206
- **Depends on:** `resolve-delivery-estimation-setup`, `resolve-setup-by-id`
207
-
208
- #### `list-products`
209
-
210
- List Product2 records that have a StockKeepingUnit so the customer can choose which products to
211
- estimate and enter a quantity for each. Products are keyed by SKU in the request. Optionally filter
212
- by a Name/SKU substring.
213
-
214
- **Call:** `querySoql` — status: `implemented`
215
-
216
- **Inputs:**
217
-
218
- - `productFilter` *(`String`)* — OPTIONAL Name or StockKeepingUnit filter. When provided the query matches either with a LIKE;
219
- when omitted, active products with a SKU are listed. Source: user_input.
220
-
221
- **Depends on:** `resolve-delivery-estimation-setup`, `resolve-setup-by-id`
222
-
223
- #### `estimate-bopis`
224
-
225
- Call EstimateBopis with the assembled request — the resolved setup ExternalReference in the URL
226
- path, EITHER the chosen pickup-eligible store references (SPECIFIC mode) OR a radius + max store
227
- count (NEARBY mode), the chosen products + quantities, and the address — and read back, per store,
228
- the earliest pickup time, order cutoff, distance, and inventory. Read-only: computes an estimate,
229
- changes nothing.
230
-
231
- **Call:** `EstimateBopis` — status: `implemented`
232
-
233
- **Inputs:**
234
-
235
- - `externalReference` *(`String`)* — The chosen DeliveryEstimationSetup's ExternalReference — the URL PATH segment (NOT a body field,
236
- NOT the 2A0 Id). Source: whichever resolve branch ran —
237
- resolve-delivery-estimation-setup.setup_external_references[chosen] (filter) or
238
- resolve-setup-by-id.setup_external_references[0] (pin).
239
- - `locations` *(`Array`)* — SPECIFIC mode only: the pickup-eligible store(s) to estimate, each entry a Location
240
- ExternalReference (NOT a Name — a Name is rejected 400 "Location reference '<x>' not found in
241
- delivery estimation setup"). Every entry MUST be one of
242
- list-bopis-eligible-locations.eligible_location_external_references. OMIT this field entirely in
243
- NEARBY mode (see the location-selection choice_point): an empty/absent locations list switches
244
- the service into radius discovery, which then REQUIRES address + radius + maxReturnedLocations.
245
- Source: customer selection over list-bopis-eligible-locations.
246
- - schema: `{'type': 'array', 'minItems': 1, 'maxItems': 100, 'items': {'type': 'string', 'pattern': '^[^\\x00-\\x1F\\x7F]{1,255}$', 'description': "A pickup-eligible Location's ExternalReference (from list-bopis-eligible-locations)."}}`
247
- - `products` *(`Array`)* — The products to estimate, each a (SKU, quantity) pair. Source: customer selection over
248
- list-products. quantity must be a positive whole number.
249
- - schema: `{'type': 'array', 'minItems': 1, 'maxItems': 2000, 'items': {'type': 'object', 'required': ['stockKeepingUnit', 'quantity'], 'properties': {'stockKeepingUnit': {'type': 'string', 'minLength': 1, 'description': 'Product StockKeepingUnit (non-blank; Core 400s INVALID_API_INPUT on a blank SKU).'}, 'quantity': {'type': 'integer', 'minimum': 1, 'maximum': 2147483647, 'description': 'Positive whole-number quantity in [1, 2147483647] (fractional values are rejected).'}}}}`
250
- - `address` *(`Object`)* — The destination/search address. The WIRE KEY IS "address" — NOT "deliveryAddress", which the
251
- endpoint rejects with 400 JSON_PARSER_ERROR 'Unrecognized field "deliveryAddress"' in both
252
- modes (measured on 2026-08-25). NOTE the inner field name is countryCode (NOT country
253
- as in the delivery-date estimate) — the outer key differs from delivery-date too, so do not
254
- pattern-match either name off that sibling. REQUIRED in NEARBY mode (locations omitted) — 400
255
- "Address is required when locations list is empty" otherwise; OPTIONAL in SPECIFIC mode.
256
- Provide countryCode+postalCode and/or latitude+longitude (both forms live-proven 201;
257
- lat/long alone is accepted and drives the distance). Sending BOTH is also accepted (201),
258
- and when both are present THE COORDINATES WIN: they do not supplement the postal code, they
259
- replace it as the distance origin. Measured on 2026-08-26 — postalCode 94105 (San
260
- Francisco) sent together with Miami coordinates returned distances byte-identical to
261
- Miami-coordinates-alone at all 5 stores over 5 calls each, and identical to the 94105 control
262
- at none of them. Source: customer input.
263
- - schema: `{'type': 'object', 'properties': {'countryCode': {'type': ['string', 'null'], 'description': 'ISO 3166-1 alpha-2 country code (e.g. "US"). Pair with postalCode.'}, 'postalCode': {'type': ['string', 'null'], 'description': 'Postal code. Pair with countryCode.'}, 'latitude': {'type': ['number', 'null'], 'minimum': -90, 'maximum': 90, 'description': 'Optional latitude in [-90,90]; latitude+longitude alone is an accepted address form and drives the distance. TAKES PRECEDENCE over countryCode+postalCode when both are supplied — send it only if you want the coordinates, not the postal code, to be the distance origin.'}, 'longitude': {'type': ['number', 'null'], 'minimum': -180, 'maximum': 180, 'description': 'Optional longitude in [-180,180]; pair with latitude. Same precedence over countryCode+postalCode as latitude.'}}}`
264
- - `unit` *(`String`)* — Distance unit for the radius and the returned distance. EXACTLY "mi" or "km" (any other value ->
265
- 400 "Unit must be either 'mi' or 'km'"). Defaults to mi when omitted. Source: user_input.
266
- - `radius` *(`Number`)* — NEARBY mode only: the search radius (in `unit`) within which to find pickup-eligible stores.
267
- REQUIRED and > 0 when locations is omitted (400 "Radius must be greater than 0 when locations
268
- list is empty" otherwise). Ignored/omit in SPECIFIC mode. Source: user_input.
269
- - schema: `{'type': 'number', 'exclusiveMinimum': 0}`
270
- - `maxReturnedLocations` *(`Integer`)* — NEARBY mode only: the maximum number of nearby pickup-eligible stores to return. REQUIRED and > 0
271
- when locations is omitted (400 "Max returned locations must be greater than 0 when locations list
272
- is empty" otherwise). Ignored/omit in SPECIFIC mode. Source: user_input.
273
- - schema: `{'type': 'integer', 'minimum': 1, 'maximum': 1000}`
274
- - `orderDate` *(`String`)* — OPTIONAL simulated "now" for the estimate — an ISO-8601 UTC timestamp passed through to the
275
- delivery service so pickup times / order cutoffs are computed relative to it instead of the
276
- actual current time (useful for "if I ordered at <time>, when could I pick up?"). Omit to use the
277
- real current time. Source: user_input.
278
-
279
- **Depends on:** `resolve-delivery-estimation-setup`, `resolve-setup-by-id`, `list-bopis-eligible-locations`, `list-products`