@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,622 @@
1
+ ---
2
+ name: health-cloud-timeline-configure
3
+ description: "Use this skill when users want to configure the Health Cloud Timeline feature: toggle the org-level Timeline preference (one-way enable; CannotTurnPrefOffError on disable), then create/update/activate/delete TimelineMetadataDefinition records binding an anchor entity to event-bearing related entities and optional. Trigger when users mention timeline."
4
+ metadata:
5
+ version: "1.0"
6
+ accessCheck: "(Timeline.userCanAccessTimeline) || (Timeline.userCanConfigureCdpEventsOnTimeline)"
7
+ ---
8
+
9
+ # Managing Timeline
10
+
11
+ ## When to Use This Skill
12
+
13
+ Configure the Health Cloud Timeline feature: toggle the org-level Timeline preference (one-way enable; CannotTurnPrefOffError on disable), then create/update/activate/delete TimelineMetadataDefinition records binding an anchor entity to event-bearing related entities and optionally Data Cloud DMOs. Anchor allowlist and Timeline-eligibility filters are server-enforced. All steps route through the timeline setup endpoint — AURA-IS-CANONICAL; no public Connect/Tooling/Metadata CRUD on TimelineMetadataDefinition exists (the /connect/timeline/* family is runtime read-only). Read flow: anchor → related-entities / parents / CRM objects → event / DMO details. Write flow: enable pref → save config (RecordId omitted=create, supplied=update) → activate via setActiveStatus. Config name + API name required on save.
14
+
15
+ ## Workflow
16
+
17
+ Workflow: enable Timeline pref via handle-timeline-toggle (verify with get-timeline-org-pref) → list anchors via get-anchor-object → for the chosen anchor fan out via get-related-entities-of-anchor-entity / get-parent-objects-of-anchor-entity / get-related-crm-objects-of-anchor-entity (CDP path) → drill via get-event-object-details / get-related-entity-for-preview → read get-timeline-limits + get-timeline-cdp-limits to validate caps → call save-timeline-configuration with the assembled config (omit RecordId=create, supply=update) → set-timeline-configuration-active-status to activate. Use get-timeline-object-definitions(offset) for paged listing. Substitutions: none — every step is AURA-IS-CANONICAL; the /connect/timeline/* family is runtime read-by-name, not setup CRUD.
18
+
19
+ ## Critical Constraints
20
+
21
+ **Preconditions:**
22
+
23
+ - User must have Timeline AccessTimeline access (check: `Timeline access`)
24
+ - User must have Timeline ConfigureCdpEventsOnTimeline access (check: `Configure Data Cloud events on timeline`)
25
+
26
+ **Destructive operations — require explicit user confirmation:**
27
+
28
+ - **`delete-timeline-configuration`** — Delete a saved Timeline definition by RecordId. Destructive — no soft-delete. AURA-IS-CANONICAL — no public CRUD alternative.
29
+ - Rollback: No automatic rollback.
30
+
31
+ ## Verification Checklist
32
+
33
+ After every write operation, confirm the effect by re-reading state:
34
+
35
+ - After `handle-timeline-toggle`: call `verify-handle-timeline-toggle` (`GET /headless/invoke/platform/timeline/get-timeline-org-pref`)
36
+ - After `save-timeline-configuration`: call `verify-save-timeline-configuration` (`GET /headless/invoke/platform/timeline/get-timeline-object-definitions`)
37
+ - After `delete-timeline-configuration`: call `verify-delete-timeline-configuration` (`GET /headless/invoke/platform/timeline/get-timeline-object-definitions`)
38
+ - After `set-timeline-configuration-active-status`: call `verify-set-timeline-configuration-active-status` (`GET /headless/invoke/platform/timeline/get-timeline-object-definitions`)
39
+
40
+ ## Operations Reference
41
+
42
+ Operations grouped by purpose. Use these as the building blocks for the workflows above.
43
+
44
+ ### Summary
45
+
46
+ | Operation | Purpose | Status | Call | Depends on |
47
+ |-----------|---------|--------|------|------------|
48
+ | `is-data-space-enabled` | read | implemented | `GET /headless/invoke/platform/timeline` | — |
49
+ | `get-data-spaces` | read | implemented | `GET /headless/invoke/platform/timeline/get-data-spaces` | — |
50
+ | `get-timeline-org-pref` | read | proposed | `GET /headless/invoke/platform/timeline/get-timeline-org-pref` | — |
51
+ | `get-timeline-data-cloud-events-enabled` | read | proposed | `GET /headless/invoke/platform/timeline/get-timeline-data-cloud-events-enabled` | `is-data-space-enabled` |
52
+ | `get-timeline-data-graph-events-enabled` | read | proposed | `GET /headless/invoke/platform/timeline/get-timeline-data-graph-events-enabled` | `is-data-space-enabled` |
53
+ | `handle-timeline-toggle` | write | proposed | `PATCH /headless/invoke/platform/timeline/handle-timeline-toggle` | — |
54
+ | `verify-handle-timeline-toggle` | verify | — | `GET /headless/invoke/platform/timeline/get-timeline-org-pref` | `handle-timeline-toggle` |
55
+ | `get-timeline-limits` | read | proposed | `GET /headless/invoke/platform/timeline/get-timeline-limits` | — |
56
+ | `get-timeline-cdp-limits` | read | proposed | `GET /headless/invoke/platform/timeline/get-timeline-cdplimits` | — |
57
+ | `get-anchor-object` | read | proposed | `GET /headless/invoke/platform/timeline/get-anchor-object` | — |
58
+ | `get-timeline-object-definitions` | read | proposed | `GET /headless/invoke/platform/timeline/get-timeline-object-definitions` | — |
59
+ | `save-timeline-configuration` | write | proposed | `PATCH /headless/invoke/platform/timeline/save-timeline-configuration` | `get-anchor-object` |
60
+ | `verify-save-timeline-configuration` | verify | — | `GET /headless/invoke/platform/timeline/get-timeline-object-definitions` | `save-timeline-configuration` |
61
+ | `set-timeline-configuration-active-status` | write | proposed | `PATCH /headless/invoke/platform/timeline/set-timeline-configuration-active-status` | `save-timeline-configuration` |
62
+ | `delete-timeline-configuration` | delete | proposed | `DELETE /headless/invoke/platform/timeline/delete-timeline-configuration` | `get-timeline-object-definitions` |
63
+ | `verify-delete-timeline-configuration` | verify | — | `GET /headless/invoke/platform/timeline/get-timeline-object-definitions` | `delete-timeline-configuration` |
64
+ | `get-reference-fields-for-entity` | read | proposed | `GET /headless/invoke/platform/timeline/get-reference-fields-for-entity` | `get-anchor-object` |
65
+ | `get-related-entities-of-anchor-entity` | read | proposed | `GET /headless/invoke/platform/timeline/get-related-entities-of-anchor-entity` | `get-anchor-object` |
66
+ | `get-parent-objects-of-anchor-entity` | read | proposed | `GET /headless/invoke/platform/timeline/get-parent-objects-of-anchor-entity` | `get-anchor-object` |
67
+ | `get-related-crm-objects-of-anchor-entity` | read | proposed | `GET /headless/invoke/platform/timeline/get-related-crmobjects-of-anchor-entity` | `get-anchor-object`, `get-data-spaces` |
68
+ | `get-related-entity-for-preview` | read | proposed | `GET /headless/invoke/platform/timeline/get-related-entity-for-preview` | `get-related-entities-of-anchor-entity` |
69
+ | `get-event-object-details` | read | proposed | `GET /headless/invoke/platform/timeline/get-event-object-details` | `get-related-entities-of-anchor-entity` |
70
+ | `get-dmo-object-api-name` | read | proposed | `GET /headless/invoke/platform/timeline/get-dmo-object-api-name` | `get-related-crm-objects-of-anchor-entity` |
71
+ | `get-cdp-screen-data-for-edit` | read | proposed | `GET /headless/invoke/platform/timeline/get-cdp-screen-data-for-edit` | `get-anchor-object`, `get-related-crm-objects-of-anchor-entity` |
72
+ | `verify-set-timeline-configuration-active-status` | verify | — | `GET /headless/invoke/platform/timeline/get-timeline-object-definitions` | `set-timeline-configuration-active-status` |
73
+
74
+ ### Dependency graph
75
+
76
+ ```mermaid
77
+ graph TD
78
+ is_data_space_enabled["is-data-space-enabled (read)"]
79
+ get_data_spaces["get-data-spaces (read)"]
80
+ get_timeline_org_pref["get-timeline-org-pref (read)"]
81
+ get_timeline_data_cloud_events_enabled["get-timeline-data-cloud-events-enabled (read)"]
82
+ get_timeline_data_graph_events_enabled["get-timeline-data-graph-events-enabled (read)"]
83
+ handle_timeline_toggle["handle-timeline-toggle (write)"]
84
+ verify_handle_timeline_toggle["verify-handle-timeline-toggle (verify)"]
85
+ get_timeline_limits["get-timeline-limits (read)"]
86
+ get_timeline_cdp_limits["get-timeline-cdp-limits (read)"]
87
+ get_anchor_object["get-anchor-object (read)"]
88
+ get_timeline_object_definitions["get-timeline-object-definitions (read)"]
89
+ save_timeline_configuration["save-timeline-configuration (write)"]
90
+ verify_save_timeline_configuration["verify-save-timeline-configuration (verify)"]
91
+ set_timeline_configuration_active_status["set-timeline-configuration-active-status (write)"]
92
+ delete_timeline_configuration["delete-timeline-configuration (delete)"]
93
+ verify_delete_timeline_configuration["verify-delete-timeline-configuration (verify)"]
94
+ get_reference_fields_for_entity["get-reference-fields-for-entity (read)"]
95
+ get_related_entities_of_anchor_entity["get-related-entities-of-anchor-entity (read)"]
96
+ get_parent_objects_of_anchor_entity["get-parent-objects-of-anchor-entity (read)"]
97
+ get_related_crm_objects_of_anchor_entity["get-related-crm-objects-of-anchor-entity (read)"]
98
+ get_related_entity_for_preview["get-related-entity-for-preview (read)"]
99
+ get_event_object_details["get-event-object-details (read)"]
100
+ get_dmo_object_api_name["get-dmo-object-api-name (read)"]
101
+ get_cdp_screen_data_for_edit["get-cdp-screen-data-for-edit (read)"]
102
+ verify_set_timeline_configuration_active_status["verify-set-timeline-configuration-active-status (verify)"]
103
+ is_data_space_enabled --> get_timeline_data_cloud_events_enabled
104
+ is_data_space_enabled --> get_timeline_data_graph_events_enabled
105
+ handle_timeline_toggle --> verify_handle_timeline_toggle
106
+ get_anchor_object --> save_timeline_configuration
107
+ save_timeline_configuration --> verify_save_timeline_configuration
108
+ save_timeline_configuration --> set_timeline_configuration_active_status
109
+ get_timeline_object_definitions --> delete_timeline_configuration
110
+ delete_timeline_configuration --> verify_delete_timeline_configuration
111
+ get_anchor_object --> get_reference_fields_for_entity
112
+ get_anchor_object --> get_related_entities_of_anchor_entity
113
+ get_anchor_object --> get_parent_objects_of_anchor_entity
114
+ get_anchor_object --> get_related_crm_objects_of_anchor_entity
115
+ get_data_spaces --> get_related_crm_objects_of_anchor_entity
116
+ get_related_entities_of_anchor_entity --> get_related_entity_for_preview
117
+ get_related_entities_of_anchor_entity --> get_event_object_details
118
+ get_related_crm_objects_of_anchor_entity --> get_dmo_object_api_name
119
+ get_anchor_object --> get_cdp_screen_data_for_edit
120
+ get_related_crm_objects_of_anchor_entity --> get_cdp_screen_data_for_edit
121
+ set_timeline_configuration_active_status --> verify_set_timeline_configuration_active_status
122
+ ```
123
+
124
+ ### Read operations
125
+
126
+ #### `is-data-space-enabled`
127
+
128
+ Read whether Data Cloud is enabled in the org. Required precondition for configuring Timeline Data Cloud / Data Graph events. Gated by Configure Data Cloud events on timeline.
129
+
130
+ **Call:** `GET /headless/invoke/platform/timeline` — status: `implemented`
131
+
132
+ **Notes:** access_gating: A 403 {errorCode:ACCESS_DENIED} on this read means the org has NOT been provisioned for Data Cloud / data spaces (or the running user lacks data-space access) — it is an environmental precondition, NOT a broken endpoint. Confirmed live on hc-steelthread-test (403), consistent with get-timeline-data-cloud-events-enabled returning false on the same org. This read (and get-data-spaces) back the optional "Data Cloud events" section of the Timeline builder; the core Account-anchored CRM-event flow (get-anchor-object → get-event-object-details → save-timeline-configuration) does NOT depend on it. An agent should treat 403 here as "Data Cloud not enabled on this org" and skip the CDP branch, not retry.
133
+
134
+ #### `get-data-spaces`
135
+
136
+ List Data Cloud Data Spaces visible to Timeline configuration. Each space is a target for CDP-event mapping. Gated by Configure Data Cloud events on timeline.
137
+
138
+ **Call:** `GET /headless/invoke/platform/timeline/get-data-spaces` — status: `implemented`
139
+
140
+ **Notes:** access_gating: Same environmental gate as is-data-space-enabled: 403 {errorCode:ACCESS_DENIED} = Data Cloud / data spaces not provisioned on the org (or running user lacks access). Not a skill defect. Skip the Data Cloud events branch when this returns 403.
141
+
142
+ #### `get-timeline-org-pref`
143
+
144
+ Read the org-level Timeline preference flag (boolean). False means the feature is not enabled — configuration writes will fail until handle-timeline-toggle is invoked. Also serves as the verify read for handle-timeline-toggle.
145
+
146
+ **Call:** `GET /headless/invoke/platform/timeline/get-timeline-org-pref` — status: `proposed`
147
+
148
+ **Notes:** state_observation: Value on the target dev org has flipped from false (prior runs) to true this iteration.
149
+ This confirms the one-way-enable invariant: once true, the preference cannot be toggled
150
+ back to false via handle-timeline-toggle (500 CONTROLLER_ERROR "Timeline Org Preference
151
+ cannot be disabled."). Agents that read false in a prior session and cache the value
152
+ must re-read before deciding org readiness; the transition false → true is possible
153
+ between sessions, the reverse is not.
154
+
155
+ #### `get-timeline-data-cloud-events-enabled`
156
+
157
+ Check whether the org permits Data Cloud events on Timeline. Wraps Configure Data Cloud timeline events (Customize Application or sysadmin + ManageTimeline).
158
+
159
+ **Call:** `GET /headless/invoke/platform/timeline/get-timeline-data-cloud-events-enabled` — status: `proposed`
160
+
161
+ **Depends on:** `is-data-space-enabled`
162
+
163
+ **Notes:** wire_contract: Returns a raw boolean literal in body (true|false). false means the Data-Cloud-events
164
+ capability on Timeline is not enabled for this org — even when the org-level Timeline
165
+ preference is true, agents that plan to add CDP-backed events to a configuration
166
+ must gate on this read. Enablement is orthogonal to the base Timeline pref: Timeline
167
+ can be on while DC events are off. Complementary to get-timeline-cdp-limits (which
168
+ returns the numeric cap once the capability is on).
169
+
170
+ #### `get-timeline-data-graph-events-enabled`
171
+
172
+ Check whether Data Graph events on Timeline are permitted. Wraps Configure Data Graph timeline events; gated by Timeline access.
173
+
174
+ **Call:** `GET /headless/invoke/platform/timeline/get-timeline-data-graph-events-enabled` — status: `proposed`
175
+
176
+ **Depends on:** `is-data-space-enabled`
177
+
178
+ **Notes:** wire_contract: Returns a raw boolean literal in body (true|false). false means Data Graph events
179
+ on Timeline are not enabled for this org. Independent of both the base Timeline
180
+ preference and the Data Cloud events capability. Read this before offering
181
+ Data-Graph-derived events in a configuration payload.
182
+
183
+ #### `get-timeline-limits`
184
+
185
+ Read server-enforced numeric caps for CRM-event Timeline configuration (max events per anchor, max fields per event). Validate a config payload against these caps before save-timeline-configuration.
186
+
187
+ **Call:** `GET /headless/invoke/platform/timeline/get-timeline-limits` — status: `proposed`
188
+
189
+ **Notes:** wire_contract: Returns a fixed-shape JSON envelope carrying three integer caps on a Timeline
190
+ configuration payload:
191
+ - TimelineEventLimit: 5 — maximum number of event sub-objects in one config
192
+ - TimelineConditionsLimit: 3 — maximum filter conditions per event
193
+ - TimelineRecordTypeLimit: 3 — maximum record-type filters per event
194
+ Values are org-scoped and driven by the platform, not adjustable via SOR write.
195
+ Agents constructing a save-timeline-configuration body must validate the event
196
+ list length ≤ TimelineEventLimit and per-event condition/recordType arrays ≤
197
+ their respective caps before dispatch — the write controller rejects
198
+ over-limit payloads. Complementary to get-timeline-cdp-limits (which caps the
199
+ CDP-backed event subtree separately).
200
+
201
+ #### `get-timeline-cdp-limits`
202
+
203
+ Read server-enforced numeric caps for Data Cloud / DMO event sources on a Timeline. Use alongside get-timeline-limits when the payload includes CDP events.
204
+
205
+ **Call:** `GET /headless/invoke/platform/timeline/get-timeline-cdplimits` — status: `proposed`
206
+
207
+ **Notes:** wire_contract: Returns a single-key JSON envelope `{"TimelineEventCDPLimit": 1}` — the cap on
208
+ CDP-backed events per Timeline configuration on the current org. When
209
+ get-timeline-data-cloud-events-enabled returns false this cap is still
210
+ readable but not exercisable (the write path rejects CDP-flow events until the
211
+ DC capability is on). Agents planning a mixed CRM + CDP event mix must gate
212
+ their DC-event count on this limit AND on the DC-events-enabled flag before
213
+ submitting a save-timeline-configuration body.
214
+
215
+ #### `get-anchor-object`
216
+
217
+ List entities allowlisted as Timeline anchor objects (TimelineSetupInfo entries: value=entity api-name, label=display name). Allowlist is server-controlled — not all sObjects qualify; treat as the authoritative input list for the anchor selector.
218
+
219
+ **Call:** `GET /headless/invoke/platform/timeline/get-anchor-object` — status: `proposed`
220
+
221
+ **Output:** List<TimelineSetupInfo>: each item carries value=entity api-name and label=display name. Server-controlled allowlist of Timeline-anchor-eligible entities.
222
+
223
+ **Notes:** wire_contract: Returns a list of `{value, label}` entries where `value` is the entity API name and
224
+ `label` is the human-readable entity label. The list is the Timeline-specific anchor
225
+ allowlist (Account, AccountContactRelation, Accreditation, ActionPlan, ActionVisibility,
226
+ and many more). Members of this list are the only valid values for the write-side
227
+ TimelineObjectName field on save-timeline-configuration; sending a value outside the
228
+ allowlist returns a server-side rejection. The full list is dynamic (governed by
229
+ org licensing + Health Cloud add-ons) — always call this step live, do not cache.
230
+
231
+ #### `get-timeline-object-definitions`
232
+
233
+ List saved Timeline definitions paged by offset (returns generic field-bag entries with anchor entity, label, isActive, RecordId). The Connect API /connect/timeline/metadata/configurations only fetches by fullNames[] — does NOT page across all configurations. Coverage_gap filed for missing offset-paged Connect API.
234
+
235
+ **Call:** `GET /headless/invoke/platform/timeline/get-timeline-object-definitions` — status: `proposed`
236
+
237
+ **Inputs:**
238
+
239
+ - `offset` *(`int`)*
240
+
241
+ **Notes:** wire_contract: Returns an array of saved Timeline definitions, offset-paged. Each entry is a
242
+ field-bag: `{RecordId, MasterLabel, DeveloperName, BaseObject, IsActive,
243
+ LastModifiedDate, Definition}` where BaseObject is the anchor entity API name
244
+ and Definition is a JSON blob of the persisted config body. On a fresh Health
245
+ Cloud scratch org the endpoint returns 4 seeded configs all anchored on
246
+ Account: HC_Assessments, HC_Clinical_Data, HC_Engagement_Data,
247
+ HC_Patients_Life_Story — all IsActive=true. Agents building a clean-slate
248
+ Timeline flow on HC should treat these as immovable unless the caller
249
+ explicitly asks to deactivate + delete them (see delete-timeline-configuration
250
+ notes).; variant_paging: offset is the ONLY page control — there is no limit/pageSize input; the server
251
+ chooses the page size. Empty response (past the end) is `[]`, not an error.
252
+ Read-only endpoint; do NOT use for fetch-by-Id (no filter inputs). To resolve
253
+ a single definition by name, page from offset 0 and filter client-side, or
254
+ pass the RecordId through save-timeline-configuration's edit branch.; write_side_field_mapping: Read-side BaseObject maps directly to write-side BaseObject on save-timeline-configuration.config — NO field name transformation is needed when round-tripping a definition through edit. (The autonomous pass had inferred a BaseObject→TimelineObjectName transform; that was disproven live — sending TimelineObjectName is silently ignored and the controller rejects with "required fields are missing: TimelineObjectName". See save-timeline-configuration.required_fields_wall for the proven anchor key.); list_shape_correction: CORRECTION (proven): the list entries carry header fields only — {Id, MasterLabel, DeveloperName, BaseObject, IsActive, LastModifiedDate}. There is NO `Definition` blob in the list response (the inferred contract claimed one). To read a config's full persisted Definition (the timeline/anchorObject/events subtree), SOQL the TimelineObjectDefinition sObject directly: SELECT Id, MasterLabel, DeveloperName, BaseObject, IsActive, Definition FROM TimelineObjectDefinition WHERE DeveloperName=... (Definition is a textarea holding the JSON). The list `Id` is the value to pass as config.RecordId on the save (edit) branch and as the RecordId query param on delete-timeline-configuration.
255
+
256
+ #### `get-reference-fields-for-entity`
257
+
258
+ List reference (lookup) fields on entityApiName, filtered against existing Timeline definitionId to avoid event-type collisions. Used to wire event entities into a Timeline's event-list.
259
+
260
+ **Call:** `GET /headless/invoke/platform/timeline/get-reference-fields-for-entity` — status: `proposed`
261
+
262
+ **Inputs:**
263
+
264
+ - `entityApiName` *(`String`)*
265
+ - `definitionId` *(`String`)*
266
+
267
+ **Depends on:** `get-anchor-object`
268
+
269
+ **Notes:** wire_contract: Returns an array of field-descriptor entries. Shape depends on the definitionId
270
+ input:
271
+ - definitionId empty ("") → array of 6 datetime fields on the entity
272
+ (ClosedDate, CreatedDate, LastModifiedDate, LastReferencedDate,
273
+ LastViewedDate, SystemModstamp). These are the fields eligible for use as
274
+ the Timeline event date anchor.
275
+ - definitionId set to a real config Id → array carries the same 6 datetime
276
+ fields PLUS the full config record itself appended as the final element
277
+ (Definition JSON blob + IsActive + MasterLabel + BaseObject + etc). This
278
+ union shape lets the edit screen render both the "field to pick" list and
279
+ the "current definition state" in a single call.
280
+ Agents constructing a fresh event should pass definitionId="". Agents editing an
281
+ existing event should pass the config Id and read both the field candidates and
282
+ the current definition state from one payload.
283
+
284
+ #### `get-related-entities-of-anchor-entity`
285
+
286
+ List event-eligible child entities for the anchor entityApiName (children with a lookup back to it). Each entry (TimelineSetupEventInfo): value=child entity api-name, label, referenceField=FK on the child.
287
+
288
+ **Call:** `GET /headless/invoke/platform/timeline/get-related-entities-of-anchor-entity` — status: `proposed`
289
+
290
+ **Inputs:**
291
+
292
+ - `entityApiName` *(`String`)*
293
+
294
+ **Depends on:** `get-anchor-object`
295
+
296
+ **Output:** List<TimelineSetupEventInfo>: each item carries value=child entity api-name, label, referenceField=FK on the child pointing back to the anchor. Drives downstream get-event-object-details + get-related-entity-for-preview.
297
+
298
+ **Notes:** factory_gap: Endpoint returns HTTP 500 CONTROLLER_ERROR on a well-formed Account anchor input
299
+ (entityApiName=Account) on the current dev org. Reproduced across multiple
300
+ runs — indicates a defect in the related-entities lookup path, not a transient
301
+ state. Agents assembling a save-timeline-configuration payload that requires
302
+ the related-entity list must fall back to a client-side computation from
303
+ get-parent-objects-of-anchor-entity (parents) + Tooling API describe (children)
304
+ until the underlying issue is fixed server-side. This is not the same NPE as
305
+ get-related-crm-objects-of-anchor-entity — the failure mode here is a distinct
306
+ controller-layer error, not the app-context helper NPE.
307
+
308
+ #### `get-parent-objects-of-anchor-entity`
309
+
310
+ List parent entities the anchor entityApiName looks up to (TimelineSetupParentObjectInfo: value, label, domain). Throws CannotFetchParentObjectsError on null/blank input.
311
+
312
+ **Call:** `GET /headless/invoke/platform/timeline/get-parent-objects-of-anchor-entity` — status: `proposed`
313
+
314
+ **Inputs:**
315
+
316
+ - `entityApiName` *(`String`)*
317
+
318
+ **Depends on:** `get-anchor-object`
319
+
320
+ **Notes:** wire_contract: Returns an array of `{fieldName, fieldLabel, referenceTo, referenceToLabel}` entries
321
+ describing the lookup parents on the anchor entity. For Account on Health Cloud orgs
322
+ the response contains 7 entries: MasterRecordId→Account, RecordTypeId→RecordType,
323
+ ParentId→Account, OwnerId→User, PersonContactId→Contact, PersonIndividualId→Individual,
324
+ OperatingHoursId→OperatingHours. The PersonContactId and PersonIndividualId tokens
325
+ appear when the org has Person Accounts enabled (typical for HC scratch orgs
326
+ provisioned with HealthCloudAddOn); agents must not assume their absence.; error_contract: Passing an empty string for entityApiName returns HTTP 500 with response message
327
+ "Something went wrong while loading objects. Try again." — the actual customer-facing
328
+ text, not a typed error code. Agents should validate entityApiName is non-empty
329
+ (a member of get-anchor-object) before dispatching this read.
330
+
331
+ #### `get-related-crm-objects-of-anchor-entity`
332
+
333
+ List CRM objects related to the anchor (entityApiName + entityLabel) for CDP/Data-Cloud event mapping. Each entry (TimelineSetupRelationshipObjectInfo) carries domain, domainLabel, relationship — used to map a CRM object to its DMO counterpart in a CDP-event Timeline.
334
+
335
+ **Call:** `GET /headless/invoke/platform/timeline/get-related-crmobjects-of-anchor-entity` — status: `proposed`
336
+
337
+ **Inputs:**
338
+
339
+ - `entityApiName` *(`String`)*
340
+ - `entityLabel` *(`String`)*
341
+
342
+ **Depends on:** `get-anchor-object`, `get-data-spaces`
343
+
344
+ **Output:** List<TimelineSetupRelationshipObjectInfo>: each item carries value=CRM api-name, label, domain, domainLabel, relationship — the CRM-to-DMO mapping inputs for CDP-event Timelines.
345
+
346
+ **Notes:** factory_gap: Endpoint currently returns HTTP 500 with an internal null-pointer error in the
347
+ application-context helper on the target dev org. Reproduced on inputs
348
+ (entityApiName=Account, entityLabel=Account). The failure prevents the CDP-flow
349
+ UI screen from populating the related-CRM-object picker; agents attempting to
350
+ assemble a save-timeline-configuration payload for a CDP-backed event must fall
351
+ back to a manual lookup of related-CRM entities until the underlying null path
352
+ is guarded server-side. Companion endpoint get-cdp-screen-data-for-edit fails
353
+ with the same root cause — the fix likely applies to both.
354
+
355
+ #### `get-related-entity-for-preview`
356
+
357
+ Return a single TimelineSetupEventInfo for entityApiName (value, label, referenceField). Drives the wizard preview pane — call after get-related-entities-of-anchor-entity to detail one chosen event entity.
358
+
359
+ **Call:** `GET /headless/invoke/platform/timeline/get-related-entity-for-preview` — status: `proposed`
360
+
361
+ **Inputs:**
362
+
363
+ - `entityApiName` *(`String`)*
364
+
365
+ **Depends on:** `get-related-entities-of-anchor-entity`
366
+
367
+ **Notes:** error_contract: Single-input GET with only entityApiName populated returns HTTP 500 with response
368
+ message "Unable to fetch Field to preview." Suggests the endpoint requires an
369
+ additional field-selection input beyond entityApiName — the preview surface is
370
+ field-scoped, not entity-scoped alone. Until the missing input is characterized,
371
+ agents should treat this step as advisory only; the preview UI can be built by
372
+ assembling field-descriptor data from get-event-object-details instead.
373
+
374
+ #### `get-event-object-details`
375
+
376
+ Bundle metadata for the event entity eventObjectName (TimelineSetupEventDetailsInfo): fields with data type, relatedLists, recordTypeDetails, indexedFieldsDetails. Composite shape — reconstructing from raw Tooling requires 3-4 calls + cross-record-type joins.
377
+
378
+ **Call:** `GET /headless/invoke/platform/timeline/get-event-object-details` — status: `proposed`
379
+
380
+ **Inputs:**
381
+
382
+ - `eventObjectName` *(`String`)*
383
+
384
+ **Depends on:** `get-related-entities-of-anchor-entity`
385
+
386
+ **Output:** TimelineSetupEventDetailsInfo: fields[] (with data type), relatedLists[], recordTypeDetails[] (record-type metadata), indexedFieldsDetails (object). Inherits value+label+referenceField from TimelineSetupEventInfo.
387
+
388
+ **Notes:** wire_contract: Returns a rich JSON payload with four sub-shapes:
389
+ - relatedLists: array of child-relationship entries reachable from the event object
390
+ - recordTypeDetails: map of record-type-id → developer-name / label / defaultness
391
+ - fields: array of field-descriptor entries with type, label, referenceTo
392
+ - indexedFieldsDetails: array of picklist fields (Origin, Status, Priority, Reason,
393
+ Type on Case) with their allowed values enumerated
394
+ On Case anchored orgs this endpoint returns ~35 relatedLists and ~35 fields. The
395
+ indexedFieldsDetails picklist enumeration is the source of truth for populating the
396
+ save-timeline-configuration event-condition filter dropdowns — do NOT synthesize
397
+ picklist values elsewhere (Tooling PicklistValue is unfiltered and includes inactive
398
+ entries).
399
+
400
+ #### `get-dmo-object-api-name`
401
+
402
+ Return the DMO api-name (string) mapped to a CRM entityApiName (1:1 helper for the CDP path). Pairs with get-related-crm-objects-of-anchor-entity.
403
+
404
+ **Call:** `GET /headless/invoke/platform/timeline/get-dmo-object-api-name` — status: `proposed`
405
+
406
+ **Inputs:**
407
+
408
+ - `entityApiName` *(`String`)*
409
+
410
+ **Depends on:** `get-related-crm-objects-of-anchor-entity`
411
+
412
+ **Notes:** wire_contract: Returns a raw string in body — the DMO (Data Model Object) API name mapped to the
413
+ given CRM entity. When the entity has no DMO mapping the body is the empty string
414
+ `""` (an empty JSON string literal, NOT null and NOT a 404). Agents should treat
415
+ an empty string as "no mapping present" and skip the CDP-event branch for that
416
+ anchor. On the target dev org Account currently returns `""` — Health Cloud DMO
417
+ binding is not yet configured.
418
+
419
+ #### `get-cdp-screen-data-for-edit`
420
+
421
+ Return a composite map keyed crmObjectOfAnchorEntity + dmoObjectApiName for the edit wizard's CDP screen. Inputs: entityApiName + entityLabel + selectedRelatedCrmObject. Consolidates two upstream calls (CRM-objects + DMO-name) into one composite.
422
+
423
+ **Call:** `GET /headless/invoke/platform/timeline/get-cdp-screen-data-for-edit` — status: `proposed`
424
+
425
+ **Inputs:**
426
+
427
+ - `entityApiName` *(`String`)*
428
+ - `entityLabel` *(`String`)*
429
+ - `selectedRelatedCrmObject` *(`String`)*
430
+
431
+ **Depends on:** `get-anchor-object`, `get-related-crm-objects-of-anchor-entity`
432
+
433
+ **Output:** Map<String,Object> with two keys: crmObjectOfAnchorEntity, dmoObjectApiName — composite consolidating get-related-crm-objects-of-anchor-entity + get-dmo-object-api-name for the edit wizard.
434
+
435
+ **Notes:** factory_gap: Endpoint currently returns HTTP 500 with an internal null-pointer error in the
436
+ application-context helper on the target dev org. Reproduced on inputs
437
+ (entityApiName=Account, entityLabel=Account, selectedRelatedCrmObject=Contact).
438
+ This is the same root cause as get-related-crm-objects-of-anchor-entity — the
439
+ CDP-flow edit screen cannot be assembled until the underlying application-context
440
+ helper is fixed to guard against a null app-info reference.
441
+
442
+ ### Write operations
443
+
444
+ #### `handle-timeline-toggle`
445
+
446
+ Enable the Timeline org preference. Only value=true is accepted; sending value=false throws CannotTurnPrefOffError (one-way enable invariant). Required once per org before any save-timeline-configuration call. AURA-IS-CANONICAL — no public Connect/Tooling/Metadata alternative; controller enforces the one-way control.
447
+
448
+ **Call:** `PATCH /headless/invoke/platform/timeline/handle-timeline-toggle` — status: `proposed`
449
+
450
+ **Inputs:**
451
+
452
+ - `value` *(`boolean`)* — Toggle the value preference on or off.
453
+
454
+ **Notes:** one_way_enable_invariant: This endpoint enables the org-level Timeline preference. It is a ONE-WAY
455
+ control: PATCH with the "enable" payload flips the pref from false → true
456
+ and returns 200. PATCH with a "disable" payload against an already-enabled
457
+ org is server-rejected with HTTP 500 CONTROLLER_ERROR "Timeline Org
458
+ Preference cannot be disabled." — there is no admin-callable path back to
459
+ false. Agents driving this step must confirm the caller understands the
460
+ commitment before dispatch, and must always precede the call with
461
+ get-timeline-org-pref to avoid an unnecessary write (idempotent on
462
+ already-true state, but wasteful).; companion_read: Chain with verify-handle-timeline-toggle (or get-timeline-org-pref directly)
463
+ immediately after the write to confirm true state before proceeding to
464
+ Timeline configuration writes.
465
+
466
+ #### `save-timeline-configuration`
467
+
468
+ Create a Timeline definition (omit RecordId in config) or update an existing one (supply RecordId). Throws DuplicateApiNameError when developer name collides. Returns the saved record id (Map<String,String>). AURA-IS-CANONICAL — no public CRUD on TimelineMetadataDefinition; coverage_gap filed.
469
+
470
+ **Call:** `PATCH /headless/invoke/platform/timeline/save-timeline-configuration` — status: `proposed`
471
+
472
+ **Inputs:**
473
+
474
+ - `config` *(`LinkedHashMap<String, Object>`)* — Value for config.
475
+
476
+ **Depends on:** `get-anchor-object`
477
+
478
+ **Notes:** required_fields_wall: CORRECTION (proven, supersedes the inferred key name): the create body is a `config` map whose keys map 1:1 to the TimelineObjectDefinition sObject fields, NOT a custom envelope. The minimum required-field wall is:
479
+ - MasterLabel (human-readable name)
480
+ - DeveloperName (api-safe token, unique across TimelineObjectDefinition;
481
+ DuplicateApiNameError on collision — page
482
+ get-timeline-object-definitions to check)
483
+ - BaseObject (anchor entity API name — MUST be a member of
484
+ get-anchor-object's allowlist). The anchor key is
485
+ `BaseObject`, NOT `TimelineObjectName`: sending
486
+ TimelineObjectName is silently ignored and the controller
487
+ rejects with "required fields are missing: TimelineObjectName".
488
+ - Definition (the events/anchor subtree — see create_body_shape; the
489
+ controller rejects with "Specify a definition for the
490
+ <label> timeline" when omitted)
491
+ IsActive (boolean) is optional at create; defaults per platform.; create_vs_update_branching: The same PATCH endpoint handles both create and update:
492
+ - Create: omit `config.RecordId` entirely. Response is `{"RecordId":
493
+ "<newId>"}` on success.
494
+ - Update: supply `config.RecordId` from a prior get-timeline-object-definitions
495
+ page. Response echoes the same RecordId.
496
+ Sending an empty-string RecordId (`""`) triggers the update branch and errors
497
+ because the empty Id does not resolve — always omit the key for create.; event_subtree_shape: SUPERSEDED — the inferred `config.events[]` shape (with EventObjectName / conditions[] / recordTypes[] at the event root) is NOT what the controller accepts. See `create_body_shape` for the proven structure: events live at config.Definition.timeline.events[], each wrapped in `oneToMany.eventObject`, the per-event condition key is `filters` (not `conditions`), and recordTypes nests inside eventObject.; create_body_shape: CORRECTION (proven, supersedes inferred `config.events[]` / `event_subtree_shape`): `config.Definition` is a nested MAP (LinkedHashMap), NOT a JSON string and NOT a bare `events` array. Passing a JSON string fails with "class java.lang.String cannot be cast to class java.util.LinkedHashMap". The proven structure is:
498
+ config:
499
+ MasterLabel: <str>
500
+ DeveloperName: <str, unique>
501
+ BaseObject: <anchor API name, e.g. Account>
502
+ IsActive: <bool>
503
+ Definition:
504
+ timeline:
505
+ anchorObject:
506
+ object: {entity: <BaseObject>, label: <label>, source: "", icon: ""}
507
+ age: {field: ""}
508
+ events:
509
+ - oneToMany:
510
+ eventObject:
511
+ name: <event object API name>
512
+ recordTypes: [] # array; caps at TimelineRecordTypeLimit (3)
513
+ fieldsToDisplay: [{field,label,type}, ...]
514
+ relatedlistsToDisplay: [{entity,label}, ...]
515
+ title: {field,label,type}
516
+ subTitle: {field,label,type}
517
+ filters: [] # per-event condition list (NOT "conditions");
518
+ # caps at TimelineConditionsLimit (3)
519
+ sort: {field,label,type}
520
+ anchorReferenceField: {field,label,type}
521
+ events[] length caps at TimelineEventLimit (5, from get-timeline-limits). The Definition field `type` values are the display types, mapped from the event object's field dataType: REFERENCE→EntityId, STRING→Text, PICKLIST→DynamicEnum, DATE/DATETIME→DateTime.; anchor_reference_field_rule: Each event's `anchorReferenceField.field` (and any reference in fieldsToDisplay) MUST be the real field API name, NOT the relationship alias. Create-time validation resolves against fieldApiName and rejects the alias with "Error resolving Entity/Field Names. Could not resolve fieldApiName: <alias> for entityApiName: <event>". Example: on CareProgramEnrollee use `AccountId` (the read side / stored Definition shows the alias "Account", which fails on create); on ClinicalEncounter the patient anchor is `PatientId` (labelled "Account ID"). Source the correct field names from get-event-object-details (fields[].value).; proven_north_star_example: PROVEN end-to-end (Account-anchored patient timeline showing Clinical Encounters + Care Plan events). config = {MasterLabel:"R2D2 Clinical + Care Plan", DeveloperName:"R2D2_CE_CarePlan_Verify", BaseObject:"Account", IsActive:true, Definition:{timeline:{anchorObject:{object:{entity:"Account", label:"Account",source:"",icon:""}}, age:{field:""}, events:[
522
+ {oneToMany:{eventObject:{name:"ClinicalEncounter",recordTypes:[],
523
+ fieldsToDisplay:[{field:"Status",label:"Status",type:"DynamicEnum"}],
524
+ relatedlistsToDisplay:[],title:{field:"Name",label:"Name",type:"Text"},
525
+ subTitle:{field:"Status",label:"Status",type:"DynamicEnum"}},filters:[],
526
+ sort:{field:"StartDate",label:"Start Date",type:"DateTime"},
527
+ anchorReferenceField:{field:"PatientId",label:"Account ID",type:"EntityId"}}},
528
+ {oneToMany:{eventObject:{name:"CareProgramEnrollee",recordTypes:[],
529
+ fieldsToDisplay:[{field:"Status",label:"Status",type:"DynamicEnum"}],
530
+ relatedlistsToDisplay:[],title:{field:"Name",label:"Name",type:"Text"},
531
+ subTitle:{field:"Status",label:"Status",type:"DynamicEnum"}},filters:[],
532
+ sort:{field:"CreatedDate",label:"Created Date",type:"DateTime"},
533
+ anchorReferenceField:{field:"AccountId",label:"Account ID",type:"EntityId"}}}
534
+ ]}}}. Returned 200 {RecordId}. NOTE: Health Cloud has no standalone `CarePlan` object (get-event-object-details returns CONTROLLER_ERROR for CarePlan/CareVisit/HealthcareEncounter); the patient-level "care plan" event is CareProgramEnrollee (the patient's care-program enrollment). CareProgram references Account only as SponsorId (program sponsor, not the patient).; create_vs_update_confirmed: CONFIRMED live (was inferred): omit config.RecordId → create, response {RecordId:<newId>}. Supply config.RecordId → update, response echoes the same RecordId. Both branches share this one PATCH endpoint.
535
+
536
+ #### `set-timeline-configuration-active-status`
537
+
538
+ Toggle isActive on a saved Timeline definition (RecordId + isActivated). Activating makes the Timeline visible on its anchor entity's record pages. AURA-IS-CANONICAL — no public Tooling/sObject CRUD on the underlying record.
539
+
540
+ **Call:** `PATCH /headless/invoke/platform/timeline/set-timeline-configuration-active-status` — status: `proposed`
541
+
542
+ **Inputs:**
543
+
544
+ - `RecordId` *(`String`)* — Id of the record.
545
+ - `isActivated` *(`boolean`)* — Whether activated is enabled.
546
+
547
+ **Depends on:** `save-timeline-configuration`
548
+
549
+ **Notes:** wire_contract: Request body is a two-field envelope `{"RecordId": <configId>, "isActivated": <bool>}`.
550
+ On success returns HTTP 200 with body `{"LastModifiedDate": <ISO datetime>,
551
+ "RecordId": <configId>}`. Idempotent when `isActivated` matches the current state
552
+ (re-activating an already-active config returns 200 with a fresh LastModifiedDate).; error_contract: Unknown RecordId (well-formed 18-char Id that does not resolve) returns HTTP 500
553
+ with response message "Timeline configuration not found." Malformed Id shape
554
+ typically returns a validation error from the dispatcher layer before reaching
555
+ the controller. Agents should validate the RecordId format client-side before
556
+ dispatching this write.; companion_precondition_for_delete: This step is a mandatory precondition for delete-timeline-configuration on any
557
+ currently-active config: the delete controller rejects active configs. Call
558
+ set-timeline-configuration-active-status with isActivated=false first, then
559
+ delete-timeline-configuration.
560
+
561
+ ### Verify operations
562
+
563
+ #### `verify-handle-timeline-toggle`
564
+
565
+ Read getTimelineOrgPref to confirm handle-timeline-toggle persisted. Expects true; a false read indicates the toggle did not commit.
566
+
567
+ **Call:** `GET /headless/invoke/platform/timeline/get-timeline-org-pref`
568
+
569
+ **Depends on:** `handle-timeline-toggle`
570
+
571
+ #### `verify-save-timeline-configuration`
572
+
573
+ Page through saved Timeline definitions (offset=0) and confirm the RecordId returned from save-timeline-configuration is present with the expected masterLabel/fullName.
574
+
575
+ **Call:** `GET /headless/invoke/platform/timeline/get-timeline-object-definitions`
576
+
577
+ **Depends on:** `save-timeline-configuration`
578
+
579
+ #### `verify-delete-timeline-configuration`
580
+
581
+ Page through saved Timeline definitions (offset=0) and confirm the RecordId from delete-timeline-configuration is no longer present.
582
+
583
+ **Call:** `GET /headless/invoke/platform/timeline/get-timeline-object-definitions`
584
+
585
+ **Depends on:** `delete-timeline-configuration`
586
+
587
+ #### `verify-set-timeline-configuration-active-status`
588
+
589
+ Page saved Timeline definitions (offset=0) and confirm the RecordId touched by set-timeline-configuration-active-status now reports the expected isActive value. Pair-by-semantic-match: names don't share a stem so the deterministic verify-synth skipped this.
590
+
591
+ **Call:** `GET /headless/invoke/platform/timeline/get-timeline-object-definitions`
592
+
593
+ **Depends on:** `set-timeline-configuration-active-status`
594
+
595
+ ### Destructive operations
596
+
597
+ #### `delete-timeline-configuration`
598
+
599
+ Delete a saved Timeline definition by RecordId. Destructive — no soft-delete. AURA-IS-CANONICAL — no public CRUD alternative.
600
+
601
+ **Call:** `DELETE /headless/invoke/platform/timeline/delete-timeline-configuration` — status: `proposed`
602
+
603
+ **Inputs:**
604
+
605
+ - `RecordId` *(`String`)*
606
+
607
+ **Depends on:** `get-timeline-object-definitions`
608
+
609
+ **Notes:** precondition_deactivate_first: Deleting an ACTIVE Timeline configuration is server-rejected. HTTP DELETE against
610
+ a config whose IsActive=true returns HTTP 500 with response message
611
+ "You can't delete the active timeline configuration <MasterLabel>. Deactivate
612
+ the configuration and try again." (with <MasterLabel> substituted from the
613
+ target record). This applies to ALL configs including the four pre-seeded HC
614
+ configs (HC_Assessments, HC_Clinical_Data, HC_Engagement_Data,
615
+ HC_Patients_Life_Story), all of which ship IsActive=true — meaning none of them
616
+ can be removed by a single delete call. To remove any active config, agents
617
+ must first call set-timeline-configuration-active-status with isActivated=false
618
+ for that RecordId, then re-issue delete-timeline-configuration.; seeded_hc_configs_are_active: On Health Cloud orgs the four pre-seeded HC configs (HC_Assessments,
619
+ HC_Clinical_Data, HC_Engagement_Data, HC_Patients_Life_Story) all ship
620
+ IsActive=true. Attempts to delete any of them fail with the message above until
621
+ deactivation. This is a Health-Cloud-specific gotcha for admins scripting a
622
+ clean-slate Timeline setup.