@salesforce/afv-skills 1.64.0 → 1.65.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (349) hide show
  1. package/package.json +1 -1
  2. package/skills/agentforce-gpt-email-generation-configure/SKILL.md +312 -0
  3. package/skills/agentforce-wizard-ui-forecasting-analytics-components-configure/SKILL.md +64 -0
  4. package/skills/agentforce-wizard-ui-sales-einstein-components-configure/SKILL.md +46 -0
  5. package/skills/automation-company-profile-info-query/SKILL.md +51 -0
  6. package/skills/automation-digital-wallet-configure/SKILL.md +689 -0
  7. package/skills/automation-flow-coordinate/SKILL.md +95 -0
  8. package/skills/automation-flow-coordinate/references/elements/action-call/action-call.md +1569 -0
  9. package/skills/automation-flow-coordinate/references/elements/action-call/conversation-messaging.md +96 -0
  10. package/skills/automation-flow-coordinate/references/elements/action-call/examples/send-sms-message.json +23 -0
  11. package/skills/automation-flow-coordinate/references/elements/action-call/examples/send-to-journey-no-fields.json +31 -0
  12. package/skills/automation-flow-coordinate/references/elements/action-call/send-to-journey.md +179 -0
  13. package/skills/automation-flow-coordinate/references/elements/exit-rule/examples/event-email-link-click.json +13 -0
  14. package/skills/automation-flow-coordinate/references/elements/exit-rule/exit-rule.md +83 -0
  15. package/skills/automation-flow-coordinate/references/elements/forward-to-bot-or-agent/examples/forward-to-bot-or-agent.json +69 -0
  16. package/skills/automation-flow-coordinate/references/elements/forward-to-bot-or-agent/forward-to-bot-or-agent.md +274 -0
  17. package/skills/automation-flow-coordinate/references/elements/start/audience-common.md +192 -0
  18. package/skills/automation-flow-coordinate/references/elements/start/automation-event-triggered.md +130 -0
  19. package/skills/automation-flow-coordinate/references/elements/start/data-cloud-data-change-triggered.md +92 -0
  20. package/skills/automation-flow-coordinate/references/elements/start/form-submission-triggered.md +88 -0
  21. package/skills/automation-flow-coordinate/references/elements/start/segment-triggered.md +152 -0
  22. package/skills/automation-flow-coordinate/references/elements/start/start.md +539 -0
  23. package/skills/automation-flow-coordinate/references/elements/subflow/subflow.md +152 -0
  24. package/skills/automation-flow-coordinate/references/elements/wait/wait.md +497 -0
  25. package/skills/automation-flow-coordinate/references/recipes/author/author.md +868 -0
  26. package/skills/automation-flow-coordinate/references/recipes/summarize/element-generic.md +300 -0
  27. package/skills/automation-flow-coordinate/references/recipes/summarize/reference-resolution.md +292 -0
  28. package/skills/automation-flow-coordinate/references/recipes/summarize/summarize.md +323 -0
  29. package/skills/automation-flow-coordinate/references/recipes/testing/examples/debug-output-template.md +109 -0
  30. package/skills/automation-flow-coordinate/references/recipes/testing/shape.md +219 -0
  31. package/skills/automation-flow-coordinate/references/recipes/testing/shared-stages/intent-analyzer.md +180 -0
  32. package/skills/automation-flow-coordinate/references/recipes/testing/workflows/debug.md +175 -0
  33. package/skills/automation-flow-coordinate/references/recipes/testing/workflows/promote.md +255 -0
  34. package/skills/automation-flow-coordinate/references/recipes/testing/workflows/save-debug.md +212 -0
  35. package/skills/automation-flow-coordinate/references/resources/variable/variable.md +171 -0
  36. package/skills/automation-flow-coordinate/references/shared/anti-patterns.md +786 -0
  37. package/skills/automation-flow-coordinate/references/shared/end/end.md +267 -0
  38. package/skills/automation-flow-coordinate/references/shared/flow-type-resolver/eval/README.md +69 -0
  39. package/skills/automation-flow-coordinate/references/shared/flow-type-resolver/eval/predictions.jsonl +80 -0
  40. package/skills/automation-flow-coordinate/references/shared/flow-type-resolver/eval/prompts.jsonl +116 -0
  41. package/skills/automation-flow-coordinate/references/shared/flow-type-resolver/flow-type-resolver.md +321 -0
  42. package/skills/automation-flow-coordinate/references/shared/flow-type-resolver/taxonomy.json +320 -0
  43. package/skills/automation-flow-coordinate/references/shared/server-functions.md +597 -0
  44. package/skills/automotive-cloud-appraisal-management-settings-configure/SKILL.md +69 -0
  45. package/skills/automotive-cloud-dealer-essentials-configure/SKILL.md +78 -0
  46. package/skills/automotive-cloud-ground-agent-data-pipelines-configure/SKILL.md +373 -0
  47. package/skills/automotive-cloud-ground-mfg-agent-data-pipelines-configure/SKILL.md +273 -0
  48. package/skills/automotive-cloud-mfg-agent-data-pipelines-configure/SKILL.md +259 -0
  49. package/skills/automotive-cloud-mfg-sales-concierge-agent-create/SKILL.md +369 -0
  50. package/skills/automotive-cloud-mfg-sales-concierge-foundation-configure/SKILL.md +542 -0
  51. package/skills/automotive-cloud-mfg-sales-concierge-foundation-coordinate/SKILL.md +159 -0
  52. package/skills/automotive-cloud-mfg-sales-concierge-orchestrator-agent-create/SKILL.md +349 -0
  53. package/skills/automotive-cloud-mfg-sales-concierge-orchestrator-configure/SKILL.md +505 -0
  54. package/skills/automotive-cloud-sales-concierge-agent-create/SKILL.md +380 -0
  55. package/skills/automotive-cloud-sales-concierge-foundation-configure/SKILL.md +567 -0
  56. package/skills/automotive-cloud-sales-concierge-foundation-coordinate/SKILL.md +159 -0
  57. package/skills/automotive-cloud-sales-concierge-orchestrator-agent-create/SKILL.md +360 -0
  58. package/skills/automotive-cloud-sales-concierge-orchestrator-configure/SKILL.md +539 -0
  59. package/skills/automotive-cloud-sales-concierge-search-grounding-configure/SKILL.md +358 -0
  60. package/skills/commerce-b2b-merchant-quote-configure/SKILL.md +602 -0
  61. package/skills/commerce-b2b-store-configure/SKILL.md +251 -0
  62. package/skills/commerce-credit-memo-create/SKILL.md +139 -0
  63. package/skills/commerce-delivery-business-hours-configure/SKILL.md +277 -0
  64. package/skills/commerce-delivery-estimation-apply/SKILL.md +155 -0
  65. package/skills/commerce-delivery-estimation-configure/SKILL.md +377 -0
  66. package/skills/commerce-delivery-routing-specs-integrate/SKILL.md +174 -0
  67. package/skills/commerce-estimate-bopis-query/SKILL.md +279 -0
  68. package/skills/commerce-estimate-delivery-date-query/SKILL.md +349 -0
  69. package/skills/commerce-fees-apply/SKILL.md +227 -0
  70. package/skills/commerce-fulfillment-routing-analyze/SKILL.md +200 -0
  71. package/skills/commerce-guest-buyer-create/SKILL.md +173 -0
  72. package/skills/commerce-location-bopis-configure/SKILL.md +378 -0
  73. package/skills/commerce-location-business-hours-configure/SKILL.md +235 -0
  74. package/skills/commerce-location-delivery-processing-time-configure/SKILL.md +309 -0
  75. package/skills/commerce-location-graph-integrate/SKILL.md +131 -0
  76. package/skills/commerce-location-shipping-carrier-method-configure/SKILL.md +755 -0
  77. package/skills/commerce-location-temporary-operating-hours-configure/SKILL.md +331 -0
  78. package/skills/commerce-merchant-buyer-groups-configure/SKILL.md +579 -0
  79. package/skills/commerce-merchant-buyer-user-onboarding-create/SKILL.md +626 -0
  80. package/skills/commerce-merchant-catalog-configure/SKILL.md +614 -0
  81. package/skills/commerce-merchant-extension-provider-configure/SKILL.md +368 -0
  82. package/skills/commerce-merchant-insights-account-health-churn-analyze/SKILL.md +118 -0
  83. package/skills/commerce-merchant-insights-inventory-returns-analyze/SKILL.md +65 -0
  84. package/skills/commerce-merchant-insights-order-shopper-get/SKILL.md +90 -0
  85. package/skills/commerce-merchant-insights-product-performance-analyze/SKILL.md +72 -0
  86. package/skills/commerce-merchant-insights-query/SKILL.md +279 -0
  87. package/skills/commerce-merchant-storefront-guest-access-configure/SKILL.md +656 -0
  88. package/skills/commerce-order-summary-change-apply/SKILL.md +375 -0
  89. package/skills/commerce-product-details-get/SKILL.md +363 -0
  90. package/skills/commerce-product-search/SKILL.md +563 -0
  91. package/skills/commerce-react-storefront-create/SKILL.md +350 -0
  92. package/skills/commerce-return-order-summary-create/SKILL.md +513 -0
  93. package/skills/commerce-search-relevance-analyze/SKILL.md +757 -0
  94. package/skills/commerce-temporary-processing-time-override-create/SKILL.md +274 -0
  95. package/skills/communications-initial-setup-configure/SKILL.md +630 -0
  96. package/skills/communications-multisite-configure/SKILL.md +571 -0
  97. package/skills/communications-revenue-cloud-settings-configure/SKILL.md +74 -0
  98. package/skills/communications-smb-fiber-catalog-create/SKILL.md +413 -0
  99. package/skills/communications-tmf-integrate/SKILL.md +1368 -0
  100. package/skills/consumer-goods-visit-activity-act4-questions-assign/SKILL.md +448 -0
  101. package/skills/consumer-goods-visit-activity-act5-standard-create/SKILL.md +269 -0
  102. package/skills/consumer-goods-visit-activity-act6-assortment-configure/SKILL.md +271 -0
  103. package/skills/consumer-goods-visit-activity-act7-account-scoping-create/SKILL.md +382 -0
  104. package/skills/consumer-goods-visit-activity-act8-plan-attach-create/SKILL.md +373 -0
  105. package/skills/consumer-goods-visit-activity-act9-proof-validate/SKILL.md +389 -0
  106. package/skills/consumer-goods-visit-and-activity-act1-specification-create/SKILL.md +338 -0
  107. package/skills/consumer-goods-visit-and-activity-act2-template-create/SKILL.md +547 -0
  108. package/skills/consumer-goods-visit-and-activity-act3-definition-create/SKILL.md +346 -0
  109. package/skills/consumer-goods-visit-and-activity-configure/SKILL.md +1110 -0
  110. package/skills/crm-analytics-adoption-insights-configure/SKILL.md +224 -0
  111. package/skills/crm-analytics-custom-report-type-lightning-configure/SKILL.md +418 -0
  112. package/skills/crm-analytics-dashboards-configure/SKILL.md +731 -0
  113. package/skills/crm-analytics-operational-analytics-metadata-bridge-migrate/SKILL.md +233 -0
  114. package/skills/crm-analytics-report-notifications-ui-configure/SKILL.md +184 -0
  115. package/skills/crm-analytics-sharing-inheritance-coverage-analyze/SKILL.md +167 -0
  116. package/skills/crm-analytics-sonic-getting-started-configure/SKILL.md +55 -0
  117. package/skills/crm-analytics-tableau-next-app-deploy/SKILL.md +1350 -0
  118. package/skills/crm-analytics-tableau-next-c360-basemodel-validate/SKILL.md +1862 -0
  119. package/skills/crm-analytics-tableau-next-datacloud-validate/SKILL.md +83 -0
  120. package/skills/crm-analytics-tableau-next-provisioning-validate/SKILL.md +81 -0
  121. package/skills/data360-activation-create/SKILL.md +104 -0
  122. package/skills/data360-activation-external-platform-get/SKILL.md +49 -0
  123. package/skills/data360-activation-target-create/SKILL.md +93 -0
  124. package/skills/data360-activation-v2-create/SKILL.md +456 -0
  125. package/skills/data360-audience-dmo-get/SKILL.md +38 -0
  126. package/skills/data360-calculated-affinity-create/SKILL.md +82 -0
  127. package/skills/data360-calculated-insight-create/SKILL.md +148 -0
  128. package/skills/data360-catalog-metadata-create/SKILL.md +183 -0
  129. package/skills/data360-code-extension-create/SKILL.md +115 -0
  130. package/skills/data360-communication-capping-create/SKILL.md +227 -0
  131. package/skills/data360-connection-create/SKILL.md +491 -0
  132. package/skills/data360-content-lens-create/SKILL.md +181 -0
  133. package/skills/data360-data-action-create/SKILL.md +126 -0
  134. package/skills/data360-data-action-target-create/SKILL.md +181 -0
  135. package/skills/data360-data-clean-room-create/SKILL.md +238 -0
  136. package/skills/data360-data-governance-create/SKILL.md +746 -0
  137. package/skills/data360-data-graph-create/SKILL.md +82 -0
  138. package/skills/data360-data-harmonized-model-object-reference-create/SKILL.md +38 -0
  139. package/skills/data360-data-lake-object-create/SKILL.md +207 -0
  140. package/skills/data360-data-model-object-catalog-get/SKILL.md +49 -0
  141. package/skills/data360-data-model-object-create/SKILL.md +128 -0
  142. package/skills/data360-data-model-object-mapping-create/SKILL.md +106 -0
  143. package/skills/data360-data-space-create/SKILL.md +161 -0
  144. package/skills/data360-data-streams-create/SKILL.md +324 -0
  145. package/skills/data360-engagement-signal-get/SKILL.md +38 -0
  146. package/skills/data360-experiment-create/SKILL.md +82 -0
  147. package/skills/data360-goal-based-campaign-create/SKILL.md +192 -0
  148. package/skills/data360-harmonization-process-history-get/SKILL.md +38 -0
  149. package/skills/data360-harmonized-unstructured-dmo-create/SKILL.md +84 -0
  150. package/skills/data360-identity-resolution-create/SKILL.md +115 -0
  151. package/skills/data360-intelligent-document-processing-create/SKILL.md +148 -0
  152. package/skills/data360-knowledge-graph-construction-create/SKILL.md +93 -0
  153. package/skills/data360-knowledge-graph-create/SKILL.md +216 -0
  154. package/skills/data360-knowledge-space-mcp-configure/SKILL.md +475 -0
  155. package/skills/data360-machine-learning-mcp-configure/SKILL.md +697 -0
  156. package/skills/data360-multi-org-mcp-configure/SKILL.md +117 -0
  157. package/skills/data360-secondary-index-mcp-configure/SKILL.md +126 -0
  158. package/skills/data360-segment-mcp-configure/SKILL.md +159 -0
  159. package/skills/data360-semantic-calculated-dimension-mcp-configure/SKILL.md +93 -0
  160. package/skills/data360-semantic-calculated-measurement-mcp-configure/SKILL.md +93 -0
  161. package/skills/data360-semantic-data-object-mcp-configure/SKILL.md +93 -0
  162. package/skills/data360-semantic-dimension-mcp-configure/SKILL.md +38 -0
  163. package/skills/data360-semantic-engine-mcp-configure/SKILL.md +62 -0
  164. package/skills/data360-semantic-measurement-mcp-configure/SKILL.md +38 -0
  165. package/skills/data360-semantic-metric-mcp-configure/SKILL.md +93 -0
  166. package/skills/data360-semantic-model-mcp-configure/SKILL.md +115 -0
  167. package/skills/data360-standard-mapping-mcp-configure/SKILL.md +38 -0
  168. package/skills/data360-tenant-lifecycle-mcp-configure/SKILL.md +73 -0
  169. package/skills/experience-afv-query/SKILL.md +234 -0
  170. package/skills/experience-agentforce-vibes-in-react-configure/SKILL.md +63 -0
  171. package/skills/experience-apex-components-configure/SKILL.md +69 -0
  172. package/skills/experience-apex-pages-configure/SKILL.md +107 -0
  173. package/skills/experience-app-home-configure/SKILL.md +76 -0
  174. package/skills/experience-aura-lightning-out-access-configure/SKILL.md +58 -0
  175. package/skills/experience-briefcase-configure/SKILL.md +287 -0
  176. package/skills/experience-community-flexi-page-list-create/SKILL.md +74 -0
  177. package/skills/experience-community-template-definition-list-query/SKILL.md +48 -0
  178. package/skills/experience-community-theme-definition-list-query/SKILL.md +38 -0
  179. package/skills/experience-content-assets-configure/SKILL.md +86 -0
  180. package/skills/experience-custom-domain-create/SKILL.md +727 -0
  181. package/skills/experience-defer-rendering-workspace-page-setup-configure/SKILL.md +41 -0
  182. package/skills/experience-field-service-app-builder-configure/SKILL.md +187 -0
  183. package/skills/experience-flow-category-configure/SKILL.md +117 -0
  184. package/skills/experience-formula-configure/SKILL.md +358 -0
  185. package/skills/experience-global-actions-configure/SKILL.md +69 -0
  186. package/skills/experience-global-publisher-layouts-configure/SKILL.md +79 -0
  187. package/skills/experience-instrumentation-configure/SKILL.md +64 -0
  188. package/skills/experience-lex-engagement-configure/SKILL.md +50 -0
  189. package/skills/experience-lightning-bolt-open/SKILL.md +12 -0
  190. package/skills/experience-lightning-out-configure/SKILL.md +129 -0
  191. package/skills/experience-lightning-preview-configure/SKILL.md +67 -0
  192. package/skills/experience-lightning-types-query/SKILL.md +98 -0
  193. package/skills/experience-malware-scan-configure/SKILL.md +71 -0
  194. package/skills/experience-my-salesforce-configure/SKILL.md +126 -0
  195. package/skills/experience-navigation-menus-configure/SKILL.md +235 -0
  196. package/skills/experience-notification-types-configure/SKILL.md +206 -0
  197. package/skills/experience-notifications-configure/SKILL.md +75 -0
  198. package/skills/experience-record-discovery-query/SKILL.md +227 -0
  199. package/skills/experience-regenerate-previews-open/SKILL.md +94 -0
  200. package/skills/experience-sales-cloud-mab-configure/SKILL.md +254 -0
  201. package/skills/experience-schema-builder-open/SKILL.md +38 -0
  202. package/skills/experience-simple-record-home-configure/SKILL.md +110 -0
  203. package/skills/experience-static-resources-configure/SKILL.md +74 -0
  204. package/skills/field-service-data-capture-form-deployer-configure/SKILL.md +23 -2
  205. package/skills/field-service-data-capture-form-designer-configure/SKILL.md +13 -3
  206. package/skills/field-service-mobile-branding-configure/SKILL.md +17 -3
  207. package/skills/field-service-objective-designer-configure/SKILL.md +72 -379
  208. package/skills/field-service-prework-brief-deployer-configure/SKILL.md +10 -537
  209. package/skills/field-service-scheduling-policy-designer-query/SKILL.md +65 -1093
  210. package/skills/field-service-setup-coordinate/SKILL.md +62 -0
  211. package/skills/field-service-sobject-create-configure/SKILL.md +13 -213
  212. package/skills/field-service-voice-to-form-configure/SKILL.md +40 -11
  213. package/skills/field-service-work-plan-configure/SKILL.md +253 -0
  214. package/skills/field-service-work-rule-designer-configure/SKILL.md +121 -95
  215. package/skills/fsc-actionable-segmentation-settings-configure/SKILL.md +180 -0
  216. package/skills/fsc-digital-origination-bre-decision-matrix-foundation-create/SKILL.md +196 -0
  217. package/skills/fsc-digital-origination-bre-disclosures-consent-configure/SKILL.md +106 -0
  218. package/skills/fsc-digital-origination-bre-document-upload-configure/SKILL.md +96 -0
  219. package/skills/fsc-digital-origination-bre-permissions-assign/SKILL.md +111 -0
  220. package/skills/fsc-digital-origination-bre-setup-coordinate/SKILL.md +250 -0
  221. package/skills/fsc-digital-origination-bre-stp-eligibility-configure/SKILL.md +122 -0
  222. package/skills/fsc-digital-origination-coordinate/SKILL.md +653 -0
  223. package/skills/fsc-digital-origination-demo-run/SKILL.md +225 -0
  224. package/skills/fsc-digital-origination-execution-guardrails-validate/SKILL.md +112 -0
  225. package/skills/fsc-digital-origination-initial-setup-configure/SKILL.md +396 -0
  226. package/skills/fsc-digital-origination-pricing-setup-coordinate/SKILL.md +336 -0
  227. package/skills/fsc-digital-origination-pricing-setup-data-foundation-create/SKILL.md +208 -0
  228. package/skills/fsc-digital-origination-pricing-setup-procedure-create/SKILL.md +375 -0
  229. package/skills/fsc-digital-origination-product-setup-act1-permissions-assign/SKILL.md +83 -0
  230. package/skills/fsc-digital-origination-product-setup-coordinate/SKILL.md +248 -0
  231. package/skills/fsc-digital-origination-sample-data-create/SKILL.md +206 -0
  232. package/skills/fsc-document-checklist-settings-configure/SKILL.md +57 -0
  233. package/skills/fsc-flexible-hierarchy-configure/SKILL.md +148 -0
  234. package/skills/fsc-flexible-hierarchy-foundation-configure/SKILL.md +1430 -0
  235. package/skills/fsc-flexible-hierarchy-graph-config-create/SKILL.md +471 -0
  236. package/skills/fsc-flexible-hierarchy-rule-based-graph-deploy/SKILL.md +429 -0
  237. package/skills/fsc-pricing-product-configurator-configure/SKILL.md +150 -0
  238. package/skills/fsc-pricing-salesforce-omnistudio-switch/SKILL.md +123 -0
  239. package/skills/fsc-product-act2-catalog-categories-create/SKILL.md +82 -0
  240. package/skills/fsc-product-act3-attributes-create/SKILL.md +249 -0
  241. package/skills/fsc-product-act4-classification-assignment-create/SKILL.md +196 -0
  242. package/skills/fsc-product-act5-considerations-get/SKILL.md +44 -0
  243. package/skills/fsc-stage-management-apex-flow-deploy/SKILL.md +384 -0
  244. package/skills/fsc-stage-management-compliant-data-sharing-configure/SKILL.md +144 -0
  245. package/skills/fsc-stage-management-decision-matrices-create/SKILL.md +107 -0
  246. package/skills/fsc-stage-management-definition-assignments-create/SKILL.md +189 -0
  247. package/skills/fsc-stage-management-definition-create/SKILL.md +108 -0
  248. package/skills/fsc-stage-management-permissions-assign/SKILL.md +143 -0
  249. package/skills/fsc-stage-management-transitions-configure/SKILL.md +139 -0
  250. package/skills/health-cloud-appt-booking-config-configure/SKILL.md +135 -0
  251. package/skills/health-cloud-appt-booking-url-config-configure/SKILL.md +134 -0
  252. package/skills/health-cloud-care-provider-affl-role-config-configure/SKILL.md +136 -0
  253. package/skills/health-cloud-care-provider-search-config-configure/SKILL.md +134 -0
  254. package/skills/health-cloud-care-requests-create/SKILL.md +178 -0
  255. package/skills/health-cloud-initial-configure/SKILL.md +511 -0
  256. package/skills/health-cloud-patient-appointment-scheduling-configure/SKILL.md +1374 -0
  257. package/skills/health-cloud-provider-search-settings-configure/SKILL.md +924 -0
  258. package/skills/health-cloud-referral-management-coordinate/SKILL.md +513 -0
  259. package/skills/health-cloud-timeline-configure/SKILL.md +622 -0
  260. package/skills/health-cloud-virtual-visit-config-configure/SKILL.md +135 -0
  261. package/skills/industries-account-score-settings-query/SKILL.md +78 -0
  262. package/skills/industries-actionable-list-data-sources-dmo-configure/SKILL.md +177 -0
  263. package/skills/industries-ad-product-availability-search/SKILL.md +399 -0
  264. package/skills/industries-advanced-account-forecast-settings-configure/SKILL.md +628 -0
  265. package/skills/industries-advanced-therapy-management-settings-configure/SKILL.md +73 -0
  266. package/skills/industries-atm-settings-starter-configure/SKILL.md +76 -0
  267. package/skills/industries-batch-document-ai-configure/SKILL.md +196 -0
  268. package/skills/industries-behavioral-health-app-settings-configure/SKILL.md +71 -0
  269. package/skills/industries-branch-management-settings-configure/SKILL.md +89 -0
  270. package/skills/industries-bre-decision-table-access-configure/SKILL.md +367 -0
  271. package/skills/industries-brokerage-settings-configure/SKILL.md +41 -0
  272. package/skills/industries-calendar-sync-settings-configure/SKILL.md +89 -0
  273. package/skills/industries-care-request-settings-configure/SKILL.md +218 -0
  274. package/skills/industries-case-management-intelligence-settings-configure/SKILL.md +54 -0
  275. package/skills/industries-catalog-process-attributes-products-configure/SKILL.md +380 -0
  276. package/skills/industries-catalog-process-fulfillment-configure/SKILL.md +216 -0
  277. package/skills/industries-catalog-process-intake-configure/SKILL.md +219 -0
  278. package/skills/industries-catalog-process-knowledge-configure/SKILL.md +153 -0
  279. package/skills/industries-catalog-process-preprocessor-configure/SKILL.md +168 -0
  280. package/skills/industries-cds-general-settings-configure/SKILL.md +69 -0
  281. package/skills/industries-claim-financial-settings-configure/SKILL.md +169 -0
  282. package/skills/industries-clinical-data-model-settings-configure/SKILL.md +136 -0
  283. package/skills/industries-clinical-data-model-settings-starter-configure/SKILL.md +105 -0
  284. package/skills/industries-collection-plan-settings-configure/SKILL.md +132 -0
  285. package/skills/industries-comms-service-console-settings-configure/SKILL.md +159 -0
  286. package/skills/industries-compliance-configure/SKILL.md +102 -0
  287. package/skills/industries-compliance-document-extraction-setup-configure/SKILL.md +76 -0
  288. package/skills/industries-contact-center-app-layout-configure/SKILL.md +88 -0
  289. package/skills/industries-contact-center-components-configure/SKILL.md +96 -0
  290. package/skills/industries-contact-center-path-knowledge-configure/SKILL.md +95 -0
  291. package/skills/industries-contact-center-user-access-assign/SKILL.md +96 -0
  292. package/skills/industries-course-waitlist-config-configure/SKILL.md +162 -0
  293. package/skills/industries-crisis-center-settings-configure/SKILL.md +84 -0
  294. package/skills/industries-custom-object-settings-configure/SKILL.md +94 -0
  295. package/skills/industries-data-cloud-integration-configure/SKILL.md +88 -0
  296. package/skills/industries-data-space-feature-mappings-configure/SKILL.md +245 -0
  297. package/skills/industries-decision-matrix-builder-configure/SKILL.md +78 -0
  298. package/skills/industries-decision-table-hbase-configure/SKILL.md +87 -0
  299. package/skills/industries-decision-table-version-configure/SKILL.md +74 -0
  300. package/skills/industries-decision-tables-builder-configure/SKILL.md +253 -0
  301. package/skills/industries-decision-tables-configure/SKILL.md +439 -0
  302. package/skills/industries-energy-utilities-configure/SKILL.md +251 -0
  303. package/skills/industries-eu-cloud-multisite-configure/SKILL.md +1008 -0
  304. package/skills/industries-eu-new-connections-configure/SKILL.md +30 -0
  305. package/skills/industries-explainability-msg-template-configure/SKILL.md +135 -0
  306. package/skills/industries-expression-set-message-token-configure/SKILL.md +135 -0
  307. package/skills/industries-field-service-settings-configure/SKILL.md +82 -0
  308. package/skills/industries-form-framework-settings-configure/SKILL.md +30 -0
  309. package/skills/industries-fsc-ai-settings-configure/SKILL.md +57 -0
  310. package/skills/industries-fsc-association-engine-settings-configure/SKILL.md +172 -0
  311. package/skills/industries-fsc-b2b-settings-configure/SKILL.md +61 -0
  312. package/skills/industries-fsc-insurance-settings-configure/SKILL.md +58 -0
  313. package/skills/industries-fsc-visa-fulfillment-setup-configure/SKILL.md +103 -0
  314. package/skills/industries-fsc-wealth-agent-settings-configure/SKILL.md +117 -0
  315. package/skills/industries-fsc-wealth-settings-configure/SKILL.md +99 -0
  316. package/skills/industries-fundraising-gift-entry-settings-configure/SKILL.md +120 -0
  317. package/skills/industries-fundraising-rfm-configure/SKILL.md +128 -0
  318. package/skills/industries-fundraising-settings-configure/SKILL.md +145 -0
  319. package/skills/industries-fundraising-source-code-gen-configure/SKILL.md +299 -0
  320. package/skills/industries-google-maps-api-key-settings-configure/SKILL.md +87 -0
  321. package/skills/industries-grantmaking-intelligence-settings-open/SKILL.md +58 -0
  322. package/skills/industries-hc-score-category-settings-configure/SKILL.md +167 -0
  323. package/skills/industries-health-engagement-settings-configure/SKILL.md +218 -0
  324. package/skills/industries-home-health-agentforce-setup-configure/SKILL.md +131 -0
  325. package/skills/industries-home-health-bundling-policy-create/SKILL.md +50 -0
  326. package/skills/industries-home-health-entity-labels-configure/SKILL.md +29 -0
  327. package/skills/industries-home-health-fsl-package-deploy/SKILL.md +71 -0
  328. package/skills/industries-home-health-fsl-settings-validate/SKILL.md +27 -0
  329. package/skills/industries-home-health-guided-setup-care-and-skill-get/SKILL.md +80 -0
  330. package/skills/industries-home-health-guided-setup-configure/SKILL.md +836 -0
  331. package/skills/industries-home-health-guided-setup-enable-org-fsl-get/SKILL.md +55 -0
  332. package/skills/industries-home-health-guided-setup-get-org-ready-get/SKILL.md +61 -0
  333. package/skills/industries-home-health-licenses-assign/SKILL.md +27 -0
  334. package/skills/industries-home-health-operating-hours-create/SKILL.md +40 -0
  335. package/skills/industries-home-health-scheduling-policy-create/SKILL.md +41 -0
  336. package/skills/industries-home-health-service-objective-create/SKILL.md +22 -0
  337. package/skills/industries-home-health-skills-create/SKILL.md +31 -0
  338. package/skills/industries-home-health-users-create/SKILL.md +29 -0
  339. package/skills/industries-icm-act3-toggles-configure/SKILL.md +198 -0
  340. package/skills/industries-icm-act5-genai-suggested-assessments-configure/SKILL.md +361 -0
  341. package/skills/industries-icm-act6-mcg-integration-configure/SKILL.md +550 -0
  342. package/skills/industries-integrated-care-management-configure/SKILL.md +168 -0
  343. package/skills/industries-object-enablement-configure/SKILL.md +86 -0
  344. package/skills/industries-tpm-system-processing-service-configure/SKILL.md +64 -0
  345. package/skills/integration-apex-settings-configure/SKILL.md +61 -0
  346. package/skills/marketing-e360-email-archiving-configure/SKILL.md +73 -0
  347. package/skills/platform-custom-permissions-configure/SKILL.md +687 -0
  348. package/skills/platform-label-workbench-import-create/SKILL.md +67 -0
  349. package/skills/platform-privacy-agent-settings-configure/SKILL.md +752 -0
