@salesforce/afv-skills 1.65.0 → 1.65.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (349) hide show
  1. package/package.json +1 -1
  2. package/skills/field-service-data-capture-form-deployer-configure/SKILL.md +2 -23
  3. package/skills/field-service-data-capture-form-designer-configure/SKILL.md +3 -13
  4. package/skills/field-service-mobile-branding-configure/SKILL.md +3 -17
  5. package/skills/field-service-objective-designer-configure/SKILL.md +379 -72
  6. package/skills/field-service-prework-brief-deployer-configure/SKILL.md +537 -10
  7. package/skills/field-service-scheduling-policy-designer-query/SKILL.md +1093 -65
  8. package/skills/field-service-sobject-create-configure/SKILL.md +213 -13
  9. package/skills/field-service-voice-to-form-configure/SKILL.md +11 -40
  10. package/skills/field-service-work-rule-designer-configure/SKILL.md +95 -121
  11. package/skills/agentforce-gpt-email-generation-configure/SKILL.md +0 -312
  12. package/skills/agentforce-wizard-ui-forecasting-analytics-components-configure/SKILL.md +0 -64
  13. package/skills/agentforce-wizard-ui-sales-einstein-components-configure/SKILL.md +0 -46
  14. package/skills/automation-company-profile-info-query/SKILL.md +0 -51
  15. package/skills/automation-digital-wallet-configure/SKILL.md +0 -689
  16. package/skills/automation-flow-coordinate/SKILL.md +0 -95
  17. package/skills/automation-flow-coordinate/references/elements/action-call/action-call.md +0 -1569
  18. package/skills/automation-flow-coordinate/references/elements/action-call/conversation-messaging.md +0 -96
  19. package/skills/automation-flow-coordinate/references/elements/action-call/examples/send-sms-message.json +0 -23
  20. package/skills/automation-flow-coordinate/references/elements/action-call/examples/send-to-journey-no-fields.json +0 -31
  21. package/skills/automation-flow-coordinate/references/elements/action-call/send-to-journey.md +0 -179
  22. package/skills/automation-flow-coordinate/references/elements/exit-rule/examples/event-email-link-click.json +0 -13
  23. package/skills/automation-flow-coordinate/references/elements/exit-rule/exit-rule.md +0 -83
  24. package/skills/automation-flow-coordinate/references/elements/forward-to-bot-or-agent/examples/forward-to-bot-or-agent.json +0 -69
  25. package/skills/automation-flow-coordinate/references/elements/forward-to-bot-or-agent/forward-to-bot-or-agent.md +0 -274
  26. package/skills/automation-flow-coordinate/references/elements/start/audience-common.md +0 -192
  27. package/skills/automation-flow-coordinate/references/elements/start/automation-event-triggered.md +0 -130
  28. package/skills/automation-flow-coordinate/references/elements/start/data-cloud-data-change-triggered.md +0 -92
  29. package/skills/automation-flow-coordinate/references/elements/start/form-submission-triggered.md +0 -88
  30. package/skills/automation-flow-coordinate/references/elements/start/segment-triggered.md +0 -152
  31. package/skills/automation-flow-coordinate/references/elements/start/start.md +0 -539
  32. package/skills/automation-flow-coordinate/references/elements/subflow/subflow.md +0 -152
  33. package/skills/automation-flow-coordinate/references/elements/wait/wait.md +0 -497
  34. package/skills/automation-flow-coordinate/references/recipes/author/author.md +0 -868
  35. package/skills/automation-flow-coordinate/references/recipes/summarize/element-generic.md +0 -300
  36. package/skills/automation-flow-coordinate/references/recipes/summarize/reference-resolution.md +0 -292
  37. package/skills/automation-flow-coordinate/references/recipes/summarize/summarize.md +0 -323
  38. package/skills/automation-flow-coordinate/references/recipes/testing/examples/debug-output-template.md +0 -109
  39. package/skills/automation-flow-coordinate/references/recipes/testing/shape.md +0 -219
  40. package/skills/automation-flow-coordinate/references/recipes/testing/shared-stages/intent-analyzer.md +0 -180
  41. package/skills/automation-flow-coordinate/references/recipes/testing/workflows/debug.md +0 -175
  42. package/skills/automation-flow-coordinate/references/recipes/testing/workflows/promote.md +0 -255
  43. package/skills/automation-flow-coordinate/references/recipes/testing/workflows/save-debug.md +0 -212
  44. package/skills/automation-flow-coordinate/references/resources/variable/variable.md +0 -171
  45. package/skills/automation-flow-coordinate/references/shared/anti-patterns.md +0 -786
  46. package/skills/automation-flow-coordinate/references/shared/end/end.md +0 -267
  47. package/skills/automation-flow-coordinate/references/shared/flow-type-resolver/eval/README.md +0 -69
  48. package/skills/automation-flow-coordinate/references/shared/flow-type-resolver/eval/predictions.jsonl +0 -80
  49. package/skills/automation-flow-coordinate/references/shared/flow-type-resolver/eval/prompts.jsonl +0 -116
  50. package/skills/automation-flow-coordinate/references/shared/flow-type-resolver/flow-type-resolver.md +0 -321
  51. package/skills/automation-flow-coordinate/references/shared/flow-type-resolver/taxonomy.json +0 -320
  52. package/skills/automation-flow-coordinate/references/shared/server-functions.md +0 -597
  53. package/skills/automotive-cloud-appraisal-management-settings-configure/SKILL.md +0 -69
  54. package/skills/automotive-cloud-dealer-essentials-configure/SKILL.md +0 -78
  55. package/skills/automotive-cloud-ground-agent-data-pipelines-configure/SKILL.md +0 -373
  56. package/skills/automotive-cloud-ground-mfg-agent-data-pipelines-configure/SKILL.md +0 -273
  57. package/skills/automotive-cloud-mfg-agent-data-pipelines-configure/SKILL.md +0 -259
  58. package/skills/automotive-cloud-mfg-sales-concierge-agent-create/SKILL.md +0 -369
  59. package/skills/automotive-cloud-mfg-sales-concierge-foundation-configure/SKILL.md +0 -542
  60. package/skills/automotive-cloud-mfg-sales-concierge-foundation-coordinate/SKILL.md +0 -159
  61. package/skills/automotive-cloud-mfg-sales-concierge-orchestrator-agent-create/SKILL.md +0 -349
  62. package/skills/automotive-cloud-mfg-sales-concierge-orchestrator-configure/SKILL.md +0 -505
  63. package/skills/automotive-cloud-sales-concierge-agent-create/SKILL.md +0 -380
  64. package/skills/automotive-cloud-sales-concierge-foundation-configure/SKILL.md +0 -567
  65. package/skills/automotive-cloud-sales-concierge-foundation-coordinate/SKILL.md +0 -159
  66. package/skills/automotive-cloud-sales-concierge-orchestrator-agent-create/SKILL.md +0 -360
  67. package/skills/automotive-cloud-sales-concierge-orchestrator-configure/SKILL.md +0 -539
  68. package/skills/automotive-cloud-sales-concierge-search-grounding-configure/SKILL.md +0 -358
  69. package/skills/commerce-b2b-merchant-quote-configure/SKILL.md +0 -602
  70. package/skills/commerce-b2b-store-configure/SKILL.md +0 -251
  71. package/skills/commerce-credit-memo-create/SKILL.md +0 -139
  72. package/skills/commerce-delivery-business-hours-configure/SKILL.md +0 -277
  73. package/skills/commerce-delivery-estimation-apply/SKILL.md +0 -155
  74. package/skills/commerce-delivery-estimation-configure/SKILL.md +0 -377
  75. package/skills/commerce-delivery-routing-specs-integrate/SKILL.md +0 -174
  76. package/skills/commerce-estimate-bopis-query/SKILL.md +0 -279
  77. package/skills/commerce-estimate-delivery-date-query/SKILL.md +0 -349
  78. package/skills/commerce-fees-apply/SKILL.md +0 -227
  79. package/skills/commerce-fulfillment-routing-analyze/SKILL.md +0 -200
  80. package/skills/commerce-guest-buyer-create/SKILL.md +0 -173
  81. package/skills/commerce-location-bopis-configure/SKILL.md +0 -378
  82. package/skills/commerce-location-business-hours-configure/SKILL.md +0 -235
  83. package/skills/commerce-location-delivery-processing-time-configure/SKILL.md +0 -309
  84. package/skills/commerce-location-graph-integrate/SKILL.md +0 -131
  85. package/skills/commerce-location-shipping-carrier-method-configure/SKILL.md +0 -755
  86. package/skills/commerce-location-temporary-operating-hours-configure/SKILL.md +0 -331
  87. package/skills/commerce-merchant-buyer-groups-configure/SKILL.md +0 -579
  88. package/skills/commerce-merchant-buyer-user-onboarding-create/SKILL.md +0 -626
  89. package/skills/commerce-merchant-catalog-configure/SKILL.md +0 -614
  90. package/skills/commerce-merchant-extension-provider-configure/SKILL.md +0 -368
  91. package/skills/commerce-merchant-insights-account-health-churn-analyze/SKILL.md +0 -118
  92. package/skills/commerce-merchant-insights-inventory-returns-analyze/SKILL.md +0 -65
  93. package/skills/commerce-merchant-insights-order-shopper-get/SKILL.md +0 -90
  94. package/skills/commerce-merchant-insights-product-performance-analyze/SKILL.md +0 -72
  95. package/skills/commerce-merchant-insights-query/SKILL.md +0 -279
  96. package/skills/commerce-merchant-storefront-guest-access-configure/SKILL.md +0 -656
  97. package/skills/commerce-order-summary-change-apply/SKILL.md +0 -375
  98. package/skills/commerce-product-details-get/SKILL.md +0 -363
  99. package/skills/commerce-product-search/SKILL.md +0 -563
  100. package/skills/commerce-react-storefront-create/SKILL.md +0 -350
  101. package/skills/commerce-return-order-summary-create/SKILL.md +0 -513
  102. package/skills/commerce-search-relevance-analyze/SKILL.md +0 -757
  103. package/skills/commerce-temporary-processing-time-override-create/SKILL.md +0 -274
  104. package/skills/communications-initial-setup-configure/SKILL.md +0 -630
  105. package/skills/communications-multisite-configure/SKILL.md +0 -571
  106. package/skills/communications-revenue-cloud-settings-configure/SKILL.md +0 -74
  107. package/skills/communications-smb-fiber-catalog-create/SKILL.md +0 -413
  108. package/skills/communications-tmf-integrate/SKILL.md +0 -1368
  109. package/skills/consumer-goods-visit-activity-act4-questions-assign/SKILL.md +0 -448
  110. package/skills/consumer-goods-visit-activity-act5-standard-create/SKILL.md +0 -269
  111. package/skills/consumer-goods-visit-activity-act6-assortment-configure/SKILL.md +0 -271
  112. package/skills/consumer-goods-visit-activity-act7-account-scoping-create/SKILL.md +0 -382
  113. package/skills/consumer-goods-visit-activity-act8-plan-attach-create/SKILL.md +0 -373
  114. package/skills/consumer-goods-visit-activity-act9-proof-validate/SKILL.md +0 -389
  115. package/skills/consumer-goods-visit-and-activity-act1-specification-create/SKILL.md +0 -338
  116. package/skills/consumer-goods-visit-and-activity-act2-template-create/SKILL.md +0 -547
  117. package/skills/consumer-goods-visit-and-activity-act3-definition-create/SKILL.md +0 -346
  118. package/skills/consumer-goods-visit-and-activity-configure/SKILL.md +0 -1110
  119. package/skills/crm-analytics-adoption-insights-configure/SKILL.md +0 -224
  120. package/skills/crm-analytics-custom-report-type-lightning-configure/SKILL.md +0 -418
  121. package/skills/crm-analytics-dashboards-configure/SKILL.md +0 -731
  122. package/skills/crm-analytics-operational-analytics-metadata-bridge-migrate/SKILL.md +0 -233
  123. package/skills/crm-analytics-report-notifications-ui-configure/SKILL.md +0 -184
  124. package/skills/crm-analytics-sharing-inheritance-coverage-analyze/SKILL.md +0 -167
  125. package/skills/crm-analytics-sonic-getting-started-configure/SKILL.md +0 -55
  126. package/skills/crm-analytics-tableau-next-app-deploy/SKILL.md +0 -1350
  127. package/skills/crm-analytics-tableau-next-c360-basemodel-validate/SKILL.md +0 -1862
  128. package/skills/crm-analytics-tableau-next-datacloud-validate/SKILL.md +0 -83
  129. package/skills/crm-analytics-tableau-next-provisioning-validate/SKILL.md +0 -81
  130. package/skills/data360-activation-create/SKILL.md +0 -104
  131. package/skills/data360-activation-external-platform-get/SKILL.md +0 -49
  132. package/skills/data360-activation-target-create/SKILL.md +0 -93
  133. package/skills/data360-activation-v2-create/SKILL.md +0 -456
  134. package/skills/data360-audience-dmo-get/SKILL.md +0 -38
  135. package/skills/data360-calculated-affinity-create/SKILL.md +0 -82
  136. package/skills/data360-calculated-insight-create/SKILL.md +0 -148
  137. package/skills/data360-catalog-metadata-create/SKILL.md +0 -183
  138. package/skills/data360-code-extension-create/SKILL.md +0 -115
  139. package/skills/data360-communication-capping-create/SKILL.md +0 -227
  140. package/skills/data360-connection-create/SKILL.md +0 -491
  141. package/skills/data360-content-lens-create/SKILL.md +0 -181
  142. package/skills/data360-data-action-create/SKILL.md +0 -126
  143. package/skills/data360-data-action-target-create/SKILL.md +0 -181
  144. package/skills/data360-data-clean-room-create/SKILL.md +0 -238
  145. package/skills/data360-data-governance-create/SKILL.md +0 -746
  146. package/skills/data360-data-graph-create/SKILL.md +0 -82
  147. package/skills/data360-data-harmonized-model-object-reference-create/SKILL.md +0 -38
  148. package/skills/data360-data-lake-object-create/SKILL.md +0 -207
  149. package/skills/data360-data-model-object-catalog-get/SKILL.md +0 -49
  150. package/skills/data360-data-model-object-create/SKILL.md +0 -128
  151. package/skills/data360-data-model-object-mapping-create/SKILL.md +0 -106
  152. package/skills/data360-data-space-create/SKILL.md +0 -161
  153. package/skills/data360-data-streams-create/SKILL.md +0 -324
  154. package/skills/data360-engagement-signal-get/SKILL.md +0 -38
  155. package/skills/data360-experiment-create/SKILL.md +0 -82
  156. package/skills/data360-goal-based-campaign-create/SKILL.md +0 -192
  157. package/skills/data360-harmonization-process-history-get/SKILL.md +0 -38
  158. package/skills/data360-harmonized-unstructured-dmo-create/SKILL.md +0 -84
  159. package/skills/data360-identity-resolution-create/SKILL.md +0 -115
  160. package/skills/data360-intelligent-document-processing-create/SKILL.md +0 -148
  161. package/skills/data360-knowledge-graph-construction-create/SKILL.md +0 -93
  162. package/skills/data360-knowledge-graph-create/SKILL.md +0 -216
  163. package/skills/data360-knowledge-space-mcp-configure/SKILL.md +0 -475
  164. package/skills/data360-machine-learning-mcp-configure/SKILL.md +0 -697
  165. package/skills/data360-multi-org-mcp-configure/SKILL.md +0 -117
  166. package/skills/data360-secondary-index-mcp-configure/SKILL.md +0 -126
  167. package/skills/data360-segment-mcp-configure/SKILL.md +0 -159
  168. package/skills/data360-semantic-calculated-dimension-mcp-configure/SKILL.md +0 -93
  169. package/skills/data360-semantic-calculated-measurement-mcp-configure/SKILL.md +0 -93
  170. package/skills/data360-semantic-data-object-mcp-configure/SKILL.md +0 -93
  171. package/skills/data360-semantic-dimension-mcp-configure/SKILL.md +0 -38
  172. package/skills/data360-semantic-engine-mcp-configure/SKILL.md +0 -62
  173. package/skills/data360-semantic-measurement-mcp-configure/SKILL.md +0 -38
  174. package/skills/data360-semantic-metric-mcp-configure/SKILL.md +0 -93
  175. package/skills/data360-semantic-model-mcp-configure/SKILL.md +0 -115
  176. package/skills/data360-standard-mapping-mcp-configure/SKILL.md +0 -38
  177. package/skills/data360-tenant-lifecycle-mcp-configure/SKILL.md +0 -73
  178. package/skills/experience-afv-query/SKILL.md +0 -234
  179. package/skills/experience-agentforce-vibes-in-react-configure/SKILL.md +0 -63
  180. package/skills/experience-apex-components-configure/SKILL.md +0 -69
  181. package/skills/experience-apex-pages-configure/SKILL.md +0 -107
  182. package/skills/experience-app-home-configure/SKILL.md +0 -76
  183. package/skills/experience-aura-lightning-out-access-configure/SKILL.md +0 -58
  184. package/skills/experience-briefcase-configure/SKILL.md +0 -287
  185. package/skills/experience-community-flexi-page-list-create/SKILL.md +0 -74
  186. package/skills/experience-community-template-definition-list-query/SKILL.md +0 -48
  187. package/skills/experience-community-theme-definition-list-query/SKILL.md +0 -38
  188. package/skills/experience-content-assets-configure/SKILL.md +0 -86
  189. package/skills/experience-custom-domain-create/SKILL.md +0 -727
  190. package/skills/experience-defer-rendering-workspace-page-setup-configure/SKILL.md +0 -41
  191. package/skills/experience-field-service-app-builder-configure/SKILL.md +0 -187
  192. package/skills/experience-flow-category-configure/SKILL.md +0 -117
  193. package/skills/experience-formula-configure/SKILL.md +0 -358
  194. package/skills/experience-global-actions-configure/SKILL.md +0 -69
  195. package/skills/experience-global-publisher-layouts-configure/SKILL.md +0 -79
  196. package/skills/experience-instrumentation-configure/SKILL.md +0 -64
  197. package/skills/experience-lex-engagement-configure/SKILL.md +0 -50
  198. package/skills/experience-lightning-bolt-open/SKILL.md +0 -12
  199. package/skills/experience-lightning-out-configure/SKILL.md +0 -129
  200. package/skills/experience-lightning-preview-configure/SKILL.md +0 -67
  201. package/skills/experience-lightning-types-query/SKILL.md +0 -98
  202. package/skills/experience-malware-scan-configure/SKILL.md +0 -71
  203. package/skills/experience-my-salesforce-configure/SKILL.md +0 -126
  204. package/skills/experience-navigation-menus-configure/SKILL.md +0 -235
  205. package/skills/experience-notification-types-configure/SKILL.md +0 -206
  206. package/skills/experience-notifications-configure/SKILL.md +0 -75
  207. package/skills/experience-record-discovery-query/SKILL.md +0 -227
  208. package/skills/experience-regenerate-previews-open/SKILL.md +0 -94
  209. package/skills/experience-sales-cloud-mab-configure/SKILL.md +0 -254
  210. package/skills/experience-schema-builder-open/SKILL.md +0 -38
  211. package/skills/experience-simple-record-home-configure/SKILL.md +0 -110
  212. package/skills/experience-static-resources-configure/SKILL.md +0 -74
  213. package/skills/field-service-setup-coordinate/SKILL.md +0 -62
  214. package/skills/field-service-work-plan-configure/SKILL.md +0 -253
  215. package/skills/fsc-actionable-segmentation-settings-configure/SKILL.md +0 -180
  216. package/skills/fsc-digital-origination-bre-decision-matrix-foundation-create/SKILL.md +0 -196
  217. package/skills/fsc-digital-origination-bre-disclosures-consent-configure/SKILL.md +0 -106
  218. package/skills/fsc-digital-origination-bre-document-upload-configure/SKILL.md +0 -96
  219. package/skills/fsc-digital-origination-bre-permissions-assign/SKILL.md +0 -111
  220. package/skills/fsc-digital-origination-bre-setup-coordinate/SKILL.md +0 -250
  221. package/skills/fsc-digital-origination-bre-stp-eligibility-configure/SKILL.md +0 -122
  222. package/skills/fsc-digital-origination-coordinate/SKILL.md +0 -653
  223. package/skills/fsc-digital-origination-demo-run/SKILL.md +0 -225
  224. package/skills/fsc-digital-origination-execution-guardrails-validate/SKILL.md +0 -112
  225. package/skills/fsc-digital-origination-initial-setup-configure/SKILL.md +0 -396
  226. package/skills/fsc-digital-origination-pricing-setup-coordinate/SKILL.md +0 -336
  227. package/skills/fsc-digital-origination-pricing-setup-data-foundation-create/SKILL.md +0 -208
  228. package/skills/fsc-digital-origination-pricing-setup-procedure-create/SKILL.md +0 -375
  229. package/skills/fsc-digital-origination-product-setup-act1-permissions-assign/SKILL.md +0 -83
  230. package/skills/fsc-digital-origination-product-setup-coordinate/SKILL.md +0 -248
  231. package/skills/fsc-digital-origination-sample-data-create/SKILL.md +0 -206
  232. package/skills/fsc-document-checklist-settings-configure/SKILL.md +0 -57
  233. package/skills/fsc-flexible-hierarchy-configure/SKILL.md +0 -148
  234. package/skills/fsc-flexible-hierarchy-foundation-configure/SKILL.md +0 -1430
  235. package/skills/fsc-flexible-hierarchy-graph-config-create/SKILL.md +0 -471
  236. package/skills/fsc-flexible-hierarchy-rule-based-graph-deploy/SKILL.md +0 -429
  237. package/skills/fsc-pricing-product-configurator-configure/SKILL.md +0 -150
  238. package/skills/fsc-pricing-salesforce-omnistudio-switch/SKILL.md +0 -123
  239. package/skills/fsc-product-act2-catalog-categories-create/SKILL.md +0 -82
  240. package/skills/fsc-product-act3-attributes-create/SKILL.md +0 -249
  241. package/skills/fsc-product-act4-classification-assignment-create/SKILL.md +0 -196
  242. package/skills/fsc-product-act5-considerations-get/SKILL.md +0 -44
  243. package/skills/fsc-stage-management-apex-flow-deploy/SKILL.md +0 -384
  244. package/skills/fsc-stage-management-compliant-data-sharing-configure/SKILL.md +0 -144
  245. package/skills/fsc-stage-management-decision-matrices-create/SKILL.md +0 -107
  246. package/skills/fsc-stage-management-definition-assignments-create/SKILL.md +0 -189
  247. package/skills/fsc-stage-management-definition-create/SKILL.md +0 -108
  248. package/skills/fsc-stage-management-permissions-assign/SKILL.md +0 -143
  249. package/skills/fsc-stage-management-transitions-configure/SKILL.md +0 -139
  250. package/skills/health-cloud-appt-booking-config-configure/SKILL.md +0 -135
  251. package/skills/health-cloud-appt-booking-url-config-configure/SKILL.md +0 -134
  252. package/skills/health-cloud-care-provider-affl-role-config-configure/SKILL.md +0 -136
  253. package/skills/health-cloud-care-provider-search-config-configure/SKILL.md +0 -134
  254. package/skills/health-cloud-care-requests-create/SKILL.md +0 -178
  255. package/skills/health-cloud-initial-configure/SKILL.md +0 -511
  256. package/skills/health-cloud-patient-appointment-scheduling-configure/SKILL.md +0 -1374
  257. package/skills/health-cloud-provider-search-settings-configure/SKILL.md +0 -924
  258. package/skills/health-cloud-referral-management-coordinate/SKILL.md +0 -513
  259. package/skills/health-cloud-timeline-configure/SKILL.md +0 -622
  260. package/skills/health-cloud-virtual-visit-config-configure/SKILL.md +0 -135
  261. package/skills/industries-account-score-settings-query/SKILL.md +0 -78
  262. package/skills/industries-actionable-list-data-sources-dmo-configure/SKILL.md +0 -177
  263. package/skills/industries-ad-product-availability-search/SKILL.md +0 -399
  264. package/skills/industries-advanced-account-forecast-settings-configure/SKILL.md +0 -628
  265. package/skills/industries-advanced-therapy-management-settings-configure/SKILL.md +0 -73
  266. package/skills/industries-atm-settings-starter-configure/SKILL.md +0 -76
  267. package/skills/industries-batch-document-ai-configure/SKILL.md +0 -196
  268. package/skills/industries-behavioral-health-app-settings-configure/SKILL.md +0 -71
  269. package/skills/industries-branch-management-settings-configure/SKILL.md +0 -89
  270. package/skills/industries-bre-decision-table-access-configure/SKILL.md +0 -367
  271. package/skills/industries-brokerage-settings-configure/SKILL.md +0 -41
  272. package/skills/industries-calendar-sync-settings-configure/SKILL.md +0 -89
  273. package/skills/industries-care-request-settings-configure/SKILL.md +0 -218
  274. package/skills/industries-case-management-intelligence-settings-configure/SKILL.md +0 -54
  275. package/skills/industries-catalog-process-attributes-products-configure/SKILL.md +0 -380
  276. package/skills/industries-catalog-process-fulfillment-configure/SKILL.md +0 -216
  277. package/skills/industries-catalog-process-intake-configure/SKILL.md +0 -219
  278. package/skills/industries-catalog-process-knowledge-configure/SKILL.md +0 -153
  279. package/skills/industries-catalog-process-preprocessor-configure/SKILL.md +0 -168
  280. package/skills/industries-cds-general-settings-configure/SKILL.md +0 -69
  281. package/skills/industries-claim-financial-settings-configure/SKILL.md +0 -169
  282. package/skills/industries-clinical-data-model-settings-configure/SKILL.md +0 -136
  283. package/skills/industries-clinical-data-model-settings-starter-configure/SKILL.md +0 -105
  284. package/skills/industries-collection-plan-settings-configure/SKILL.md +0 -132
  285. package/skills/industries-comms-service-console-settings-configure/SKILL.md +0 -159
  286. package/skills/industries-compliance-configure/SKILL.md +0 -102
  287. package/skills/industries-compliance-document-extraction-setup-configure/SKILL.md +0 -76
  288. package/skills/industries-contact-center-app-layout-configure/SKILL.md +0 -88
  289. package/skills/industries-contact-center-components-configure/SKILL.md +0 -96
  290. package/skills/industries-contact-center-path-knowledge-configure/SKILL.md +0 -95
  291. package/skills/industries-contact-center-user-access-assign/SKILL.md +0 -96
  292. package/skills/industries-course-waitlist-config-configure/SKILL.md +0 -162
  293. package/skills/industries-crisis-center-settings-configure/SKILL.md +0 -84
  294. package/skills/industries-custom-object-settings-configure/SKILL.md +0 -94
  295. package/skills/industries-data-cloud-integration-configure/SKILL.md +0 -88
  296. package/skills/industries-data-space-feature-mappings-configure/SKILL.md +0 -245
  297. package/skills/industries-decision-matrix-builder-configure/SKILL.md +0 -78
  298. package/skills/industries-decision-table-hbase-configure/SKILL.md +0 -87
  299. package/skills/industries-decision-table-version-configure/SKILL.md +0 -74
  300. package/skills/industries-decision-tables-builder-configure/SKILL.md +0 -253
  301. package/skills/industries-decision-tables-configure/SKILL.md +0 -439
  302. package/skills/industries-energy-utilities-configure/SKILL.md +0 -251
  303. package/skills/industries-eu-cloud-multisite-configure/SKILL.md +0 -1008
  304. package/skills/industries-eu-new-connections-configure/SKILL.md +0 -30
  305. package/skills/industries-explainability-msg-template-configure/SKILL.md +0 -135
  306. package/skills/industries-expression-set-message-token-configure/SKILL.md +0 -135
  307. package/skills/industries-field-service-settings-configure/SKILL.md +0 -82
  308. package/skills/industries-form-framework-settings-configure/SKILL.md +0 -30
  309. package/skills/industries-fsc-ai-settings-configure/SKILL.md +0 -57
  310. package/skills/industries-fsc-association-engine-settings-configure/SKILL.md +0 -172
  311. package/skills/industries-fsc-b2b-settings-configure/SKILL.md +0 -61
  312. package/skills/industries-fsc-insurance-settings-configure/SKILL.md +0 -58
  313. package/skills/industries-fsc-visa-fulfillment-setup-configure/SKILL.md +0 -103
  314. package/skills/industries-fsc-wealth-agent-settings-configure/SKILL.md +0 -117
  315. package/skills/industries-fsc-wealth-settings-configure/SKILL.md +0 -99
  316. package/skills/industries-fundraising-gift-entry-settings-configure/SKILL.md +0 -120
  317. package/skills/industries-fundraising-rfm-configure/SKILL.md +0 -128
  318. package/skills/industries-fundraising-settings-configure/SKILL.md +0 -145
  319. package/skills/industries-fundraising-source-code-gen-configure/SKILL.md +0 -299
  320. package/skills/industries-google-maps-api-key-settings-configure/SKILL.md +0 -87
  321. package/skills/industries-grantmaking-intelligence-settings-open/SKILL.md +0 -58
  322. package/skills/industries-hc-score-category-settings-configure/SKILL.md +0 -167
  323. package/skills/industries-health-engagement-settings-configure/SKILL.md +0 -218
  324. package/skills/industries-home-health-agentforce-setup-configure/SKILL.md +0 -131
  325. package/skills/industries-home-health-bundling-policy-create/SKILL.md +0 -50
  326. package/skills/industries-home-health-entity-labels-configure/SKILL.md +0 -29
  327. package/skills/industries-home-health-fsl-package-deploy/SKILL.md +0 -71
  328. package/skills/industries-home-health-fsl-settings-validate/SKILL.md +0 -27
  329. package/skills/industries-home-health-guided-setup-care-and-skill-get/SKILL.md +0 -80
  330. package/skills/industries-home-health-guided-setup-configure/SKILL.md +0 -836
  331. package/skills/industries-home-health-guided-setup-enable-org-fsl-get/SKILL.md +0 -55
  332. package/skills/industries-home-health-guided-setup-get-org-ready-get/SKILL.md +0 -61
  333. package/skills/industries-home-health-licenses-assign/SKILL.md +0 -27
  334. package/skills/industries-home-health-operating-hours-create/SKILL.md +0 -40
  335. package/skills/industries-home-health-scheduling-policy-create/SKILL.md +0 -41
  336. package/skills/industries-home-health-service-objective-create/SKILL.md +0 -22
  337. package/skills/industries-home-health-skills-create/SKILL.md +0 -31
  338. package/skills/industries-home-health-users-create/SKILL.md +0 -29
  339. package/skills/industries-icm-act3-toggles-configure/SKILL.md +0 -198
  340. package/skills/industries-icm-act5-genai-suggested-assessments-configure/SKILL.md +0 -361
  341. package/skills/industries-icm-act6-mcg-integration-configure/SKILL.md +0 -550
  342. package/skills/industries-integrated-care-management-configure/SKILL.md +0 -168
  343. package/skills/industries-object-enablement-configure/SKILL.md +0 -86
  344. package/skills/industries-tpm-system-processing-service-configure/SKILL.md +0 -64
  345. package/skills/integration-apex-settings-configure/SKILL.md +0 -61
  346. package/skills/marketing-e360-email-archiving-configure/SKILL.md +0 -73
  347. package/skills/platform-custom-permissions-configure/SKILL.md +0 -687
  348. package/skills/platform-label-workbench-import-create/SKILL.md +0 -67
  349. package/skills/platform-privacy-agent-settings-configure/SKILL.md +0 -752
