@salesforce/afv-skills 1.63.0 → 1.65.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (484) hide show
  1. package/package.json +1 -1
  2. package/skills/agentforce-gpt-email-generation-configure/SKILL.md +312 -0
  3. package/skills/agentforce-offline-experimentation-run/SKILL.md +253 -0
  4. package/skills/agentforce-offline-experimentation-run/scripts/build_report.py +796 -0
  5. package/skills/agentforce-offline-experimentation-run/scripts/resolve-token.sh +111 -0
  6. package/skills/agentforce-offline-experimentation-run/scripts/sfap_replay.py +1053 -0
  7. package/skills/agentforce-wizard-ui-forecasting-analytics-components-configure/SKILL.md +64 -0
  8. package/skills/agentforce-wizard-ui-sales-einstein-components-configure/SKILL.md +46 -0
  9. package/skills/automation-company-profile-info-query/SKILL.md +51 -0
  10. package/skills/automation-digital-wallet-configure/SKILL.md +689 -0
  11. package/skills/automation-flow-coordinate/SKILL.md +95 -0
  12. package/skills/automation-flow-coordinate/references/elements/action-call/action-call.md +1569 -0
  13. package/skills/automation-flow-coordinate/references/elements/action-call/conversation-messaging.md +96 -0
  14. package/skills/automation-flow-coordinate/references/elements/action-call/examples/send-sms-message.json +23 -0
  15. package/skills/automation-flow-coordinate/references/elements/action-call/examples/send-to-journey-no-fields.json +31 -0
  16. package/skills/automation-flow-coordinate/references/elements/action-call/send-to-journey.md +179 -0
  17. package/skills/automation-flow-coordinate/references/elements/exit-rule/examples/event-email-link-click.json +13 -0
  18. package/skills/automation-flow-coordinate/references/elements/exit-rule/exit-rule.md +83 -0
  19. package/skills/automation-flow-coordinate/references/elements/forward-to-bot-or-agent/examples/forward-to-bot-or-agent.json +69 -0
  20. package/skills/automation-flow-coordinate/references/elements/forward-to-bot-or-agent/forward-to-bot-or-agent.md +274 -0
  21. package/skills/automation-flow-coordinate/references/elements/start/audience-common.md +192 -0
  22. package/skills/automation-flow-coordinate/references/elements/start/automation-event-triggered.md +130 -0
  23. package/skills/automation-flow-coordinate/references/elements/start/data-cloud-data-change-triggered.md +92 -0
  24. package/skills/automation-flow-coordinate/references/elements/start/form-submission-triggered.md +88 -0
  25. package/skills/automation-flow-coordinate/references/elements/start/segment-triggered.md +152 -0
  26. package/skills/automation-flow-coordinate/references/elements/start/start.md +539 -0
  27. package/skills/automation-flow-coordinate/references/elements/subflow/subflow.md +152 -0
  28. package/skills/automation-flow-coordinate/references/elements/wait/wait.md +497 -0
  29. package/skills/automation-flow-coordinate/references/recipes/author/author.md +868 -0
  30. package/skills/automation-flow-coordinate/references/recipes/summarize/element-generic.md +300 -0
  31. package/skills/automation-flow-coordinate/references/recipes/summarize/reference-resolution.md +292 -0
  32. package/skills/automation-flow-coordinate/references/recipes/summarize/summarize.md +323 -0
  33. package/skills/automation-flow-coordinate/references/recipes/testing/examples/debug-output-template.md +109 -0
  34. package/skills/automation-flow-coordinate/references/recipes/testing/shape.md +219 -0
  35. package/skills/automation-flow-coordinate/references/recipes/testing/shared-stages/intent-analyzer.md +180 -0
  36. package/skills/automation-flow-coordinate/references/recipes/testing/workflows/debug.md +175 -0
  37. package/skills/automation-flow-coordinate/references/recipes/testing/workflows/promote.md +255 -0
  38. package/skills/automation-flow-coordinate/references/recipes/testing/workflows/save-debug.md +212 -0
  39. package/skills/automation-flow-coordinate/references/resources/variable/variable.md +171 -0
  40. package/skills/automation-flow-coordinate/references/shared/anti-patterns.md +786 -0
  41. package/skills/automation-flow-coordinate/references/shared/end/end.md +267 -0
  42. package/skills/automation-flow-coordinate/references/shared/flow-type-resolver/eval/README.md +69 -0
  43. package/skills/automation-flow-coordinate/references/shared/flow-type-resolver/eval/predictions.jsonl +80 -0
  44. package/skills/automation-flow-coordinate/references/shared/flow-type-resolver/eval/prompts.jsonl +116 -0
  45. package/skills/automation-flow-coordinate/references/shared/flow-type-resolver/flow-type-resolver.md +321 -0
  46. package/skills/automation-flow-coordinate/references/shared/flow-type-resolver/taxonomy.json +320 -0
  47. package/skills/automation-flow-coordinate/references/shared/server-functions.md +597 -0
  48. package/skills/automation-sandbox-post-copy-config-generate/SKILL.md +21 -11
  49. package/skills/automation-sandbox-post-copy-config-generate/assets/config_template.json +10 -0
  50. package/skills/automation-sandbox-post-copy-config-generate/assets/json_schema.json +33 -1
  51. package/skills/automation-sandbox-post-copy-config-generate/references/configuration_catalog.md +44 -1
  52. package/skills/automation-sandbox-post-copy-configure/SKILL.md +132 -124
  53. package/skills/automation-sandbox-post-copy-configure/references/flow_activation_path.md +151 -0
  54. package/skills/automation-sandbox-post-copy-configure/references/scheduled_apex_path.md +55 -9
  55. package/skills/automotive-cloud-appraisal-management-settings-configure/SKILL.md +69 -0
  56. package/skills/automotive-cloud-dealer-essentials-configure/SKILL.md +78 -0
  57. package/skills/automotive-cloud-ground-agent-data-pipelines-configure/SKILL.md +373 -0
  58. package/skills/automotive-cloud-ground-mfg-agent-data-pipelines-configure/SKILL.md +273 -0
  59. package/skills/automotive-cloud-mfg-agent-data-pipelines-configure/SKILL.md +259 -0
  60. package/skills/automotive-cloud-mfg-sales-concierge-agent-create/SKILL.md +369 -0
  61. package/skills/automotive-cloud-mfg-sales-concierge-foundation-configure/SKILL.md +542 -0
  62. package/skills/automotive-cloud-mfg-sales-concierge-foundation-coordinate/SKILL.md +159 -0
  63. package/skills/automotive-cloud-mfg-sales-concierge-orchestrator-agent-create/SKILL.md +349 -0
  64. package/skills/automotive-cloud-mfg-sales-concierge-orchestrator-configure/SKILL.md +505 -0
  65. package/skills/automotive-cloud-sales-concierge-agent-create/SKILL.md +380 -0
  66. package/skills/automotive-cloud-sales-concierge-foundation-configure/SKILL.md +567 -0
  67. package/skills/automotive-cloud-sales-concierge-foundation-coordinate/SKILL.md +159 -0
  68. package/skills/automotive-cloud-sales-concierge-orchestrator-agent-create/SKILL.md +360 -0
  69. package/skills/automotive-cloud-sales-concierge-orchestrator-configure/SKILL.md +539 -0
  70. package/skills/automotive-cloud-sales-concierge-search-grounding-configure/SKILL.md +358 -0
  71. package/skills/commerce-b2b-merchant-quote-configure/SKILL.md +602 -0
  72. package/skills/commerce-b2b-store-configure/SKILL.md +251 -0
  73. package/skills/commerce-credit-memo-create/SKILL.md +139 -0
  74. package/skills/commerce-delivery-business-hours-configure/SKILL.md +277 -0
  75. package/skills/commerce-delivery-estimation-apply/SKILL.md +155 -0
  76. package/skills/commerce-delivery-estimation-configure/SKILL.md +377 -0
  77. package/skills/commerce-delivery-routing-specs-integrate/SKILL.md +174 -0
  78. package/skills/commerce-estimate-bopis-query/SKILL.md +279 -0
  79. package/skills/commerce-estimate-delivery-date-query/SKILL.md +349 -0
  80. package/skills/commerce-fees-apply/SKILL.md +227 -0
  81. package/skills/commerce-fulfillment-routing-analyze/SKILL.md +200 -0
  82. package/skills/commerce-guest-buyer-create/SKILL.md +173 -0
  83. package/skills/commerce-location-bopis-configure/SKILL.md +378 -0
  84. package/skills/commerce-location-business-hours-configure/SKILL.md +235 -0
  85. package/skills/commerce-location-delivery-processing-time-configure/SKILL.md +309 -0
  86. package/skills/commerce-location-graph-integrate/SKILL.md +131 -0
  87. package/skills/commerce-location-shipping-carrier-method-configure/SKILL.md +755 -0
  88. package/skills/commerce-location-temporary-operating-hours-configure/SKILL.md +331 -0
  89. package/skills/commerce-merchant-buyer-groups-configure/SKILL.md +579 -0
  90. package/skills/commerce-merchant-buyer-user-onboarding-create/SKILL.md +626 -0
  91. package/skills/commerce-merchant-catalog-configure/SKILL.md +614 -0
  92. package/skills/commerce-merchant-extension-provider-configure/SKILL.md +368 -0
  93. package/skills/commerce-merchant-insights-account-health-churn-analyze/SKILL.md +118 -0
  94. package/skills/commerce-merchant-insights-inventory-returns-analyze/SKILL.md +65 -0
  95. package/skills/commerce-merchant-insights-order-shopper-get/SKILL.md +90 -0
  96. package/skills/commerce-merchant-insights-product-performance-analyze/SKILL.md +72 -0
  97. package/skills/commerce-merchant-insights-query/SKILL.md +279 -0
  98. package/skills/commerce-merchant-storefront-guest-access-configure/SKILL.md +656 -0
  99. package/skills/commerce-order-summary-change-apply/SKILL.md +375 -0
  100. package/skills/commerce-product-details-get/SKILL.md +363 -0
  101. package/skills/commerce-product-search/SKILL.md +563 -0
  102. package/skills/commerce-react-storefront-create/SKILL.md +350 -0
  103. package/skills/commerce-return-order-summary-create/SKILL.md +513 -0
  104. package/skills/commerce-search-relevance-analyze/SKILL.md +757 -0
  105. package/skills/commerce-temporary-processing-time-override-create/SKILL.md +274 -0
  106. package/skills/communications-initial-setup-configure/SKILL.md +630 -0
  107. package/skills/communications-multisite-configure/SKILL.md +571 -0
  108. package/skills/communications-revenue-cloud-settings-configure/SKILL.md +74 -0
  109. package/skills/communications-smb-fiber-catalog-create/SKILL.md +413 -0
  110. package/skills/communications-tmf-integrate/SKILL.md +1368 -0
  111. package/skills/consumer-goods-promotion-bo-api-deploy/SKILL.md +54 -107
  112. package/skills/consumer-goods-promotion-bo-api-deploy/assets/set-comment-value/payloads/copy.json +1 -1
  113. package/skills/consumer-goods-promotion-bo-api-deploy/references/conventions-and-payload-rules.md +82 -5
  114. package/skills/consumer-goods-promotion-bo-api-deploy/references/generate-and-wire.md +35 -2
  115. package/skills/consumer-goods-promotion-bo-api-deploy/references/preflight-and-seed-queries.md +149 -0
  116. package/skills/consumer-goods-promotion-bo-api-deploy/references/smoke-and-verify.md +17 -1
  117. package/skills/consumer-goods-visit-activity-act4-questions-assign/SKILL.md +448 -0
  118. package/skills/consumer-goods-visit-activity-act5-standard-create/SKILL.md +269 -0
  119. package/skills/consumer-goods-visit-activity-act6-assortment-configure/SKILL.md +271 -0
  120. package/skills/consumer-goods-visit-activity-act7-account-scoping-create/SKILL.md +382 -0
  121. package/skills/consumer-goods-visit-activity-act8-plan-attach-create/SKILL.md +373 -0
  122. package/skills/consumer-goods-visit-activity-act9-proof-validate/SKILL.md +389 -0
  123. package/skills/consumer-goods-visit-and-activity-act1-specification-create/SKILL.md +338 -0
  124. package/skills/consumer-goods-visit-and-activity-act2-template-create/SKILL.md +547 -0
  125. package/skills/consumer-goods-visit-and-activity-act3-definition-create/SKILL.md +346 -0
  126. package/skills/consumer-goods-visit-and-activity-configure/SKILL.md +1110 -0
  127. package/skills/crm-analytics-adoption-insights-configure/SKILL.md +224 -0
  128. package/skills/crm-analytics-custom-report-type-lightning-configure/SKILL.md +418 -0
  129. package/skills/crm-analytics-dashboards-configure/SKILL.md +731 -0
  130. package/skills/crm-analytics-operational-analytics-metadata-bridge-migrate/SKILL.md +233 -0
  131. package/skills/crm-analytics-report-notifications-ui-configure/SKILL.md +184 -0
  132. package/skills/crm-analytics-sharing-inheritance-coverage-analyze/SKILL.md +167 -0
  133. package/skills/crm-analytics-sonic-getting-started-configure/SKILL.md +55 -0
  134. package/skills/crm-analytics-tableau-next-app-deploy/SKILL.md +1350 -0
  135. package/skills/crm-analytics-tableau-next-c360-basemodel-validate/SKILL.md +1862 -0
  136. package/skills/crm-analytics-tableau-next-datacloud-validate/SKILL.md +83 -0
  137. package/skills/crm-analytics-tableau-next-provisioning-validate/SKILL.md +81 -0
  138. package/skills/data360-activation-create/SKILL.md +104 -0
  139. package/skills/data360-activation-external-platform-get/SKILL.md +49 -0
  140. package/skills/data360-activation-target-create/SKILL.md +93 -0
  141. package/skills/data360-activation-v2-create/SKILL.md +456 -0
  142. package/skills/data360-audience-dmo-get/SKILL.md +38 -0
  143. package/skills/data360-calculated-affinity-create/SKILL.md +82 -0
  144. package/skills/data360-calculated-insight-create/SKILL.md +148 -0
  145. package/skills/data360-catalog-metadata-create/SKILL.md +183 -0
  146. package/skills/data360-code-extension-create/SKILL.md +115 -0
  147. package/skills/data360-communication-capping-create/SKILL.md +227 -0
  148. package/skills/data360-connection-create/SKILL.md +491 -0
  149. package/skills/data360-content-lens-create/SKILL.md +181 -0
  150. package/skills/data360-data-action-create/SKILL.md +126 -0
  151. package/skills/data360-data-action-target-create/SKILL.md +181 -0
  152. package/skills/data360-data-clean-room-create/SKILL.md +238 -0
  153. package/skills/data360-data-governance-create/SKILL.md +746 -0
  154. package/skills/data360-data-graph-create/SKILL.md +82 -0
  155. package/skills/data360-data-harmonized-model-object-reference-create/SKILL.md +38 -0
  156. package/skills/data360-data-lake-object-create/SKILL.md +207 -0
  157. package/skills/data360-data-model-object-catalog-get/SKILL.md +49 -0
  158. package/skills/data360-data-model-object-create/SKILL.md +128 -0
  159. package/skills/data360-data-model-object-mapping-create/SKILL.md +106 -0
  160. package/skills/data360-data-space-create/SKILL.md +161 -0
  161. package/skills/data360-data-streams-create/SKILL.md +324 -0
  162. package/skills/data360-engagement-signal-get/SKILL.md +38 -0
  163. package/skills/data360-experiment-create/SKILL.md +82 -0
  164. package/skills/data360-goal-based-campaign-create/SKILL.md +192 -0
  165. package/skills/data360-harmonization-process-history-get/SKILL.md +38 -0
  166. package/skills/data360-harmonized-unstructured-dmo-create/SKILL.md +84 -0
  167. package/skills/data360-identity-resolution-create/SKILL.md +115 -0
  168. package/skills/data360-intelligent-document-processing-create/SKILL.md +148 -0
  169. package/skills/data360-knowledge-graph-construction-create/SKILL.md +93 -0
  170. package/skills/data360-knowledge-graph-create/SKILL.md +216 -0
  171. package/skills/data360-knowledge-space-mcp-configure/SKILL.md +475 -0
  172. package/skills/data360-machine-learning-mcp-configure/SKILL.md +697 -0
  173. package/skills/data360-multi-org-mcp-configure/SKILL.md +117 -0
  174. package/skills/data360-secondary-index-mcp-configure/SKILL.md +126 -0
  175. package/skills/data360-segment-mcp-configure/SKILL.md +159 -0
  176. package/skills/data360-semantic-calculated-dimension-mcp-configure/SKILL.md +93 -0
  177. package/skills/data360-semantic-calculated-measurement-mcp-configure/SKILL.md +93 -0
  178. package/skills/data360-semantic-data-object-mcp-configure/SKILL.md +93 -0
  179. package/skills/data360-semantic-dimension-mcp-configure/SKILL.md +38 -0
  180. package/skills/data360-semantic-engine-mcp-configure/SKILL.md +62 -0
  181. package/skills/data360-semantic-measurement-mcp-configure/SKILL.md +38 -0
  182. package/skills/data360-semantic-metric-mcp-configure/SKILL.md +93 -0
  183. package/skills/data360-semantic-model-mcp-configure/SKILL.md +115 -0
  184. package/skills/data360-standard-mapping-mcp-configure/SKILL.md +38 -0
  185. package/skills/data360-tenant-lifecycle-mcp-configure/SKILL.md +73 -0
  186. package/skills/dx-devops-conflict-resolve/SKILL.md +1 -5
  187. package/skills/dx-devops-pipeline-manage/SKILL.md +1 -5
  188. package/skills/dx-devops-project-manage/SKILL.md +1 -5
  189. package/skills/dx-devops-promote/SKILL.md +1 -5
  190. package/skills/dx-devops-request-status/SKILL.md +1 -5
  191. package/skills/dx-lifecycle-center/SKILL.md +120 -0
  192. package/skills/dx-lifecycle-center/examples/workflows.md +175 -0
  193. package/skills/dx-lifecycle-center/references/connect-api.md +123 -0
  194. package/skills/dx-lifecycle-center/references/connect-org.md +184 -0
  195. package/skills/dx-lifecycle-center/references/deploy.md +153 -0
  196. package/skills/dx-lifecycle-center/references/error-handling.md +21 -0
  197. package/skills/dx-lifecycle-center/references/hub-org.md +37 -0
  198. package/skills/dx-lifecycle-center/references/list-orgs.md +99 -0
  199. package/skills/dx-lifecycle-center/references/request-body.md +75 -0
  200. package/skills/dx-lifecycle-center/references/troubleshooting.md +31 -0
  201. package/skills/dx-lifecycle-center/scripts/poll-deploy-status.sh +200 -0
  202. package/skills/dx-lifecycle-center/scripts/resolve-environment.sh +120 -0
  203. package/skills/dx-org-devhub-configure/SKILL.md +1 -3
  204. package/skills/dx-org-shape-manage/SKILL.md +1 -5
  205. package/skills/dx-org-snapshot-manage/SKILL.md +1 -3
  206. package/skills/education-cloud-academic-calendar-generate/SKILL.md +1 -3
  207. package/skills/education-cloud-course-catalog-migrate/SKILL.md +1 -3
  208. package/skills/education-cloud-domain-configure/SKILL.md +1 -3
  209. package/skills/education-cloud-multi-campus-configure/SKILL.md +1 -3
  210. package/skills/education-cloud-student-recruitment-agent-configure/SKILL.md +1 -5
  211. package/skills/experience-afv-query/SKILL.md +234 -0
  212. package/skills/experience-agentforce-vibes-in-react-configure/SKILL.md +63 -0
  213. package/skills/experience-apex-components-configure/SKILL.md +69 -0
  214. package/skills/experience-apex-pages-configure/SKILL.md +107 -0
  215. package/skills/experience-app-home-configure/SKILL.md +76 -0
  216. package/skills/experience-aura-lightning-out-access-configure/SKILL.md +58 -0
  217. package/skills/experience-briefcase-configure/SKILL.md +287 -0
  218. package/skills/experience-community-flexi-page-list-create/SKILL.md +74 -0
  219. package/skills/experience-community-template-definition-list-query/SKILL.md +48 -0
  220. package/skills/experience-community-theme-definition-list-query/SKILL.md +38 -0
  221. package/skills/experience-content-assets-configure/SKILL.md +86 -0
  222. package/skills/experience-custom-domain-create/SKILL.md +727 -0
  223. package/skills/experience-defer-rendering-workspace-page-setup-configure/SKILL.md +41 -0
  224. package/skills/experience-field-service-app-builder-configure/SKILL.md +187 -0
  225. package/skills/experience-flow-category-configure/SKILL.md +117 -0
  226. package/skills/experience-formula-configure/SKILL.md +358 -0
  227. package/skills/experience-global-actions-configure/SKILL.md +69 -0
  228. package/skills/experience-global-publisher-layouts-configure/SKILL.md +79 -0
  229. package/skills/experience-instrumentation-configure/SKILL.md +64 -0
  230. package/skills/experience-lex-engagement-configure/SKILL.md +50 -0
  231. package/skills/experience-lightning-bolt-open/SKILL.md +12 -0
  232. package/skills/experience-lightning-out-configure/SKILL.md +129 -0
  233. package/skills/experience-lightning-preview-configure/SKILL.md +67 -0
  234. package/skills/experience-lightning-types-query/SKILL.md +98 -0
  235. package/skills/experience-malware-scan-configure/SKILL.md +71 -0
  236. package/skills/experience-my-salesforce-configure/SKILL.md +126 -0
  237. package/skills/experience-navigation-menus-configure/SKILL.md +235 -0
  238. package/skills/experience-notification-types-configure/SKILL.md +206 -0
  239. package/skills/experience-notifications-configure/SKILL.md +75 -0
  240. package/skills/experience-record-discovery-query/SKILL.md +227 -0
  241. package/skills/experience-regenerate-previews-open/SKILL.md +94 -0
  242. package/skills/experience-sales-cloud-mab-configure/SKILL.md +254 -0
  243. package/skills/experience-schema-builder-open/SKILL.md +38 -0
  244. package/skills/experience-simple-record-home-configure/SKILL.md +110 -0
  245. package/skills/experience-static-resources-configure/SKILL.md +74 -0
  246. package/skills/experience-ui-bundle-2gp-deploy/SKILL.md +1 -3
  247. package/skills/experience-ui-bundle-features-generate/SKILL.md +1 -5
  248. package/skills/experience-ui-bundle-mfa-configure/SKILL.md +1 -3
  249. package/skills/field-service-data-capture-form-deployer-configure/SKILL.md +23 -2
  250. package/skills/field-service-data-capture-form-designer-configure/SKILL.md +13 -3
  251. package/skills/field-service-data-capture-migrate/SKILL.md +1 -3
  252. package/skills/field-service-mobile-branding-configure/SKILL.md +17 -3
  253. package/skills/field-service-objective-designer-configure/SKILL.md +72 -379
  254. package/skills/field-service-prework-brief-deployer-configure/SKILL.md +10 -537
  255. package/skills/field-service-scheduling-policy-designer-query/SKILL.md +65 -1093
  256. package/skills/{field-service-setup-orchestrator-get → field-service-setup-coordinate}/SKILL.md +18 -3
  257. package/skills/field-service-sobject-create-configure/SKILL.md +13 -213
  258. package/skills/field-service-voice-to-form-configure/SKILL.md +40 -11
  259. package/skills/field-service-work-plan-configure/SKILL.md +253 -0
  260. package/skills/field-service-work-rule-designer-configure/SKILL.md +121 -95
  261. package/skills/fsc-actionable-segmentation-settings-configure/SKILL.md +180 -0
  262. package/skills/fsc-digital-origination-bre-decision-matrix-foundation-create/SKILL.md +196 -0
  263. package/skills/fsc-digital-origination-bre-disclosures-consent-configure/SKILL.md +106 -0
  264. package/skills/fsc-digital-origination-bre-document-upload-configure/SKILL.md +96 -0
  265. package/skills/fsc-digital-origination-bre-permissions-assign/SKILL.md +111 -0
  266. package/skills/fsc-digital-origination-bre-setup-coordinate/SKILL.md +250 -0
  267. package/skills/fsc-digital-origination-bre-stp-eligibility-configure/SKILL.md +122 -0
  268. package/skills/fsc-digital-origination-coordinate/SKILL.md +653 -0
  269. package/skills/fsc-digital-origination-demo-run/SKILL.md +225 -0
  270. package/skills/fsc-digital-origination-execution-guardrails-validate/SKILL.md +112 -0
  271. package/skills/fsc-digital-origination-initial-setup-configure/SKILL.md +396 -0
  272. package/skills/fsc-digital-origination-pricing-setup-coordinate/SKILL.md +336 -0
  273. package/skills/fsc-digital-origination-pricing-setup-data-foundation-create/SKILL.md +208 -0
  274. package/skills/fsc-digital-origination-pricing-setup-procedure-create/SKILL.md +375 -0
  275. package/skills/fsc-digital-origination-product-setup-act1-permissions-assign/SKILL.md +83 -0
  276. package/skills/fsc-digital-origination-product-setup-coordinate/SKILL.md +248 -0
  277. package/skills/fsc-digital-origination-sample-data-create/SKILL.md +206 -0
  278. package/skills/fsc-document-checklist-settings-configure/SKILL.md +57 -0
  279. package/skills/fsc-flexible-hierarchy-configure/SKILL.md +148 -0
  280. package/skills/fsc-flexible-hierarchy-foundation-configure/SKILL.md +1430 -0
  281. package/skills/fsc-flexible-hierarchy-graph-config-create/SKILL.md +471 -0
  282. package/skills/fsc-flexible-hierarchy-rule-based-graph-deploy/SKILL.md +429 -0
  283. package/skills/fsc-pricing-product-configurator-configure/SKILL.md +150 -0
  284. package/skills/fsc-pricing-salesforce-omnistudio-switch/SKILL.md +123 -0
  285. package/skills/fsc-product-act2-catalog-categories-create/SKILL.md +82 -0
  286. package/skills/fsc-product-act3-attributes-create/SKILL.md +249 -0
  287. package/skills/fsc-product-act4-classification-assignment-create/SKILL.md +196 -0
  288. package/skills/fsc-product-act5-considerations-get/SKILL.md +44 -0
  289. package/skills/fsc-stage-management-apex-flow-deploy/SKILL.md +384 -0
  290. package/skills/fsc-stage-management-compliant-data-sharing-configure/SKILL.md +144 -0
  291. package/skills/fsc-stage-management-decision-matrices-create/SKILL.md +107 -0
  292. package/skills/fsc-stage-management-definition-assignments-create/SKILL.md +189 -0
  293. package/skills/fsc-stage-management-definition-create/SKILL.md +108 -0
  294. package/skills/fsc-stage-management-permissions-assign/SKILL.md +143 -0
  295. package/skills/fsc-stage-management-transitions-configure/SKILL.md +139 -0
  296. package/skills/health-cloud-appt-booking-config-configure/SKILL.md +135 -0
  297. package/skills/health-cloud-appt-booking-url-config-configure/SKILL.md +134 -0
  298. package/skills/health-cloud-care-provider-affl-role-config-configure/SKILL.md +136 -0
  299. package/skills/health-cloud-care-provider-search-config-configure/SKILL.md +134 -0
  300. package/skills/health-cloud-care-requests-create/SKILL.md +178 -0
  301. package/skills/health-cloud-initial-configure/SKILL.md +511 -0
  302. package/skills/health-cloud-patient-appointment-scheduling-configure/SKILL.md +1374 -0
  303. package/skills/health-cloud-provider-search-settings-configure/SKILL.md +924 -0
  304. package/skills/health-cloud-referral-management-coordinate/SKILL.md +513 -0
  305. package/skills/health-cloud-timeline-configure/SKILL.md +622 -0
  306. package/skills/health-cloud-virtual-visit-config-configure/SKILL.md +135 -0
  307. package/skills/industries-account-score-settings-query/SKILL.md +78 -0
  308. package/skills/industries-actionable-list-data-sources-dmo-configure/SKILL.md +177 -0
  309. package/skills/industries-ad-product-availability-search/SKILL.md +399 -0
  310. package/skills/industries-advanced-account-forecast-settings-configure/SKILL.md +628 -0
  311. package/skills/industries-advanced-therapy-management-settings-configure/SKILL.md +73 -0
  312. package/skills/industries-atm-settings-starter-configure/SKILL.md +76 -0
  313. package/skills/industries-batch-document-ai-configure/SKILL.md +196 -0
  314. package/skills/industries-behavioral-health-app-settings-configure/SKILL.md +71 -0
  315. package/skills/industries-branch-management-settings-configure/SKILL.md +89 -0
  316. package/skills/industries-bre-decision-table-access-configure/SKILL.md +367 -0
  317. package/skills/industries-brokerage-settings-configure/SKILL.md +41 -0
  318. package/skills/industries-calendar-sync-settings-configure/SKILL.md +89 -0
  319. package/skills/industries-care-request-settings-configure/SKILL.md +218 -0
  320. package/skills/industries-case-management-intelligence-settings-configure/SKILL.md +54 -0
  321. package/skills/industries-catalog-process-attributes-products-configure/SKILL.md +380 -0
  322. package/skills/industries-catalog-process-fulfillment-configure/SKILL.md +216 -0
  323. package/skills/industries-catalog-process-intake-configure/SKILL.md +219 -0
  324. package/skills/industries-catalog-process-knowledge-configure/SKILL.md +153 -0
  325. package/skills/industries-catalog-process-preprocessor-configure/SKILL.md +168 -0
  326. package/skills/industries-cds-general-settings-configure/SKILL.md +69 -0
  327. package/skills/industries-claim-financial-settings-configure/SKILL.md +169 -0
  328. package/skills/industries-clinical-data-model-settings-configure/SKILL.md +136 -0
  329. package/skills/industries-clinical-data-model-settings-starter-configure/SKILL.md +105 -0
  330. package/skills/industries-collection-plan-settings-configure/SKILL.md +132 -0
  331. package/skills/industries-comms-service-console-settings-configure/SKILL.md +159 -0
  332. package/skills/industries-compliance-configure/SKILL.md +102 -0
  333. package/skills/industries-compliance-document-extraction-setup-configure/SKILL.md +76 -0
  334. package/skills/industries-contact-center-app-layout-configure/SKILL.md +88 -0
  335. package/skills/industries-contact-center-components-configure/SKILL.md +96 -0
  336. package/skills/industries-contact-center-path-knowledge-configure/SKILL.md +95 -0
  337. package/skills/industries-contact-center-user-access-assign/SKILL.md +96 -0
  338. package/skills/industries-course-waitlist-config-configure/SKILL.md +162 -0
  339. package/skills/industries-crisis-center-settings-configure/SKILL.md +84 -0
  340. package/skills/industries-custom-object-settings-configure/SKILL.md +94 -0
  341. package/skills/industries-data-cloud-integration-configure/SKILL.md +88 -0
  342. package/skills/industries-data-space-feature-mappings-configure/SKILL.md +245 -0
  343. package/skills/industries-decision-matrix-builder-configure/SKILL.md +78 -0
  344. package/skills/industries-decision-table-hbase-configure/SKILL.md +87 -0
  345. package/skills/industries-decision-table-version-configure/SKILL.md +74 -0
  346. package/skills/industries-decision-tables-builder-configure/SKILL.md +253 -0
  347. package/skills/industries-decision-tables-configure/SKILL.md +439 -0
  348. package/skills/industries-energy-utilities-configure/SKILL.md +251 -0
  349. package/skills/industries-eu-cloud-multisite-configure/SKILL.md +1008 -0
  350. package/skills/industries-eu-new-connections-configure/SKILL.md +30 -0
  351. package/skills/industries-explainability-msg-template-configure/SKILL.md +135 -0
  352. package/skills/industries-expression-set-message-token-configure/SKILL.md +135 -0
  353. package/skills/industries-field-service-settings-configure/SKILL.md +82 -0
  354. package/skills/industries-form-framework-settings-configure/SKILL.md +30 -0
  355. package/skills/industries-fsc-ai-settings-configure/SKILL.md +57 -0
  356. package/skills/industries-fsc-association-engine-settings-configure/SKILL.md +172 -0
  357. package/skills/industries-fsc-b2b-settings-configure/SKILL.md +61 -0
  358. package/skills/industries-fsc-insurance-settings-configure/SKILL.md +58 -0
  359. package/skills/industries-fsc-visa-fulfillment-setup-configure/SKILL.md +103 -0
  360. package/skills/industries-fsc-wealth-agent-settings-configure/SKILL.md +117 -0
  361. package/skills/industries-fsc-wealth-settings-configure/SKILL.md +99 -0
  362. package/skills/industries-fundraising-gift-entry-settings-configure/SKILL.md +120 -0
  363. package/skills/industries-fundraising-rfm-configure/SKILL.md +128 -0
  364. package/skills/industries-fundraising-settings-configure/SKILL.md +145 -0
  365. package/skills/industries-fundraising-source-code-gen-configure/SKILL.md +299 -0
  366. package/skills/industries-google-maps-api-key-settings-configure/SKILL.md +87 -0
  367. package/skills/industries-grantmaking-intelligence-settings-open/SKILL.md +58 -0
  368. package/skills/industries-hc-score-category-settings-configure/SKILL.md +167 -0
  369. package/skills/industries-health-engagement-settings-configure/SKILL.md +218 -0
  370. package/skills/industries-home-health-agentforce-setup-configure/SKILL.md +131 -0
  371. package/skills/industries-home-health-bundling-policy-create/SKILL.md +50 -0
  372. package/skills/industries-home-health-entity-labels-configure/SKILL.md +29 -0
  373. package/skills/industries-home-health-fsl-package-deploy/SKILL.md +71 -0
  374. package/skills/industries-home-health-fsl-settings-validate/SKILL.md +27 -0
  375. package/skills/industries-home-health-guided-setup-care-and-skill-get/SKILL.md +80 -0
  376. package/skills/industries-home-health-guided-setup-configure/SKILL.md +836 -0
  377. package/skills/industries-home-health-guided-setup-enable-org-fsl-get/SKILL.md +55 -0
  378. package/skills/industries-home-health-guided-setup-get-org-ready-get/SKILL.md +61 -0
  379. package/skills/industries-home-health-licenses-assign/SKILL.md +27 -0
  380. package/skills/industries-home-health-operating-hours-create/SKILL.md +40 -0
  381. package/skills/industries-home-health-scheduling-policy-create/SKILL.md +41 -0
  382. package/skills/industries-home-health-service-objective-create/SKILL.md +22 -0
  383. package/skills/industries-home-health-skills-create/SKILL.md +31 -0
  384. package/skills/industries-home-health-users-create/SKILL.md +29 -0
  385. package/skills/industries-icm-act3-toggles-configure/SKILL.md +198 -0
  386. package/skills/industries-icm-act5-genai-suggested-assessments-configure/SKILL.md +361 -0
  387. package/skills/industries-icm-act6-mcg-integration-configure/SKILL.md +550 -0
  388. package/skills/industries-integrated-care-management-configure/SKILL.md +168 -0
  389. package/skills/industries-object-enablement-configure/SKILL.md +86 -0
  390. package/skills/industries-tpm-system-processing-service-configure/SKILL.md +64 -0
  391. package/skills/insurance-brokerage-agency-billing-configure/SKILL.md +1 -3
  392. package/skills/integration-apex-settings-configure/SKILL.md +61 -0
  393. package/skills/marketing-e360-email-archiving-configure/SKILL.md +73 -0
  394. package/skills/marketing-message-test/SKILL.md +1 -3
  395. package/skills/nonprofit-fundraising-configure/SKILL.md +240 -0
  396. package/skills/nonprofit-fundraising-configure/references/gotchas.md +26 -0
  397. package/skills/nonprofit-fundraising-configure/references/mcp-invocation.md +678 -0
  398. package/skills/nonprofit-fundraising-configure/references/permission-targeting.md +35 -0
  399. package/skills/nonprofit-volunteer-management-model-get/SKILL.md +166 -0
  400. package/skills/nonprofit-volunteer-management-model-get/references/entities.md +315 -0
  401. package/skills/nonprofit-volunteer-management-model-get/references/relationships.md +175 -0
  402. package/skills/nonprofit-volunteer-management-model-get/references/themes.md +143 -0
  403. package/skills/nonprofit-volunteer-management-records-create/SKILL.md +121 -0
  404. package/skills/nonprofit-volunteer-management-records-create/references/field-guide.md +284 -0
  405. package/skills/nonprofit-volunteer-management-records-create/references/mcp-invocation.md +248 -0
  406. package/skills/nonprofit-volunteer-management-records-create/references/review-format.md +140 -0
  407. package/skills/nonprofit-volunteer-management-records-create/scripts/expand-series.py +632 -0
  408. package/skills/nonprofit-volunteer-management-records-create/scripts/render-review-table.py +419 -0
  409. package/skills/nonprofit-volunteer-management-records-create/scripts/tests/test_expand_series.py +690 -0
  410. package/skills/nonprofit-volunteer-management-records-create/scripts/tests/test_render_review_table.py +421 -0
  411. package/skills/nonprofit-volunteer-management-structure-generate/SKILL.md +119 -0
  412. package/skills/nonprofit-volunteer-management-structure-generate/references/configuration-decisions.md +159 -0
  413. package/skills/nonprofit-volunteer-management-structure-generate/references/discovery-interview.md +137 -0
  414. package/skills/nonprofit-volunteer-management-structure-generate/references/edge-cases.md +48 -0
  415. package/skills/nonprofit-volunteer-management-structure-generate/references/mcp-invocation.md +75 -0
  416. package/skills/nonprofit-volunteer-management-structure-generate/references/plan-output.md +141 -0
  417. package/skills/platform-custom-field-generate/SKILL.md +1 -0
  418. package/skills/platform-custom-field-generate/references/advanced-picklists.md +5 -5
  419. package/skills/platform-custom-metadata-type-generate/SKILL.md +3 -0
  420. package/skills/platform-custom-object-generate/SKILL.md +4 -0
  421. package/skills/platform-custom-permissions-configure/SKILL.md +687 -0
  422. package/skills/platform-custom-setting-generate/SKILL.md +3 -0
  423. package/skills/platform-datamask-run/SKILL.md +1 -5
  424. package/skills/platform-label-workbench-import-create/SKILL.md +67 -0
  425. package/skills/platform-permission-set-generate/SKILL.md +3 -0
  426. package/skills/platform-privacy-agent-settings-configure/SKILL.md +752 -0
  427. package/skills/platform-salesforce-connect-adapter-generate/SKILL.md +1 -3
  428. package/skills/platform-sandbox-configure/SKILL.md +1 -3
  429. package/skills/platform-value-set-generate/SKILL.md +3 -0
  430. package/skills/sales-call-scoring-configure/SKILL.md +1 -5
  431. package/skills/service-agentforce-channel-configure/SKILL.md +1 -3
  432. package/skills/service-agentforce-human-escalation-configure/SKILL.md +1 -3
  433. package/skills/service-catalog-template-coordinate/SKILL.md +1 -3
  434. package/skills/service-concierge-portal-generate/SKILL.md +1 -3
  435. package/skills/service-email-to-case-configure/SKILL.md +1 -5
  436. package/skills/service-itsm-agentic-setup-agent-runtime-access-assign/SKILL.md +1 -3
  437. package/skills/service-itsm-agentic-setup-agentforce-coordinate/SKILL.md +1 -3
  438. package/skills/service-itsm-agentic-setup-agentforce-studio-configure/SKILL.md +1 -3
  439. package/skills/service-itsm-agentic-setup-agentforce-studio-validate/SKILL.md +1 -3
  440. package/skills/service-itsm-agentic-setup-cmdb-access-assign/SKILL.md +1 -3
  441. package/skills/service-itsm-agentic-setup-cmdb-bundle-deploy/SKILL.md +1 -5
  442. package/skills/service-itsm-agentic-setup-cmdb-configure/SKILL.md +1 -3
  443. package/skills/service-itsm-agentic-setup-cmdb-coordinate/SKILL.md +1 -3
  444. package/skills/service-itsm-agentic-setup-cmdb-discovery-configure/SKILL.md +1 -3
  445. package/skills/service-itsm-agentic-setup-employee-agent-configure/SKILL.md +1 -3
  446. package/skills/service-itsm-agentic-setup-fulfiller-agent-configure/SKILL.md +1 -3
  447. package/skills/service-itsm-agentic-setup-incident-sla-configure/SKILL.md +1 -0
  448. package/skills/service-itsm-agentic-setup-itsm-agentforce-permset-assign/SKILL.md +1 -3
  449. package/skills/service-itsm-agentic-setup-uel-user-create/SKILL.md +1 -9
  450. package/skills/service-itsm-incident-mgmt-configure/SKILL.md +1 -5
  451. package/skills/service-itsm-incident-priority-configure/SKILL.md +1 -3
  452. package/skills/service-itsm-slack-itservice-configure/SKILL.md +1 -3
  453. package/skills/service-itsm-swarming-configure/SKILL.md +1 -3
  454. package/skills/service-itsm-teams-configure/SKILL.md +1 -3
  455. package/skills/service-itsm-teams-debug/SKILL.md +1 -3
  456. package/skills/service-itsm-teams-employee-agent-configure/SKILL.md +1 -3
  457. package/skills/service-itsm-teams-itdesk-configure/SKILL.md +1 -3
  458. package/skills/service-itsm-teams-itservice-configure/SKILL.md +1 -3
  459. package/skills/service-native-voice-recording-transcription-configure/SKILL.md +1 -3
  460. package/skills/service-omni-agent-users-create/SKILL.md +1 -3
  461. package/skills/service-omni-agent-work-sharing-configure/SKILL.md +1 -3
  462. package/skills/service-omni-attribute-routing-configure/SKILL.md +1 -3
  463. package/skills/service-omni-base-settings-configure/SKILL.md +1 -3
  464. package/skills/service-omni-channel-inventory-analyze/SKILL.md +1 -3
  465. package/skills/service-omni-channel-limits-analyze/SKILL.md +1 -3
  466. package/skills/service-omni-channel-setup-coordinate/SKILL.md +1 -3
  467. package/skills/service-omni-command-center-analyze/SKILL.md +1 -3
  468. package/skills/service-omni-command-center-configure/SKILL.md +1 -3
  469. package/skills/service-omni-permission-set-assign/SKILL.md +1 -3
  470. package/skills/service-omni-presence-status-deploy/SKILL.md +1 -3
  471. package/skills/service-omni-presence-user-config-deploy/SKILL.md +1 -3
  472. package/skills/service-omni-queue-deploy/SKILL.md +1 -3
  473. package/skills/service-omni-queue-members-assign/SKILL.md +1 -3
  474. package/skills/service-omni-queue-routing-config-deploy/SKILL.md +1 -3
  475. package/skills/service-omni-routing-flow-deploy/SKILL.md +1 -3
  476. package/skills/service-omni-service-channel-configure/SKILL.md +1 -3
  477. package/skills/service-omni-sidebar-configure/SKILL.md +1 -3
  478. package/skills/service-omni-skills-based-routing-configure/SKILL.md +1 -3
  479. package/skills/service-omni-supervisor-config-deploy/SKILL.md +1 -3
  480. package/skills/service-omni-supervisor-permset-assign/SKILL.md +1 -3
  481. package/skills/service-omni-supervisor-surface-deploy/SKILL.md +1 -3
  482. package/skills/service-omni-supervisor-users-create/SKILL.md +1 -3
  483. package/skills/service-omni-work-skill-routing-configure/SKILL.md +1 -3
  484. package/skills/tableau-next-asset-create/README.md +0 -65
