@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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@salesforce/afv-skills",
3
- "version": "1.63.0",
3
+ "version": "1.65.0",
4
4
  "description": "Salesforce's curated collection of agent skills for building applications. Optimized for Agentforce Vibes, compatible with all AI tools.",
5
5
  "license": "Apache-2.0",
6
6
  "files": [
@@ -0,0 +1,312 @@
1
+ ---
2
+ name: agentforce-gpt-email-generation-configure
3
+ description: "Use this skill when users want to manage the GPT Email Generation (Sales Email Assistant) setup page. Trigger when users mention gptemail, generation, gptemail generation."
4
+ metadata:
5
+ version: "1.0"
6
+ ---
7
+
8
+ # Managing Gpt Email Generation
9
+
10
+ ## When to Use This Skill
11
+
12
+ Manage the GPT Email Generation (Sales Email Assistant) setup page. Reads/writes the EinsteinGPTSalesEmails master pref plus 8 related ECI/Sales-Signals/Coaching feature toggles. Also exposes a composite getState aggregator (28+ keys: pref values, feature-access flags, Hawking ML-platform tenant provisioning status, Conversation Mining provisioning status, CDP/Genie status, Signals2DC status, computed UI-state enum ENABLED/DISABLED/IN_PROGRESS/HAWKING_TENANT_ERROR) and a refresh action that kicks off Conversation Mining background work. All toggles return Boolean (resulting pref/perm value); some have value-add behavior agents must know about — sales-email enable atomically also flips OnlyUseBuilderPrompts so open-prompt is on by default; open-prompt's enabled=true means OnlyUseBuilderPrompts=false (semantic inversion).
13
+
14
+ ## Workflow
15
+
16
+ Read get-state first to discover current pref/perm/provisioning state and the computed UI-state enum (ENABLED/DISABLED/IN_PROGRESS/HAWKING_TENANT_ERROR). Toggle ordering: when enabling Sales Email Assistant via toggle-sales-email-pref, run toggle-open-prompt AFTER if you want explicit open-prompt control (enabling sales-email auto-flips OnlyUseBuilderPrompts to false in legacy-discovery-off orgs). For Conversation Mining: toggle-sales-conversation-mining-pref must run before toggle-sales-conversation-mining-apd360-perm and refresh-sales-mining (the perm and refresh sit on top of the feature pref). Each write returns Boolean (the resulting pref/perm value); follow with the paired verify-* step to read back via get-state and confirm. Note that toggle-sales-email-pref's enable path performs an atomic dual-pref bulk write (EinsteinGPTSalesEmails=true + OnlyUseBuilderPrompts=false); a single failure rolls back both. Hawking ML-platform tenant must be ready (getState.isHawkingTenantReady) before the UI state reaches ENABLED.
17
+
18
+ ## Critical Constraints
19
+
20
+ **Preconditions:**
21
+
22
+ - User must have ConversationalIntelligence AccessConversationMiningSettings access (gates conversation-mining/signals2dc/refresh-sales-mining toggles). (check: `Conversation Mining Settings access`)
23
+ - User must have SalesEmailAssistant ModifyOpenPromptAccess access (gates toggle-open-prompt only). (check: `Modify Sales Email prompt access`)
24
+ - User must have SfaGenerative AccessSalesRecordSummaries access (gates call-explorer / APD360-perm / sales-rep-feedback / generative-insights toggles). (check: `Sales Record Summaries access`)
25
+ - Setup admin permission (View Setup + Setup admin) is required ONLY on the single-pref and perm writes — a non-admin gets NoAccessException on those. That covers: signals2dc, sales-rep-feedback, generative-insights, the APD360 perm, and the discovery-framework-OFF single-pref writes (call-summarization / call-explorer / conversation-mining, and sales-email DISABLE). It does NOT cover the sales-email ENABLE bulk-pref path (no admin check) or ANY discovery-framework-ON path (no admin check) — those enforce their own feature-scoped access instead.
26
+ - Einstein GPT platform must be enabled at the org level — getState surfaces this as hasEinsteinGPTSetupDisabled (true means the platform is OFF and the page renders disabled).
27
+ - For sales-email enablement to reach UI state ENABLED: the Hawking ML-platform tenant must be in PROVISION_SUCCESS — getState surfaces this as isHawkingTenantReady. PROVISION_FAILED resets the pref to false; PROVISIONING surfaces UI state IN_PROGRESS.
28
+ - Einstein Conversation Insights (ECI) must be enabled — call-summarization, call-explorer, and conversation-mining feature access requires hasECIEnabled = ORG_PERMISSION_CONVERSATION_PILOT + ORG_PREFERENCE_CONVERSATION_PILOT_PREF + ORG_PERMISSION_CALL_COACHING_READY (getState computes this combined flag).
29
+ - For Signals2DC: CDP/Genie must be enabled (Data Cloud enabled) for the salesConversationMiningDataCloudStatus to reflect a real provisioning state; otherwise getState returns -1 indicating CDP/Genie unavailable.
30
+
31
+ ## Verification Checklist
32
+
33
+ After every write operation, confirm the effect by re-reading state:
34
+
35
+ - After `toggle-sales-email-pref`: call `verify-toggle-sales-email-pref` (`GET /headless/invoke/platform/gptemail-generation`)
36
+ - After `toggle-open-prompt`: call `verify-toggle-open-prompt` (`GET /headless/invoke/platform/gptemail-generation`)
37
+ - After `toggle-sales-call-summarization-pref`: call `verify-toggle-sales-call-summarization-pref` (`GET /headless/invoke/platform/gptemail-generation`)
38
+ - After `toggle-sales-call-explorer-pref`: call `verify-toggle-sales-call-explorer-pref` (`GET /headless/invoke/platform/gptemail-generation`)
39
+ - After `toggle-sales-conversation-mining-pref`: call `verify-toggle-sales-conversation-mining-pref` (`GET /headless/invoke/platform/gptemail-generation`)
40
+ - After `toggle-signals2dc-pref`: call `verify-toggle-signals2dc-pref` (`GET /headless/invoke/platform/gptemail-generation`)
41
+ - After `toggle-sales-conversation-mining-apd360-perm`: call `verify-toggle-sales-conversation-mining-apd360-perm` (`GET /headless/invoke/platform/gptemail-generation`)
42
+ - After `toggle-sales-rep-feedback-pref`: call `verify-toggle-sales-rep-feedback-pref` (`GET /headless/invoke/platform/gptemail-generation`)
43
+ - After `toggle-sales-call-generative-insights-pref`: call `verify-toggle-sales-call-generative-insights-pref` (`GET /headless/invoke/platform/gptemail-generation`)
44
+ - After `refresh-sales-mining`: call `verify-refresh-sales-mining` (`GET /headless/invoke/platform/gptemail-generation`)
45
+
46
+ ## Operations Reference
47
+
48
+ Operations grouped by purpose. Use these as the building blocks for the workflows above.
49
+
50
+ ### Summary
51
+
52
+ | Operation | Purpose | Status | Call | Depends on |
53
+ |-----------|---------|--------|------|------------|
54
+ | `toggle-sales-email-pref` | write | proposed | `PATCH /headless/invoke/platform/gptemail-generation/handle-sales-email-pref-toggle` | — |
55
+ | `toggle-open-prompt` | write | proposed | `PATCH /headless/invoke/platform/gptemail-generation/handle-open-prompt-toggle` | `toggle-sales-email-pref` |
56
+ | `toggle-sales-call-summarization-pref` | write | proposed | `PATCH /headless/invoke/platform/gptemail-generation/handle-sales-call-summarization-pref-toggle` | — |
57
+ | `toggle-sales-call-explorer-pref` | write | proposed | `PATCH /headless/invoke/platform/gptemail-generation/handle-sales-call-explorer-pref-toggle` | — |
58
+ | `toggle-sales-conversation-mining-pref` | write | proposed | `PATCH /headless/invoke/platform/gptemail-generation/handle-sales-conversation-mining-pref-toggle` | — |
59
+ | `toggle-signals2dc-pref` | write | proposed | `PATCH /headless/invoke/platform/gptemail-generation/handle-signals2-dcpref-toggle` | — |
60
+ | `toggle-sales-conversation-mining-apd360-perm` | write | implemented | `PATCH /headless/invoke/platform/gptemail-generation/handle-sales-conversation-mining-apd360-perm-toggle` | `toggle-sales-conversation-mining-pref` |
61
+ | `toggle-sales-rep-feedback-pref` | write | proposed | `PATCH /headless/invoke/platform/gptemail-generation/handle-sales-rep-feedback-pref-toggle` | — |
62
+ | `toggle-sales-call-generative-insights-pref` | write | proposed | `PATCH /headless/invoke/platform/gptemail-generation/handle-sales-call-generative-insights-pref-toggle` | — |
63
+ | `get-state` | read | implemented | `GET /headless/invoke/platform/gptemail-generation` | — |
64
+ | `refresh-sales-mining` | write | proposed | `PATCH /headless/invoke/platform/gptemail-generation/handle-sales-mining-refresh` | `toggle-sales-conversation-mining-pref` |
65
+ | `verify-toggle-sales-email-pref` | verify | — | `GET /headless/invoke/platform/gptemail-generation` | `toggle-sales-email-pref` |
66
+ | `verify-toggle-open-prompt` | verify | — | `GET /headless/invoke/platform/gptemail-generation` | `toggle-open-prompt` |
67
+ | `verify-toggle-sales-call-summarization-pref` | verify | — | `GET /headless/invoke/platform/gptemail-generation` | `toggle-sales-call-summarization-pref` |
68
+ | `verify-toggle-sales-call-explorer-pref` | verify | — | `GET /headless/invoke/platform/gptemail-generation` | `toggle-sales-call-explorer-pref` |
69
+ | `verify-toggle-sales-conversation-mining-pref` | verify | — | `GET /headless/invoke/platform/gptemail-generation` | `toggle-sales-conversation-mining-pref` |
70
+ | `verify-toggle-signals2dc-pref` | verify | — | `GET /headless/invoke/platform/gptemail-generation` | `toggle-signals2dc-pref` |
71
+ | `verify-toggle-sales-conversation-mining-apd360-perm` | verify | — | `GET /headless/invoke/platform/gptemail-generation` | `toggle-sales-conversation-mining-apd360-perm` |
72
+ | `verify-toggle-sales-rep-feedback-pref` | verify | — | `GET /headless/invoke/platform/gptemail-generation` | `toggle-sales-rep-feedback-pref` |
73
+ | `verify-toggle-sales-call-generative-insights-pref` | verify | — | `GET /headless/invoke/platform/gptemail-generation` | `toggle-sales-call-generative-insights-pref` |
74
+ | `verify-refresh-sales-mining` | verify | — | `GET /headless/invoke/platform/gptemail-generation` | `refresh-sales-mining` |
75
+
76
+ ### Dependency graph
77
+
78
+ ```mermaid
79
+ graph TD
80
+ toggle_sales_email_pref["toggle-sales-email-pref (write)"]
81
+ toggle_open_prompt["toggle-open-prompt (write)"]
82
+ toggle_sales_call_summarization_pref["toggle-sales-call-summarization-pref (write)"]
83
+ toggle_sales_call_explorer_pref["toggle-sales-call-explorer-pref (write)"]
84
+ toggle_sales_conversation_mining_pref["toggle-sales-conversation-mining-pref (write)"]
85
+ toggle_signals2dc_pref["toggle-signals2dc-pref (write)"]
86
+ toggle_sales_conversation_mining_apd360_perm["toggle-sales-conversation-mining-apd360-perm (write)"]
87
+ toggle_sales_rep_feedback_pref["toggle-sales-rep-feedback-pref (write)"]
88
+ toggle_sales_call_generative_insights_pref["toggle-sales-call-generative-insights-pref (write)"]
89
+ get_state["get-state (read)"]
90
+ refresh_sales_mining["refresh-sales-mining (write)"]
91
+ verify_toggle_sales_email_pref["verify-toggle-sales-email-pref (verify)"]
92
+ verify_toggle_open_prompt["verify-toggle-open-prompt (verify)"]
93
+ verify_toggle_sales_call_summarization_pref["verify-toggle-sales-call-summarization-pref (verify)"]
94
+ verify_toggle_sales_call_explorer_pref["verify-toggle-sales-call-explorer-pref (verify)"]
95
+ verify_toggle_sales_conversation_mining_pref["verify-toggle-sales-conversation-mining-pref (verify)"]
96
+ verify_toggle_signals2dc_pref["verify-toggle-signals2dc-pref (verify)"]
97
+ verify_toggle_sales_conversation_mining_apd360_perm["verify-toggle-sales-conversation-mining-apd360-perm (verify)"]
98
+ verify_toggle_sales_rep_feedback_pref["verify-toggle-sales-rep-feedback-pref (verify)"]
99
+ verify_toggle_sales_call_generative_insights_pref["verify-toggle-sales-call-generative-insights-pref (verify)"]
100
+ verify_refresh_sales_mining["verify-refresh-sales-mining (verify)"]
101
+ toggle_sales_email_pref --> toggle_open_prompt
102
+ toggle_sales_conversation_mining_pref --> toggle_sales_conversation_mining_apd360_perm
103
+ toggle_sales_conversation_mining_pref --> refresh_sales_mining
104
+ toggle_sales_email_pref --> verify_toggle_sales_email_pref
105
+ toggle_open_prompt --> verify_toggle_open_prompt
106
+ toggle_sales_call_summarization_pref --> verify_toggle_sales_call_summarization_pref
107
+ toggle_sales_call_explorer_pref --> verify_toggle_sales_call_explorer_pref
108
+ toggle_sales_conversation_mining_pref --> verify_toggle_sales_conversation_mining_pref
109
+ toggle_signals2dc_pref --> verify_toggle_signals2dc_pref
110
+ toggle_sales_conversation_mining_apd360_perm --> verify_toggle_sales_conversation_mining_apd360_perm
111
+ toggle_sales_rep_feedback_pref --> verify_toggle_sales_rep_feedback_pref
112
+ toggle_sales_call_generative_insights_pref --> verify_toggle_sales_call_generative_insights_pref
113
+ refresh_sales_mining --> verify_refresh_sales_mining
114
+ ```
115
+
116
+ ### Read operations
117
+
118
+ #### `get-state`
119
+
120
+ Read the composite Sales Email Assistant + Conversation Intelligence setup state. Returns a Map<String,Object> aggregating: the computed UI-state enum (ENABLED/DISABLED/IN_PROGRESS/HAWKING_TENANT_ERROR), per-feature access flags, every controller-managed pref/perm value, Hawking ML-platform tenant provisioning status, conversation-mining provisioning status, CDP/Genie status, signalsDC status + details, and a SIQ-in-migration flag. The UI-state enum derives from sales-email pref + Hawking provisioning status; on PROVISION_FAILED with the pref enabled, getState ALSO resets the pref to false (side-effect). Read this first for state discovery and for verify-* steps confirming pref/perm writes.
121
+
122
+ **Call:** `GET /headless/invoke/platform/gptemail-generation` — status: `implemented`
123
+
124
+ **Output:** Map<String,Object> with ~28 keys: state (computed UI-state enum: ENABLED/DISABLED/IN_PROGRESS/HAWKING_TENANT_ERROR), hasSalesEmailAssistant (boolean), isSalesEmailAssistantPrefEnabled (boolean), isOpenPromptEnabled (boolean — already-inverted; true means open-prompt allowed), hasSalesCallSummarization, isSalesCallSummarizationPrefEnabled, hasSalesCallExplorer, isSalesCallExplorerPrefEnabled, hawkingTenantStatus (ProvisioningStatusEnum: PROVISION_SUCCESS/PROVISIONING/PROVISION_FAILED), isHawkingTenantReady, hasEinsteinGPTSetupDisabled (true means Einstein GPT platform pref is OFF), hasSalesRepFeedback, isSalesRepFeedbackPrefEnabled, hasSalesCallGenerativeInsights, isSalesCallGenerativeInsightsPrefEnabled, isSIQInMigration, isECIToCoreMigrationInProgress, isSalesConversationMiningPermEnabled, isSalesConversationMiningPrefEnabled, isSalesConversationMiningAPD360PermEnabled, salesConversationMiningProvisioningStatus (ConversationMiningProvisioningStatusEnum stringified), salesConversationMiningDataCloudStatus (number; -1 indicates CDP/Genie unavailable), salesConversationMiningAPD360ECIStatus (string), salesConversationMiningStatus (ConversationMiningStatus object — populated only when conversation-mining pref is on), eciSignals2DCFeatureAccess (boolean), eciSignals2DCPref (boolean), signalsDCStatus (string), signalsDCDetails (string).
125
+
126
+ ### Write operations
127
+
128
+ #### `toggle-sales-email-pref`
129
+
130
+ Toggle the EinsteinGPTSalesEmails org pref. On enable in legacy-discovery-off orgs performs an atomic dual-pref bulk write that also flips OnlyUseBuilderPrompts=false (open-prompt on by default); a SaveResult failure on either pref returns false and rolls back. On enable in discovery-on orgs the write routes through the Discovery Framework path for the Sales Email feature, which runs pre-enablement validation. Returns the resulting EinsteinGPTSalesEmails value. No public Connect/Tooling/Metadata alternative replicates the dual-pref atomic batch.
131
+
132
+ **Call:** `PATCH /headless/invoke/platform/gptemail-generation/handle-sales-email-pref-toggle` — status: `proposed`
133
+
134
+ **Inputs:**
135
+
136
+ - `enabled` *(`boolean`)* — Whether d is enabled.
137
+
138
+ #### `toggle-open-prompt`
139
+
140
+ Toggle open-prompt mode for Sales Email Assistant by writing the OnlyUseBuilderPrompts org pref to the INVERSE of `enabled` (enabled=true → OnlyUseBuilderPrompts=false → open prompts allowed). Returns whether open-prompt is enabled after the write (also inverted). Gated by Modify Sales Email prompt access. No public Connect/Tooling alternative; raw OrgPreferences write of OnlyUseBuilderPrompts is technically possible but semantic inversion makes substitution error-prone.
141
+
142
+ **Call:** `PATCH /headless/invoke/platform/gptemail-generation/handle-open-prompt-toggle` — status: `proposed`
143
+
144
+ **Inputs:**
145
+
146
+ - `enabled` *(`boolean`)* — Whether d is enabled.
147
+
148
+ **Depends on:** `toggle-sales-email-pref`
149
+
150
+ #### `toggle-sales-call-summarization-pref`
151
+
152
+ Toggle the CallSummarization org pref (Conversational Intelligence). Dual-mode: legacy-discovery-off orgs do a direct pref write; discovery-on orgs route through the Discovery Framework path for the Call Summarization feature. Returns the resulting pref value. Public alternative `POST /connect/setup/discovery/feature/sales-cloud-call-summaries/{enable,disable}` exists but splits one toggle into two endpoints — substituting changes SOR shape; controller is the unified-toggle public surface.
153
+
154
+ **Call:** `PATCH /headless/invoke/platform/gptemail-generation/handle-sales-call-summarization-pref-toggle` — status: `proposed`
155
+
156
+ **Inputs:**
157
+
158
+ - `enabled` *(`boolean`)* — Whether d is enabled.
159
+
160
+ #### `toggle-sales-call-explorer-pref`
161
+
162
+ Toggle the CallExplorerEnabled org pref (Conversational Intelligence). Dual-mode: legacy direct pref write, or discovery-on orgs route through the Discovery Framework path for the Call Explorer feature. Returns the resulting pref value. Gated by Sales Record Summaries access. Public alternative `POST /connect/setup/discovery/feature/sales-cloud-call-explorer/{enable,disable}` (Connect API SetupDiscovery) exists with shape mismatch.
163
+
164
+ **Call:** `PATCH /headless/invoke/platform/gptemail-generation/handle-sales-call-explorer-pref-toggle` — status: `proposed`
165
+
166
+ **Inputs:**
167
+
168
+ - `enabled` *(`boolean`)* — Whether d is enabled.
169
+
170
+ #### `toggle-sales-conversation-mining-pref`
171
+
172
+ Toggle the ConversationMining org pref (Sales Signals). Dual-mode: legacy direct pref write, or discovery-on orgs route through the Discovery Framework path for the Sales Signals feature. Returns the resulting pref value. Gated by Conversation Mining Settings access. Prerequisite step for the APD360-perm and refresh-sales-mining toggles. Public alternative `POST /connect/setup/discovery/feature/sales-cloud-sales-signals/{enable,disable}` exists with shape mismatch.
173
+
174
+ **Call:** `PATCH /headless/invoke/platform/gptemail-generation/handle-sales-conversation-mining-pref-toggle` — status: `proposed`
175
+
176
+ **Inputs:**
177
+
178
+ - `enabled` *(`boolean`)* — Whether d is enabled.
179
+
180
+ #### `toggle-signals2dc-pref`
181
+
182
+ Toggle the ECISignals2DC org pref (Signals to DataCloud). Single direct pref write (no discovery-framework branch for this pref). Returns the resulting pref value. Gated by Conversation Mining Settings access. CDP/Genie should be enabled for the resulting signalsDCStatus to reflect a real provisioning state. No public Connect/Tooling/Metadata alternative for this specific pref.
183
+
184
+ **Call:** `PATCH /headless/invoke/platform/gptemail-generation/handle-signals2-dcpref-toggle` — status: `proposed`
185
+
186
+ **Inputs:**
187
+
188
+ - `enabled` *(`boolean`)* — Whether d is enabled.
189
+
190
+ #### `toggle-sales-conversation-mining-apd360-perm`
191
+
192
+ Toggle the aPD360ForECI org-permission bit. Direct org-permission write (NOT a pref). Returns the resulting perm value. Gated by Sales Record Summaries access. Should run AFTER toggle-sales-conversation-mining-pref — the perm sits on top of the conversation-mining feature pref. No public Metadata/Tooling alternative for org-permission bits at this level.
193
+
194
+ **Call:** `PATCH /headless/invoke/platform/gptemail-generation/handle-sales-conversation-mining-apd360-perm-toggle` — status: `implemented`
195
+
196
+ **Inputs:**
197
+
198
+ - `enabled` *(`boolean`)* — Whether d is enabled.
199
+
200
+ **Depends on:** `toggle-sales-conversation-mining-pref`
201
+
202
+ #### `toggle-sales-rep-feedback-pref`
203
+
204
+ Toggle the EinsteinSalesRepFdbkEnab org pref (Enablement Coaching). Single direct pref write. Returns the resulting pref value. Gated by Sales Record Summaries access. No public Connect/Tooling/Metadata Settings type covers this specific pref.
205
+
206
+ **Call:** `PATCH /headless/invoke/platform/gptemail-generation/handle-sales-rep-feedback-pref-toggle` — status: `proposed`
207
+
208
+ **Inputs:**
209
+
210
+ - `enabled` *(`boolean`)* — Whether d is enabled.
211
+
212
+ #### `toggle-sales-call-generative-insights-pref`
213
+
214
+ Toggle the GenerativeConvInsights org pref (Conversational Intelligence). Single direct pref write, plus a server-side info log. Returns the resulting pref value. Gated by Sales Record Summaries access. No public Metadata Settings type covers this specific pref.
215
+
216
+ **Call:** `PATCH /headless/invoke/platform/gptemail-generation/handle-sales-call-generative-insights-pref-toggle` — status: `proposed`
217
+
218
+ **Inputs:**
219
+
220
+ - `enabled` *(`boolean`)* — Whether d is enabled.
221
+
222
+ #### `refresh-sales-mining`
223
+
224
+ Kick off a Sales Conversation Mining refresh and return the resulting ConversationMiningStatus (typically PROCESSING immediately after start). An imperative service trigger, not a pref/perm write. Gated by Conversation Mining Settings access. Should run after toggle-sales-conversation-mining-pref enables the feature. No public Connect/Tooling alternative — service-action without CRUD equivalent.
225
+
226
+ **Call:** `PATCH /headless/invoke/platform/gptemail-generation/handle-sales-mining-refresh` — status: `proposed`
227
+
228
+ **Depends on:** `toggle-sales-conversation-mining-pref`
229
+
230
+ **Output:** ConversationMiningStatus object — the conversation-mining state immediately after the refresh kicks off. Typically PROCESSING when refresh just started; contains status enum + status details. Inspect getState.salesConversationMiningStatus or re-call refresh-sales-mining to poll for completion.
231
+
232
+ ### Verify operations
233
+
234
+ #### `verify-toggle-sales-email-pref`
235
+
236
+ Read getState; confirm isSalesEmailAssistantPrefEnabled equals the value passed to toggle-sales-email-pref. On enable, also confirm isOpenPromptEnabled=true (the dual-pref atomic batch flips OnlyUseBuilderPrompts in legacy-discovery-off orgs). Inspect the state UI-enum: ENABLED if Hawking is ready, IN_PROGRESS if PROVISIONING, HAWKING_TENANT_ERROR if PROVISION_FAILED (in which case getState resets the pref to false — re-toggle if needed).
237
+
238
+ **Call:** `GET /headless/invoke/platform/gptemail-generation`
239
+
240
+ **Depends on:** `toggle-sales-email-pref`
241
+
242
+ #### `verify-toggle-open-prompt`
243
+
244
+ Read getState; confirm isOpenPromptEnabled equals the value passed to toggle-open-prompt (already inverted server-side; getState returns !OnlyUseBuilderPrompts so true means open-prompt allowed).
245
+
246
+ **Call:** `GET /headless/invoke/platform/gptemail-generation`
247
+
248
+ **Depends on:** `toggle-open-prompt`
249
+
250
+ #### `verify-toggle-sales-call-summarization-pref`
251
+
252
+ Read getState; confirm isSalesCallSummarizationPrefEnabled equals the value passed to toggle-sales-call-summarization-pref.
253
+
254
+ **Call:** `GET /headless/invoke/platform/gptemail-generation`
255
+
256
+ **Depends on:** `toggle-sales-call-summarization-pref`
257
+
258
+ #### `verify-toggle-sales-call-explorer-pref`
259
+
260
+ Read getState; confirm isSalesCallExplorerPrefEnabled equals the value passed to toggle-sales-call-explorer-pref.
261
+
262
+ **Call:** `GET /headless/invoke/platform/gptemail-generation`
263
+
264
+ **Depends on:** `toggle-sales-call-explorer-pref`
265
+
266
+ #### `verify-toggle-sales-conversation-mining-pref`
267
+
268
+ Read getState; confirm isSalesConversationMiningPrefEnabled equals the value passed to toggle-sales-conversation-mining-pref. Optionally inspect salesConversationMiningProvisioningStatus and salesConversationMiningStatus (only populated when pref is on).
269
+
270
+ **Call:** `GET /headless/invoke/platform/gptemail-generation`
271
+
272
+ **Depends on:** `toggle-sales-conversation-mining-pref`
273
+
274
+ #### `verify-toggle-signals2dc-pref`
275
+
276
+ Read getState; confirm eciSignals2DCPref equals the value passed to toggle-signals2dc-pref. Inspect signalsDCStatus / signalsDCDetails for the underlying provisioning state when CDP/Genie is enabled.
277
+
278
+ **Call:** `GET /headless/invoke/platform/gptemail-generation`
279
+
280
+ **Depends on:** `toggle-signals2dc-pref`
281
+
282
+ #### `verify-toggle-sales-conversation-mining-apd360-perm`
283
+
284
+ Read getState; confirm isSalesConversationMiningAPD360PermEnabled equals the value passed to toggle-sales-conversation-mining-apd360-perm.
285
+
286
+ **Call:** `GET /headless/invoke/platform/gptemail-generation`
287
+
288
+ **Depends on:** `toggle-sales-conversation-mining-apd360-perm`
289
+
290
+ #### `verify-toggle-sales-rep-feedback-pref`
291
+
292
+ Read getState; confirm isSalesRepFeedbackPrefEnabled equals the value passed to toggle-sales-rep-feedback-pref.
293
+
294
+ **Call:** `GET /headless/invoke/platform/gptemail-generation`
295
+
296
+ **Depends on:** `toggle-sales-rep-feedback-pref`
297
+
298
+ #### `verify-toggle-sales-call-generative-insights-pref`
299
+
300
+ Read getState; confirm isSalesCallGenerativeInsightsPrefEnabled equals the value passed to toggle-sales-call-generative-insights-pref.
301
+
302
+ **Call:** `GET /headless/invoke/platform/gptemail-generation`
303
+
304
+ **Depends on:** `toggle-sales-call-generative-insights-pref`
305
+
306
+ #### `verify-refresh-sales-mining`
307
+
308
+ Read getState; inspect salesConversationMiningStatus (the ConversationMiningStatus object) for the post-refresh state. Refresh kicked from PROCESSING to a terminal status (success/failure) over time — re-poll if still PROCESSING. Also surfaces salesConversationMiningProvisioningStatus.
309
+
310
+ **Call:** `GET /headless/invoke/platform/gptemail-generation`
311
+
312
+ **Depends on:** `refresh-sales-mining`
@@ -0,0 +1,253 @@
1
+ ---
2
+ name: agentforce-offline-experimentation-run
3
+ description: "Use this skill when users want to execute this workflow when a user wants to test how a different LLM model would handle existing Agentforce agent conversations. Trigger when users mention agentforce, offline, experimentation."
4
+ metadata:
5
+ relatedSkills:
6
+ - dx-apexguru-scan
7
+ version: '1.0'
8
+ cliTools:
9
+ - tool:
10
+ - curl
11
+ semver: '>=7.0'
12
+ - tool:
13
+ - jq
14
+ semver: '>=1.6'
15
+ - tool:
16
+ - python3
17
+ semver: '>=3.8'
18
+ - tool:
19
+ - sf
20
+ semver: '>=2.0.0'
21
+ ---
22
+
23
+ # Managing Agentforce Offline Experimentation
24
+
25
+ ## When to Use This Skill
26
+
27
+ Execute this workflow when a user wants to test how a different LLM model would handle existing Agentforce agent conversations. Fetches session traces from Data Cloud STDM, replays prompts via the SFAP AI Gateway REST API with structured tool calling, scores across four metrics (topic agreement, function name accuracy, function argument accuracy via LLM-as-judge, text response quality via LLM-as-judge), and produces CSV + HTML reports with SAFE/REVIEW/UNSAFE verdict badges. Requires Data Cloud with Agentforce Activity data streaming enabled, an authenticated org, and a target model ID (llmgateway__ prefix for SFAP replay). Estimated runtime: 10-30 minutes for 10 sessions.
28
+
29
+ ## Workflow
30
+
31
+ discover-data-space → verify-stdm-availability → discover-agents → resolve-agent-label → list-available-models (if user needs help choosing) → find-sessions → get-conversation-details → get-llm-step-details → obtain-sfap-token → replay-turn-prompts → [score-exact-matches, judge-function-args, judge-text-responses] → generate-csv-report → generate-html-report.
32
+ WORKFLOW GATE: Do not proceed past Phase 0 until org alias (auto-discover from authenticated orgs), agent API name (auto-discover from STDM), and target model ID (ask user) are all confirmed.
33
+ SFAP JWT expires after ~2 hours. For 20+ session replays, refresh the token between batches. Each SFAP replay call takes ~1-3 seconds; keep under 20 sessions for reasonable wall-clock time (~10-30 minutes).
34
+ The scoring and judging steps (Phase 3) can run in parallel once replay completes. Exact-match scoring is instant; LLM judge calls add ~1-2 seconds per turn.
35
+
36
+ ## Critical Constraints
37
+
38
+ **Preconditions:**
39
+
40
+ - Data Cloud is provisioned and enabled in the org (check: `DataCloudProvisioned`)
41
+ - Agentforce Activity data streaming is active in Data Cloud (check: `AgentforceActivityStream`)
42
+ - Einstein LLM / GenAI Gateway is configured in the org (check: `EinsteinLlmEnabled`)
43
+ - User has an authenticated session to the target org (check: `OrgAuthenticated`)
44
+
45
+ ## Operations Reference
46
+
47
+ Operations grouped by purpose. Use these as the building blocks for the workflows above.
48
+
49
+ ### Summary
50
+
51
+ | Operation | Purpose | Status | Call | Depends on |
52
+ |-----------|---------|--------|------|------------|
53
+ | `discover-data-space` | read | implemented | `getDataSpaces` | — |
54
+ | `verify-stdm-availability` | validate | implemented | `queryCdpAnsiSqlV2` | `discover-data-space` |
55
+ | `discover-agents` | read | implemented | `queryCdpAnsiSqlV2` | `verify-stdm-availability` |
56
+ | `resolve-agent-label` | read | implemented | `queryGenAiPlannerDefinition` | `discover-agents` |
57
+ | `list-available-models` | read | implemented | `queryAiModel` | — |
58
+ | `find-sessions` | read | implemented | `queryCdpAnsiSqlV2` | `verify-stdm-availability`, `discover-agents` |
59
+ | `get-conversation-details` | read | proposed | `queryCdpAnsiSqlV2` | `find-sessions` |
60
+ | `get-llm-step-details` | read | proposed | `queryCdpAnsiSqlV2` | `get-conversation-details` |
61
+ | `obtain-sfap-token` | validate | proposed | `obtainSfapJwt` | — |
62
+ | `replay-turn-prompts` | read | proposed | `sfapChatGenerations` | `get-llm-step-details`, `obtain-sfap-token` |
63
+ | `score-exact-matches` | read | proposed | `computeExactMatchScores` | `replay-turn-prompts` |
64
+ | `judge-function-args` | read | proposed | `sfapChatGenerations` | `score-exact-matches`, `obtain-sfap-token` |
65
+ | `judge-text-responses` | read | proposed | `sfapChatGenerations` | `replay-turn-prompts`, `obtain-sfap-token` |
66
+ | `generate-csv-report` | write | proposed | `generateCsvReport` | `score-exact-matches`, `judge-function-args`, `judge-text-responses` |
67
+ | `generate-html-report` | write | proposed | `generateHtmlReport` | `generate-csv-report` |
68
+
69
+ ### Dependency graph
70
+
71
+ ```mermaid
72
+ graph TD
73
+ discover_data_space["discover-data-space (read)"]
74
+ verify_stdm_availability["verify-stdm-availability (validate)"]
75
+ discover_agents["discover-agents (read)"]
76
+ resolve_agent_label["resolve-agent-label (read)"]
77
+ list_available_models["list-available-models (read)"]
78
+ find_sessions["find-sessions (read)"]
79
+ get_conversation_details["get-conversation-details (read)"]
80
+ get_llm_step_details["get-llm-step-details (read)"]
81
+ obtain_sfap_token["obtain-sfap-token (validate)"]
82
+ replay_turn_prompts["replay-turn-prompts (read)"]
83
+ score_exact_matches["score-exact-matches (read)"]
84
+ judge_function_args["judge-function-args (read)"]
85
+ judge_text_responses["judge-text-responses (read)"]
86
+ generate_csv_report["generate-csv-report (write)"]
87
+ generate_html_report["generate-html-report (write)"]
88
+ discover_data_space --> verify_stdm_availability
89
+ verify_stdm_availability --> discover_agents
90
+ discover_agents --> resolve_agent_label
91
+ verify_stdm_availability --> find_sessions
92
+ discover_agents --> find_sessions
93
+ find_sessions --> get_conversation_details
94
+ get_conversation_details --> get_llm_step_details
95
+ get_llm_step_details --> replay_turn_prompts
96
+ obtain_sfap_token --> replay_turn_prompts
97
+ replay_turn_prompts --> score_exact_matches
98
+ score_exact_matches --> judge_function_args
99
+ obtain_sfap_token --> judge_function_args
100
+ replay_turn_prompts --> judge_text_responses
101
+ obtain_sfap_token --> judge_text_responses
102
+ score_exact_matches --> generate_csv_report
103
+ judge_function_args --> generate_csv_report
104
+ judge_text_responses --> generate_csv_report
105
+ generate_csv_report --> generate_html_report
106
+ ```
107
+
108
+ ### Read operations
109
+
110
+ #### `discover-data-space`
111
+
112
+ Discover active Data Cloud data spaces in the org
113
+
114
+ **Call:** `getDataSpaces` — status: `implemented`
115
+
116
+ #### `discover-agents`
117
+
118
+ Query STDM for distinct Agentforce agent API names that have session traces
119
+
120
+ **Call:** `queryCdpAnsiSqlV2` — status: `implemented`
121
+
122
+ **Depends on:** `verify-stdm-availability`
123
+
124
+ #### `resolve-agent-label`
125
+
126
+ Enrich the selected agent API name with a human-readable MasterLabel
127
+
128
+ **Call:** `queryGenAiPlannerDefinition` — status: `implemented`
129
+
130
+ **Inputs:**
131
+
132
+ - `agent_api_name` *(`String`)* — Agent API name selected in discover-agents
133
+
134
+ **Depends on:** `discover-agents`
135
+
136
+ #### `list-available-models`
137
+
138
+ List Einstein LLM models configured in the org to help the user choose a target model
139
+
140
+ **Call:** `queryAiModel` — status: `implemented`
141
+
142
+ #### `find-sessions`
143
+
144
+ Find recent Agentforce sessions in STDM filtered by agent API name and date range
145
+
146
+ **Call:** `queryCdpAnsiSqlV2` — status: `implemented`
147
+
148
+ **Inputs:**
149
+
150
+ - `agent_api_name` *(`String`)* — Agent API name selected in discover-agents
151
+ - `start_date` *(`String`)*
152
+ - `end_date` *(`String`)*
153
+ - `max_sessions` *(`Integer`)*
154
+
155
+ **Depends on:** `verify-stdm-availability`, `discover-agents`
156
+
157
+ #### `get-conversation-details`
158
+
159
+ Fetch interactions (turns) for each session from the STDM Interaction DMO
160
+
161
+ **Call:** `queryCdpAnsiSqlV2` — status: `proposed`
162
+
163
+ **Depends on:** `find-sessions`
164
+
165
+ #### `get-llm-step-details`
166
+
167
+ Fetch interaction steps including LLM inputs and outputs for each interaction
168
+
169
+ **Call:** `queryCdpAnsiSqlV2` — status: `proposed`
170
+
171
+ **Depends on:** `get-conversation-details`
172
+
173
+ #### `replay-turn-prompts`
174
+
175
+ Replay each turn's LLM prompt through the target model via SFAP REST API with structured tool calling
176
+
177
+ **Call:** `sfapChatGenerations` — status: `proposed`
178
+
179
+ **Inputs:**
180
+
181
+ - `target_model` *(`String`)* — Target model ID (llmgateway__ prefix, e.g. llmgateway__OpenAIGPT41)
182
+
183
+ **Depends on:** `get-llm-step-details`, `obtain-sfap-token`
184
+
185
+ #### `score-exact-matches`
186
+
187
+ Compute exact-match scores for topic agreement and function name accuracy
188
+
189
+ **Call:** `computeExactMatchScores` — status: `proposed`
190
+
191
+ **Depends on:** `replay-turn-prompts`
192
+
193
+ #### `judge-function-args`
194
+
195
+ LLM-as-judge scoring of function arguments when function names match (exact or lenient)
196
+
197
+ **Call:** `sfapChatGenerations` — status: `proposed`
198
+
199
+ **Depends on:** `score-exact-matches`, `obtain-sfap-token`
200
+
201
+ #### `judge-text-responses`
202
+
203
+ LLM-as-judge scoring of text responses for turns that end with text output
204
+
205
+ **Call:** `sfapChatGenerations` — status: `proposed`
206
+
207
+ **Depends on:** `replay-turn-prompts`, `obtain-sfap-token`
208
+
209
+ ### Write operations
210
+
211
+ #### `generate-csv-report`
212
+
213
+ Generate CSV report with per-turn replay results and aggregate summary scores
214
+
215
+ **Call:** `generateCsvReport` — status: `proposed`
216
+
217
+ **Inputs:**
218
+
219
+ - `output_csv` *(`String`)*
220
+
221
+ **Depends on:** `score-exact-matches`, `judge-function-args`, `judge-text-responses`
222
+
223
+ #### `generate-html-report`
224
+
225
+ Build a self-contained HTML analysis report with verdict badges, scorecards, and failure breakdown
226
+
227
+ **Call:** `generateHtmlReport` — status: `proposed`
228
+
229
+ **Inputs:**
230
+
231
+ - `html_output` *(`String`)*
232
+
233
+ **Depends on:** `generate-csv-report`
234
+
235
+ ### Other operations
236
+
237
+ #### `verify-stdm-availability`
238
+
239
+ Verify STDM (Session Trace Data Model) is queryable in Data Cloud
240
+
241
+ **Call:** `queryCdpAnsiSqlV2` — status: `implemented`
242
+
243
+ **Depends on:** `discover-data-space`
244
+
245
+ #### `obtain-sfap-token`
246
+
247
+ Obtain an SFAP JWT token via org session authentication and the /ide/auth endpoint
248
+
249
+ **Call:** `obtainSfapJwt` — status: `proposed`
250
+
251
+ **Inputs:**
252
+
253
+ - `org_alias` *(`String`)* — Authenticated org alias for token resolution