@@ -1,233 +0,0 @@
1
- ---
2
- name: crm-analytics-operational-analytics-metadata-bridge-migrate
3
- description: "Use this skill when users want to oA->Tableau Next metadata bridge wizard. Trigger when users mention operational, analytics, metadata, bridge, operational analytics metadata bridge."
4
- metadata:
5
- version: "1.0"
6
- accessCheck: "Insights.userCanUseOaMetadataBridge"
7
- ---
8
-
9
- # Managing Operational Analytics Metadata Bridge
10
-
11
- ## When to Use This Skill
12
-
13
- OA->Tableau Next metadata bridge wizard. Migrates legacy Operational
14
- Analytics report-based dashboards into Tableau Next semantic data
15
- models. Lists in-flight and completed AnalyticsInteropMigrDef records
16
- (filter source=Oa - the Crma variant belongs to a sibling admin
17
- surface), drills into one job by id, lists Tableau Next workspaces
18
- and the org's Data Cloud connection, fetches DLO field metadata, and
19
- atomically generates a target DMO plus DLO->DMO field mapping from a
20
- dloConfig payload. Bulk status poll returns modeling state for many
21
- DMOs in one call. First-class concepts: the migration-job source
22
- enum {Crma, Oa} scopes lookups; the status enum {None,
23
- DataObjectsAndFieldsDiscovered, OaReportTypesSelected,
24
- DataLakeObjectLineageSaved, DataModelObjectLineageSaved,
25
- CrmaDashboardsSelected, CrmaRecipesSelected, Completed, Failed}
26
- tracks wizard progress. Update paths on the migration-job record
27
- require echoing the current definitionVersion (optimistic locking).
28
-
29
- ## Workflow
30
-
31
- Reads are independent (no ordering between get-active-interop-process,
32
- get-interop-migration-history, get-interop-migration-job-by-id,
33
- get-workspaces, get-connection-name, get-dlo-details,
34
- get-bulk-dmo-status, get-semantic-models-for-dataspace,
35
- get-all-semantic-model-api-names-for-dataspace). The atomic write
36
- generate-dmo-with-mapping is initiated with a dloConfig payload;
37
- verify-generate-dmo-with-mapping reads back via get-bulk-dmo-status
38
- using the new DMO's developer name to confirm the deploy reached a
39
- terminal modeling state.
40
-
41
- Workflow - a typical OA->Tableau Next migration: (1) list active jobs
42
- to check for an in-flight record; (2) list history for completed
43
- migrations context; (3) fetch workspaces + Data Cloud connection to
44
- populate wizard pickers; (4) fetch DLO field metadata for the source
45
- DLO; (5) optionally pre-check semantic-model name collisions via
46
- get-all-semantic-model-api-names-for-dataspace; (6) submit the
47
- dloConfig to generate-dmo-with-mapping (or the bulk variant for
48
- multiple DMOs in one transaction); (7) poll get-bulk-dmo-status until
49
- the target DMO reaches Completed.
50
-
51
- Out-of-band admin surface: POST /wave/interop/migration-jobs creates
52
- an AnalyticsInteropMigrDef record standalone (POST response body is
53
- 7 fields: id, name, label, dataspaceApiName, definitionVersion:1,
54
- source, status; GET on the created id returns the full 9-field record
55
- including server-assigned createdDate and lastModifiedDate); PATCH
56
- updates one, requiring
57
- the caller to echo the current definitionVersion - server increments
58
- on write (optimistic locking); DELETE removes the record. These
59
- aren't part of the wizard's happy path but are the canonical Connect
60
- surface for admin tools that manage AnalyticsInteropMigrDef records
61
- directly.
62
-
63
- Access guard: every cached controller signature (releases 262 and
64
- 264) gates all methods on Insights.userCanUseOaMetadataBridge. The
65
- legacy Analytics Metadata Bridge access appears in NO
66
- cached signature - the factory precondition originally named it in
67
- error (now corrected). Callers should gate on
68
- userCanUseOaMetadataBridge.
69
-
70
- ## Critical Constraints
71
-
72
- **Preconditions:**
73
-
74
- - User must have Insights UseOaMetadataBridge access (check: `Insights.userCanUseOaMetadataBridge`)
75
-
76
- ## Verification Checklist
77
-
78
- After every write operation, confirm the effect by re-reading state:
79
-
80
- - After `generate-dmo-with-mapping`: call `verify-generate-dmo-with-mapping` (`GET /headless/invoke/platform/operational-analytics-metadata-bridge/get-bulk-dmostatus`)
81
-
82
- ## Operations Reference
83
-
84
- Operations grouped by purpose. Use these as the building blocks for the workflows above.
85
-
86
- ### Summary
87
-
88
- | Operation | Purpose | Status | Call | Depends on |
89
- |-----------|---------|--------|------|------------|
90
- | `get-active-interop-process` | read | proposed | `GET /services/data/v66.0/wave/interop/migration-jobs` | — |
91
- | `get-interop-migration-history` | read | proposed | `GET /services/data/v66.0/wave/interop/migration-jobs` | — |
92
- | `get-interop-migration-job-by-id` | read | proposed | `GET /services/data/v66.0/wave/interop/migration-jobs/{interopMigrationJobId}` | — |
93
- | `get-workspaces` | read | implemented | `GET /services/data/v66.0/tableau/workspaces` | — |
94
- | `get-connection-name` | read | proposed | `GET /services/data/v66.0/ssot/connections` | — |
95
- | `generate-dmo-with-mapping` | write | proposed | `PATCH /headless/invoke/platform/operational-analytics-metadata-bridge/generate-dmo-with-mapping` | — |
96
- | `get-dlo-details` | read | proposed | `GET /services/data/v66.0/ssot/data-lake-objects/{recordIdOrDeveloperName}` | — |
97
- | `get-bulk-dmo-status` | read | implemented | `GET /headless/invoke/platform/operational-analytics-metadata-bridge/get-bulk-dmostatus` | — |
98
- | `verify-generate-dmo-with-mapping` | verify | proposed | `GET /headless/invoke/platform/operational-analytics-metadata-bridge/get-bulk-dmostatus` | `generate-dmo-with-mapping` |
99
- | `get-semantic-models-for-dataspace` | read | proposed | `GET /headless/invoke/platform/operational-analytics-metadata-bridge/get-semantic-models-for-dataspace` | — |
100
- | `get-all-semantic-model-api-names-for-dataspace` | read | proposed | `GET /headless/invoke/platform/operational-analytics-metadata-bridge/get-all-semantic-model-api-names-for-dataspace` | — |
101
- | `generate-dmos-with-mapping-bulk` | write | proposed | `PATCH /headless/invoke/platform/operational-analytics-metadata-bridge/generate-dmos-with-mapping-bulk` | — |
102
-
103
- ### Read operations
104
-
105
- #### `get-active-interop-process`
106
-
107
- List interop migration jobs filtered by source=Oa; caller selects the latest entry with status=Started to recover the active OA migration. Connect representation per the InteropMigrationJob schema.
108
-
109
- **Call:** `GET /services/data/v66.0/wave/interop/migration-jobs` — status: `proposed`
110
-
111
- #### `get-interop-migration-history`
112
-
113
- List interop migration jobs filtered by source=Oa; caller filters to status=Completed and sorts by createdDate desc to recover the OA migration history.
114
-
115
- **Call:** `GET /services/data/v66.0/wave/interop/migration-jobs` — status: `proposed`
116
-
117
- #### `get-interop-migration-job-by-id`
118
-
119
- Read one interop migration job by its record id; returns the InteropMigrationJob representation with id, dataspaceApiName, definitionVersion, status, source, errorInfo, and the per-source selection lineage fields.
120
-
121
- **Call:** `GET /services/data/v66.0/wave/interop/migration-jobs/{interopMigrationJobId}` — status: `proposed`
122
-
123
- **Inputs:**
124
-
125
- - `jobId` *(`String`)*
126
-
127
- #### `get-workspaces`
128
-
129
- List Tableau Next workspaces visible to the running user, populating the OA bridge wizard's workspace picker. Optional limit/offset for pagination; returns workspaces array of {id, name, label}.
130
-
131
- **Call:** `GET /services/data/v66.0/tableau/workspaces` — status: `implemented`
132
-
133
- #### `get-connection-name`
134
-
135
- List Data Cloud connection records. connectorType is a REQUIRED query parameter - a request without it returns 400 ILLEGAL_QUERY_PARAMETER_VALUE ("ConnectorType must be provided"). The OA bridge passes connectorType=SalesforceDotCom; the server returns only that connector's connection metadata (server-side filtered, not caller-side), recovering the running org's Data Cloud connection used by the wizard.
136
-
137
- **Call:** `GET /services/data/v66.0/ssot/connections` — status: `proposed`
138
-
139
- #### `get-dlo-details`
140
-
141
- Read one Data Lake Object by record id or developer name; returns the DLO record with label, category, and field metadata used by the OA bridge wizard's mapping panel.
142
-
143
- **Call:** `GET /services/data/v66.0/ssot/data-lake-objects/{recordIdOrDeveloperName}` — status: `proposed`
144
-
145
- **Inputs:**
146
-
147
- - `dloApiName` *(`String`)*
148
-
149
- #### `get-bulk-dmo-status`
150
-
151
- Bulk-poll modeling status; List<String> of DMO developer names -> name->status map. AURA-IS-CANONICAL - no Connect/Tooling endpoint accepts a name list; substitution forces N round-trips and loses batch semantics. FACTORY GAP (live-confirmed on epic-orgfarm): this route is currently UN-INVOKABLE via the dispatcher - a headless Aura GET whose only param is a List<String> query param returns 400 REQUEST_ERROR "Invalid request", because the invoke envelope's query_params is a string-valued map and cannot carry a list. No-param and single-String-param headless GETs on the same org return 200, isolating the failure to the List<String> query encoding. This also breaks the verify-generate-dmo-with-mapping read-back step.
152
-
153
- **Call:** `GET /headless/invoke/platform/operational-analytics-metadata-bridge/get-bulk-dmostatus` — status: `implemented`
154
-
155
- **Inputs:**
156
-
157
- - `dmoDeveloperNames` *(`List<String>`)*
158
-
159
- #### `get-semantic-models-for-dataspace`
160
-
161
- List semantic data models scoped to one dataspace. The OA bridge wizard
162
- calls this to populate the DMO picker per dataspace before generating
163
- a new mapping. No public Connect / Tooling / Metadata alternative
164
- surfaces the dataspace-scoped list shape.
165
-
166
- **Call:** `GET /headless/invoke/platform/operational-analytics-metadata-bridge/get-semantic-models-for-dataspace` — status: `proposed`
167
-
168
- **Inputs:**
169
-
170
- - `dataspaceApiName` *(`String`)* — API name of the target dataspace (default is `default`). Scopes the
171
- returned semantic-model list to only models defined in this dataspace.
172
-
173
- #### `get-all-semantic-model-api-names-for-dataspace`
174
-
175
- List semantic model api names in one dataspace. The OA bridge wizard
176
- uses this to check for duplicate name collisions before creating a
177
- new DMO in that dataspace. Lighter-weight than the full semantic-model
178
- list read; returns names only.
179
-
180
- **Call:** `GET /headless/invoke/platform/operational-analytics-metadata-bridge/get-all-semantic-model-api-names-for-dataspace` — status: `proposed`
181
-
182
- **Inputs:**
183
-
184
- - `dataspaceApiName` *(`String`)* — API name of the target dataspace. Scopes the returned name list to
185
- models defined in this dataspace.
186
-
187
- ### Write operations
188
-
189
- #### `generate-dmo-with-mapping`
190
-
191
- Atomic DLO->DMO materialization: resolve the source DLO, create the target custom DMO when missing, and apply the field mapping in one autoCommit multi-wrapper. AURA-IS-CANONICAL - chained cdp-connect-api calls would lose autoCommit atomicity across the CdpDataLakeObject/DataModelObject/Mapping/DataSpace wrappers. The dloConfig body map (live-verified against the controller's own validation errors on epic-orgfarm) requires: dloApiName (source DLO API name, e.g. "ProvisionedFeature__dll"); dloFieldNames (List<String> of source DLO field API names to carry - REQUIRED, "Data Lake Object information must include field names"); dmoDeveloperName (target DMO developer name; the controller appends "__dlm", so "ProvisionedFeature_OA" -> "ProvisionedFeature_OA__dlm"); dataspaceApiName (default "default"); and mappingFields (list of source->target field entries, per-entry shape {sourceFieldName, targetFieldName} - structurally accepted and reached the createDMO step on epic-orgfarm). NOTE: the harness-inferred key "dlmDeveloperName" is WRONG - the controller reads "dloApiName" and 500s ("Data Lake Object information must include API name") on the wrong key.
192
-
193
- **Call:** `PATCH /headless/invoke/platform/operational-analytics-metadata-bridge/generate-dmo-with-mapping` — status: `proposed`
194
-
195
- **Inputs:**
196
-
197
- - `dloConfig` *(`Map<String, Object>`)* — Value for dlo config.
198
-
199
- #### `generate-dmos-with-mapping-bulk`
200
-
201
- Bulk variant of generate-dmo-with-mapping: accepts a list of dloConfig
202
- entries plus a correlationId and atomically creates all DMOs and their
203
- DLO field mappings in one call. AURA-IS-CANONICAL - the batch shape
204
- + atomic autoCommit across multiple DLO/DMO/Mapping/DataSpace wrappers
205
- has no Connect/Tooling equivalent.
206
-
207
- **Call:** `PATCH /headless/invoke/platform/operational-analytics-metadata-bridge/generate-dmos-with-mapping-bulk` — status: `proposed`
208
-
209
- **Inputs:**
210
-
211
- - `dloConfigs` *(`List<Map<String, Object>>`)* — List of per-DMO dloConfig entries; each entry follows the SAME generate-dmo-with-mapping dloConfig contract: dloApiName (source DLO API name, e.g. "ProvisionedFeature__dll"); dloFieldNames (List<String> of source DLO field API names to carry - REQUIRED); dmoDeveloperName (target DMO developer name; the controller appends "__dlm"); dataspaceApiName (default "default"); and mappingFields (per-entry {sourceFieldName, targetFieldName}). NOTE: the harness-inferred key "dlmDeveloperName" is WRONG - the controller reads "dloApiName" and 500s ("Data Lake Object information must include API name") on the wrong key, exactly as documented on the singular generate-dmo-with-mapping step. All entries are processed inside one autoCommit transaction; partial success is not surfaced.
212
- - `correlationId` *(`String`)* — Client-supplied correlation identifier for the bulk operation.
213
- Downstream progress tracking (via get-bulk-dmo-status) uses the
214
- resulting DMO developer names, not this id; supply a stable value
215
- per bulk submission for observability.
216
-
217
- ### Verify operations
218
-
219
- #### `verify-generate-dmo-with-mapping`
220
-
221
- Read back via get-bulk-dmo-status with the new DMO developer name; the returned map's modeling-status entry confirms the deploy reached the platform.
222
-
223
- **Call:** `GET /headless/invoke/platform/operational-analytics-metadata-bridge/get-bulk-dmostatus` — status: `proposed`
224
-
225
- **Inputs:**
226
-
227
- - `dmoDeveloperNames` *(`List<String>`)*
228
-
229
- **Depends on:** `generate-dmo-with-mapping`
230
-
231
- ## Notes
232
-
233
- - **wire_contract_findings:** {'description': 'GET /wave/interop/migration-jobs?source=<invalid> returns 503 with\nerrorCode 239 ("The specified enum type has no constant with the\nspecified name: <value>"). Query-filter enum validation is\ncase-sensitive and rejects unknown values with a server-error shape\n(not a 400).', 'affected_step': 'get-active-interop-process'}, {'description': 'POST /wave/interop/migration-jobs body {source: <invalid>, ...}\nreturns 400 POST_BODY_PARSE_ERROR ("Invalid value for Invalid\ninteroperability migration source: <value>"). Body enum validation\nproduces a different error shape than the query-filter case above.', 'affected_step': 'get-active-interop-process'}, {'description': 'GET /wave/interop/migration-jobs/{invalid-id} returns 404 errorCode\n135 ("Failed to load AnalyticsInteropMigrDef for Id=<id>"). Distinct\nfrom the 118 mandatory-field code.', 'affected_step': 'get-interop-migration-job-by-id'}, {'description': 'PATCH /wave/interop/migration-jobs/{id} without definitionVersion in\nthe body returns 400 errorCode 118 ("definitionVersion is a\nmandatory field"). PATCH is not true partial merge - the caller\nmust fetch the current record and echo definitionVersion on every\nupdate. On success, the server increments definitionVersion by 1\n(optimistic-locking semantics; a stale echo will conflict).', 'affected_step': 'get-interop-migration-job-by-id'}, {'description': 'POST /wave/interop/migration-jobs body accepts a strict subset of\nthe response fields: only {source, dataspaceApiName, status} are\nwritable inputs. Including id, name, label, definitionVersion,\ncreatedDate, or lastModifiedDate in the request body returns 400\nJSON_PARSER_ERROR "Unrecognized field <field>" (short-circuits\nbefore enum validation). Server auto-assigns id, name, label\n(name defaults to AnalyticsInteropMigrDef_<random>; label mirrors\nname), definitionVersion (starts at 1), createdDate,\nlastModifiedDate.', 'affected_step': 'get-active-interop-process'}, {'description': 'PATCH /wave/interop/migration-jobs/{id} rejects `name` and `label`\nas unrecognized input fields (400 JSON_PARSER_ERROR). These are\nimmutable post-create - only `status`, `definitionVersion` (echo),\nand per-source selection lineage fields are mutable. Agents\ndriving update workflows should not attempt to rename records.', 'affected_step': 'get-interop-migration-job-by-id'}, {'description': 'PATCH body `status` field has a stricter accepted-value set than\nthe response schema exposes. Long-form values like\nDataObjectsAndFieldsDiscovered return 503 errorCode 239 ("No enum\nconstant AnalyticsInteropMigrDefStatusEnum.<abbrev>") where the\nserver has translated the input to an internal abbreviation\nbefore enum lookup. The short abbreviation itself (e.g., DOAFD)\nreturns 400 POST_BODY_PARSE_ERROR "Invalid value for status".\nConfirmed accepted: None. Agents should treat the write-side\nstatus enum as a distinct, less permissive set than the response\nschema - probe or use `get-interop-migration-job-by-id` to\ndiscover an accepted value before PATCH-transitioning state.', 'affected_step': 'get-interop-migration-job-by-id'}, {'description': 'definitionVersion does not increment strictly by +1 per successful\nPATCH. After POST (v1), a successful PATCH may return v3 or higher\neven when no prior successful PATCH occurred - validation-error\npaths (400/503) can still bump the internal version counter, or\nthe successful PATCH itself may bump by more than one. Agents MUST\nround-trip a GET after any successful write to recover the current\nversion before the next PATCH; do not assume +1 arithmetic.', 'affected_step': 'get-interop-migration-job-by-id'}
@@ -1,184 +0,0 @@
1
- ---
2
- name: crm-analytics-report-notifications-ui-configure
3
- description: "Use this skill when users want to setup page for managing AnalyticNotification records—Lightning Report and Dashboard subscriptions scoped to the calling user. Trigger when users mention report, notifications, ui, report notifications ui."
4
- metadata:
5
- version: "1.0"
6
- accessCheck: "AnalyticsAccessCheck.CAN_SUBSCRIBE_REPORTS_RUN_AS_USER"
7
- ---
8
-
9
- # Managing Report Notifications Ui
10
-
11
- ## When to Use This Skill
12
-
13
- Setup page for managing AnalyticNotification records—Lightning Report and Dashboard subscriptions scoped to the calling user. The page lists existing subscriptions and supports creating, updating, and deleting subscriptions.
14
-
15
- Programmatic CRUD operations are exposed through the SubscribeDialog Aura controller, mounted at /headless/invoke/analytics/analytics-home/subscribe-dialog/.
16
-
17
- Each record-scoped operation requires a `source` parameter ("Report" or "Dashboard") and either:
18
- - `recordId` — the target Report or Dashboard, or
19
- - `notificationId` — an existing subscription.
20
-
21
- Before performing subscription operations, call getReportSubscriptionUserPerms to determine permissions and gate flows involving Run As User and other-user recipients.
22
-
23
- The two setup_page steps—view and refresh—are navigation-canonical. No programmatic API replaces the Setup page UI itself.
24
-
25
- ## Workflow
26
-
27
- {'canonical_sequence': ['read-report-subscription-user-perms', 'read-limits', 'read-notification-info', 'read-recipient-types', 'write-notification', 'update-notification', 'delete-unsubscribe-notification'], 'notes': "Always read perms + limits before write operations. Use read-notification-info to check existing state before create/update/delete. For updates, prefer update-notification over delete+create. The `source` parameter is always 'Report' or 'Dashboard' — no other values are accepted."}
28
-
29
- ## Critical Constraints
30
-
31
- **Preconditions:**
32
-
33
- - Reports & Dashboards is enabled in the org. Default in every Salesforce edition; included for completeness.
34
- - Caller has access to the Report or Dashboard identified by `recordId`. Subscription operations resolve recordId in the caller's sharing context; a record the caller cannot view will not be subscribable.
35
- - For run-as-user or other-user-recipient subscriptions, caller must hold the corresponding perm — read via read-report-subscription-user-perms (CAN_SUBSCRIBE_REPORTS_RUN_AS_USER / CAN_SUBSCRIBE_REPORT_TO_OTHER_USERS). (check: `AnalyticsAccessCheck.CAN_SUBSCRIBE_REPORTS_RUN_AS_USER`)
36
-
37
- **Destructive operations — require explicit user confirmation:**
38
-
39
- - **`delete-unsubscribe-notification`** — Delete the AnalyticNotification identified by `notificationId`. Throws IllegalArgumentException if the id does not resolve to AnalyticNotification entity type. Obtain `notificationId` from a prior read-notification-info call.
40
- - Rollback: No automatic rollback.
41
-
42
- ## Operations Reference
43
-
44
- Operations grouped by purpose. Use these as the building blocks for the workflows above.
45
-
46
- ### Summary
47
-
48
- | Operation | Purpose | Status | Call | Depends on |
49
- |-----------|---------|--------|------|------------|
50
- | `view_ReportNotificationsUI_1` | read | — | `ReportNotificationsUI.view` | — |
51
- | `refresh_ReportNotificationsUI_1` | read | — | `ReportNotificationsUI.refresh` | — |
52
- | `read-notification-info` | read | — | `GET /headless/invoke/analytics/analytics-home/subscribe-dialog/get-notification-info` | — |
53
- | `read-report-subscription-user-perms` | read | — | `GET /headless/invoke/analytics/analytics-home/subscribe-dialog/get-report-subscription-user-perms` | — |
54
- | `write-notification` | write | — | `PATCH /headless/invoke/analytics/analytics-home/subscribe-dialog/create-notification` | `read-report-subscription-user-perms`, `read-limits` |
55
- | `delete-unsubscribe-notification` | delete | — | `PATCH /headless/invoke/analytics/analytics-home/subscribe-dialog/unsubscribe-notification` | `read-notification-info` |
56
- | `update-notification` | write | — | `PATCH /headless/invoke/analytics/analytics-home/subscribe-dialog/save-notification` | `read-notification-info`, `read-report-subscription-user-perms` |
57
- | `read-limits` | read | — | `GET /headless/invoke/analytics/analytics-home/subscribe-dialog/get-limits` | — |
58
- | `read-recipient-types` | read | — | `GET /headless/invoke/analytics/analytics-home/subscribe-dialog/get-recipient-types` | — |
59
-
60
- ### Dependency graph
61
-
62
- ```mermaid
63
- graph TD
64
- view_ReportNotificationsUI_1["view_ReportNotificationsUI_1 (read)"]
65
- refresh_ReportNotificationsUI_1["refresh_ReportNotificationsUI_1 (read)"]
66
- read_notification_info["read-notification-info (read)"]
67
- read_report_subscription_user_perms["read-report-subscription-user-perms (read)"]
68
- write_notification["write-notification (write)"]
69
- delete_unsubscribe_notification["delete-unsubscribe-notification (delete)"]
70
- update_notification["update-notification (write)"]
71
- read_limits["read-limits (read)"]
72
- read_recipient_types["read-recipient-types (read)"]
73
- read_report_subscription_user_perms --> write_notification
74
- read_limits --> write_notification
75
- read_notification_info --> delete_unsubscribe_notification
76
- read_notification_info --> update_notification
77
- read_report_subscription_user_perms --> update_notification
78
- ```
79
-
80
- ### Read operations
81
-
82
- #### `view_ReportNotificationsUI_1`
83
-
84
- Open the Subscriptions Setup page for manual review of the caller's Lightning report/dashboard subscriptions. NAVIGATION — no programmatic API navigates the page UI; manage subscription records via subscribe-dialog steps.
85
-
86
- **Call:** `ReportNotificationsUI.view`
87
-
88
- #### `refresh_ReportNotificationsUI_1`
89
-
90
- Reload the Subscriptions Setup page. NAVIGATION — no API analog; reissue the underlying subscribe-dialog reads (e.g. read-notification-info) to pick up record changes programmatically.
91
-
92
- **Call:** `ReportNotificationsUI.refresh`
93
-
94
- #### `read-notification-info`
95
-
96
- Read caller's AnalyticNotification (subscription) for `recordId` scoped to `source`. `recordId` must be a Report or Dashboard; `source` must be 'Report' or 'Dashboard' — passing neither raises IllegalArgumentException.
97
-
98
- **Call:** `GET /headless/invoke/analytics/analytics-home/subscribe-dialog/get-notification-info`
99
-
100
- **Inputs:**
101
-
102
- - `recordId` *(`String`)*
103
- - `source` *(`String`)*
104
-
105
- **Output:** AnalyticNotification record envelope. Returns the caller's subscription state for the recordId; absent/null when the user is not subscribed.
106
-
107
- #### `read-report-subscription-user-perms`
108
-
109
- Read caller's report-subscription perm flags. Returns `{runAsAccess, subscribeToOtherUsersAccess}` derived from AnalyticsAccessCheck.CAN_SUBSCRIBE_REPORTS_RUN_AS_USER and CAN_SUBSCRIBE_REPORT_TO_OTHER_USERS — gate before scripting create-notification with run-as-user or other-user recipients.
110
-
111
- **Call:** `GET /headless/invoke/analytics/analytics-home/subscribe-dialog/get-report-subscription-user-perms`
112
-
113
- **Output:** Returns `{runAsAccess: boolean, subscribeToOtherUsersAccess: boolean}` — the two perm bits that gate the dialog's run-as picker and other-user-recipient input.
114
-
115
- #### `read-limits`
116
-
117
- Read the org's subscription capacity limits for the given `source` ("Report" or "Dashboard"). Returns max subscriptions allowed and current count. Call before create-notification to pre-check capacity.
118
-
119
- **Call:** `GET /headless/invoke/analytics/analytics-home/subscribe-dialog/get-limits`
120
-
121
- **Inputs:**
122
-
123
- - `source` *(`String`)*
124
-
125
- **Output:** Returns subscription limit info for the source type — max allowed and current usage count.
126
-
127
- #### `read-recipient-types`
128
-
129
- Read available recipient types for the report/dashboard identified by `recordId`. Returns the list of valid recipient type options (e.g. User, Group) that can be used in the create-notification `data` payload.
130
-
131
- **Call:** `GET /headless/invoke/analytics/analytics-home/subscribe-dialog/get-recipient-types`
132
-
133
- **Inputs:**
134
-
135
- - `recordId` *(`String`)*
136
-
137
- **Output:** List of objects — each with type name and availability for the given record.
138
-
139
- ### Write operations
140
-
141
- #### `write-notification`
142
-
143
- Create an AnalyticNotification (subscription) from serialized `data` payload encoding recipients, schedule, run-as user, and other subscription parameters. Call read-limits first to verify capacity, and read-recipient-types to discover valid recipient options for the data payload.
144
-
145
- **Call:** `PATCH /headless/invoke/analytics/analytics-home/subscribe-dialog/create-notification`
146
-
147
- **Inputs:**
148
-
149
- - `data` *(`String`)*
150
-
151
- **Depends on:** `read-report-subscription-user-perms`, `read-limits`
152
-
153
- **Output:** A JSON response from analytics direct-REST create — created AnalyticNotification record id and resolved schedule/recipients on success.
154
-
155
- #### `update-notification`
156
-
157
- Update an existing AnalyticNotification (subscription) identified by `notificationId`. The `data` payload encodes the same fields as create-notification (recipients, schedule, run-as user). Obtain `notificationId` from a prior read-notification-info call.
158
-
159
- **Call:** `PATCH /headless/invoke/analytics/analytics-home/subscribe-dialog/save-notification`
160
-
161
- **Inputs:**
162
-
163
- - `notificationId` *(`String`)*
164
- - `data` *(`String`)*
165
-
166
- **Depends on:** `read-notification-info`, `read-report-subscription-user-perms`
167
-
168
- **Output:** Returns the updated AnalyticNotification REST response body on success.
169
-
170
- ### Destructive operations
171
-
172
- #### `delete-unsubscribe-notification`
173
-
174
- Delete the AnalyticNotification identified by `notificationId`. Throws IllegalArgumentException if the id does not resolve to AnalyticNotification entity type. Obtain `notificationId` from a prior read-notification-info call.
175
-
176
- **Call:** `PATCH /headless/invoke/analytics/analytics-home/subscribe-dialog/unsubscribe-notification`
177
-
178
- **Inputs:**
179
-
180
- - `notificationId` *(`String`)*
181
-
182
- **Depends on:** `read-notification-info`
183
-
184
- **Output:** Returns the analytics direct-REST delete response (typically empty/success on a successful unsubscribe).
@@ -1,167 +0,0 @@
1
- ---
2
- name: crm-analytics-sharing-inheritance-coverage-analyze
3
- description: "Use this skill when users want to setup page for CRM Analytics (Wave) Sharing Inheritance Coverage. Trigger when users mention insights, setup, sharing, inheritance, coverage, insights setup sharing inheritance coverage."
4
- metadata:
5
- version: "1.0"
6
- ---
7
-
8
- # Managing Insights Setup Sharing Inheritance Coverage
9
-
10
- ## When to Use This Skill
11
-
12
- Setup page for CRM Analytics (Wave) Sharing Inheritance Coverage. Reads org-level descriptor limits, lists sObjects/datasets eligible for sharing inheritance, submits user-coverage calculation jobs (CoverageJobStatusEnum: NotStarted/InProgress/Success/Failure), polls job status, and reads back per-object/per-user coverage. 6 of 9 steps substitute to public Connect API `/wave/security/coverage/*` (insights-connect-api); the 2 org-value getters (MED_VIS_DESCRIPTOR_LIMIT, WAVE_V_S_MAX_DESCRIPTORS) and the dataset→sharingSource resolver remain Aura-canonical.
13
-
14
- ## Workflow
15
-
16
- Workflow: read get-elt-limit + get-query-limit (descriptor caps driving unsupportedRecords / userCountCoverageUnknown). Discover via get-eligible-objects + get-eligible-datasets; get-object-details for per-object detail. User coverage: post-user-coverage → poll get-coverage-job until Success/Failure → read get-user-coverage. get-dataset-sharing-source resolves dataset→sObject.
17
-
18
- ## Critical Constraints
19
-
20
- **Preconditions:**
21
-
22
- - Setup page requires `Insights or analytics enabled && Insights enabled && OrgPreferences.WaveSharingInheritance && Insights Data Prep Editor` (per the setup-manifest access gate). None of the individual steps enforce this directly in the Aura controller — it's the page-level gate an admin/agent must satisfy before any of these operations are reachable at all, most notably the `WaveSharingInheritance` org preference and the `InsightsEltEditor` permission, neither of which is implied by a generic Insights/Wave license. (check: `InsightsSetupSharingInheritanceCoverage page access`)
23
-
24
- ## Operations Reference
25
-
26
- Operations grouped by purpose. Use these as the building blocks for the workflows above.
27
-
28
- ### Summary
29
-
30
- | Operation | Purpose | Status | Call | Depends on |
31
- |-----------|---------|--------|------|------------|
32
- | `get-elt-limit` | read | implemented | `GET /headless/invoke/platform/insights-setup-sharing-inheritance-coverage` | — |
33
- | `get-query-limit` | read | implemented | `GET /headless/invoke/platform/insights-setup-sharing-inheritance-coverage/get-query-limit` | — |
34
- | `get-coverage-job` | read | proposed | `GET /services/data/v66.0/wave/security/coverage/jobs/{jobId}` | `post-user-coverage` |
35
- | `get-eligible-objects` | read | proposed | `GET /services/data/v66.0/wave/security/coverage/objects` | — |
36
- | `get-eligible-datasets` | read | proposed | `GET /services/data/v66.0/wave/security/coverage/datasets` | — |
37
- | `post-user-coverage` | write | proposed | `POST /services/data/v66.0/wave/security/coverage/objects/{objectApiName}/users` | `get-eligible-objects` |
38
- | `get-user-coverage` | read | proposed | `GET /services/data/v66.0/wave/security/coverage/objects/{objectApiName}/users` | `post-user-coverage`, `get-coverage-job` |
39
- | `get-object-details` | read | implemented | `GET /services/data/v66.0/wave/security/coverage/objects/{objectApiName}` | `get-eligible-objects` |
40
- | `get-dataset-sharing-source` | read | proposed | `GET /headless/invoke/platform/insights-setup-sharing-inheritance-coverage/get-dataset-sharing-source` | `get-eligible-datasets` |
41
-
42
- ### Dependency graph
43
-
44
- ```mermaid
45
- graph TD
46
- get_elt_limit["get-elt-limit (read)"]
47
- get_query_limit["get-query-limit (read)"]
48
- get_coverage_job["get-coverage-job (read)"]
49
- get_eligible_objects["get-eligible-objects (read)"]
50
- get_eligible_datasets["get-eligible-datasets (read)"]
51
- post_user_coverage["post-user-coverage (write)"]
52
- get_user_coverage["get-user-coverage (read)"]
53
- get_object_details["get-object-details (read)"]
54
- get_dataset_sharing_source["get-dataset-sharing-source (read)"]
55
- post_user_coverage --> get_coverage_job
56
- get_eligible_objects --> post_user_coverage
57
- post_user_coverage --> get_user_coverage
58
- get_coverage_job --> get_user_coverage
59
- get_eligible_objects --> get_object_details
60
- get_eligible_datasets --> get_dataset_sharing_source
61
- ```
62
-
63
- ### Read operations
64
-
65
- #### `get-elt-limit`
66
-
67
- Read `MED_VIS_DESCRIPTOR_LIMIT` org-value (integer): per-record descriptor cap gating medium-visibility sharing predicates. AURA-IS-CANONICAL — no public Connect/Tooling/Metadata/sObject surface exposes this org-value.
68
-
69
- **Call:** `GET /headless/invoke/platform/insights-setup-sharing-inheritance-coverage` — status: `implemented`
70
-
71
- **Output:** Returns an integer — the medium-visibility descriptor limit per the spec's `SharingInheritanceCoveragePageAuraGeteltlimitRepresentation` (type: integer, format: int32).
72
-
73
- #### `get-query-limit`
74
-
75
- Read `WAVE_V_S_MAX_DESCRIPTORS` org-value (integer): per-user descriptor ceiling driving `userCountCoverageUnknown` in user-coverage results. AURA-IS-CANONICAL — no public surface exposes this org-value.
76
-
77
- **Call:** `GET /headless/invoke/platform/insights-setup-sharing-inheritance-coverage/get-query-limit` — status: `implemented`
78
-
79
- **Output:** Returns an integer — the per-user max-descriptors ceiling per the spec's `SharingInheritanceCoveragePageAuraGetquerylimitRepresentation` (type: integer, format: int32).
80
-
81
- #### `get-coverage-job`
82
-
83
- Read sharing-inheritance coverage job status by jobId. Returns CoverageJobRepresentation: status (CoverageJobStatusEnum: NotStarted/InProgress/Success/Failure), target object AssetReference, message, userCoverage URL for the read-back.
84
-
85
- **Call:** `GET /services/data/v66.0/wave/security/coverage/jobs/{jobId}` — status: `proposed`
86
-
87
- **Inputs:**
88
-
89
- - `JOB_ID` *(`String`)*
90
-
91
- **Depends on:** `post-user-coverage`
92
-
93
- **Output:** CoverageJobRepresentation: status (CoverageJobStatusEnum), object (AssetReference to the target sObject), message (string), userCoverage (ConnectUri to the get-user-coverage read-back).
94
-
95
- #### `get-eligible-objects`
96
-
97
- List sObjects whose access can be governed via sharing inheritance. Each ObjectCoverageRepresentation carries eligibleSharingSource, name, namespace, label, securityFields, url, and unsupportedRecords (records exceeding the medium-visibility descriptor limit).
98
-
99
- **Call:** `GET /services/data/v66.0/wave/security/coverage/objects` — status: `proposed`
100
-
101
- **Output:** {objectsCovered: array of ObjectCoverageRepresentation}, where each row has eligibleSharingSource (boolean), name, namespace, label, securityFields (array), url (ConnectUri), unsupportedRecords (UnsupportedRecordCollectionRepresentation with values + count).
102
-
103
- #### `get-eligible-datasets`
104
-
105
- Get the org-wide dataset sharing-inheritance roll-up — total datasets, count whose sharing source is eligible, the resulting coverage percentage, a per-entity occurrence count, and asset references for the eligible datasets.
106
-
107
- **Call:** `GET /services/data/v66.0/wave/security/coverage/datasets` — status: `proposed`
108
-
109
- **Output:** DatasetCoverageSummaryRepresentation: totalDatasets (integer), totalDatasetsCovered (integer), coveragePercentage (number), entityCount (object), datasetsCovered (array of AssetReferenceRepresentation).
110
-
111
- #### `get-user-coverage`
112
-
113
- Read user-coverage breakdown for the given sObject after the job completes: coveragePercentage, userCountCovered, userCountNotCovered, userCountCoverageUnknown (capped by WAVE_V_S_MAX_DESCRIPTORS), plus per-user usersNotCovered details.
114
-
115
- **Call:** `GET /services/data/v66.0/wave/security/coverage/objects/{objectApiName}/users` — status: `proposed`
116
-
117
- **Inputs:**
118
-
119
- - `OBJECT_NAME_PARAM` *(`String`)*
120
-
121
- **Depends on:** `post-user-coverage`, `get-coverage-job`
122
-
123
- **Output:** UserCoverageRepresentation: object (AssetReference), coveragePercentage (number), userCountCovered (integer), userCountNotCovered (integer), userCountCoverageUnknown (integer), usersNotCovered (array of UserCoverageDetailRepresentation with id/name/descriptorCount/reason), coverageJob (AssetReference to the producing job).
124
-
125
- #### `get-object-details`
126
-
127
- Read sharing-inheritance detail for one sObject: eligibleSharingSource flag, name/namespace/label, securityFields, self-URL, and unsupportedRecords (records whose descriptor count exceeds the MED_VIS_DESCRIPTOR_LIMIT from get-elt-limit).
128
-
129
- **Call:** `GET /services/data/v66.0/wave/security/coverage/objects/{objectApiName}` — status: `implemented`
130
-
131
- **Inputs:**
132
-
133
- - `OBJECT_NAME_PARAM` *(`String`)*
134
-
135
- **Depends on:** `get-eligible-objects`
136
-
137
- **Output:** ObjectCoverageRepresentation: eligibleSharingSource (boolean), name, namespace, label (strings), securityFields (array of string), url (ConnectUri), unsupportedRecords (UnsupportedRecordCollectionRepresentation with values + count).
138
-
139
- #### `get-dataset-sharing-source`
140
-
141
- Resolve a dataset (id or developer name) to its sharingSource sObject AssetReference. AURA-IS-CANONICAL: controller atomically resolves dataset → current version → sharingSource in one call; substituting splits into two round-trips losing atomicity.
142
-
143
- **Call:** `GET /headless/invoke/platform/insights-setup-sharing-inheritance-coverage/get-dataset-sharing-source` — status: `proposed`
144
-
145
- **Inputs:**
146
-
147
- - `DATASET_ID_PARAM` *(`String`)*
148
-
149
- **Depends on:** `get-eligible-datasets`
150
-
151
- **Output:** AssetReferenceRepresentation: id (ID), name, label, description (strings), url (ConnectUri) — pointing at the source sObject the dataset inherits sharing from.
152
-
153
- ### Write operations
154
-
155
- #### `post-user-coverage`
156
-
157
- Submit a sharing-inheritance user-coverage calculation for the given sObject. Returns CoverageJobRepresentation; the caller then polls get-coverage-job until status is Success or Failure, then reads get-user-coverage. Per the controller's own doc comment (SharingInheritanceCoveragePageAuraController.postUserCoverage), this endpoint "may throw an error when the report is run too often" (rate-limited) "and may also just throw a random error" — the controller's own guidance is to "make sure to handle the error code" rather than treat every thrown error as terminal; a caller/agent should be prepared to retry on failure rather than surfacing every error as a hard stop.
158
-
159
- **Call:** `POST /services/data/v66.0/wave/security/coverage/objects/{objectApiName}/users` — status: `proposed`
160
-
161
- **Inputs:**
162
-
163
- - `OBJECT_NAME_PARAM` *(`String`)* — Value for the objec nam param field.
164
-
165
- **Depends on:** `get-eligible-objects`
166
-
167
- **Output:** CoverageJobRepresentation: status (CoverageJobStatusEnum, typically NotStarted or InProgress on submit), object (AssetReference), message, userCoverage (ConnectUri to the eventual read-back).
@@ -1,55 +0,0 @@
1
- ---
2
- name: crm-analytics-sonic-getting-started-configure
3
- description: "Use this skill when users want to toggle Sonic (Data Pipelines / ELT) org prefs in Analytics Data Manager Setup. Trigger when users mention sonic, getting, started, sonic getting started."
4
- metadata:
5
- version: "1.0"
6
- accessCheck: "OrgPermissions.SonicLicensedOrg"
7
- ---
8
-
9
- # Querying Sonic Getting Started
10
-
11
- ## When to Use This Skill
12
-
13
- Toggle Sonic (Data Pipelines / ELT) org prefs in Analytics Data Manager Setup. Step 1: master license, scoped by `appType` (`DataManager`→`ORG_PREFERENCE_SONIC_ENABLED`, `MulesoftDataPath`→`ORG_PREFERENCE_MDWENABLED`); atomic `BulkPrefOperation`, runs `SonicEnablementUtil.postSonicOrgPrefEnable` on enable. Step 2: one output-connector pref; controller enforces server-side allowlist (`amazonS3`, `snowflake`, `tableauHyper`, `salesforce`). Both gated on View Setup + `USER_PERMISSION_SONIC_CONSUMER`. Both AURA-IS-CANONICAL — no Connect/Tooling/Metadata/sObject equivalent; controller is value-add (atomic batch, post-enable hook, allowlist).
14
-
15
- ## Critical Constraints
16
-
17
- **Preconditions:**
18
-
19
- - Caller holds `View Setup` AND `SONIC_CONSUMER` user permissions (composed access guard `Pipeline Inspector setup access` = `UserPermissions.ViewSetup && UserPermissions.SonicConsumer`). Both controller methods throw `NoAccessException` when either is absent. (check: `Pipeline Inspector setup access`)
20
- - Org has the Sonic license — `OrgPermissions.SonicLicensedOrg` enabled. The connector toggles in `handleOutputConnectorPref` map every connector to `PermPrefEnabler.*.isAccessAllowed` against `ORG_PERMISSION_SONIC_LICENSED_ORG`; without the license the prefs cannot be flipped. (check: `OrgPermissions.SonicLicensedOrg`)
21
-
22
- ## Operations Reference
23
-
24
- Operations grouped by purpose. Use these as the building blocks for the workflows above.
25
-
26
- ### Summary
27
-
28
- | Operation | Purpose | Status | Call | Depends on |
29
- |-----------|---------|--------|------|------------|
30
- | `handleSonicPref_1` | read | implemented | `PATCH /headless/invoke/platform/sonic-getting-started/handle-sonic-pref` | — |
31
- | `handleOutputConnectorPref_2` | read | implemented | `PATCH /headless/invoke/platform/sonic-getting-started/handle-output-connector-pref` | — |
32
-
33
- ### Read operations
34
-
35
- #### `handleSonicPref_1`
36
-
37
- Set master Sonic license org pref. Body: `value` (bool), `appType` (`DataManager`→`ORG_PREFERENCE_SONIC_ENABLED`, `MulesoftDataPath`→`ORG_PREFERENCE_MDWENABLED`); any other `appType` string (including `CdpDataManager`) is silently accepted but writes no pref — string-equality dispatch, not enum validation. Atomic `BulkPrefOperation`; on enable runs `SonicEnablementUtil.postSonicOrgPrefEnable` — NOT a narrow single-pref flip: it additionally enables `waveReplication`, `insightsIncrementalSync`, and `waveReplicationEnabled` org-wide via `InsightsUtilImpl.enableReplicationPermsAndPrefs` (confirmed against Core source + `SonicEnablementTest`'s own doc comment). AURA-IS-CANONICAL — atomic batch + this wider replication-enablement side effect not reconstructable from a generic pref-write.
38
-
39
- **Call:** `PATCH /headless/invoke/platform/sonic-getting-started/handle-sonic-pref` — status: `implemented`
40
-
41
- **Inputs:**
42
-
43
- - `value` *(`boolean`)*
44
- - `appType` *(`String`)*
45
-
46
- #### `handleOutputConnectorPref_2`
47
-
48
- Toggle one Sonic output-connector pref. Body: `value` (bool), `connectorpref` (one of `amazonS3`, `snowflake`, `tableauHyper`, `salesforce`; controller switches on this against `PermPrefEnabler` constants, other values throw). AURA-IS-CANONICAL — substituting drops the server-enforced allowlist (contract-fidelity gate).
49
-
50
- **Call:** `PATCH /headless/invoke/platform/sonic-getting-started/handle-output-connector-pref` — status: `implemented`
51
-
52
- **Inputs:**
53
-
54
- - `value` *(`boolean`)*
55
- - `connectorpref` *(`String`)*