@@ -0,0 +1,299 @@
1
+ ---
2
+ name: industries-fundraising-source-code-gen-configure
3
+ description: "Use this skill when users want to setup page for Fundraising Source Code Generation — configures the outreach source-code formula and the three UTM (medium / source / campaign) mappings Fundraising uses to derive attribution codes for donor outreach records. Trigger when users mention fundraising, source, code, gen, fundraising source code gen."
4
+ metadata:
5
+ version: "1.0"
6
+ ---
7
+
8
+ # Managing Fundraising Source Code Gen
9
+
10
+ ## When to Use This Skill
11
+
12
+ Setup page for Fundraising Source Code Generation — configures the outreach
13
+ source-code formula and the three UTM (medium / source / campaign) mappings
14
+ Fundraising uses to derive attribution codes for donor outreach records.
15
+ Persistence layer is the Tooling Metadata sObject `FundraisingConfig`
16
+ (singleton row keyed on `DeveloperName=FundraisingConfig`), the same row the
17
+ sibling `FundraisingSettings` recipe writes NextGenCmtPrcs* fields on.
18
+ OPERATIONAL PREREQUISITE: the parent Fundraising feature must be enabled by
19
+ the `FundraisingSettings` recipe first — that step both flips the parent
20
+ org preference and inserts the default FundraisingConfig row. Any read on
21
+ this recipe before Fundraising is enabled returns an empty/absent
22
+ representation. When to pick this recipe: an admin wants to change how
23
+ Fundraising builds a donor's outreach source code (customize the formula) or
24
+ how it maps campaign / source / medium onto attribution fields. Not for
25
+ donor-record or gift-transaction workflows (those live on the
26
+ industries.fundraising / industries.fundraisingops Connect APIs).
27
+
28
+ ## Workflow
29
+
30
+ Entity model: this recipe reads/writes exactly one row of the Tooling
31
+ Metadata sObject `FundraisingConfig` (DeveloperName=FundraisingConfig).
32
+ Row carries the two disjoint concept groups:
33
+ * OWNED BY THIS RECIPE (mutable via save-settings): the seven
34
+ recipe-owned fields — OutreachSourceCodeGenFmla, UtmMediumSrcObj,
35
+ UtmMediumSrcObjField, UtmSourceSrcObj, UtmSourceSrcObjField,
36
+ UtmCampaignSrcObj, UtmCampaignSrcObjField.
37
+ * OWNED BY THE SIBLING FundraisingSettings RECIPE (untouched by any
38
+ step in this SOR): IsNextGenCmtPrcsParallel, NextGenCmtPrcsMaxThreads,
39
+ NextGenCmtPrcsBatchSize, DonorExternalIdField.
40
+
41
+ save-settings JSON keys (case-sensitive): formulaExpression + the six
42
+ utm* keys. `formulaExpression` is the input key; the persisted column
43
+ is `OutreachSourceCodeGenFmla` on FundraisingConfig. Sending any other
44
+ key returns CONTROLLER_ERROR.
45
+
46
+ save-settings merge semantics — recipe-owned scope is REPLACE-ALL:
47
+ every recipe-owned key not present in the payload is nulled on the
48
+ row. Only the sibling-owned scope (NextGenCmtPrcs* / DonorExternalIdField)
49
+ is preserved across saves. Consequence: a "partial edit" that ships
50
+ only one changed key clears the other six. To edit a single field,
51
+ first read the current 7-field state (via Tooling SOQL) and resend all
52
+ non-nulled values alongside the change.
53
+
54
+ check-syntax runs a recipe-specific DSL grammar validator — NOT
55
+ general Salesforce formula grammar. Empty string returns
56
+ `ERROR ... input '<EOF>'`; bare identifiers (`Name`) return
57
+ `ERROR ... input 'Name'`. Simple valid inputs: a double-quoted
58
+ string literal (`"HELLO"`) or a comparison/logical expression over
59
+ literals (`"A" == "B"`). `+` string concatenation is NOT accepted.
60
+
61
+ `sourceCodeGenerationEnabled` gates ONLY the save-settings grammar
62
+ validator, NOT whether a formula persists. Empirical behavior (probed
63
+ against a live org):
64
+ * enabled=true → save-settings runs the DSL grammar validator on
65
+ `formulaExpression`. Empty string AND grammar-invalid inputs
66
+ (bare identifiers, malformed expressions) return 500
67
+ CONTROLLER_ERROR; only grammar-valid formulas persist.
68
+ * enabled=false → save-settings BYPASSES the grammar validator.
69
+ ANY string value (empty, valid, or grammar-invalid) persists
70
+ verbatim to `OutreachSourceCodeGenFmla`. The gate is NOT
71
+ "reject non-empty when disabled"; it is "skip validation when
72
+ disabled." check-syntax remains callable and returns grammar
73
+ diagnostics regardless of the toggle.
74
+
75
+ Clearing the formula: `formulaExpression:""` is REJECTED by the
76
+ grammar validator while `sourceCodeGenerationEnabled=true`. To null
77
+ the formula, first call set-source-code-generation-enabled(false),
78
+ then save-settings with `formulaExpression:""`. Re-enable after if
79
+ needed. (This works precisely because disabling bypasses grammar
80
+ validation, letting the empty string through to persistence.)
81
+
82
+ Workflow ordering:
83
+
84
+ ### Phase 1: Enable the parent Fundraising feature via the sibling
85
+
86
+ Enable the parent Fundraising feature via the sibling
87
+ FundraisingSettings recipe (writes the default FundraisingConfig
88
+ row + flips the IndustriesFundraising org preference). Skipping
89
+ this yields empty reads on FundraisingConfig.
90
+
91
+ ### Phase 2: get-source-code-generation-enabled — read the child feature-gate
92
+
93
+ get-source-code-generation-enabled — read the child feature-gate
94
+ org preference. Note: this toggle gates grammar VALIDATION on
95
+ save-settings, not persistence. When false, any formula string
96
+ (including grammar-invalid ones) will persist without validation
97
+ — callers who want the grammar-safety net must set this true
98
+ before writing.
99
+
100
+ ### Phase 3: set-source-code-generation-enabled(isEnabled=true) — enable the
101
+
102
+ set-source-code-generation-enabled(isEnabled=true) — enable the
103
+ child feature so save-settings will run the grammar validator.
104
+ Verify via verify-set-source-code-generation-enabled.
105
+
106
+ ### Phase 4: get-utm-settings + get-outreach-source-code-formula — read
107
+
108
+ get-utm-settings + get-outreach-source-code-formula — read
109
+ current state via Tooling SOQL on FundraisingConfig. Capture ALL
110
+ seven recipe-owned values before mutating.
111
+
112
+ ### Phase 5: check-syntax(formulaExpression) — validate a candidate formula
113
+
114
+ check-syntax(formulaExpression) — validate a candidate formula
115
+ string. Iterate until diagnostics array is empty.
116
+
117
+ ### Phase 6: save-settings(oscSettings=<json>) — persist state. Payload MUST
118
+
119
+ save-settings(oscSettings=<json>) — persist state. Payload MUST
120
+ carry every recipe-owned field the caller wants to keep, not
121
+ just the changed one.
122
+
123
+ ### Phase 7: verify-save-settings — Tooling SOQL read-back to confirm
124
+
125
+ verify-save-settings — Tooling SOQL read-back to confirm.
126
+
127
+ Rollback: to revert, call save-settings with the JSON originally
128
+ returned by get-utm-settings before your edit — all seven keys
129
+ together. To clear all recipe-owned state, save a payload with all
130
+ seven keys set to empty string (or omit them; both null the row's
131
+ recipe-owned columns). Sibling-owned NextGenCmtPrcs* /
132
+ DonorExternalIdField values survive either shape.
133
+
134
+ ## Critical Constraints
135
+
136
+ **Preconditions:**
137
+
138
+ - Nonprofit Cloud Fundraising must be provisioned in the org. Without
139
+ it, the Fundraising Admin permission check fails and every operation
140
+ in this skill is blocked. (check: `IndustriesFundraising`)
141
+
142
+ ## Verification Checklist
143
+
144
+ After every write operation, confirm the effect by re-reading state:
145
+
146
+ - After `set-source-code-generation-enabled`: call `verify-set-source-code-generation-enabled` (`GET /headless/invoke/platform/fundraising-source-code-gen`)
147
+ - After `save-settings`: call `verify-save-settings` (`GET /services/data/v67.0/tooling/query`)
148
+
149
+ ## Operations Reference
150
+
151
+ Operations grouped by purpose. Use these as the building blocks for the workflows above.
152
+
153
+ ### Summary
154
+
155
+ | Operation | Purpose | Status | Call | Depends on |
156
+ |-----------|---------|--------|------|------------|
157
+ | `get-source-code-generation-enabled` | read | implemented | `GET /headless/invoke/platform/fundraising-source-code-gen` | — |
158
+ | `set-source-code-generation-enabled` | write | proposed | `PATCH /headless/invoke/platform/fundraising-source-code-gen/set-source-code-generation-enabled` | — |
159
+ | `verify-set-source-code-generation-enabled` | verify | — | `GET /headless/invoke/platform/fundraising-source-code-gen` | `set-source-code-generation-enabled` |
160
+ | `save-settings` | write | implemented | `PATCH /headless/invoke/platform/fundraising-source-code-gen/save-settings` | — |
161
+ | `get-utm-settings` | read | proposed | `GET /services/data/v67.0/tooling/query` | — |
162
+ | `get-outreach-source-code-formula` | read | implemented | `GET /services/data/v67.0/tooling/query` | — |
163
+ | `check-syntax` | read | proposed | `GET /headless/invoke/platform/fundraising-source-code-gen/check-syntax` | — |
164
+ | `verify-save-settings` | verify | proposed | `GET /services/data/v67.0/tooling/query` | `save-settings` |
165
+
166
+ ### Read operations
167
+
168
+ #### `get-source-code-generation-enabled`
169
+
170
+ Read the child `sourceCodeGenerationEnabled` org preference (Fundraising
171
+ Source Code Generation feature toggle). Returns a bare boolean. This
172
+ toggle gates the save-settings grammar VALIDATOR, not persistence —
173
+ when false, save-settings persists any formula string (including
174
+ grammar-invalid ones) without validation; when true, save-settings
175
+ rejects grammar-invalid formulas with 500 CONTROLLER_ERROR. Parent
176
+ IndustriesFundraising feature must be enabled first (via the sibling
177
+ FundraisingSettings recipe).
178
+
179
+ **Call:** `GET /headless/invoke/platform/fundraising-source-code-gen` — status: `implemented`
180
+
181
+ **Output:** Boolean. True when the org-level source-code-generation preference is enabled, false otherwise.
182
+
183
+ #### `get-utm-settings`
184
+
185
+ Read the seven recipe-owned fields (formula + UTM mappings) from the
186
+ FundraisingConfig singleton via Tooling SOQL. Returns a typed
187
+ QueryResult with one record (`totalSize:0` when the parent Fundraising
188
+ feature has not been enabled yet). Preferred over the controller's
189
+ JSON-string wrapper — typed columns, filter-able, discoverable schema.
190
+
191
+ **Call:** `GET /services/data/v67.0/tooling/query` — status: `proposed`
192
+
193
+ **Inputs:**
194
+
195
+ - `q` *(`string`)*
196
+
197
+ **Output:** String. JSON-serialized UTM-style outreach source-code settings (source/medium/campaign field mappings plus behavior toggles); same shape save-settings consumes.
198
+
199
+ #### `get-outreach-source-code-formula`
200
+
201
+ Read the current `OutreachSourceCodeGenFmla` from the FundraisingConfig
202
+ singleton via Tooling SOQL. Returns a typed one-record QueryResult
203
+ (empty when the parent Fundraising feature is not enabled). Preferred
204
+ over the controller's raw-string wrapper — typed column, discoverable
205
+ schema.
206
+
207
+ **Call:** `GET /services/data/v67.0/tooling/query` — status: `implemented`
208
+
209
+ **Inputs:**
210
+
211
+ - `q` *(`string`)*
212
+
213
+ **Output:** String. The formula expression currently configured for the org (Fundraising source-code-formula DSL), or empty when none is set.
214
+
215
+ #### `check-syntax`
216
+
217
+ Validate a candidate outreach-source-code formula against the
218
+ recipe-specific DSL grammar. Returns an array of parser diagnostics
219
+ (empty array = valid). NOT general Salesforce formula grammar —
220
+ bare identifiers (`Name`) return `ERROR ... input 'Name'`; empty
221
+ string returns `ERROR ... input '<EOF>'`. Valid inputs include
222
+ double-quoted string literals (`"HELLO"`) and comparison/logical
223
+ expressions over them (`"A" == "B"`); `+` string concatenation is
224
+ NOT accepted. No public grammar-validator API exists; this is canonical.
225
+
226
+ **Call:** `GET /headless/invoke/platform/fundraising-source-code-gen/check-syntax` — status: `proposed`
227
+
228
+ **Inputs:**
229
+
230
+ - `formulaExpression` *(`String`)*
231
+
232
+ **Output:** Array of strings. Each entry is a parser diagnostic message from the Fundraising formula grammar; an empty array indicates the formula expression parses cleanly.
233
+
234
+ ### Write operations
235
+
236
+ #### `set-source-code-generation-enabled`
237
+
238
+ Toggle the child `sourceCodeGenerationEnabled` org preference. This
239
+ toggle gates the save-settings grammar validator: when true, the
240
+ validator runs and rejects grammar-invalid formulas (500
241
+ CONTROLLER_ERROR); when false, the validator is BYPASSED and any
242
+ formula string (valid, empty, or grammar-invalid) persists verbatim.
243
+ Set to true for admin workflows that want the grammar-safety net;
244
+ set to false to persist an empty formula (see agent_guidance
245
+ "Clearing the formula"). Idempotent — writing the current value is
246
+ a no-op returning success.
247
+
248
+ **Call:** `PATCH /headless/invoke/platform/fundraising-source-code-gen/set-source-code-generation-enabled` — status: `proposed`
249
+
250
+ **Inputs:**
251
+
252
+ - `isEnabled` *(`boolean`)* — Whether enabled is enabled.
253
+
254
+ **Output:** SaveResult. Carries success (boolean — true when the org-pref write succeeded), id (record id of the affected entity, may be empty for org-pref writes), errors (hard errors that caused failure when success is false), warnings (non-fatal warnings, may be present even when success is true), and infos (informational messages, non-blocking).
255
+
256
+ #### `save-settings`
257
+
258
+ Persist the recipe-owned fields on the FundraisingConfig singleton.
259
+ JSON key is `formulaExpression` + the six utm* keys. Server enforces
260
+ two controls the raw Tooling write does not: (1) formula-grammar
261
+ validation gated on `sourceCodeGenerationEnabled`; (2) sibling-scope
262
+ preservation — the sibling-owned NextGenCmtPrcs* / DonorExternalIdField
263
+ values on the same row are untouched. Recipe-owned scope is
264
+ REPLACE-ALL: any of the seven keys omitted from the payload is nulled.
265
+ To change one field, first read all seven via Tooling SOQL and
266
+ resend the unchanged values.
267
+
268
+ **Call:** `PATCH /headless/invoke/platform/fundraising-source-code-gen/save-settings` — status: `implemented`
269
+
270
+ **Inputs:**
271
+
272
+ - `oscSettings` *(`String`)* — Value for the osc settings field.
273
+
274
+ ### Verify operations
275
+
276
+ #### `verify-set-source-code-generation-enabled`
277
+
278
+ Confirm the child `sourceCodeGenerationEnabled` toggle persisted by
279
+ reading the boolean back. Bind result to the value passed to
280
+ set-source-code-generation-enabled.
281
+
282
+ **Call:** `GET /headless/invoke/platform/fundraising-source-code-gen`
283
+
284
+ **Depends on:** `set-source-code-generation-enabled`
285
+
286
+ #### `verify-save-settings`
287
+
288
+ Confirm save-settings persisted by reading the FundraisingConfig
289
+ singleton back via Tooling SOQL. Verifies BOTH that the recipe-owned
290
+ fields updated AND that the sibling-owned NextGenCmtPrcs* /
291
+ DonorExternalIdField values were preserved by the server-side merge.
292
+
293
+ **Call:** `GET /services/data/v67.0/tooling/query` — status: `proposed`
294
+
295
+ **Inputs:**
296
+
297
+ - `q` *(`string`)*
298
+
299
+ **Depends on:** `save-settings`
@@ -0,0 +1,87 @@
1
+ ---
2
+ name: industries-google-maps-api-key-settings-configure
3
+ description: "Use this skill when users want to read, set, or clear the org-wide Google Maps API key consumed by Consumer Goods Cloud / Retail Execution map and visit-routing surfaces. Trigger when users mention google, maps, api, key, settings, google maps api key settings."
4
+ metadata:
5
+ version: "1.0"
6
+ ---
7
+
8
+ # Managing Google Maps Api Key Settings
9
+
10
+ ## When to Use This Skill
11
+
12
+ Read, set, or clear the org-wide Google Maps API key consumed by Consumer Goods Cloud / Retail Execution map and visit-routing surfaces. The key is a single org-level credential string (no per-user / per-record variants). All three operations route to Connect resource IGoogleMapsApiKeyResource at /connect/industries/retail/google-map-api-key (GET / PUT / DELETE) and require the caller's user to have Retail Execution or Direct Store Delivery enabled.
13
+
14
+ ## Critical Constraints
15
+
16
+ **Preconditions:**
17
+
18
+ - Caller's user must have Retail Execution OR Direct Store Delivery enabled (the Connect resource's userDynamicChecks gate UserHasRetailExecutionOrDirectStoreDeliveryEnable). The Aura wrapper's gate Run Retail Execution permission is a strict subset. (check: `UserHasRetailExecutionOrDirectStoreDeliveryEnable`)
19
+ - Customize Application (or equivalent admin permission) is required to mutate org-wide credentials, consistent with other org-level credential settings.
20
+
21
+ **Destructive operations — require explicit user confirmation:**
22
+
23
+ - **`deleteGoogleMapsApiKey_3`** — Clear the org-wide Google Maps API key. After this returns, getGoogleMapsApiKey responds with apiKey null/empty until a new value is saved.
24
+ - Rollback: No automatic rollback.
25
+
26
+ ## Verification Checklist
27
+
28
+ After every write operation, confirm the effect by re-reading state:
29
+
30
+ - After `saveGoogleMapsApiKey_2`: call `verify-saveGoogleMapsApiKey_2` (`/services/data/v67.0/connect/industries/retail/google-map-api-key`)
31
+
32
+ ## Operations Reference
33
+
34
+ Operations grouped by purpose. Use these as the building blocks for the workflows above.
35
+
36
+ ### Summary
37
+
38
+ | Operation | Purpose | Status | Call | Depends on |
39
+ |-----------|---------|--------|------|------------|
40
+ | `getGoogleMapsApiKey_1` | read | implemented | `/services/data/v67.0/connect/industries/retail/google-map-api-key` | — |
41
+ | `saveGoogleMapsApiKey_2` | write | implemented | `/services/data/v67.0/connect/industries/retail/google-map-api-key` | `getGoogleMapsApiKey_1` |
42
+ | `deleteGoogleMapsApiKey_3` | delete | implemented | `/services/data/v67.0/connect/industries/retail/google-map-api-key` | `getGoogleMapsApiKey_1` |
43
+ | `verify-saveGoogleMapsApiKey_2` | verify | — | `/services/data/v67.0/connect/industries/retail/google-map-api-key` | `saveGoogleMapsApiKey_2` |
44
+
45
+ ### Read operations
46
+
47
+ #### `getGoogleMapsApiKey_1`
48
+
49
+ Read the org-wide Google Maps API key. Returns a GoogleMapsApiKeyRepresentation with one field, apiKey (String); apiKey is null/empty when no key has been saved yet.
50
+
51
+ **Call:** `/services/data/v67.0/connect/industries/retail/google-map-api-key` — status: `implemented`
52
+
53
+ **Output:** GoogleMapsApiKeyRepresentation — single field apiKey (String). Null/empty when no key has been configured for the org.
54
+
55
+ ### Write operations
56
+
57
+ #### `saveGoogleMapsApiKey_2`
58
+
59
+ Persist the org-wide Google Maps API key. Body GoogleMapsApiKeyInputRepresentation has one non-empty apiKey String; idempotent overwrite. Response echoes the persisted apiKey.
60
+
61
+ **Call:** `/services/data/v67.0/connect/industries/retail/google-map-api-key` — status: `implemented`
62
+
63
+ **Inputs:**
64
+
65
+ - `apiKey` *(`String`)*
66
+
67
+ **Depends on:** `getGoogleMapsApiKey_1`
68
+
69
+ ### Verify operations
70
+
71
+ #### `verify-saveGoogleMapsApiKey_2`
72
+
73
+ Read back via getGoogleMapsApiKey to confirm saveGoogleMapsApiKey persisted: response apiKey should equal the value just submitted.
74
+
75
+ **Call:** `/services/data/v67.0/connect/industries/retail/google-map-api-key`
76
+
77
+ **Depends on:** `saveGoogleMapsApiKey_2`
78
+
79
+ ### Destructive operations
80
+
81
+ #### `deleteGoogleMapsApiKey_3`
82
+
83
+ Clear the org-wide Google Maps API key. After this returns, getGoogleMapsApiKey responds with apiKey null/empty until a new value is saved.
84
+
85
+ **Call:** `/services/data/v67.0/connect/industries/retail/google-map-api-key` — status: `implemented`
86
+
87
+ **Depends on:** `getGoogleMapsApiKey_1`
@@ -0,0 +1,58 @@
1
+ ---
2
+ name: industries-grantmaking-intelligence-settings-open
3
+ description: "Use this skill when users want to setup landing page for Grantmaking Intelligence — an Aura wrapper (setup_industries_npc:grantmakingDataCloudSetupWrapper) that composes two child components with no controller of its own, and no first-party API on this node today. Trigger when users mention grantmaking, intelligence, settings, grantmaking intelligence settings."
4
+ metadata:
5
+ version: "1.0"
6
+ ---
7
+
8
+ # Querying Grantmaking Intelligence Settings
9
+
10
+ ## When to Use This Skill
11
+
12
+ Setup landing page for Grantmaking Intelligence — an Aura wrapper
13
+ (setup_industries_npc:grantmakingDataCloudSetupWrapper) that composes two
14
+ child components with no controller of its own, and no first-party API
15
+ on this node today. Agent-driven configuration is not available from
16
+ this skill.
17
+
18
+ What renders here:
19
+ (1) an Intelligent App Hub panel (wave:intelligentAppHub) that
20
+ lists CRM Analytics apps and lets an admin pin/schedule them;
21
+ its backing controller lives with the insights/wave team, not
22
+ NPC Cartwheel.
23
+ (2) an Admin Setup Assistant container
24
+ (industries_common:adminSetupAssistantContainer) — the same
25
+ generic wizard shell used by CaseMgmtIntelligenceSettings.
26
+ That shell is generic; it reads a per-page setup-config JSON
27
+ registration owned by the industries-common team. No such
28
+ registration currently exists for GrantmakingIntelligenceSettings
29
+ (tried both the node-id and DataCloud-variant file names),
30
+ so the container renders empty on this page today.
31
+
32
+ When an admin asks to configure Grantmaking Intelligence, the
33
+ productive action from a chat/agent context is to navigate them to
34
+ /lightning/setup/GrantmakingIntelligenceSettings/home and let them
35
+ interact with the embedded UI (schedule an app in the Intelligent App
36
+ Hub, or wait for the Admin Setup Assistant registration to arrive).
37
+ Do not fabricate step calls — no wire endpoint on this node returns
38
+ success today.
39
+
40
+ Access: six gates enforced at the setup-tree level — see preconditions.
41
+
42
+ ## Critical Constraints
43
+
44
+ **Preconditions:**
45
+
46
+ - Caller must be an org admin — the setup-manifest access clause
47
+ requires an admin user. (check: `Org Admin`)
48
+ - Org must have Budget object access provisioned — setup-manifest
49
+ requires Budget.orgHasBudgetAccess. (check: `Budget org access`)
50
+ - Caller must have user-level Budget access — setup-manifest
51
+ requires Budget.userHasBudgetUserAccess. (check: `Budget user access`)
52
+ - Org must have Funding Award access provisioned — setup-manifest
53
+ requires IndustriesFundingAward.orgHasFundingAwardAccess. (check: `Funding Award access`)
54
+ - Org must have Data Cloud (CDP) or Genie enabled — setup-manifest
55
+ requires Data Cloud or Genie enabled. (check: `CDP or Genie enabled`)
56
+ - The Nonprofit Data Cloud setup feature gate must be enabled on
57
+ the org. Orgs without the gate rolled out do not see this setup
58
+ page. (check: `Nonprofit Data Cloud setup feature gate`)
@@ -0,0 +1,167 @@
1
+ ---
2
+ name: industries-hc-score-category-settings-configure
3
+ description: "Use this skill when users want to cRUD on ScoreCategory records via standard sObject REST — describe, list, get-by-id, create, update, delete. Trigger when users mention hcscore, category, settings, hcscore category settings."
4
+ metadata:
5
+ version: "1.0"
6
+ ---
7
+
8
+ # Managing Hc Score Category Settings
9
+
10
+ ## When to Use This Skill
11
+
12
+ CRUD on ScoreCategory records via standard sObject REST — describe, list, get-by-id, create, update, delete. Run /describe first, then build payloads from createableFields. The hierarchical projection (parent/child tree, decorated with iconUrl/parentName/developerName via the ScoreCategoryHierarchy type) is NOT served here; use the sibling SOR ScoreCategorySettings (op `industries.industries-healthcare.score-category-setup-page.getScoreCategories`) when the agent needs the tree shape.
13
+
14
+ ## Workflow
15
+
16
+ Standard sObject REST provides full CRUD + describe on ScoreCategory; no proprietary controller is involved. Run /describe first, then build payloads from createableFields — the shape depends on the org's permission/profile setup, so the SOR does not enumerate fields statically. Wire constraints an admin will hit: CategoryName is required and capped at 25 chars; MasterLabel caps at 40; Description caps at 255; Language is a restricted locale picklist and defaults to en_US when omitted at create; DeveloperName is settable at create despite /describe reporting createable:false, and auto-derives from CategoryName when omitted (must begin with a letter, alphanumeric + underscore only, no consecutive or trailing underscores, unique within the org). ParentCategoryId is a self-FK, so parent/child relationships are reachable via plain SOQL on this SOR when only the tree shape is needed; use the sibling SOR ScoreCategorySettings when the tree needs the decorated projection (iconUrl / parentName / developerName). Deleting a parent cascades to its children automatically.
17
+
18
+ ## Critical Constraints
19
+
20
+ **Preconditions:**
21
+
22
+ - User needs CRUD access to ScoreCategory. (check: `<udd:crud:ScoreCategory>`)
23
+ - Org must have the Health Cloud / Holistic Patient Index feature line provisioned (the ScoreCategory entity ships with Health Cloud — orgs without Health Cloud provisioned will not see the entity).
24
+
25
+ ## Operations Reference
26
+
27
+ Operations grouped by purpose. Use these as the building blocks for the workflows above.
28
+
29
+ ### Summary
30
+
31
+ | Operation | Purpose | Status | Call | Depends on |
32
+ |-----------|---------|--------|------|------------|
33
+ | `describe` | read | — | `GET /services/data/v67.0/sobjects/ScoreCategory/describe` | — |
34
+ | `list` | read | — | `GET /services/data/v67.0/query` | `describe` |
35
+ | `get-by-id` | read | — | `GET /services/data/v67.0/sobjects/ScoreCategory/{Id}` | `list` |
36
+ | `create` | write | — | `POST /services/data/v67.0/sobjects/ScoreCategory` | `describe` |
37
+ | `update` | write | — | `PATCH /services/data/v67.0/sobjects/ScoreCategory/{Id}` | `get-by-id` |
38
+ | `delete` | write | — | `DELETE /services/data/v67.0/sobjects/ScoreCategory/{Id}` | `get-by-id` |
39
+
40
+ ### Dependency graph
41
+
42
+ ```mermaid
43
+ graph TD
44
+ describe["describe (read)"]
45
+ list["list (read)"]
46
+ get_by_id["get-by-id (read)"]
47
+ create["create (write)"]
48
+ update["update (write)"]
49
+ delete["delete (write)"]
50
+ describe --> list
51
+ list --> get_by_id
52
+ describe --> create
53
+ get_by_id --> update
54
+ get_by_id --> delete
55
+ ```
56
+
57
+ ### Read operations
58
+
59
+ #### `describe`
60
+
61
+ Retrieve the ScoreCategory sObject describe — fields, picklist values, FLS, createable/updateable flags.
62
+
63
+ **Call:** `GET /services/data/v67.0/sobjects/ScoreCategory/describe`
64
+
65
+ **Output:** DescribeSObjectResult for ScoreCategory — use this to build the field list for list / create / update payloads.
66
+
67
+ **Notes:** developerName_describe_mismatch: /describe reports DeveloperName createable:false — but the wire actually ACCEPTS DeveloperName in the create
68
+ payload and honors the caller-supplied value. Agents that trust describe alone will not know they can
69
+ override the auto-derived value. POST with an explicit DeveloperName returns 201 and the record keeps
70
+ the supplied value.; child_relationships: {'ChildScoreCategories': {'cascadeDelete': True, 'note': 'Deleting a parent ScoreCategory automatically deletes its children. A subsequent GET on a\nchild record after the parent is gone returns 404 NOT_FOUND; a subsequent DELETE on the same\nrecord returns 404 INVALID_CROSS_REFERENCE_KEY instead — the two verbs report different error\ncodes for the same gone-due-to-cascade record.'}}
71
+
72
+ #### `list`
73
+
74
+ List ScoreCategory records via SOQL. Pair with /describe first to pick field names. ParentCategoryId is a self-FK, so a query that selects it (and optionally the parent's Name via a relationship traversal) returns the parent/child tree shape without leaving this SOR — reach for the sibling SOR ScoreCategorySettings only when the decorated projection (iconUrl / parentName / developerName) is needed.
75
+
76
+ **Call:** `GET /services/data/v67.0/query`
77
+
78
+ **Inputs:**
79
+
80
+ - `where` *(`String`)* — Optional SOQL WHERE clause to filter Score Category records.
81
+ - `limit` *(`int`)* — Optional SOQL LIMIT value.
82
+ - `q` *(`string`)*
83
+
84
+ **Depends on:** `describe`
85
+
86
+ **Output:** Query response with records[] of ScoreCategory — Id plus any SELECTed fields.
87
+
88
+ **Notes:** soql_relationship_name: SOQL traversal from ScoreCategory back to its parent uses the relationship name "ParentCategory", NOT the
89
+ standard "Parent" token most sObjects expose. A query like "SELECT ParentCategory.CategoryName FROM
90
+ ScoreCategory" succeeds; "SELECT Parent.CategoryName FROM ScoreCategory" returns 400 INVALID_FIELD with
91
+ "Didn't understand relationship 'Parent'". The relationship name is discoverable via
92
+ GET /sobjects/ScoreCategory/describe under fields.ParentCategoryId.relationshipName. When constructing
93
+ tree-view queries agents should traverse via ParentCategory.{field} rather than the generic Parent.{field}.; query_example: SELECT Id, CategoryName, MasterLabel, ParentCategoryId, ParentCategory.CategoryName, Description, IconUrl FROM ScoreCategory ORDER BY ParentCategoryId NULLS FIRST
94
+
95
+ #### `get-by-id`
96
+
97
+ Retrieve a specific ScoreCategory record by Id.
98
+
99
+ **Call:** `GET /services/data/v67.0/sobjects/ScoreCategory/{Id}`
100
+
101
+ **Inputs:**
102
+
103
+ - `Id` *(`ID`)* — Id of the ScoreCategory record to fetch.
104
+
105
+ **Depends on:** `list`
106
+
107
+ **Output:** Single ScoreCategory record with all readable fields per user FLS.
108
+
109
+ ### Write operations
110
+
111
+ #### `create`
112
+
113
+ Create a ScoreCategory record. CategoryName is required (max 25 chars); MasterLabel is the admin display label (max 40). Language defaults to en_US when omitted. DeveloperName auto-derives from CategoryName — override only when a specific API name is needed (must begin with a letter, alphanumeric + underscore only, no consecutive or trailing underscores, unique within the org).
114
+
115
+ **Call:** `POST /services/data/v67.0/sobjects/ScoreCategory`
116
+
117
+ **Inputs:**
118
+
119
+ - `body` *(`object`)* — Field/value map for the new ScoreCategory. Populate from /describe's createableFields list.
120
+
121
+ **Depends on:** `describe`
122
+
123
+ **Output:** Standard sObject REST create response — {"id": "<new-Id>", "success": true, "errors": []}. Use the id in downstream get-by-id / update / delete steps. On failure, HTTP status is 400 and body is an array of {"errorCode","message","fields":[...]} entries.
124
+
125
+ **Rollback:** Call delete with the returned Id to undo the create.
126
+
127
+ **Notes:** error_contracts: {'duplicate_developer_name': '400 DUPLICATE_VALUE (NOT DUPLICATE_DEVELOPER_NAME) when a POST supplies a DeveloperName already in use. Message is generic ("duplicate value found: <unknown> duplicates value on record with id: <unknown>") — the field name is not echoed, so callers must attribute by context.', 'bad_parent_reference': '400 INSUFFICIENT_ACCESS_ON_CROSS_REFERENCE_ENTITY when ParentCategoryId points at a nonexistent or inaccessible record. Same error covers "no such record" and "record exists but user lacks CRUD/FLS" — the caller cannot distinguish from the error alone.', 'unknown_field': '400 INVALID_FIELD when the body carries a field name not on ScoreCategory ("No such column \'<name>\' on sobject of type ScoreCategory"). Run /describe first to enumerate valid field names.', 'oversized_payload_5xx': 'MasterLabel > ~255 chars can return 500 UNKNOWN_EXCEPTION with a support ErrorId instead of a clean 400 STRING_TOO_LONG. Treat any 500 as a retryable/report-worthy server condition; enforce reasonable client-side length caps rather than probing the boundary.', 'self_parenting_foot_gun': "Wire does NOT reject self-parenting — setting ParentCategoryId to the record's own Id is accepted with 204/201, with no cycle detection. Validate client-side before writing."}
128
+
129
+ #### `update`
130
+
131
+ Update an existing ScoreCategory record. Merge-patch semantics.
132
+
133
+ **Call:** `PATCH /services/data/v67.0/sobjects/ScoreCategory/{Id}`
134
+
135
+ **Inputs:**
136
+
137
+ - `Id` *(`ID`)* — Id of the ScoreCategory to update.
138
+ - `body` *(`object`)* — Partial field/value map — only include fields you want to change.
139
+
140
+ **Depends on:** `get-by-id`
141
+
142
+ **Rollback:** GET the record before update to capture the prior state, then PATCH the same fields back with the captured values to undo.
143
+
144
+ **Notes:** error_contracts: {'system_field_write': '400 INVALID_FIELD_FOR_INSERT_UPDATE when PATCH body includes a non-updateable/system field (CreatedDate, CreatedById, LastModifiedDate, LastModifiedById, SystemModstamp, IsDeleted, Id).', 'null_clears_optional': 'PATCH with a field set to null returns 204 and clears the value (verified on Description). Use this instead of omitting the field, which would preserve the prior value under merge semantics.', 'developer_name_mutable': 'DeveloperName can be renamed via PATCH — wire returns 204 and the record reflects the new value on read-back. The base sObject uniqueness constraint still applies (renaming to a value already in use returns 400 DUPLICATE_VALUE).'}; field_constraints_on_patch: CategoryName remains capped at 25 chars under PATCH. MasterLabel and Description are enforced more loosely than /describe reports (short overflows accepted; very large payloads may 500). Language stays restricted-picklist.
145
+
146
+ #### `delete`
147
+
148
+ Delete a ScoreCategory record.
149
+
150
+ **Call:** `DELETE /services/data/v67.0/sobjects/ScoreCategory/{Id}`
151
+
152
+ **Inputs:**
153
+
154
+ - `Id` *(`ID`)* — Id of the ScoreCategory to delete.
155
+
156
+ **Depends on:** `get-by-id`
157
+
158
+ **Notes:** cascade_delete: Deleting a parent ScoreCategory automatically deletes all its children (ChildScoreCategories relationship carries
159
+ cascadeDelete=true). A subsequent GET on a child record after the parent is deleted returns 404 NOT_FOUND;
160
+ a subsequent DELETE on the same child returns 404 INVALID_CROSS_REFERENCE_KEY instead — not 204 either way,
161
+ but the two verbs report different error codes for the same gone-due-to-cascade record. Callers who need
162
+ to delete only the parent and re-parent children must first PATCH each child's ParentCategoryId to null
163
+ or to another parent before deleting the original parent.; developer_name_uniqueness_release: A hard DELETE releases the DeveloperName uniqueness constraint immediately — a subsequent POST with the same
164
+ DeveloperName the deleted record used returns 201, not the DUPLICATE_VALUE error a still-live record would
165
+ produce. This makes delete-then-recreate a valid pattern for renaming or shape-correcting a category without
166
+ needing an intermediate name. There is no Recycle Bin restore path for ScoreCategory (it is not a standard
167
+ soft-delete sObject), so the release is permanent.