@@ -0,0 +1,96 @@
1
+ ---
2
+ name: industries-contact-center-user-access-assign
3
+ description: "Act 2 of Contact Center for Health Cloud setup — give contact center reps access: check-report-confirm-assign the Contact Center for Health Cloud, Health Cloud Foundation, Knowledge LSF and OmniStudio User permission sets; create the Contact Center User profile (a Standard User clone) with Read, Create and Edit on Engagement Interaction, Engagement Topic, Engagement Attendee and Record Alert; verify Account Number field-level security; assign the profile on confirmation."
4
+ metadata:
5
+ version: "1.0"
6
+ ---
7
+
8
+ # Act 2 of 5 — User access (setup-page steps 1, 2 and 8)
9
+
10
+ Part of the `contact-center-setup` skill. Runs after
11
+ Act 1 (`contact-center-setup-act1-prereqs-enable`) has turned Contact Center for Health Cloud on.
12
+
13
+ ## What this Act does
14
+
15
+ ### Step 1 — Assign permissions and licenses to users
16
+
17
+ 1. Ask the admin **which users are contact center reps** (by name or by an existing profile / role).
18
+ Never assume the admin is a rep.
19
+ 2. For each rep, read assigned permission sets and licenses:
20
+ `SELECT AssigneeId, PermissionSet.Name FROM PermissionSetAssignment WHERE AssigneeId IN (…)` and
21
+ `SELECT AssigneeId, PermissionSetLicense.DeveloperName FROM PermissionSetLicenseAssign WHERE AssigneeId IN (…)`.
22
+ 3. Required for every rep (query by DeveloperName):
23
+
24
+ | UI label | DeveloperName | Note |
25
+ |---|---|---|
26
+ | Contact Center for Health Cloud | `ContactCenterforHealthCloud` | The admin got it in Act 1; reps still need it |
27
+ | Health Cloud Foundation | `HealthCloudFoundation` | |
28
+ | Knowledge LSF Permission Set | resolve by label → `Name` on the org | Only exists if the org has the Salesforce Knowledge feature license; absent = report, not an error |
29
+ | OmniStudio User | `OmniStudioUser` (and `OmniStudioExecution` if a second *OmniStudio User* set exists) | If there are two OmniStudio User sets, assign both |
30
+
31
+ 4. Report the per-user gap in plain language and **assign only what the admin confirms**:
32
+ `POST /sobjects/PermissionSetAssignment`. Permission set licenses are assigned automatically when
33
+ the permission set is assigned; if an assignment fails for a missing license, assign it with
34
+ `POST /sobjects/PermissionSetLicenseAssign` and retry. `DUPLICATE_VALUE` = already assigned.
35
+ 5. Read assignments back.
36
+
37
+ ### Step 2 — Contact Center User profile and object permissions
38
+
39
+ 1. **Detect the profile.** Ask what the reps' profile is called (suggest *Contact Center User*);
40
+ `SELECT Id, Name, UserLicense.Name FROM Profile WHERE Name = '<name>'`.
41
+ 2. **If missing — hand off the clone.** Cloning in Setup keeps Standard User's baseline permissions;
42
+ a profile created from metadata starts with almost nothing, so do not create it by deploy:
43
+ *"From Setup, enter Profiles in Quick Find, click Clone next to Standard User, name it Contact
44
+ Center User, and save. Tell me when it's there."* Then re-query.
45
+ 3. **Object permissions.** Read
46
+ `SELECT SobjectType, PermissionsRead, PermissionsCreate, PermissionsEdit FROM ObjectPermissions WHERE Parent.Profile.Name = '<name>' AND SobjectType IN ('EngagementInteraction','EngagementTopic','EngagementAttendee','RecordAlert')`.
47
+ For anything missing, deploy a **partial Profile** (only these elements) — Read, Create, Edit on all
48
+ four:
49
+
50
+ ```xml
51
+ <Profile xmlns="http://soap.sforce.com/2006/04/metadata">
52
+ <objectPermissions>
53
+ <object>EngagementInteraction</object>
54
+ <allowRead>true</allowRead><allowCreate>true</allowCreate><allowEdit>true</allowEdit>
55
+ <allowDelete>false</allowDelete><viewAllRecords>false</viewAllRecords><modifyAllRecords>false</modifyAllRecords>
56
+ </objectPermissions>
57
+ <!-- same for EngagementTopic, EngagementAttendee, RecordAlert -->
58
+ <fieldPermissions>
59
+ <field>Account.AccountNumber</field><readable>true</readable><editable>true</editable>
60
+ </fieldPermissions>
61
+ </Profile>
62
+ ```
63
+
64
+ The file name is the profile's API name (for a cloned profile, its name with spaces, e.g.
65
+ `Contact Center User.profile-meta.xml`). Dry-run, deploy, re-read `ObjectPermissions`.
66
+ 4. **Assign the profile** to the rep users — **confirm first** (changing a user's profile changes
67
+ everything they can do): `PATCH /sobjects/User/{id}` with `ProfileId`. Read back.
68
+
69
+ ### Step 8 — Verify automated setup actions (Account Number field-level security)
70
+
71
+ Turning Contact Center on grants access to the Account **Account Number** field — identity
72
+ verification searches on it. Verify for the contact center profile:
73
+ `SELECT PermissionsRead, PermissionsEdit FROM FieldPermissions WHERE SobjectType = 'Account' AND Field = 'Account.AccountNumber' AND Parent.Profile.Name = '<name>'`.
74
+ If missing, it rides in the same partial Profile deploy above (`fieldPermissions`). A cloned profile
75
+ created **after** the toggle may not have inherited it — always check.
76
+
77
+ ## Act end state
78
+
79
+ - Each confirmed rep holds the four permission sets (or the Knowledge set reported as unavailable).
80
+ - The contact center profile exists with Read, Create, Edit on the four objects and Account Number
81
+ readable, all read back.
82
+ - Confirmed reps are on that profile.
83
+
84
+ ## Gotchas
85
+
86
+ - **Labels vs. names.** *Knowledge LSF Permission Set* has no fixed API name across orgs —
87
+ resolve it by `Label` and use the returned `Name`; zero rows means no Knowledge feature license.
88
+ - **Profile deploys are partial; layouts are not.** Listing only `objectPermissions` and
89
+ `fieldPermissions` in a Profile deploy changes only those entries.
90
+ - **Don't deploy a new profile.** Clone in Setup; then deploy the deltas.
91
+ - **Rep vs. admin.** Assign to the rep users the admin names. The admin gets rep sets only if they ask.
92
+
93
+ ## Permission sets this Act may assign (on confirmation)
94
+
95
+ Contact Center for Health Cloud, Health Cloud Foundation, Knowledge LSF Permission Set, OmniStudio
96
+ User — see `ref:contact-center-setup/source/references/licensing-and-permission-sets`. Plus the profile assignment itself.
@@ -0,0 +1,162 @@
1
+ ---
2
+ name: industries-course-waitlist-config-configure
3
+ description: "Use this skill when users want to configure CourseWaitlistConfig records that drive Education Cloud course-waitlist behavior. Trigger when users mention course, waitlist, config, course waitlist config."
4
+ metadata:
5
+ version: "1.0"
6
+ accessCheck: "UserPermissions.AccessEducationCloud"
7
+ ---
8
+
9
+ # Managing Course Waitlist Config
10
+
11
+ ## When to Use This Skill
12
+
13
+ Configure CourseWaitlistConfig records that drive Education Cloud course-waitlist behavior. Two Type values: WaitlistPosition (ranking rules — agent rows with the same Type form a contiguous WaitlistPositionFieldOrder sequence the controller maintains server-side: insert shifts higher rows by +1, update reorders middle rows, delete compacts to 1..N) and EnrollmentOfferExpiration (single-config offer-acceptance window). All four CRUD steps are AURA-IS-CANONICAL because the controller's position cascade cannot be reconstructed by raw Tooling Insert/Update/Delete or by Metadata API XML deploy.
14
+
15
+ ## Workflow
16
+
17
+ Read with get-course-waitlist-configs first; rows return ordered by WaitlistPositionFieldOrder ASC. Use the returned recordId for update/delete. The position cascade fires server-side only when Type=WaitlistPosition and waitlistPositionFieldOrder is set; EnrollmentOfferExpiration creates/updates do not reorder siblings.
18
+
19
+ ## Critical Constraints
20
+
21
+ **Preconditions:**
22
+
23
+ - User must have IndustriesEducation EducationCloudAccess access (check: `Education Cloud access`)
24
+ - Org must have Academic Operations enabled (UDD orgAccess + userAccess on the CourseWaitlistConfig setupEntity). (check: `Education Cloud Academic Operations`)
25
+ - User must have the AccessEducationCloud user permission (UDD userAccess). (check: `UserPermissions.AccessEducationCloud`)
26
+ - Write/delete operations additionally require an admin user (UDD editAccess + createAccess + deleteAccess all combine isAdminUser with the org/user gates). (check: `Education Cloud admin access`)
27
+
28
+ **Destructive operations — require explicit user confirmation:**
29
+
30
+ - **`delete-course-waitlist-config`** — Deletes a CourseWaitlistConfig row by recordId. AURA-IS-CANONICAL — pre-delete the controller queries the row's Type; if it was WaitlistPosition, post-delete compactPositionsAfterDeletion renumbers every remaining WaitlistPosition row to a contiguous 1..N WaitlistPositionFieldOrder sequence to remove the gap. A raw Tooling Delete leaves a numbering gap (e.g. 1, 2, 4, 5).
31
+ - Rollback: No automatic rollback.
32
+
33
+ ## Verification Checklist
34
+
35
+ After every write operation, confirm the effect by re-reading state:
36
+
37
+ - After `create-course-waitlist-config`: call `verify-create-course-waitlist-config` (`GET /headless/invoke/platform/course-waitlist-config`)
38
+ - After `update-course-waitlist-config`: call `verify-update-course-waitlist-config` (`GET /headless/invoke/platform/course-waitlist-config`)
39
+ - After `delete-course-waitlist-config`: call `verify-delete-course-waitlist-config` (`GET /headless/invoke/platform/course-waitlist-config`)
40
+
41
+ ## Operations Reference
42
+
43
+ Operations grouped by purpose. Use these as the building blocks for the workflows above.
44
+
45
+ ### Summary
46
+
47
+ | Operation | Purpose | Status | Call | Depends on |
48
+ |-----------|---------|--------|------|------------|
49
+ | `get-course-waitlist-configs` | read | proposed | `GET /headless/invoke/platform/course-waitlist-config` | — |
50
+ | `create-course-waitlist-config` | write | proposed | `PATCH /headless/invoke/platform/course-waitlist-config/create-course-waitlist-config` | — |
51
+ | `update-course-waitlist-config` | write | proposed | `PATCH /headless/invoke/platform/course-waitlist-config/update-course-waitlist-config` | `get-course-waitlist-configs` |
52
+ | `delete-course-waitlist-config` | delete | proposed | `DELETE /headless/invoke/platform/course-waitlist-config/delete-course-waitlist-config` | `get-course-waitlist-configs` |
53
+ | `verify-create-course-waitlist-config` | verify | — | `GET /headless/invoke/platform/course-waitlist-config` | `create-course-waitlist-config` |
54
+ | `verify-update-course-waitlist-config` | verify | — | `GET /headless/invoke/platform/course-waitlist-config` | `update-course-waitlist-config` |
55
+ | `verify-delete-course-waitlist-config` | verify | — | `GET /headless/invoke/platform/course-waitlist-config` | `delete-course-waitlist-config` |
56
+
57
+ ### Dependency graph
58
+
59
+ ```mermaid
60
+ graph TD
61
+ get_course_waitlist_configs["get-course-waitlist-configs (read)"]
62
+ create_course_waitlist_config["create-course-waitlist-config (write)"]
63
+ update_course_waitlist_config["update-course-waitlist-config (write)"]
64
+ delete_course_waitlist_config["delete-course-waitlist-config (delete)"]
65
+ verify_create_course_waitlist_config["verify-create-course-waitlist-config (verify)"]
66
+ verify_update_course_waitlist_config["verify-update-course-waitlist-config (verify)"]
67
+ verify_delete_course_waitlist_config["verify-delete-course-waitlist-config (verify)"]
68
+ get_course_waitlist_configs --> update_course_waitlist_config
69
+ get_course_waitlist_configs --> delete_course_waitlist_config
70
+ create_course_waitlist_config --> verify_create_course_waitlist_config
71
+ update_course_waitlist_config --> verify_update_course_waitlist_config
72
+ delete_course_waitlist_config --> verify_delete_course_waitlist_config
73
+ ```
74
+
75
+ ### Read operations
76
+
77
+ #### `get-course-waitlist-configs`
78
+
79
+ Lists every CourseWaitlistConfig row ordered by WaitlistPositionFieldOrder ASC. Each entry exposes Id, DeveloperName, MasterLabel, Type, Value, WaitlistPositionFieldOrder, SortOrder. AURA-IS-CANONICAL: UDD perApiAccess marks the entity Tooling-queryable, but no tooling_sobject_coverage evidence file is present in the corpus snapshot, so the substitution is held back as a coverage_gap (see notes).
80
+
81
+ **Call:** `GET /headless/invoke/platform/course-waitlist-config` — status: `proposed`
82
+
83
+ **Output:** items: array<CourseWaitlistConfig> — each item carries Id (string), DeveloperName (string), MasterLabel (string), Type ("WaitlistPosition" | "EnrollmentOfferExpiration"), Value (string), WaitlistPositionFieldOrder (integer | null), SortOrder ("Ascending" | "Descending" | null). Empty list when no rows exist.
84
+
85
+ ### Write operations
86
+
87
+ #### `create-course-waitlist-config`
88
+
89
+ Creates a CourseWaitlistConfig via CourseWaitlistConfigService. AURA-IS-CANONICAL — when type=WaitlistPosition and waitlistPositionFieldOrder is set, the controller calls shiftPositionsForInsertion which UPDATES every existing WaitlistPosition row at-or-above the new position by +1, then inserts the new row. A raw Tooling Insert would land the row but break the position-uniqueness invariant; a Metadata deploy cannot perform a bulk sibling reorder in one transaction.
90
+
91
+ **Call:** `PATCH /headless/invoke/platform/course-waitlist-config/create-course-waitlist-config` — status: `proposed`
92
+
93
+ **Inputs:**
94
+
95
+ - `developerName` *(`String`)* — Name of the developer.
96
+ - `masterLabel` *(`String`)* — Label shown for master.
97
+ - `type` *(`String`)* — Value for the type field.
98
+ - `value` *(`String`)* — Value for the value field.
99
+ - `waitlistPositionFieldOrder` *(`Integer`)* — Numeric value for the waitlist position field order setting.
100
+ - `sortOrder` *(`String`)* — Value for the sort order field.
101
+
102
+ **Output:** Operation envelope: {success: true, recordId: <id of the new CourseWaitlistConfig row>}. ServiceException is wrapped as AuraHandledException by the controller — caller sees a logging-only and a generic error message.
103
+
104
+ #### `update-course-waitlist-config`
105
+
106
+ Updates an existing CourseWaitlistConfig row by recordId. AURA-IS-CANONICAL — when waitlistPositionFieldOrder changes, handlePositionUpdateIfNeeded → reorderPositionsForUpdate → calculateAdjustedPosition rewrites every sibling row in the affected window (move-up shifts middle rows down by 1; move-down shifts middle rows up by 1). developerName and type are not in the update signature — those are immutable post-create.
107
+
108
+ **Call:** `PATCH /headless/invoke/platform/course-waitlist-config/update-course-waitlist-config` — status: `proposed`
109
+
110
+ **Inputs:**
111
+
112
+ - `recordId` *(`String`)* — Id of the record.
113
+ - `masterLabel` *(`String`)* — Label shown for master.
114
+ - `value` *(`String`)* — Value for the value field.
115
+ - `waitlistPositionFieldOrder` *(`Integer`)* — Numeric value for the waitlist position field order setting.
116
+ - `sortOrder` *(`String`)* — Value for the sort order field.
117
+
118
+ **Depends on:** `get-course-waitlist-configs`
119
+
120
+ **Output:** Operation envelope: {success: true, recordId: <the same recordId passed in>}. ServiceException is wrapped as AuraHandledException.
121
+
122
+ ### Verify operations
123
+
124
+ #### `verify-create-course-waitlist-config`
125
+
126
+ Re-list all CourseWaitlistConfig rows and confirm the new recordId is present with the developerName/masterLabel/type/value supplied to create. Also confirms the post-cascade WaitlistPositionFieldOrder placement when type=WaitlistPosition.
127
+
128
+ **Call:** `GET /headless/invoke/platform/course-waitlist-config`
129
+
130
+ **Depends on:** `create-course-waitlist-config`
131
+
132
+ #### `verify-update-course-waitlist-config`
133
+
134
+ Re-list and locate the row by recordId; confirm masterLabel / value / waitlistPositionFieldOrder / sortOrder match the update inputs. When waitlistPositionFieldOrder changed, also confirm the sibling row positions reflect the cascade.
135
+
136
+ **Call:** `GET /headless/invoke/platform/course-waitlist-config`
137
+
138
+ **Depends on:** `update-course-waitlist-config`
139
+
140
+ #### `verify-delete-course-waitlist-config`
141
+
142
+ Re-list and confirm the deleted recordId is absent. When the deleted row was Type=WaitlistPosition, also confirm remaining WaitlistPosition rows have a contiguous 1..N WaitlistPositionFieldOrder (no gap).
143
+
144
+ **Call:** `GET /headless/invoke/platform/course-waitlist-config`
145
+
146
+ **Depends on:** `delete-course-waitlist-config`
147
+
148
+ ### Destructive operations
149
+
150
+ #### `delete-course-waitlist-config`
151
+
152
+ Deletes a CourseWaitlistConfig row by recordId. AURA-IS-CANONICAL — pre-delete the controller queries the row's Type; if it was WaitlistPosition, post-delete compactPositionsAfterDeletion renumbers every remaining WaitlistPosition row to a contiguous 1..N WaitlistPositionFieldOrder sequence to remove the gap. A raw Tooling Delete leaves a numbering gap (e.g. 1, 2, 4, 5).
153
+
154
+ **Call:** `DELETE /headless/invoke/platform/course-waitlist-config/delete-course-waitlist-config` — status: `proposed`
155
+
156
+ **Inputs:**
157
+
158
+ - `recordId` *(`String`)*
159
+
160
+ **Depends on:** `get-course-waitlist-configs`
161
+
162
+ **Output:** Operation envelope: {success: true, recordId: <the deleted recordId>}. ServiceException is wrapped as AuraHandledException.
@@ -0,0 +1,84 @@
1
+ ---
2
+ name: industries-crisis-center-settings-configure
3
+ description: "Use this skill when users want to read or toggle the Crisis Center org access preference for Health Cloud. Trigger when users mention crisis, center, settings, crisis center settings."
4
+ metadata:
5
+ version: "1.0"
6
+ accessCheck: "(IndustriesSettingAccessCheck.USER_PERMISSION_CRISIS_CENTER_USER_ACCESS) || (UngroupedSettingAccessCheck.USER_PERMISSION_CUSTOMIZE_APPLICATION) || (setupUtil.hasViewSetup)"
7
+ ---
8
+
9
+ # Managing Crisis Center Settings
10
+
11
+ ## When to Use This Skill
12
+
13
+ Read or toggle the Crisis Center org access preference for Health Cloud. Requires View Setup, Customize Application and the Crisis Center user permission, and the org must have the Crisis Center license. Enabling also publishes a product-usage telemetry event that no Metadata or Tooling write reproduces.
14
+
15
+ ## Workflow
16
+
17
+ Read the current boolean, toggle it with the boolean `value`, then re-read to confirm, because the toggle returns no body. A localized no-access error means one of the four gates (View Setup, Customize Application, the Crisis Center user permission, the Crisis Center license) is off, not a bad payload.
18
+
19
+ ## Critical Constraints
20
+
21
+ **Preconditions:**
22
+
23
+ - Org has the Health Cloud Crisis Center license enabled. Without it, both the read and the toggle return an access error. (check: `Crisis Center license`)
24
+ - Caller has View Setup access. (check: `setupUtil.hasViewSetup`)
25
+ - Caller has the Customize Application user permission. (check: `UngroupedSettingAccessCheck.USER_PERMISSION_CUSTOMIZE_APPLICATION`)
26
+ - Caller has the Crisis Center user permission. (check: `IndustriesSettingAccessCheck.USER_PERMISSION_CRISIS_CENTER_USER_ACCESS`)
27
+
28
+ ## Verification Checklist
29
+
30
+ After every write operation, confirm the effect by re-reading state:
31
+
32
+ - After `handleCrisisCenterToggle_2`: call `verify-crisis-center-org-pref` (`GET /headless/invoke/industries/industries-healthcare/crisis-center-setup-page/get-crisis-center-org-pref`)
33
+
34
+ ## Operations Reference
35
+
36
+ Operations grouped by purpose. Use these as the building blocks for the workflows above.
37
+
38
+ ### Summary
39
+
40
+ | Operation | Purpose | Status | Call | Depends on |
41
+ |-----------|---------|--------|------|------------|
42
+ | `getCrisisCenterOrgPref_1` | read | implemented | `GET /headless/invoke/industries/industries-healthcare/crisis-center-setup-page/get-crisis-center-org-pref` | — |
43
+ | `handleCrisisCenterToggle_2` | write | implemented | `PATCH /headless/invoke/industries/industries-healthcare/crisis-center-setup-page/handle-crisis-center-toggle` | `getCrisisCenterOrgPref_1` |
44
+ | `verify-crisis-center-org-pref` | verify | implemented | `GET /headless/invoke/industries/industries-healthcare/crisis-center-setup-page/get-crisis-center-org-pref` | `handleCrisisCenterToggle_2` |
45
+
46
+ ### Read operations
47
+
48
+ #### `getCrisisCenterOrgPref_1`
49
+
50
+ Returns whether the Crisis Center org access preference is enabled. Fails with a localized no-access error when the caller lacks View Setup, Customize Application or the Crisis Center user permission, or the org lacks the Crisis Center license.
51
+
52
+ **Call:** `GET /headless/invoke/industries/industries-healthcare/crisis-center-setup-page/get-crisis-center-org-pref` — status: `implemented`
53
+
54
+ **Output:** Boolean; true when the Crisis Center org access preference is enabled.
55
+
56
+ **Notes:** verification_note: No public Connect, Tooling, Metadata or sObject API exposes this preference (live probes of the Setup Connect preference API and Tooling OrgPreferenceSettings both failed), so the controller read is the only surface.
57
+
58
+ ### Write operations
59
+
60
+ #### `handleCrisisCenterToggle_2`
61
+
62
+ Sets the Crisis Center org access preference to the boolean `value`. Same access gate as the read; a failed save returns the first save error. When `value` is true the controller also publishes a product-usage telemetry event. Returns no body.
63
+
64
+ **Call:** `PATCH /headless/invoke/industries/industries-healthcare/crisis-center-setup-page/handle-crisis-center-toggle` — status: `implemented`
65
+
66
+ **Inputs:**
67
+
68
+ - `value` *(`boolean`)*
69
+
70
+ **Depends on:** `getCrisisCenterOrgPref_1`
71
+
72
+ **Notes:** verification_note: The license gate, the Crisis Center user-permission gate and the enable-only telemetry event are controller-only behaviour; no Metadata, Tooling or sObject write reproduces them, so the controller toggle is the canonical write.
73
+
74
+ ### Verify operations
75
+
76
+ #### `verify-crisis-center-org-pref`
77
+
78
+ Re-read the preference with getCrisisCenterOrgPref after handleCrisisCenterToggle; both read and write the same org preference, so the returned boolean must match the requested value.
79
+
80
+ **Call:** `GET /headless/invoke/industries/industries-healthcare/crisis-center-setup-page/get-crisis-center-org-pref` — status: `implemented`
81
+
82
+ **Depends on:** `handleCrisisCenterToggle_2`
83
+
84
+ **Output:** Boolean equal to the value passed to handleCrisisCenterToggle on success.
@@ -0,0 +1,94 @@
1
+ ---
2
+ name: industries-custom-object-settings-configure
3
+ description: "Use this skill when users want to manage two Compliant Data Sharing rules for deleting a custom object's sharing permission: `CdsDeleteCOPEditOnParentPref` (require Edit access on the parent record before the permission can be deleted) and `CdsDeleteCOPByParentOwnerPref` (let the parent record's owner delete it). Trigger when users mention custom, object, settings, custom object settings."
4
+ metadata:
5
+ version: "1.0"
6
+ accessCheck: "IndustriesCompliantDataSharing.userHasIndustriesConfigCompliantDataSharing && (UserPermissions.CustomizeApplication || UserPermissions.ModifyAllData)"
7
+ ---
8
+
9
+ # Managing Custom Object Settings
10
+
11
+ ## When to Use This Skill
12
+
13
+ Manage two Compliant Data Sharing rules for deleting a custom object's sharing permission: `CdsDeleteCOPEditOnParentPref` (require Edit access on the parent record before the permission can be deleted) and `CdsDeleteCOPByParentOwnerPref` (let the parent record's owner delete it). Reads the current values and toggles either one. Setup administrator access required.
14
+
15
+ ## Workflow
16
+
17
+ Read the current settings first, then toggle.
18
+
19
+ ### Phase 1: Call getAccessCheckValues_1 to read the current state. It...
20
+
21
+ Call getAccessCheckValues_1 to read the current state. It returns three flags: `CdsDeleteCOPEditOnParentPref` and `CdsDeleteCOPByParentOwnerPref` (the current on/off state of each deletion rule) and `OrgHasCDSCustomObjects` (whether Compliant Data Sharing is available in the org and support for custom objects is enabled).
22
+
23
+ ### Phase 2: Prerequisite — Compliant Data Sharing support for custom...
24
+
25
+ Prerequisite — Compliant Data Sharing support for custom objects must be enabled before these settings can be saved. Check `OrgHasCDSCustomObjects` from step 1. If it is false, custom-object support is not enabled: an admin must first enable it on the Object Enablement Settings page by turning on the Custom Object entry. (Programmatically, that is the ObjectEnablementSettings skill — call updateEntityPreference with parentEntityName "Custom Object" and isEnabled true.) Until that is done, savePref_2 is rejected.
26
+
27
+ ### Phase 3: When OrgHasCDSCustomObjects is true, call savePref_2 with pref...
28
+
29
+ When `OrgHasCDSCustomObjects` is true, call savePref_2 with `pref` set to one of the two rule names above and `enabled` set to the desired on/off value. Any other `pref` name is rejected.
30
+
31
+ ### Phase 4: Call verify-savePref_2 to confirm the change took effect...
32
+
33
+ Call verify-savePref_2 to confirm the change took effect — savePref returns no body, so re-reading is the only confirmation.
34
+
35
+ ## Critical Constraints
36
+
37
+ **Preconditions:**
38
+
39
+ - You must have Setup administrator access. Without it, the settings are not returned and cannot be saved. (check: `Setup administrator access`)
40
+ - Your org must have access to configure Compliant Data Sharing. (check: `Compliant Data Sharing configuration access`)
41
+ - Saving a setting additionally requires Compliant Data Sharing support for custom objects to be enabled. Enable it on the Object Enablement Settings page by turning on the Custom Object entry — the read step's `OrgHasCDSCustomObjects` flag tells you whether this is already satisfied. (check: `Compliant Data Sharing support for custom objects enabled`)
42
+
43
+ ## Verification Checklist
44
+
45
+ After every write operation, confirm the effect by re-reading state:
46
+
47
+ - After `savePref_2`: call `verify-savePref_2` (`GET /headless/invoke/industries/industries-compliant-datasharing/custom-object-settings/get-access-check-values`)
48
+
49
+ ## Operations Reference
50
+
51
+ Operations grouped by purpose. Use these as the building blocks for the workflows above.
52
+
53
+ ### Summary
54
+
55
+ | Operation | Purpose | Status | Call | Depends on |
56
+ |-----------|---------|--------|------|------------|
57
+ | `getAccessCheckValues_1` | read | implemented | `GET /headless/invoke/industries/industries-compliant-datasharing/custom-object-settings/get-access-check-values` | — |
58
+ | `savePref_2` | write | implemented | `PATCH /headless/invoke/industries/industries-compliant-datasharing/custom-object-settings/save-pref` | `getAccessCheckValues_1` |
59
+ | `verify-savePref_2` | verify | implemented | `GET /headless/invoke/industries/industries-compliant-datasharing/custom-object-settings/get-access-check-values` | `savePref_2` |
60
+
61
+ ### Read operations
62
+
63
+ #### `getAccessCheckValues_1`
64
+
65
+ Reads the current Compliant Data Sharing custom-object settings. Returns three flags keyed by name: `CdsDeleteCOPEditOnParentPref` and `CdsDeleteCOPByParentOwnerPref` (the current on/off state of each deletion rule) and `OrgHasCDSCustomObjects` (whether Compliant Data Sharing is available in the org and support for custom objects is enabled — this must be true before either rule can be saved). Compliant Data Sharing configuration access and Setup administrator access are required; a caller without the required access receives an access error instead of the flags.
66
+
67
+ **Call:** `GET /headless/invoke/industries/industries-compliant-datasharing/custom-object-settings/get-access-check-values` — status: `implemented`
68
+
69
+ **Output:** Three boolean flags keyed by name: `CdsDeleteCOPEditOnParentPref`, `CdsDeleteCOPByParentOwnerPref`, and `OrgHasCDSCustomObjects`. Returns an access error when the caller lacks Compliant Data Sharing configuration access or Setup administrator access.
70
+
71
+ ### Write operations
72
+
73
+ #### `savePref_2`
74
+
75
+ Saves one Compliant Data Sharing deletion rule. Set `pref` to either `CdsDeleteCOPEditOnParentPref` (require Edit access on the parent record before a custom object's sharing permission can be deleted) or `CdsDeleteCOPByParentOwnerPref` (allow the parent record's owner to delete the sharing permission) — no other value is accepted. Set `enabled` to the desired on/off value. Saving requires Compliant Data Sharing configuration access and Setup administrator access, and the org must have Compliant Data Sharing support for custom objects enabled (see `OrgHasCDSCustomObjects` from the read step; enable the Custom Object entry on the Object Enablement Settings page if it is false). Returns no body; use the verify step to confirm.
76
+
77
+ **Call:** `PATCH /headless/invoke/industries/industries-compliant-datasharing/custom-object-settings/save-pref` — status: `implemented`
78
+
79
+ **Inputs:**
80
+
81
+ - `pref` *(`String`)*
82
+ - `enabled` *(`boolean`)*
83
+
84
+ **Depends on:** `getAccessCheckValues_1`
85
+
86
+ ### Verify operations
87
+
88
+ #### `verify-savePref_2`
89
+
90
+ Re-reads the settings and confirms the flag matching the `pref` you saved now equals the `enabled` value you sent. Because saving returns no body, this read-back is the only way to confirm the change persisted.
91
+
92
+ **Call:** `GET /headless/invoke/industries/industries-compliant-datasharing/custom-object-settings/get-access-check-values` — status: `implemented`
93
+
94
+ **Depends on:** `savePref_2`
@@ -0,0 +1,88 @@
1
+ ---
2
+ name: industries-data-cloud-integration-configure
3
+ description: "Use this skill when users want to industries admin-setup wizard backing the Nonprofit Cloud Fundraising 'Data Cloud Integration' setup page, known to customers as \"Fundraising Intelligence Settings\". Trigger when users mention data, cloud, integration, data cloud integration."
4
+ metadata:
5
+ version: "1.0"
6
+ ---
7
+
8
+ # Managing Data Cloud Integration
9
+
10
+ ## When to Use This Skill
11
+
12
+ Industries admin-setup wizard backing the Nonprofit Cloud Fundraising 'Data Cloud Integration' setup page, known to customers as "Fundraising Intelligence Settings". Generic AdminSetupController with three @AuraEnabled methods. The GET reads a setupConfig JSON (resolved relative to ui-industries-common-components/resources/setupConfig/) keyed by fileName and returns AdminSetupRepresentation: ordered groups containing dependency-ordered steps with action/actionResponse descriptors plus stepAccessCheck, preValidation, and stepCompletionCheck identifiers. The two PATCHes invoke server-side AdminSetupStepActionExecutor Spring beans by name; one accepts a String-to-String params map, the other does not. The setupConfig JSON is the source of truth for the step graph and the runtime registry of executable action names. No public Connect, Tooling, Metadata, or sObject equivalent exists for this surface — action names resolve at runtime to feature-specific beans, so substitution would lose both the dispatcher's access-guard and the per-step PermissionParser evaluation. Workflow: GET first to discover available step actions, then PATCH each in dependency order.
13
+
14
+ ## Workflow
15
+
16
+ Call get-admin-setup-data first (with the page's fileName) to discover the current setupConfig's action names, dependency graph, and per-step access state. Then dispatch each step via execute-admin-setup-step-action when no caller inputs are required, or parameterized-execute-admin-setup-step-action when the step expects a String-to-String params map. Action names are runtime-resolved Spring bean names; do not invent them — read them from the GET response.
17
+
18
+ ## Critical Constraints
19
+
20
+ **Preconditions:**
21
+
22
+ - User must have Industries AccessSetup access (controller-level guard on executeAdminSetupStepAction). (check: `View Setup permission`)
23
+ - Org must have the Nonprofit Cloud Fundraising / Nonprofit Intelligence feature enabled. (check: `Nonprofit Intelligence access`)
24
+ - Running user must be configured as a Fundraising admin. (check: `Fundraising Admin role`)
25
+ - API version must be v248 or later (setup-manifest 'since' for this node). (check: `None`)
26
+
27
+ ## Operations Reference
28
+
29
+ Operations grouped by purpose. Use these as the building blocks for the workflows above.
30
+
31
+ ### Summary
32
+
33
+ | Operation | Purpose | Status | Call | Depends on |
34
+ |-----------|---------|--------|------|------------|
35
+ | `get-admin-setup-data` | read | proposed | `GET /headless/invoke/platform/data-cloud-integration` | — |
36
+ | `execute-admin-setup-step-action` | write | proposed | `PATCH /headless/invoke/platform/data-cloud-integration/execute-admin-setup-step-action` | `get-admin-setup-data` |
37
+ | `parameterized-execute-admin-setup-step-action` | write | proposed | `PATCH /headless/invoke/platform/data-cloud-integration/parameterized-execute-admin-setup-step-action` | `get-admin-setup-data` |
38
+
39
+ ### Read operations
40
+
41
+ #### `get-admin-setup-data`
42
+
43
+ Reads the setupConfig JSON named by fileName (resolved relative to ui-industries-common-components/resources/setupConfig/) and returns AdminSetupRepresentation. AURA-IS-CANONICAL — no public Connect/Tooling/Metadata/sObject alternative; setupConfig descriptors are Java resource files, not CRUD-able entities. Read-only; per-step stepAccessCheck/groupAccessCheck filters apply server-side.
44
+
45
+ **Call:** `GET /headless/invoke/platform/data-cloud-integration` — status: `proposed`
46
+
47
+ **Inputs:**
48
+
49
+ - `fileName` *(`String`)*
50
+
51
+ **Output:** AdminSetupRepresentation: isSuccess (boolean), errors (ErrorRepresentation list — populated on parse/validation failure; only errorMessage carries content from the get path), featureName (echoes fileName), configurations (ordered AdminSetupGroupRepresentation list, filtered + renumbered by per-user groupAccessCheck — each group bundles dependency-ordered AdminSetupStepRepresentation steps carrying name, order, dependency indices, action+actionResponse descriptors, helpUrl/helpUrlLabel, preValidation/validationMessage, stepAccessCheck, stepCompletionCheck, ignoreStepProgress), disableReset (boolean — when true the wizard hides the reset control).
52
+
53
+ **Notes:** setup_config_filename: For this node, fileName resolves to FundraisingIntelligenceSetup.json, confirmed via source and a live headless GET. Customer-facing page name: "Fundraising Intelligence Settings".; genie_gating: 4 of the 10 steps in FundraisingIntelligenceSetup.json (3 groups of 2/7/1; 7 ButtonNavigate, 1 Manual, 2 LaunchComponent) carry a stepAccessCheck gated on "Data Cloud platform enabled". A live headless GET confirmed these steps are filtered out of the returned step graph server-side when the org lacks Genie Platform — observed in both license states (6 steps unlicensed → 10 once licensed, matching the UI) — the gate is runtime-enforced, not a UI-only toggle.; completion_status_fidelity_gap: The GET returns each step's stepCompletionCheck bean name but not its evaluated result — step objects carry no completed field and groupStatus is null. The Setup UI runs those validators (green checks / % complete) but the headless path does not, and no operation exposes running them. The skill is structure-aware but not progress-aware: an agent can list and route steps but can't report which are already done. Suggested to the owning team: return evaluated completion status in the GET, or add an operation to run the completion-check beans.
54
+
55
+ ### Write operations
56
+
57
+ #### `execute-admin-setup-step-action`
58
+
59
+ Invokes the server-side AdminSetupStepActionExecutor Spring bean named by actionName (must match an action.name from a prior getAdminSetupData response). Gated by the controller-level View Setup permission access guard. Returns AdminSetupStepActionResultRepresentation. AURA-IS-CANONICAL — no public alternative because action names resolve at runtime to feature-specific beans, and substitution would drop the controller's access-guard.
60
+
61
+ **Call:** `PATCH /headless/invoke/platform/data-cloud-integration/execute-admin-setup-step-action` — status: `proposed`
62
+
63
+ **Inputs:**
64
+
65
+ - `actionName` *(`String`)* — Name of the action.
66
+
67
+ **Depends on:** `get-admin-setup-data`
68
+
69
+ **Output:** AdminSetupStepActionResultRepresentation: result (boolean — true when the resolved AdminSetupStepActionExecutor bean reported success; thrown exceptions surface as AuraHandledException and never reach result=false), error (ErrorRepresentation, populated only on recoverable executor-reported failures), custom (string-keyed map — always null on this no-args path, populated only by the parameterized variant).
70
+
71
+ **Notes:** executor_allowlist_risk: This is a generic dispatcher that executes an AdminSetupStepActionExecutor Spring bean by caller-supplied actionName. Safe today because every action in FundraisingIntelligenceSetup.json is ButtonNavigate/Manual/LaunchComponent — no action currently maps to a mutating install/authorize bean. A live PATCH probe with a config action name returned 200 {"custom":{},"error":{}}, a benign no-op (no bean resolved, nothing mutated). Recommend an explicit allowlist of executable action names; re-review if the setupConfig ever registers an executor-backed install/authorize action.
72
+
73
+ #### `parameterized-execute-admin-setup-step-action`
74
+
75
+ Like execute-admin-setup-step-action but forwards a String-to-String params map to the executor bean — use when the step requires caller-supplied inputs. NOT decorated with the controller-level View Setup permission guard; access is enforced via the loaded setupConfig's stepAccessCheck (PermissionParser evaluation per group/step). Returns AdminSetupStepActionResultRepresentation with handler-defined custom map. AURA-IS-CANONICAL — runtime-bean dispatch + stepAccessCheck enforcement have no system-API analog.
76
+
77
+ **Call:** `PATCH /headless/invoke/platform/data-cloud-integration/parameterized-execute-admin-setup-step-action` — status: `proposed`
78
+
79
+ **Inputs:**
80
+
81
+ - `actionName` *(`String`)* — Name of the action.
82
+ - `params` *(`Map<String, String>`)* — Value for params.
83
+
84
+ **Depends on:** `get-admin-setup-data`
85
+
86
+ **Output:** AdminSetupStepActionResultRepresentation: result (boolean — true on executor success; thrown exceptions become AuraHandledException), error (ErrorRepresentation on recoverable failure), custom (executor-bean-defined string-keyed output map — populated by the parameterized executor, distinct from the no-args variant which leaves it null).
87
+
88
+ **Notes:** executor_allowlist_risk: This is a generic dispatcher that executes an AdminSetupStepActionExecutor Spring bean by caller-supplied actionName. Safe today because every action in FundraisingIntelligenceSetup.json is ButtonNavigate/Manual/LaunchComponent — no action currently maps to a mutating install/authorize bean. Recommend an explicit allowlist of executable action names; re-review if the setupConfig ever registers an executor-backed install/authorize action.; access_guard_gap: Unlike its sibling execute-admin-setup-step-action, this method carries no controller-level View Setup access guard of its own. It relies entirely on the setupConfig's per-step stepAccessCheck for access control. Not a rejection reason — no mutating bean is wired today — but flagged as a latent risk to revisit if that changes.