@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,323 @@
1
+ ---
2
+ name: flow-recipe-summarize
3
+ license: LICENSE.txt has complete terms
4
+ description: "Use this skill to summarize a Salesforce Flow or any of its elements in plain English using the flow MCP. TRIGGER when: user says 'summarize this flow', 'summarize the X element', 'summarize Decision_1', 'what does this flow do', 'what does the [Element] do', 'explain Get_Account', 'walk me through Decision_1', 'break down the routing logic', 'I don't understand what this decision is doing', 'tell me what the [Element] does', or pastes Flow JSON, Salesforce Metadata API XML, or element JSON and asks for an explanation. Also TRIGGER for API-name and durable-version references like 'summarize Is_VIP' or 'summarize SvcCopilotTmpl__AddCaseComment-1'. DO NOT TRIGGER when: building or editing a flow (use flow-recipe-author), running tests (use flow-recipe-testing), or asking how a flow element type works in general (e.g. 'what is a Decision element' is a Salesforce-docs question, not a per-instance summary)."
5
+ metadata:
6
+ version: "2.0"
7
+ related-skills: flow-recipe-author, flow-recipe-testing
8
+ id: flow.recipes.summarize
9
+ requires:
10
+ - flow.shared.output-format-guidelines
11
+ - flow.shared.flow-properties
12
+ ---
13
+
14
+ # Flow & Element Summarization
15
+
16
+ Plain-English explanation of what a Salesforce Flow or one of its
17
+ elements does. **Decision** elements get the full PRD-level treatment
18
+ (intent + path-by-path breakdown + grouping + loopback notes). All
19
+ other element types get a tone-compliant shallow summary via the
20
+ generic fallback. Whole-flow summaries roll up the high-level path
21
+ skeleton and include start context only when Flow Builder exposes
22
+ start configuration for that flow type.
23
+
24
+ This recipe is **read-only**. It never writes, saves, activates,
25
+ deactivates, or modifies a flow. It produces summary content only.
26
+
27
+ ## Read before you render (mandatory)
28
+
29
+ This recipe is an index, not the full specification. The rules that shape the
30
+ output live in the referenced files, not in this file. The Hard Constraints
31
+ below are a safety net, not a substitute. Before producing any summary, open
32
+ and read these files during the current turn:
33
+
34
+ - `../../shared/output-format-guidelines.md` — always. Resolve this path from
35
+ this recipe's directory; it points to the shared guidance under
36
+ `references/shared/`.
37
+ - `output-contract.md` — always.
38
+ - `display.md` — always; select its matching view only after the
39
+ summary content passes the gates below. Determines whether output
40
+ is a tool call or plain Markdown based on the tool list.
41
+ - `tone.md` — always.
42
+ - The dispatch file for the requested summary:
43
+ - Whole flow → `flow-overall.md`.
44
+ - Decision element → `element-decision.md`.
45
+ - Any other element → `element-generic.md`.
46
+ - `reference-resolution.md` § 5 — when the flow was read from the org
47
+ and a step you describe has a record Id or CMS content reference in
48
+ its inputs (a send's sender, consent subscription, or content).
49
+
50
+ Do not render from this recipe's inline instructions alone. Use the retrieved
51
+ or provided Flow metadata as the source of facts, then apply the referenced
52
+ files as the rendering contract. If the required files have not been opened
53
+ and read during the current turn, open them before drafting the summary.
54
+
55
+ ## Goal
56
+
57
+ Given a FlowVersion id (`301xxx…`), a FlowDefinition id (`300xxx…`), a custom
58
+ Flow API name, a standard Flow's namespaced durable version id, or a complete
59
+ Flow definition as Flow JSON or Salesforce Metadata API XML, produce summary
60
+ content that:
61
+
62
+ 1. Complies with `../../shared/output-format-guidelines.md` — the
63
+ cross-cutting suppression tiers, data-value translations, and
64
+ formatting defaults that apply to ALL element summaries.
65
+ 2. Conforms to the **output structure** in `output-contract.md`.
66
+ 3. Uses the deterministic render-tool or Markdown branch in
67
+ `display.md`.
68
+ 4. Obeys the **tone constraints** in `tone.md` (no critique, no
69
+ recommendations, no jargon, no raw FEROV syntax).
70
+ 5. Applies the **confidence prefix** rules in `confidence-rules.md`.
71
+ 6. Applies the **grouping rules** in `grouping.md` when a Decision has
72
+ 13 or more paths.
73
+ 7. Handles the **edge cases** in `edge-cases.md` (empty conditions,
74
+ invalid values, missing downstream, etc.).
75
+
76
+ If the output you are about to produce violates any of these, stop
77
+ and re-render before showing it to the user.
78
+
79
+ ## When to Use This Skill
80
+
81
+ Trigger on any of these phrasings (the description carries more —
82
+ this is the short list):
83
+
84
+ - "Summarize this flow" / "Summarize the [Element] decision" /
85
+ "Summarize Decision_1" / "Summarize Is_VIP".
86
+ - "What does this flow do?" / "What does this decision do?" / "What
87
+ does Get_Account do?".
88
+ - "Explain this flow" / "Explain Get_Account".
89
+ - "Walk me through Decision_1" / "Break down the routing logic for
90
+ me" / "I don't understand what this decision is doing".
91
+ - User pastes element JSON or flow JSON and asks for a summary.
92
+
93
+ **Do not** trigger when:
94
+
95
+ - The user is creating or editing a flow (route to `flow-recipe-author`).
96
+ - The user is testing/debugging a flow (route to
97
+ `flow-recipe-testing`).
98
+ - The user is asking "what is a Decision element" in general — that
99
+ is a docs question about the *type*, not a summary of an
100
+ *instance*. Defer to Salesforce documentation.
101
+
102
+ ## Routing
103
+
104
+ Six steps, in order. Do not skip step 1.
105
+
106
+ ### Step 1 — Resolve the available summary context
107
+
108
+ Whole-flow context is preferred because it enables downstream-element
109
+ labels, formula expressions, FEROV references, and loopback detection.
110
+ An element-only definition is still valid input; summarize it with the
111
+ documented low-confidence limitations. See `reference-resolution.md`
112
+ for the full ladder. Short version:
113
+
114
+ | Input you have | What to do |
115
+ |---|---|
116
+ | `301xxx…` (FlowVersion id) | Call `dispatch_readonly(method: "GET", url: "/services/data/vXX.0/flowbuilder/flow/<id>")` directly. |
117
+ | `300xxx…` (FlowDefinition id) | Call `dispatch_readonly(method: "GET", url: "/services/data/vXX.0/flowbuilder/flow/<id>")` directly. The tool resolves the Active version, or the latest version when none is Active; do not make a separate version-list call. |
118
+ | Custom Flow API name (e.g. `Lead_Routing` or `acme__Lead_Routing`) | Call `dispatch_readonly(method: "GET", url: "/services/data/vXX.0/flowbuilder/flow/<id>")` with the exact API name. The tool resolves the Active version, or the latest version when none is Active. Do not translate labels, add/remove a namespace, or make a separate version-list call. |
119
+ | Standard Flow namespaced durable version id (e.g. `SvcCopilotTmpl__AddCaseComment-1`) | Call `dispatch_readonly(method: "GET", url: "/services/data/vXX.0/flowbuilder/flow/<id>")` with the exact durable id. The `-N` suffix selects that standard Flow version. |
120
+ | Flow label (e.g. `Lead Routing`) | A label is not a supported `GET /services/data/vXX.0/flowbuilder/flow/{id}` identifier. Ask for the exact API name, a `301xxx…` FlowVersion id, or the complete Flow definition as Flow JSON or Salesforce Metadata API XML. Do not convert spaces to underscores or otherwise guess an API name. |
121
+ | Element definition pasted as Flow JSON or Salesforce Metadata API XML, no flow context | Summarize from the element only and apply the low-confidence prefix; loopback and downstream labels will be unresolved |
122
+ | Complete Flow definition pasted as Flow JSON or Salesforce Metadata API XML | Use directly for read-only summarization; no MCP call needed |
123
+
124
+ If resolution fails (no metadata returned, session expired, or the referenced
125
+ flow does not exist), stop and report the failure plainly. Ask the user to
126
+ provide one of these supported inputs:
127
+
128
+ 1. The exact custom Flow API name, including its namespace when applicable.
129
+ 2. The standard Flow's namespaced durable version id, including its `-N`
130
+ version suffix.
131
+ 3. The FlowVersion id (the `301…` id) or FlowDefinition id (the `300…` id).
132
+ 4. The complete Flow definition as either Flow JSON or Salesforce Metadata API
133
+ XML.
134
+
135
+ Metadata API XML is accepted as read-only summarization input only. Do not pass
136
+ XML to save operations, which require the Flow MCP JSON schema.
137
+ Never invent metadata.
138
+
139
+ ### Step 2 — Decide flow vs. element
140
+
141
+ - User asked about **the flow as a whole** ("summarize this flow",
142
+ "what does this flow do") → open and read `flow-overall.md`, then
143
+ render to its contract. Do not free-form the summary directly from
144
+ the Flow metadata retrieved in step 1.
145
+ - User named **a single element** ("summarize Decision_1", "what does
146
+ Get_Account do") → continue to step 3.
147
+ - User pasted **a single element JSON** with no broader request →
148
+ continue to step 3.
149
+ - Ambiguous (multiple Decisions exist and user said "summarize the
150
+ decision") → ask one disambiguation question. Do not guess.
151
+
152
+ ### Step 3 — Locate the target element
153
+
154
+ Find it by `name` (API name) first, then `label`. If multiple
155
+ elements share the same label, ask which one the user meant. If no
156
+ match, say so and list the element names that *do* exist.
157
+
158
+ ### Step 4 — Dispatch by element type
159
+
160
+ | Element `type` in metadata | Reference to load |
161
+ |---|---|
162
+ | `Decision` | `element-decision.md` (full PRD treatment) |
163
+ | any other type | `element-generic.md` (shallow but tone-compliant) |
164
+
165
+ Open and read the dispatched file before rendering. The inline Hard
166
+ Constraints below are not a substitute for its complete contract.
167
+
168
+ `element-record-lookup.md`, `element-record-create.md`,
169
+ `element-record-update.md`, `element-record-delete.md` are reserved
170
+ for P1 — they do not exist yet. Until they do, CRUD elements route
171
+ to `element-generic.md`.
172
+
173
+ ### Step 5 — Build and validate summary content
174
+
175
+ Apply, in order:
176
+
177
+ 1. Remove every Flow-level and element-level `description` field from
178
+ the facts available for drafting. Derive intent only from configured
179
+ Start behavior, elements, connectors, conditions, assignments, and
180
+ values. If an intent clause cannot be traced to that configuration,
181
+ delete it. Do not name an actor, persona, caller, or beneficiary (for
182
+ example, a customer, agent, or administrator) unless that role is
183
+ explicitly represented by a configured Screen, action, condition, or
184
+ record relationship.
185
+ 2. For a Screen Flow or non-triggered Autolaunched Flow, remove all
186
+ `variables[]` entries with `isInput: true` from the summary input
187
+ before interpreting references. When an element references one of
188
+ those variables, resolve only the target's business role from the
189
+ element/object context (for example, "the case being handled");
190
+ never reveal the variable, its value, its source, or invocation
191
+ context. In the final draft, replace any source-implying use of
192
+ "given," "provided," "supplied," "passed-in," or "input" with the
193
+ value's business noun, such as "the comment text."
194
+ 3. The suppression tiers from `../../shared/output-format-guidelines.md`
195
+ (Tier 1 items removed unconditionally; Tier 2 items translated;
196
+ data values humanized; formatting defaults enforced).
197
+ 4. The shape from `output-contract.md`.
198
+ 5. The grouping rules from `grouping.md` (Decision only, when path
199
+ count ≥ 13).
200
+ 6. The confidence prefix from `confidence-rules.md`.
201
+ 7. The tone constraints from `tone.md` — read this last, because it
202
+ is also the gate that blocks output.
203
+
204
+ Cross-check the rendered output against the closest example in
205
+ `examples/`. If your output diverges materially from every example,
206
+ something is wrong with the rendering — fix before showing.
207
+
208
+ When a render tool will be used, apply this example gate to the text
209
+ inside `detailedSummary` and `shortSummary`, not to the tool-call
210
+ envelope.
211
+
212
+ ### Step 6 — Deliver
213
+
214
+ Open `display.md` and use exactly one matching view:
215
+
216
+ - Whole-flow summary → `display.md` §"summarize-flow".
217
+ - Single-element summary → `display.md` §"summarize-element".
218
+
219
+ The view's guarded rules decide tool call vs. plain Markdown.
220
+
221
+ ### Before you show the output (gate)
222
+
223
+ Confirm every item below is true. If any item is false, stop and fix it:
224
+
225
+ - You opened and read `../../shared/output-format-guidelines.md`,
226
+ `output-contract.md`, `display.md`, and `tone.md` during the current
227
+ turn.
228
+ - You opened and read the dispatch file for this request
229
+ (`flow-overall.md`, `element-decision.md`, or `element-generic.md`) and
230
+ rendered to its contract.
231
+ - You checked the tool list for the current turn against `display.md`
232
+ and chose the matching view per its guarded rules.
233
+ - The summary content matches the closest applicable file in
234
+ `examples/`. In tool-call mode, check the summary parameter values
235
+ rather than the tool envelope.
236
+
237
+ If the draft was produced from this recipe's inline instructions without
238
+ opening those files, discard it and re-render from the referenced contracts.
239
+
240
+ ## Hard Constraints
241
+
242
+ These are violations that automatically reject the output. Each is
243
+ expanded with reasoning in `tone.md` and
244
+ `../../shared/output-format-guidelines.md`.
245
+
246
+ Exception: **if a matching tool is in the tool list** for this
247
+ summary type, call it instead of emitting plain text. See `display.md`
248
+ for the guarded views, parameter contract, schema compatibility, and
249
+ the plain-Markdown fallback used when no such tool is present or a
250
+ call fails. The tool call itself is not a violation of the constraints
251
+ below — but they still apply in full to the text inside each parameter
252
+ value.
253
+
254
+ Tools are an internal detail of how the recipe produces output.
255
+ Never name a tool, name its parameters, state which branch (tool
256
+ call or plain text) was taken, or narrate the detection step — in
257
+ either branch. Never emit a preamble, framing sentence, or
258
+ disclaimer before the summary. The first character of the response
259
+ is the first character of the summary. Return the summary, not an
260
+ account of producing it.
261
+
262
+ - **Tier 1 suppression (unconditional).** Never show GUIDs/UUIDs,
263
+ canvas coordinates (x/y), internal system timestamps
264
+ (SystemModstamp, LastModifiedById), raw JSON/XML payloads, or
265
+ Salesforce version tokens/etags. If a user asks for one, politely
266
+ note it's not useful and offer to summarize instead.
267
+ - **No critiques.** Never write "consider", "should", "may want to",
268
+ "appears unreachable", "largely unreachable in practice", "is
269
+ fine", "no error, no log, no fault", or any other evaluative
270
+ language. State what the configuration *does*, not whether it is
271
+ good.
272
+ - **No recommendations.** Do not propose changes, alternatives, or
273
+ improvements.
274
+ - **No raw condition syntax.** `StageName == "Closed Won"` becomes
275
+ "Stage is Closed Won". If the user explicitly asks for raw syntax,
276
+ show it alongside (never instead of) the plain-English
277
+ translation.
278
+ - **No FEROV literals shown.** A `booleanValue: false` or
279
+ `numberValue: 100000` is rendered as plain English ("is not
280
+ active", "exceeds $100,000"). Booleans are rendered contextually
281
+ ("is active" / "is not active", "is checked" / "is unchecked") —
282
+ never literal `true`/`false`.
283
+ - **No element-type explainer.** Do not explain what a Decision
284
+ element *is* in general; describe only what *this* one does.
285
+ - **No description-field content.** Flow and element descriptions are
286
+ excluded from input (PRD §2.2 footnote — descriptions are
287
+ frequently stale and unreliable).
288
+ - **No markdown tables in output.** Use bullet lists. Tables are
289
+ acceptable only if the user explicitly requests a comparison or
290
+ table layout.
291
+ - **No code blocks or backtick formatting.** Write values in plain
292
+ text with quotation marks (e.g., Stage is "Closed Won").
293
+ Acceptable only if user explicitly asks for code output.
294
+ - **Null/empty → human text.** Render as "not set," "no value
295
+ configured," or "blank." Never write `null`, `""`, or similar
296
+ literally.
297
+ - **No inapplicable start context.** For Screen Flows and
298
+ non-triggered Autolaunched Flows, never summarize the trigger or
299
+ launch type, entry conditions, or flow-level input variables. Do
300
+ not render empty-state statements for them and do not move them
301
+ into the intent or path text. See
302
+ `../../shared/output-format-guidelines.md` §"Flow-Type Start-Context
303
+ Suppression."
304
+ - **Default path is always the final bullet** in a path list, and
305
+ labeled as the fallback for "all other cases" / "records that
306
+ don't match any of the above conditions".
307
+
308
+ ## Reference Index
309
+
310
+ | File | When to consult |
311
+ |---|---|
312
+ | `../../shared/output-format-guidelines.md` | Every render — suppression tiers, data translations, formatting defaults |
313
+ | `output-contract.md` | Every render — defines output structure |
314
+ | `display.md` | Every render — selects the tool call or Markdown fallback |
315
+ | `tone.md` | Every render — defines what cannot appear |
316
+ | `confidence-rules.md` | When deciding to prefix with "It appears that" |
317
+ | `grouping.md` | Decision with 13+ paths |
318
+ | `edge-cases.md` | Empty/invalid conditions, missing downstream, duplicate logic |
319
+ | `reference-resolution.md` | Translating ids, FEROVs, formulas, downstream labels |
320
+ | `element-decision.md` | Element type = Decision (MVP) |
321
+ | `element-generic.md` | Any non-Decision element type |
322
+ | `flow-overall.md` | Whole-flow summary requests |
323
+ | `examples/*.md` | Quality-bar reference; cross-check final output |
@@ -0,0 +1,109 @@
1
+ # Debug — Headline Output Template
2
+
3
+ Verbatim skeleton and worked example for the **Headline** layer emitted by every run in `[[flow.recipes.testing.workflows.debug]]` Phase 2 → Loop body → step 2. Copy the skeleton exactly — same headers, same order, every section present even if a section is `None` (the one exception is `### Paused`, which appears only while a run is paused). Do not paraphrase headers, merge sections, or reorder.
4
+
5
+ ## Headline skeleton (copy verbatim, fill in per run)
6
+
7
+ ```markdown
8
+ ### Summary
9
+ <One paragraph, business language. What the execution did end-to-end. No element-by-element narration. No `interviewId`, no debug log line numbers, no Aura wire shape.>
10
+
11
+ ### Paused
12
+ <Emit ONLY while the run is paused (`interviewStatus` is `WAITING` or `ASYNC_WAITING`); omit this whole section otherwise. State the Wait element the run stopped at, then one bullet per entry in `waitEvents[]`: the event `name` and its resume time (`value`), or "platform event" when `value` is empty.>
13
+
14
+ ### Inputs
15
+ <Bulleted list of the inputs that drove this run: `$Record` value / input variables / scheduled path / trigger context. One bullet per input. `None` if the flow takes no inputs.>
16
+
17
+ ### Outputs
18
+ <Bulleted list of output variables and their final values. `None` if the flow has no output variables.>
19
+
20
+ ### Governor limits
21
+ <Bulleted list of any governor-limit-relevant counters that were exercised (SOQL queries, DML rows, CPU time, etc.). `None if not applicable` for this flow shape.>
22
+
23
+ ### What's next?
24
+ Deep dive into execution details? Refine inputs? Try a different scenario? Or save this run as a test?
25
+
26
+ Is there a specific part of the trace you'd like to focus on?
27
+ ```
28
+
29
+ ## Paused and resumed runs
30
+
31
+ - **`### Paused` is the one conditional section.** Every other section stays present even when its value is `None`. Place `### Paused` directly after `### Summary`.
32
+ - **While paused, replace the "What's next?" first line** with: `Resume at which wait event? Refine inputs? Or try a different scenario?` Saving as a test is not offered mid-pause.
33
+ - **After a resume, keep one cumulative headline.** `### Summary` covers the run so far, and the trace is the original legs plus the resumed leg. Do not emit a second, separate headline for the resumed leg.
34
+ - **When the resumed run finishes, drop `### Paused`** and use the normal "What's next?" text. If the user then saves, the run can only be saved as a test without assertions.
35
+
36
+ ## Worked example (record-triggered flow on `Account`, one update, no faults)
37
+
38
+ ```markdown
39
+ ### Summary
40
+ The flow ran on Account `001XX000003DHPq` after an update. It evaluated the entry condition (`Rating` changed to `Hot`), then routed through the `Notify Owner` branch and queued a task assignment for the record owner. No fault paths taken; the flow completed successfully.
41
+
42
+ ### Inputs
43
+ - `$Record`: Account `001XX000003DHPq` (Name: "Acme Corp", Rating: `Hot`, prior Rating: `Warm`)
44
+ - Trigger context: `RecordAfterSave`, update
45
+
46
+ ### Outputs
47
+ - `taskCreated`: `true`
48
+ - `assignedTo`: `005XX000001Sv8YQAS`
49
+
50
+ ### Governor limits
51
+ - SOQL queries: 1 / 100
52
+ - DML rows: 1 / 10,000
53
+
54
+ ### What's next?
55
+ Deep dive into execution details? Refine inputs? Try a different scenario? Or save this run as a test?
56
+
57
+ Is there a specific part of the trace you'd like to focus on?
58
+ ```
59
+
60
+ ## Worked example (autolaunched flow paused at a Wait, then resumed)
61
+
62
+ First leg — the run stops at the Wait:
63
+
64
+ ```markdown
65
+ ### Summary
66
+ The flow started with `accountId` set to `001XX000003DHPq`, updated the account's Rating to `Hot`, and then stopped at the `Wait_For_Approval` element. It has not finished yet.
67
+
68
+ ### Paused
69
+ The run is waiting at `Wait_For_Approval`. Resumable wait events:
70
+ - `Approved_Event`: resumes at 2026-10-14T09:00:00Z
71
+ - `Rejected_Event`: platform event
72
+
73
+ ### Inputs
74
+ - `accountId`: `001XX000003DHPq`
75
+
76
+ ### Outputs
77
+ None
78
+
79
+ ### Governor limits
80
+ - SOQL queries: 1 / 100
81
+ - DML rows: 1 / 10,000
82
+
83
+ ### What's next?
84
+ Resume at which wait event? Refine inputs? Or try a different scenario?
85
+
86
+ Is there a specific part of the trace you'd like to focus on?
87
+ ```
88
+
89
+ After resuming on `Approved_Event` — one cumulative headline, no `### Paused`:
90
+
91
+ ```markdown
92
+ ### Summary
93
+ The flow updated the account's Rating to `Hot`, waited at `Wait_For_Approval`, and after resuming on `Approved_Event` created a follow-up task for the owner. It then completed successfully.
94
+
95
+ ### Inputs
96
+ - `accountId`: `001XX000003DHPq`
97
+
98
+ ### Outputs
99
+ - `taskCreated`: `true`
100
+
101
+ ### Governor limits
102
+ - SOQL queries: 2 / 100
103
+ - DML rows: 2 / 10,000
104
+
105
+ ### What's next?
106
+ Deep dive into execution details? Refine inputs? Try a different scenario? Or save this run as a test?
107
+
108
+ Is there a specific part of the trace you'd like to focus on?
109
+ ```
@@ -0,0 +1,219 @@
1
+ # FlowTest definition — shape
2
+
3
+ The `flowTest` object below (`fullName` + `metadata`) is the FlowTest
4
+ **definition** shared by `POST /services/data/vXX.0/flowbuilder/flow-test`, `PATCH /services/data/vXX.0/flowbuilder/flow-test/{id}`, and
5
+ `POST /services/data/vXX.0/flowbuilder/flow-test/debug-interview-test-mode`. It is the **inner** shape, not the wire
6
+ body: each endpoint takes it as a JSON-encoded **string** in `flowTestJson`
7
+ (`flowTestJson: JSON.stringify(flowTest)`). `POST /services/data/vXX.0/flowbuilder/flow-test/debug-interview` does not
8
+ consume this shape; it is argument-driven (`flowVersionId` plus ad-hoc
9
+ `arguments`). This page is the **top-level skeleton**: the definition, the
10
+ `testPoints[]` frame, and the cross-cutting save/round-trip truths. The
11
+ per-element detail lives in dedicated files, linked inline below —
12
+ this file is the map, not the territory.
13
+
14
+ If you are mapping a debug run into a saved test, also read
15
+ [[flow.recipes.testing.workflows.promote]] — that file explains the
16
+ *workflow*; this file explains the *schema*.
17
+
18
+ ## Wire format
19
+
20
+ ### Top-level fields
21
+
22
+ ```jsonc
23
+ {
24
+ "fullName": "<flowApiName>_<scenario_slug>", // server-validated identifier
25
+ "metadata": {
26
+ "label": "<human-facing name>", // shown in the Tests panel
27
+ "description": "<optional>",
28
+ "flowApiName": "<flow API name>", // must match the parent flow
29
+ "flowTestFlowVersions": [ // versions this test runs against
30
+ { "flowVersionNumber": "2" },
31
+ { "flowVersionNumber": "1" }
32
+ ],
33
+ "testType": "WithAssertion", // or "WithoutAssertion"
34
+ "testPoints": [ /* see below */ ],
35
+ "flowTestDataSources": [], // Apex @testSetup bindings
36
+ "isolatedObjectExternalKeys": [], // silo external keys — usually []
37
+ "doesCommitChanges": false, // false = roll DML back on rerun
38
+ "doesSkipStartConditions": false, // true = bypass entry criteria
39
+ "doesTestWaitElement": false, // true = actually wait at Wait elements
40
+ "isSubflowUseLatestFlowVer": false // canonicalized on save (default false)
41
+ }
42
+ }
43
+ ```
44
+
45
+ | Field | Notes |
46
+ |---|---|
47
+ | `fullName` | Conventionally `<FlowApiName>_<scenario_slug>`. Must be unique within the flow. Server-validated. |
48
+ | `flowTestFlowVersions[]` | Each entry pins the test to one version number. A single test can run across several versions — e.g. `[{"flowVersionNumber":"2"},{"flowVersionNumber":"1"}]`. Versions are strings, not numbers. |
49
+ | `testType` | `WithAssertion` if any element has a non-empty `assertions[]`; otherwise `WithoutAssertion`. The two values and the coupling rule live in [[flow.recipes.testing.flowtest-elements.assertions]]. `WithoutAssertion` binds record-typed inputs by `Id`, with extra fields allowed only on the Updated snapshot — see [[flow.recipes.testing.flowtest-elements.parameters]] § "Record-typed inputs on `WithoutAssertion`". |
50
+ | `doesCommitChanges` | Almost always `false` for regression tests. Flip to `true` only when downstream effects (e.g. outbound message side effects) cannot be observed without persisted state. |
51
+ | `doesSkipStartConditions` | `true` lets you exercise a flow without satisfying its trigger entry filter — handy for scenarios where the trigger criteria are orthogonal to what you're testing. |
52
+ | `doesTestWaitElement` | `true` makes Wait elements actually pause when the test is replayed; `false` skips the wait so the run completes synchronously. Use `false` for `WithAssertion` tests (the runner cannot resume a paused interview). `true` suits a `WithoutAssertion` test saved from a paused debug run. For non-Wait flows the wire value is `false`. |
53
+ | `flowTestDataSources[]` | Binds silo fixture data (`AiGenerated` mock records or an Apex `@testSetup` class) that seed the Flow Test silo at run time. Default `[]` means no silo. Full shape, discovery tools, and the `jsonValue` binding it switches on: [[flow.recipes.testing.flowtest-elements.silo-config]]. |
54
+ | `isolatedObjectExternalKeys[]` | The identity bridge between the trigger record and the silo's seeded fixtures. Default `[]`. See [[flow.recipes.testing.flowtest-elements.silo-config]]. |
55
+
56
+ ### `testPoints[]`
57
+
58
+ An array, one entry per element that needs scripted input or an
59
+ expectation. In practice the only entries you will see are:
60
+
61
+ - One on `Start` — supplies the trigger record (and, for update flows,
62
+ the "after" snapshot and/or the scheduled-path pick).
63
+ - Optionally one on `Finish` — to bind assertions to "did the flow take
64
+ the right path / leave records in the right state".
65
+
66
+ Each entry:
67
+
68
+ ```jsonc
69
+ {
70
+ "elementApiName": "Start", // canvas element API name
71
+ "parameters": [ /* inputs */ ], // bind values into element
72
+ "assertions": [ /* expectations */ ], // check values after element runs
73
+ "isUseMockOutput": false // canonicalized on save (default false)
74
+ }
75
+ ```
76
+
77
+ The per-shape detail is split out:
78
+
79
+ - **`parameters[]`** — the typed value envelope and the
80
+ `FlowTestParameterType` slots: [[flow.recipes.testing.flowtest-elements.parameters]].
81
+ Binding the trigger record by flow type:
82
+ [[flow.recipes.testing.flowtest-elements.parameters]].
83
+ - **`assertions[]`** — element-level vs. value operators, `errorMessage`,
84
+ and the AND semantics: [[flow.recipes.testing.flowtest-elements.assertions]].
85
+ - **`testPoints[]` placement and `isUseMockOutput`** —
86
+ [[flow.recipes.testing.flowtest-elements.test-points]].
87
+
88
+ ### How the pieces assemble — minimal examples
89
+
90
+ A `WithoutAssertion` save (`Update_Account_Name_To_BAC`) — just inputs,
91
+ no expectation. Note the Id-only `sobjectValue`: on `WithoutAssertion`
92
+ tests, record-typed inputs are bound by `Id`. The one exception is the
93
+ Updated snapshot on before/after-update flows, which carries `Id` plus
94
+ the changed fields. See
95
+ [[flow.recipes.testing.flowtest-elements.parameters]] § "Record-typed
96
+ inputs on `WithoutAssertion`" for the full per-slot rule.
97
+
98
+ ```json
99
+ {
100
+ "fullName": "Update_Account_Name_To_BAC_TEMP_20260521_save_as_test_try1",
101
+ "metadata": {
102
+ "label": "save as test try1",
103
+ "description": "",
104
+ "flowApiName": "Update_Account_Name_To_BAC_TEMP_20260521",
105
+ "flowTestFlowVersions": [{ "flowVersionNumber": "1" }],
106
+ "testType": "WithoutAssertion",
107
+ "testPoints": [
108
+ {
109
+ "elementApiName": "Start",
110
+ "parameters": [
111
+ {
112
+ "leftValueReference": "$Record",
113
+ "value": { "sobjectValue": "{\"Id\":\"001SM000001TNFCYA4\"}" },
114
+ "type": "InputTriggeringRecordInitial"
115
+ },
116
+ {
117
+ "leftValueReference": "ScheduledPathApiName",
118
+ "value": { "stringValue": "" },
119
+ "type": "ScheduledPath"
120
+ }
121
+ ],
122
+ "assertions": []
123
+ }
124
+ ],
125
+ "flowTestDataSources": [],
126
+ "isolatedObjectExternalKeys": [],
127
+ "doesCommitChanges": false,
128
+ "doesSkipStartConditions": false
129
+ }
130
+ }
131
+ ```
132
+
133
+ A `WithAssertion` save (`brandNewTest`) — full trigger record on
134
+ `Start`, plus a `Finish`-element assertion that `Set_Name_To_BAC` was
135
+ visited:
136
+
137
+ ```json
138
+ {
139
+ "fullName": "brandNewTest",
140
+ "metadata": {
141
+ "label": "brandNewTest",
142
+ "description": "",
143
+ "flowApiName": "Update_Account_Name_To_BAC_TEMP_20260521-2",
144
+ "flowTestFlowVersions": [
145
+ { "flowVersionNumber": "2" },
146
+ { "flowVersionNumber": "1" }
147
+ ],
148
+ "testType": "WithAssertion",
149
+ "testPoints": [
150
+ {
151
+ "elementApiName": "Start",
152
+ "parameters": [
153
+ {
154
+ "leftValueReference": "$Record",
155
+ "value": {
156
+ "sobjectValue": "{\"AccountNumber\":\"CD656092\",\"Name\":\"Burlington Textiles Corp of America\",\"BillingCity\":\"Burlington\",\"BillingState\":\"NC\",\"Industry\":\"Apparel\",\"Type\":\"Customer - Direct\"}"
157
+ },
158
+ "type": "InputTriggeringRecordInitial"
159
+ }
160
+ ],
161
+ "assertions": []
162
+ },
163
+ {
164
+ "elementApiName": "Finish",
165
+ "parameters": [],
166
+ "assertions": [
167
+ {
168
+ "conditions": [
169
+ {
170
+ "leftValueReference": "Set_Name_To_BAC",
171
+ "operator": "WasVisited",
172
+ "rightValue": { "booleanValue": true }
173
+ }
174
+ ]
175
+ }
176
+ ]
177
+ }
178
+ ],
179
+ "flowTestDataSources": [],
180
+ "isolatedObjectExternalKeys": []
181
+ }
182
+ }
183
+ ```
184
+
185
+ ## Constraints
186
+
187
+ ### Source-of-truth principle: round-trip, don't guess
188
+
189
+ Hand-written or example payloads are starting points, not authority.
190
+ The Aura wire format normalizes shapes — string-form numbers come back
191
+ as JSON numbers, optional fields appear with default values, etc.
192
+ **When in doubt, save once with `POST /services/data/vXX.0/flowbuilder/flow-test`/`PATCH /services/data/vXX.0/flowbuilder/flow-test/{id}` and
193
+ reload with `GET /services/data/vXX.0/flowbuilder/flow-test/{id}`** — parse the returned `flowTestJson` string;
194
+ that decoded definition is the canonical form for that org/release.
195
+ Update this file when a round-trip shows something the prose doesn't cover.
196
+
197
+ Worth knowing up front from probe runs:
198
+
199
+ - `POST /services/data/vXX.0/flowbuilder/flow-test`/`PATCH /services/data/vXX.0/flowbuilder/flow-test/{id}` run **deep server-side validation** on
200
+ save. A malformed payload — bad `type` enum, mismatched value
201
+ envelope, a `leftValueReference` that doesn't resolve to a flow
202
+ resource or element, duplicate test points, a missing required
203
+ parameter — can come back `isSuccess: false` with optional `errors[]`
204
+ details. Fix a field only when a message identifies it; otherwise
205
+ surface the raw response. Don't pre-check against a memorized rule list.
206
+ A confirmed `isSuccess === true` response means the
207
+ payload is well-formed and every reference resolves — but still run the
208
+ test, because save cannot verify that an assertion's *expected value*
209
+ is the one you meant (a semantically-valid-but-wrong expectation saves
210
+ clean and only fails when run).
211
+ - `numberValue` accepts both `"40"` and `40` on save but the canonical
212
+ form is the unquoted JSON number. Round-trip will normalize.
213
+ - The `value` envelope always carries `collectionElements: []` after
214
+ canonicalization. Omitting it on save is fine; the server fills it.
215
+
216
+ > **Field discovery via round-trip.** Both `doesTestWaitElement` and
217
+ > `isSubflowUseLatestFlowVer` were discovered by saving a minimal
218
+ > payload and parsing `GET /services/data/vXX.0/flowbuilder/flow-test/{id}.flowTestJson`. When the
219
+ > docs feel incomplete, save a probe and reload.