@salesforce/afv-skills 1.65.0 → 1.65.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (349) hide show
  1. package/package.json +1 -1
  2. package/skills/field-service-data-capture-form-deployer-configure/SKILL.md +2 -23
  3. package/skills/field-service-data-capture-form-designer-configure/SKILL.md +3 -13
  4. package/skills/field-service-mobile-branding-configure/SKILL.md +3 -17
  5. package/skills/field-service-objective-designer-configure/SKILL.md +379 -72
  6. package/skills/field-service-prework-brief-deployer-configure/SKILL.md +537 -10
  7. package/skills/field-service-scheduling-policy-designer-query/SKILL.md +1093 -65
  8. package/skills/field-service-sobject-create-configure/SKILL.md +213 -13
  9. package/skills/field-service-voice-to-form-configure/SKILL.md +11 -40
  10. package/skills/field-service-work-rule-designer-configure/SKILL.md +95 -121
  11. package/skills/agentforce-gpt-email-generation-configure/SKILL.md +0 -312
  12. package/skills/agentforce-wizard-ui-forecasting-analytics-components-configure/SKILL.md +0 -64
  13. package/skills/agentforce-wizard-ui-sales-einstein-components-configure/SKILL.md +0 -46
  14. package/skills/automation-company-profile-info-query/SKILL.md +0 -51
  15. package/skills/automation-digital-wallet-configure/SKILL.md +0 -689
  16. package/skills/automation-flow-coordinate/SKILL.md +0 -95
  17. package/skills/automation-flow-coordinate/references/elements/action-call/action-call.md +0 -1569
  18. package/skills/automation-flow-coordinate/references/elements/action-call/conversation-messaging.md +0 -96
  19. package/skills/automation-flow-coordinate/references/elements/action-call/examples/send-sms-message.json +0 -23
  20. package/skills/automation-flow-coordinate/references/elements/action-call/examples/send-to-journey-no-fields.json +0 -31
  21. package/skills/automation-flow-coordinate/references/elements/action-call/send-to-journey.md +0 -179
  22. package/skills/automation-flow-coordinate/references/elements/exit-rule/examples/event-email-link-click.json +0 -13
  23. package/skills/automation-flow-coordinate/references/elements/exit-rule/exit-rule.md +0 -83
  24. package/skills/automation-flow-coordinate/references/elements/forward-to-bot-or-agent/examples/forward-to-bot-or-agent.json +0 -69
  25. package/skills/automation-flow-coordinate/references/elements/forward-to-bot-or-agent/forward-to-bot-or-agent.md +0 -274
  26. package/skills/automation-flow-coordinate/references/elements/start/audience-common.md +0 -192
  27. package/skills/automation-flow-coordinate/references/elements/start/automation-event-triggered.md +0 -130
  28. package/skills/automation-flow-coordinate/references/elements/start/data-cloud-data-change-triggered.md +0 -92
  29. package/skills/automation-flow-coordinate/references/elements/start/form-submission-triggered.md +0 -88
  30. package/skills/automation-flow-coordinate/references/elements/start/segment-triggered.md +0 -152
  31. package/skills/automation-flow-coordinate/references/elements/start/start.md +0 -539
  32. package/skills/automation-flow-coordinate/references/elements/subflow/subflow.md +0 -152
  33. package/skills/automation-flow-coordinate/references/elements/wait/wait.md +0 -497
  34. package/skills/automation-flow-coordinate/references/recipes/author/author.md +0 -868
  35. package/skills/automation-flow-coordinate/references/recipes/summarize/element-generic.md +0 -300
  36. package/skills/automation-flow-coordinate/references/recipes/summarize/reference-resolution.md +0 -292
  37. package/skills/automation-flow-coordinate/references/recipes/summarize/summarize.md +0 -323
  38. package/skills/automation-flow-coordinate/references/recipes/testing/examples/debug-output-template.md +0 -109
  39. package/skills/automation-flow-coordinate/references/recipes/testing/shape.md +0 -219
  40. package/skills/automation-flow-coordinate/references/recipes/testing/shared-stages/intent-analyzer.md +0 -180
  41. package/skills/automation-flow-coordinate/references/recipes/testing/workflows/debug.md +0 -175
  42. package/skills/automation-flow-coordinate/references/recipes/testing/workflows/promote.md +0 -255
  43. package/skills/automation-flow-coordinate/references/recipes/testing/workflows/save-debug.md +0 -212
  44. package/skills/automation-flow-coordinate/references/resources/variable/variable.md +0 -171
  45. package/skills/automation-flow-coordinate/references/shared/anti-patterns.md +0 -786
  46. package/skills/automation-flow-coordinate/references/shared/end/end.md +0 -267
  47. package/skills/automation-flow-coordinate/references/shared/flow-type-resolver/eval/README.md +0 -69
  48. package/skills/automation-flow-coordinate/references/shared/flow-type-resolver/eval/predictions.jsonl +0 -80
  49. package/skills/automation-flow-coordinate/references/shared/flow-type-resolver/eval/prompts.jsonl +0 -116
  50. package/skills/automation-flow-coordinate/references/shared/flow-type-resolver/flow-type-resolver.md +0 -321
  51. package/skills/automation-flow-coordinate/references/shared/flow-type-resolver/taxonomy.json +0 -320
  52. package/skills/automation-flow-coordinate/references/shared/server-functions.md +0 -597
  53. package/skills/automotive-cloud-appraisal-management-settings-configure/SKILL.md +0 -69
  54. package/skills/automotive-cloud-dealer-essentials-configure/SKILL.md +0 -78
  55. package/skills/automotive-cloud-ground-agent-data-pipelines-configure/SKILL.md +0 -373
  56. package/skills/automotive-cloud-ground-mfg-agent-data-pipelines-configure/SKILL.md +0 -273
  57. package/skills/automotive-cloud-mfg-agent-data-pipelines-configure/SKILL.md +0 -259
  58. package/skills/automotive-cloud-mfg-sales-concierge-agent-create/SKILL.md +0 -369
  59. package/skills/automotive-cloud-mfg-sales-concierge-foundation-configure/SKILL.md +0 -542
  60. package/skills/automotive-cloud-mfg-sales-concierge-foundation-coordinate/SKILL.md +0 -159
  61. package/skills/automotive-cloud-mfg-sales-concierge-orchestrator-agent-create/SKILL.md +0 -349
  62. package/skills/automotive-cloud-mfg-sales-concierge-orchestrator-configure/SKILL.md +0 -505
  63. package/skills/automotive-cloud-sales-concierge-agent-create/SKILL.md +0 -380
  64. package/skills/automotive-cloud-sales-concierge-foundation-configure/SKILL.md +0 -567
  65. package/skills/automotive-cloud-sales-concierge-foundation-coordinate/SKILL.md +0 -159
  66. package/skills/automotive-cloud-sales-concierge-orchestrator-agent-create/SKILL.md +0 -360
  67. package/skills/automotive-cloud-sales-concierge-orchestrator-configure/SKILL.md +0 -539
  68. package/skills/automotive-cloud-sales-concierge-search-grounding-configure/SKILL.md +0 -358
  69. package/skills/commerce-b2b-merchant-quote-configure/SKILL.md +0 -602
  70. package/skills/commerce-b2b-store-configure/SKILL.md +0 -251
  71. package/skills/commerce-credit-memo-create/SKILL.md +0 -139
  72. package/skills/commerce-delivery-business-hours-configure/SKILL.md +0 -277
  73. package/skills/commerce-delivery-estimation-apply/SKILL.md +0 -155
  74. package/skills/commerce-delivery-estimation-configure/SKILL.md +0 -377
  75. package/skills/commerce-delivery-routing-specs-integrate/SKILL.md +0 -174
  76. package/skills/commerce-estimate-bopis-query/SKILL.md +0 -279
  77. package/skills/commerce-estimate-delivery-date-query/SKILL.md +0 -349
  78. package/skills/commerce-fees-apply/SKILL.md +0 -227
  79. package/skills/commerce-fulfillment-routing-analyze/SKILL.md +0 -200
  80. package/skills/commerce-guest-buyer-create/SKILL.md +0 -173
  81. package/skills/commerce-location-bopis-configure/SKILL.md +0 -378
  82. package/skills/commerce-location-business-hours-configure/SKILL.md +0 -235
  83. package/skills/commerce-location-delivery-processing-time-configure/SKILL.md +0 -309
  84. package/skills/commerce-location-graph-integrate/SKILL.md +0 -131
  85. package/skills/commerce-location-shipping-carrier-method-configure/SKILL.md +0 -755
  86. package/skills/commerce-location-temporary-operating-hours-configure/SKILL.md +0 -331
  87. package/skills/commerce-merchant-buyer-groups-configure/SKILL.md +0 -579
  88. package/skills/commerce-merchant-buyer-user-onboarding-create/SKILL.md +0 -626
  89. package/skills/commerce-merchant-catalog-configure/SKILL.md +0 -614
  90. package/skills/commerce-merchant-extension-provider-configure/SKILL.md +0 -368
  91. package/skills/commerce-merchant-insights-account-health-churn-analyze/SKILL.md +0 -118
  92. package/skills/commerce-merchant-insights-inventory-returns-analyze/SKILL.md +0 -65
  93. package/skills/commerce-merchant-insights-order-shopper-get/SKILL.md +0 -90
  94. package/skills/commerce-merchant-insights-product-performance-analyze/SKILL.md +0 -72
  95. package/skills/commerce-merchant-insights-query/SKILL.md +0 -279
  96. package/skills/commerce-merchant-storefront-guest-access-configure/SKILL.md +0 -656
  97. package/skills/commerce-order-summary-change-apply/SKILL.md +0 -375
  98. package/skills/commerce-product-details-get/SKILL.md +0 -363
  99. package/skills/commerce-product-search/SKILL.md +0 -563
  100. package/skills/commerce-react-storefront-create/SKILL.md +0 -350
  101. package/skills/commerce-return-order-summary-create/SKILL.md +0 -513
  102. package/skills/commerce-search-relevance-analyze/SKILL.md +0 -757
  103. package/skills/commerce-temporary-processing-time-override-create/SKILL.md +0 -274
  104. package/skills/communications-initial-setup-configure/SKILL.md +0 -630
  105. package/skills/communications-multisite-configure/SKILL.md +0 -571
  106. package/skills/communications-revenue-cloud-settings-configure/SKILL.md +0 -74
  107. package/skills/communications-smb-fiber-catalog-create/SKILL.md +0 -413
  108. package/skills/communications-tmf-integrate/SKILL.md +0 -1368
  109. package/skills/consumer-goods-visit-activity-act4-questions-assign/SKILL.md +0 -448
  110. package/skills/consumer-goods-visit-activity-act5-standard-create/SKILL.md +0 -269
  111. package/skills/consumer-goods-visit-activity-act6-assortment-configure/SKILL.md +0 -271
  112. package/skills/consumer-goods-visit-activity-act7-account-scoping-create/SKILL.md +0 -382
  113. package/skills/consumer-goods-visit-activity-act8-plan-attach-create/SKILL.md +0 -373
  114. package/skills/consumer-goods-visit-activity-act9-proof-validate/SKILL.md +0 -389
  115. package/skills/consumer-goods-visit-and-activity-act1-specification-create/SKILL.md +0 -338
  116. package/skills/consumer-goods-visit-and-activity-act2-template-create/SKILL.md +0 -547
  117. package/skills/consumer-goods-visit-and-activity-act3-definition-create/SKILL.md +0 -346
  118. package/skills/consumer-goods-visit-and-activity-configure/SKILL.md +0 -1110
  119. package/skills/crm-analytics-adoption-insights-configure/SKILL.md +0 -224
  120. package/skills/crm-analytics-custom-report-type-lightning-configure/SKILL.md +0 -418
  121. package/skills/crm-analytics-dashboards-configure/SKILL.md +0 -731
  122. package/skills/crm-analytics-operational-analytics-metadata-bridge-migrate/SKILL.md +0 -233
  123. package/skills/crm-analytics-report-notifications-ui-configure/SKILL.md +0 -184
  124. package/skills/crm-analytics-sharing-inheritance-coverage-analyze/SKILL.md +0 -167
  125. package/skills/crm-analytics-sonic-getting-started-configure/SKILL.md +0 -55
  126. package/skills/crm-analytics-tableau-next-app-deploy/SKILL.md +0 -1350
  127. package/skills/crm-analytics-tableau-next-c360-basemodel-validate/SKILL.md +0 -1862
  128. package/skills/crm-analytics-tableau-next-datacloud-validate/SKILL.md +0 -83
  129. package/skills/crm-analytics-tableau-next-provisioning-validate/SKILL.md +0 -81
  130. package/skills/data360-activation-create/SKILL.md +0 -104
  131. package/skills/data360-activation-external-platform-get/SKILL.md +0 -49
  132. package/skills/data360-activation-target-create/SKILL.md +0 -93
  133. package/skills/data360-activation-v2-create/SKILL.md +0 -456
  134. package/skills/data360-audience-dmo-get/SKILL.md +0 -38
  135. package/skills/data360-calculated-affinity-create/SKILL.md +0 -82
  136. package/skills/data360-calculated-insight-create/SKILL.md +0 -148
  137. package/skills/data360-catalog-metadata-create/SKILL.md +0 -183
  138. package/skills/data360-code-extension-create/SKILL.md +0 -115
  139. package/skills/data360-communication-capping-create/SKILL.md +0 -227
  140. package/skills/data360-connection-create/SKILL.md +0 -491
  141. package/skills/data360-content-lens-create/SKILL.md +0 -181
  142. package/skills/data360-data-action-create/SKILL.md +0 -126
  143. package/skills/data360-data-action-target-create/SKILL.md +0 -181
  144. package/skills/data360-data-clean-room-create/SKILL.md +0 -238
  145. package/skills/data360-data-governance-create/SKILL.md +0 -746
  146. package/skills/data360-data-graph-create/SKILL.md +0 -82
  147. package/skills/data360-data-harmonized-model-object-reference-create/SKILL.md +0 -38
  148. package/skills/data360-data-lake-object-create/SKILL.md +0 -207
  149. package/skills/data360-data-model-object-catalog-get/SKILL.md +0 -49
  150. package/skills/data360-data-model-object-create/SKILL.md +0 -128
  151. package/skills/data360-data-model-object-mapping-create/SKILL.md +0 -106
  152. package/skills/data360-data-space-create/SKILL.md +0 -161
  153. package/skills/data360-data-streams-create/SKILL.md +0 -324
  154. package/skills/data360-engagement-signal-get/SKILL.md +0 -38
  155. package/skills/data360-experiment-create/SKILL.md +0 -82
  156. package/skills/data360-goal-based-campaign-create/SKILL.md +0 -192
  157. package/skills/data360-harmonization-process-history-get/SKILL.md +0 -38
  158. package/skills/data360-harmonized-unstructured-dmo-create/SKILL.md +0 -84
  159. package/skills/data360-identity-resolution-create/SKILL.md +0 -115
  160. package/skills/data360-intelligent-document-processing-create/SKILL.md +0 -148
  161. package/skills/data360-knowledge-graph-construction-create/SKILL.md +0 -93
  162. package/skills/data360-knowledge-graph-create/SKILL.md +0 -216
  163. package/skills/data360-knowledge-space-mcp-configure/SKILL.md +0 -475
  164. package/skills/data360-machine-learning-mcp-configure/SKILL.md +0 -697
  165. package/skills/data360-multi-org-mcp-configure/SKILL.md +0 -117
  166. package/skills/data360-secondary-index-mcp-configure/SKILL.md +0 -126
  167. package/skills/data360-segment-mcp-configure/SKILL.md +0 -159
  168. package/skills/data360-semantic-calculated-dimension-mcp-configure/SKILL.md +0 -93
  169. package/skills/data360-semantic-calculated-measurement-mcp-configure/SKILL.md +0 -93
  170. package/skills/data360-semantic-data-object-mcp-configure/SKILL.md +0 -93
  171. package/skills/data360-semantic-dimension-mcp-configure/SKILL.md +0 -38
  172. package/skills/data360-semantic-engine-mcp-configure/SKILL.md +0 -62
  173. package/skills/data360-semantic-measurement-mcp-configure/SKILL.md +0 -38
  174. package/skills/data360-semantic-metric-mcp-configure/SKILL.md +0 -93
  175. package/skills/data360-semantic-model-mcp-configure/SKILL.md +0 -115
  176. package/skills/data360-standard-mapping-mcp-configure/SKILL.md +0 -38
  177. package/skills/data360-tenant-lifecycle-mcp-configure/SKILL.md +0 -73
  178. package/skills/experience-afv-query/SKILL.md +0 -234
  179. package/skills/experience-agentforce-vibes-in-react-configure/SKILL.md +0 -63
  180. package/skills/experience-apex-components-configure/SKILL.md +0 -69
  181. package/skills/experience-apex-pages-configure/SKILL.md +0 -107
  182. package/skills/experience-app-home-configure/SKILL.md +0 -76
  183. package/skills/experience-aura-lightning-out-access-configure/SKILL.md +0 -58
  184. package/skills/experience-briefcase-configure/SKILL.md +0 -287
  185. package/skills/experience-community-flexi-page-list-create/SKILL.md +0 -74
  186. package/skills/experience-community-template-definition-list-query/SKILL.md +0 -48
  187. package/skills/experience-community-theme-definition-list-query/SKILL.md +0 -38
  188. package/skills/experience-content-assets-configure/SKILL.md +0 -86
  189. package/skills/experience-custom-domain-create/SKILL.md +0 -727
  190. package/skills/experience-defer-rendering-workspace-page-setup-configure/SKILL.md +0 -41
  191. package/skills/experience-field-service-app-builder-configure/SKILL.md +0 -187
  192. package/skills/experience-flow-category-configure/SKILL.md +0 -117
  193. package/skills/experience-formula-configure/SKILL.md +0 -358
  194. package/skills/experience-global-actions-configure/SKILL.md +0 -69
  195. package/skills/experience-global-publisher-layouts-configure/SKILL.md +0 -79
  196. package/skills/experience-instrumentation-configure/SKILL.md +0 -64
  197. package/skills/experience-lex-engagement-configure/SKILL.md +0 -50
  198. package/skills/experience-lightning-bolt-open/SKILL.md +0 -12
  199. package/skills/experience-lightning-out-configure/SKILL.md +0 -129
  200. package/skills/experience-lightning-preview-configure/SKILL.md +0 -67
  201. package/skills/experience-lightning-types-query/SKILL.md +0 -98
  202. package/skills/experience-malware-scan-configure/SKILL.md +0 -71
  203. package/skills/experience-my-salesforce-configure/SKILL.md +0 -126
  204. package/skills/experience-navigation-menus-configure/SKILL.md +0 -235
  205. package/skills/experience-notification-types-configure/SKILL.md +0 -206
  206. package/skills/experience-notifications-configure/SKILL.md +0 -75
  207. package/skills/experience-record-discovery-query/SKILL.md +0 -227
  208. package/skills/experience-regenerate-previews-open/SKILL.md +0 -94
  209. package/skills/experience-sales-cloud-mab-configure/SKILL.md +0 -254
  210. package/skills/experience-schema-builder-open/SKILL.md +0 -38
  211. package/skills/experience-simple-record-home-configure/SKILL.md +0 -110
  212. package/skills/experience-static-resources-configure/SKILL.md +0 -74
  213. package/skills/field-service-setup-coordinate/SKILL.md +0 -62
  214. package/skills/field-service-work-plan-configure/SKILL.md +0 -253
  215. package/skills/fsc-actionable-segmentation-settings-configure/SKILL.md +0 -180
  216. package/skills/fsc-digital-origination-bre-decision-matrix-foundation-create/SKILL.md +0 -196
  217. package/skills/fsc-digital-origination-bre-disclosures-consent-configure/SKILL.md +0 -106
  218. package/skills/fsc-digital-origination-bre-document-upload-configure/SKILL.md +0 -96
  219. package/skills/fsc-digital-origination-bre-permissions-assign/SKILL.md +0 -111
  220. package/skills/fsc-digital-origination-bre-setup-coordinate/SKILL.md +0 -250
  221. package/skills/fsc-digital-origination-bre-stp-eligibility-configure/SKILL.md +0 -122
  222. package/skills/fsc-digital-origination-coordinate/SKILL.md +0 -653
  223. package/skills/fsc-digital-origination-demo-run/SKILL.md +0 -225
  224. package/skills/fsc-digital-origination-execution-guardrails-validate/SKILL.md +0 -112
  225. package/skills/fsc-digital-origination-initial-setup-configure/SKILL.md +0 -396
  226. package/skills/fsc-digital-origination-pricing-setup-coordinate/SKILL.md +0 -336
  227. package/skills/fsc-digital-origination-pricing-setup-data-foundation-create/SKILL.md +0 -208
  228. package/skills/fsc-digital-origination-pricing-setup-procedure-create/SKILL.md +0 -375
  229. package/skills/fsc-digital-origination-product-setup-act1-permissions-assign/SKILL.md +0 -83
  230. package/skills/fsc-digital-origination-product-setup-coordinate/SKILL.md +0 -248
  231. package/skills/fsc-digital-origination-sample-data-create/SKILL.md +0 -206
  232. package/skills/fsc-document-checklist-settings-configure/SKILL.md +0 -57
  233. package/skills/fsc-flexible-hierarchy-configure/SKILL.md +0 -148
  234. package/skills/fsc-flexible-hierarchy-foundation-configure/SKILL.md +0 -1430
  235. package/skills/fsc-flexible-hierarchy-graph-config-create/SKILL.md +0 -471
  236. package/skills/fsc-flexible-hierarchy-rule-based-graph-deploy/SKILL.md +0 -429
  237. package/skills/fsc-pricing-product-configurator-configure/SKILL.md +0 -150
  238. package/skills/fsc-pricing-salesforce-omnistudio-switch/SKILL.md +0 -123
  239. package/skills/fsc-product-act2-catalog-categories-create/SKILL.md +0 -82
  240. package/skills/fsc-product-act3-attributes-create/SKILL.md +0 -249
  241. package/skills/fsc-product-act4-classification-assignment-create/SKILL.md +0 -196
  242. package/skills/fsc-product-act5-considerations-get/SKILL.md +0 -44
  243. package/skills/fsc-stage-management-apex-flow-deploy/SKILL.md +0 -384
  244. package/skills/fsc-stage-management-compliant-data-sharing-configure/SKILL.md +0 -144
  245. package/skills/fsc-stage-management-decision-matrices-create/SKILL.md +0 -107
  246. package/skills/fsc-stage-management-definition-assignments-create/SKILL.md +0 -189
  247. package/skills/fsc-stage-management-definition-create/SKILL.md +0 -108
  248. package/skills/fsc-stage-management-permissions-assign/SKILL.md +0 -143
  249. package/skills/fsc-stage-management-transitions-configure/SKILL.md +0 -139
  250. package/skills/health-cloud-appt-booking-config-configure/SKILL.md +0 -135
  251. package/skills/health-cloud-appt-booking-url-config-configure/SKILL.md +0 -134
  252. package/skills/health-cloud-care-provider-affl-role-config-configure/SKILL.md +0 -136
  253. package/skills/health-cloud-care-provider-search-config-configure/SKILL.md +0 -134
  254. package/skills/health-cloud-care-requests-create/SKILL.md +0 -178
  255. package/skills/health-cloud-initial-configure/SKILL.md +0 -511
  256. package/skills/health-cloud-patient-appointment-scheduling-configure/SKILL.md +0 -1374
  257. package/skills/health-cloud-provider-search-settings-configure/SKILL.md +0 -924
  258. package/skills/health-cloud-referral-management-coordinate/SKILL.md +0 -513
  259. package/skills/health-cloud-timeline-configure/SKILL.md +0 -622
  260. package/skills/health-cloud-virtual-visit-config-configure/SKILL.md +0 -135
  261. package/skills/industries-account-score-settings-query/SKILL.md +0 -78
  262. package/skills/industries-actionable-list-data-sources-dmo-configure/SKILL.md +0 -177
  263. package/skills/industries-ad-product-availability-search/SKILL.md +0 -399
  264. package/skills/industries-advanced-account-forecast-settings-configure/SKILL.md +0 -628
  265. package/skills/industries-advanced-therapy-management-settings-configure/SKILL.md +0 -73
  266. package/skills/industries-atm-settings-starter-configure/SKILL.md +0 -76
  267. package/skills/industries-batch-document-ai-configure/SKILL.md +0 -196
  268. package/skills/industries-behavioral-health-app-settings-configure/SKILL.md +0 -71
  269. package/skills/industries-branch-management-settings-configure/SKILL.md +0 -89
  270. package/skills/industries-bre-decision-table-access-configure/SKILL.md +0 -367
  271. package/skills/industries-brokerage-settings-configure/SKILL.md +0 -41
  272. package/skills/industries-calendar-sync-settings-configure/SKILL.md +0 -89
  273. package/skills/industries-care-request-settings-configure/SKILL.md +0 -218
  274. package/skills/industries-case-management-intelligence-settings-configure/SKILL.md +0 -54
  275. package/skills/industries-catalog-process-attributes-products-configure/SKILL.md +0 -380
  276. package/skills/industries-catalog-process-fulfillment-configure/SKILL.md +0 -216
  277. package/skills/industries-catalog-process-intake-configure/SKILL.md +0 -219
  278. package/skills/industries-catalog-process-knowledge-configure/SKILL.md +0 -153
  279. package/skills/industries-catalog-process-preprocessor-configure/SKILL.md +0 -168
  280. package/skills/industries-cds-general-settings-configure/SKILL.md +0 -69
  281. package/skills/industries-claim-financial-settings-configure/SKILL.md +0 -169
  282. package/skills/industries-clinical-data-model-settings-configure/SKILL.md +0 -136
  283. package/skills/industries-clinical-data-model-settings-starter-configure/SKILL.md +0 -105
  284. package/skills/industries-collection-plan-settings-configure/SKILL.md +0 -132
  285. package/skills/industries-comms-service-console-settings-configure/SKILL.md +0 -159
  286. package/skills/industries-compliance-configure/SKILL.md +0 -102
  287. package/skills/industries-compliance-document-extraction-setup-configure/SKILL.md +0 -76
  288. package/skills/industries-contact-center-app-layout-configure/SKILL.md +0 -88
  289. package/skills/industries-contact-center-components-configure/SKILL.md +0 -96
  290. package/skills/industries-contact-center-path-knowledge-configure/SKILL.md +0 -95
  291. package/skills/industries-contact-center-user-access-assign/SKILL.md +0 -96
  292. package/skills/industries-course-waitlist-config-configure/SKILL.md +0 -162
  293. package/skills/industries-crisis-center-settings-configure/SKILL.md +0 -84
  294. package/skills/industries-custom-object-settings-configure/SKILL.md +0 -94
  295. package/skills/industries-data-cloud-integration-configure/SKILL.md +0 -88
  296. package/skills/industries-data-space-feature-mappings-configure/SKILL.md +0 -245
  297. package/skills/industries-decision-matrix-builder-configure/SKILL.md +0 -78
  298. package/skills/industries-decision-table-hbase-configure/SKILL.md +0 -87
  299. package/skills/industries-decision-table-version-configure/SKILL.md +0 -74
  300. package/skills/industries-decision-tables-builder-configure/SKILL.md +0 -253
  301. package/skills/industries-decision-tables-configure/SKILL.md +0 -439
  302. package/skills/industries-energy-utilities-configure/SKILL.md +0 -251
  303. package/skills/industries-eu-cloud-multisite-configure/SKILL.md +0 -1008
  304. package/skills/industries-eu-new-connections-configure/SKILL.md +0 -30
  305. package/skills/industries-explainability-msg-template-configure/SKILL.md +0 -135
  306. package/skills/industries-expression-set-message-token-configure/SKILL.md +0 -135
  307. package/skills/industries-field-service-settings-configure/SKILL.md +0 -82
  308. package/skills/industries-form-framework-settings-configure/SKILL.md +0 -30
  309. package/skills/industries-fsc-ai-settings-configure/SKILL.md +0 -57
  310. package/skills/industries-fsc-association-engine-settings-configure/SKILL.md +0 -172
  311. package/skills/industries-fsc-b2b-settings-configure/SKILL.md +0 -61
  312. package/skills/industries-fsc-insurance-settings-configure/SKILL.md +0 -58
  313. package/skills/industries-fsc-visa-fulfillment-setup-configure/SKILL.md +0 -103
  314. package/skills/industries-fsc-wealth-agent-settings-configure/SKILL.md +0 -117
  315. package/skills/industries-fsc-wealth-settings-configure/SKILL.md +0 -99
  316. package/skills/industries-fundraising-gift-entry-settings-configure/SKILL.md +0 -120
  317. package/skills/industries-fundraising-rfm-configure/SKILL.md +0 -128
  318. package/skills/industries-fundraising-settings-configure/SKILL.md +0 -145
  319. package/skills/industries-fundraising-source-code-gen-configure/SKILL.md +0 -299
  320. package/skills/industries-google-maps-api-key-settings-configure/SKILL.md +0 -87
  321. package/skills/industries-grantmaking-intelligence-settings-open/SKILL.md +0 -58
  322. package/skills/industries-hc-score-category-settings-configure/SKILL.md +0 -167
  323. package/skills/industries-health-engagement-settings-configure/SKILL.md +0 -218
  324. package/skills/industries-home-health-agentforce-setup-configure/SKILL.md +0 -131
  325. package/skills/industries-home-health-bundling-policy-create/SKILL.md +0 -50
  326. package/skills/industries-home-health-entity-labels-configure/SKILL.md +0 -29
  327. package/skills/industries-home-health-fsl-package-deploy/SKILL.md +0 -71
  328. package/skills/industries-home-health-fsl-settings-validate/SKILL.md +0 -27
  329. package/skills/industries-home-health-guided-setup-care-and-skill-get/SKILL.md +0 -80
  330. package/skills/industries-home-health-guided-setup-configure/SKILL.md +0 -836
  331. package/skills/industries-home-health-guided-setup-enable-org-fsl-get/SKILL.md +0 -55
  332. package/skills/industries-home-health-guided-setup-get-org-ready-get/SKILL.md +0 -61
  333. package/skills/industries-home-health-licenses-assign/SKILL.md +0 -27
  334. package/skills/industries-home-health-operating-hours-create/SKILL.md +0 -40
  335. package/skills/industries-home-health-scheduling-policy-create/SKILL.md +0 -41
  336. package/skills/industries-home-health-service-objective-create/SKILL.md +0 -22
  337. package/skills/industries-home-health-skills-create/SKILL.md +0 -31
  338. package/skills/industries-home-health-users-create/SKILL.md +0 -29
  339. package/skills/industries-icm-act3-toggles-configure/SKILL.md +0 -198
  340. package/skills/industries-icm-act5-genai-suggested-assessments-configure/SKILL.md +0 -361
  341. package/skills/industries-icm-act6-mcg-integration-configure/SKILL.md +0 -550
  342. package/skills/industries-integrated-care-management-configure/SKILL.md +0 -168
  343. package/skills/industries-object-enablement-configure/SKILL.md +0 -86
  344. package/skills/industries-tpm-system-processing-service-configure/SKILL.md +0 -64
  345. package/skills/integration-apex-settings-configure/SKILL.md +0 -61
  346. package/skills/marketing-e360-email-archiving-configure/SKILL.md +0 -73
  347. package/skills/platform-custom-permissions-configure/SKILL.md +0 -687
  348. package/skills/platform-label-workbench-import-create/SKILL.md +0 -67
  349. package/skills/platform-privacy-agent-settings-configure/SKILL.md +0 -752
@@ -1,267 +0,0 @@
1
- ---
2
- name: flow-end
3
- description: "FlowEnd (End node) metadata shape — the explicit terminal node that a terminating branch's connector targets. Covers the ends[] entry fields, WHEN an explicit End is emitted (GENERATE on AUTO_LAYOUT_CANVAS at apiVersion >= 68.0) versus the implicit omit-the-connector end, the never-on-Free-Form exclusion, and the per-branch-or-shared End topology (each terminating branch may have its own End or converge on a shared End — both valid). Load when emitting or reading End nodes in a flow payload. See shared/anti-patterns.md item 38 for why a shared End does not break auto-layout and why a fault pointed directly at an End is silently dropped (advisory, not a defect)."
4
- metadata:
5
- version: "1.0"
6
- related-skills: flow-connector, flow-node, flow-metadata-schema
7
- ---
8
-
9
- # FlowEnd — Explicit End Node
10
-
11
- An **End** is a terminal node: the node a terminating branch's connector points
12
- at when the branch stops the flow. End nodes live in the top-level **`ends[]`**
13
- array of the flow metadata (a sibling of `assignments`, `decisions`, etc. — see
14
- `shared/flow-metadata-schema.md`). Each entry defines one End.
15
-
16
- In a `.flow-meta.xml` each End is one `<ends>` element (plural, the same name as
17
- the JSON key) holding `<name>`, `<locationX>` and `<locationY>`. An `<end>`
18
- element fails the deploy with `Error parsing file: Element
19
- {http://soap.sforce.com/2006/04/metadata}end invalid at this location in type Flow`.
20
-
21
- An End is a `FlowNode` subclass (`FlowEnd` — see `shared/node/node.md`): it takes
22
- `name`, optional `label`/`description`, `locationX`/`locationY`, and the optional
23
- `group` back-reference (see [The `group` attribute](#the-group-attribute)). It has
24
- **no connector of any kind** — nothing flows out of an End.
25
-
26
- There are **two** ways a branch can terminate in a flow, and which one to use is
27
- decided entirely by the rule below:
28
-
29
- - **Explicit End** — an `ends[]` entry, targeted by one or more connectors
30
- (`"connector": { "targetReference": "END_ELEMENT_1" }`; several non-fault
31
- connectors may converge on one End — a valid shared End). **Stored in metadata.**
32
- - **Implicit end** — the branch's last element simply omits its `connector`. The
33
- End is *not* serialized; the platform infers it.
34
-
35
- ---
36
-
37
- ## When to emit an explicit End (the deciding rule)
38
-
39
- > **GENERATE, `AUTO_LAYOUT_CANVAS`, resolved `apiVersion` ≥ 68.0 → emit an
40
- > explicit End per terminating branch.** This is the default on a 68-capable org.
41
- > Explicit End nodes became storable metadata in API version 68.0; on such an org
42
- > the author recipe stores ends in metadata rather than relying on the implicit
43
- > omit-the-connector form, matching how Flow Builder itself serializes an
44
- > auto-layout flow.
45
-
46
- The resolved `apiVersion` is `max(apiVersionsList)` from `GET /services/data/vXX.0/flowbuilder/flow/version-info`
47
- (currently 68) — see `recipes/author/author.md` Phase 3 step 3 and
48
- `shared/flow-properties/flow-properties.md` § apiVersion. Emit the implicit end
49
- (omit the connector) instead in every other case:
50
-
51
- | Situation | Terminating branch → |
52
- |---|---|
53
- | GENERATE, `AUTO_LAYOUT_CANVAS`, `apiVersion` ≥ 68.0 | **explicit End** (`ends[]` entry, one connector into it) |
54
- | GENERATE, `apiVersion` < 68.0 (org max below 68) | implicit end (omit the connector) — explicit ends are not storable |
55
- | **Free-Form (`FREE_FORM_CANVAS`, or no `CanvasMode` PMV → opens Free-Form)** | **NEVER emit `ends[]`** — Free-Form flows do not support explicit End nodes. Omit the connector. |
56
- | EVOLVE (edit of a retrieved flow) | **preserve the source's `ends[]` verbatim**; add explicit Ends only for the terminating branches you introduce, and only if the source is auto-layout (see § EVOLVE) |
57
-
58
- **The rule is persistence-independent.** It applies to any flow the skill emits at
59
- v68+ auto-layout — the flow MCP save JSON payload *and* a `.flow-meta.xml` written
60
- to the project for a metadata deploy. A metadata deploy (e.g. `sf project deploy`)
61
- stores the flow **verbatim**: it does not synthesize End nodes, so any missing
62
- `ends[]` stays missing on the org and on the next retrieve. If the skill writes
63
- metadata XML instead of calling the save endpoint, it must still author the
64
- `<ends>` elements and point each terminating branch's connector at one.
65
-
66
- **Free-Form is a hard exclusion.** Never generate `ends[]` for a Free-Form flow,
67
- and never add an End when rewriting a retrieved Free-Form source. Canvas mode is
68
- carried by the `CanvasMode` process metadata value; a flow with no `CanvasMode`
69
- PMV opens Free-Form (see `shared/anti-patterns.md` item 37), so it is treated as
70
- Free-Form for this rule.
71
-
72
- **Implicit termination is NOT Free-Form.** Whether `ends[]` is stored has **no
73
- bearing** on canvas mode — canvas mode is set *only* by the `CanvasMode` PMV.
74
- Below 68.0 (and any time a branch terminates by omitting its connector), the flow
75
- is **still `AUTO_LAYOUT_CANVAS`** and still emits the `CanvasMode` PMV; it just
76
- terminates implicitly instead of storing End nodes. Do **not** reason "no `ends[]`
77
- ⇒ the flow opens in Free-Form" — that is false, and it is never a reason to drop
78
- the `CanvasMode` PMV or to stop treating the flow as auto-layout. A sub-68
79
- auto-layout flow with omitted connectors opens in Auto-Layout exactly like a v68+
80
- one; the only difference is the End nodes are inferred rather than stored.
81
-
82
- Emitting a dedicated per-branch End under this rule is **not** fabrication — it is
83
- the v68+ auto-layout GENERATE default. The "never fabricate End elements"
84
- guidance in `shared/anti-patterns.md` item 38 applies to the cases where an
85
- explicit End is *not* called for (below 68.0, Free-Form, or EVOLVE preservation),
86
- not to this default.
87
-
88
- ---
89
-
90
- ## `ends[]` entry fields
91
-
92
- | Field | Type | Required | Notes |
93
- |---|---|---|---|
94
- | `name` | string | yes | Unique dev-name; matches `[A-Za-z][A-Za-z0-9_]*`, ≤ 80 chars. Flow Builder names these `END_ELEMENT_1`, `END_ELEMENT_2`, … — follow that convention. Numbers need not be contiguous, but every End's `name` must be **unique** within the flow and is the value the terminating branch's `connector.targetReference` points at. |
95
- | `label` | string | no | Usually omitted / `null` — Flow Builder does not label End nodes. |
96
- | `description` | string | no | Usually omitted / `null`. |
97
- | `locationX` | number | yes | Canvas X. Use `0` for auto-layout flows (see `shared/node/node.md`). |
98
- | `locationY` | number | yes | Canvas Y. Use `0` for auto-layout flows. |
99
- | `group` | string | conditional | Present only when the End sits inside a group boundary; omitted otherwise. See [The `group` attribute](#the-group-attribute). |
100
-
101
- An End entry has **no `connector`, no `faultConnector`, and no other outgoing
102
- field** — it is a sink. It is reached, never left.
103
-
104
- ---
105
-
106
- ## The `group` attribute
107
-
108
- `group` is the generic FlowNode membership back-reference (`shared/node/node.md`
109
- § `group`): the `name` of the group container an element sits inside, present only
110
- when the element falls within a group boundary and omitted otherwise. An End is a
111
- FlowNode, so it carries `group` on exactly the same terms as any other element.
112
-
113
- For a net-new flow this attribute does not arise on its own — the author recipe
114
- does not generate group containers, so a generated End carries **no** `group`. It
115
- shows up only when **preserving** a retrieved source (EVOLVE) that already places
116
- an End inside a group: keep the source's `group` value verbatim, exactly as you
117
- preserve the rest of the `ends[]` entry. Do not add, remove, or re-derive a
118
- `group` on an End.
119
-
120
- ```jsonc
121
- "ends": [
122
- { "name": "END_ELEMENT_1", "locationX": 0, "locationY": 0 }, // no group
123
- { "name": "END_ELEMENT_2", "group": "Group_1", "locationX": 0, "locationY": 0 } // preserved from source
124
- ]
125
- ```
126
-
127
- ---
128
-
129
- ## Referential integrity — connectors and `ends[]` are co-emitted
130
-
131
- An explicit End has **two halves that must be emitted together**:
132
-
133
- 1. the terminating element's `connector` (or `defaultConnector` / `nextValueConnector` / `noMoreValuesConnector`) whose `targetReference` is the End's `name`, and
134
- 2. the matching entry in the top-level `ends[]` array with that exact `name`.
135
-
136
- **Emit both or neither.** If you decide a branch terminates at an explicit End
137
- (the v68+ auto-layout default), you MUST both point its connector at
138
- `END_ELEMENT_n` **and** add `{ "name": "END_ELEMENT_n", ... }` to `ends[]`. A
139
- connector that targets an End with no matching `ends[]` entry fails the save with
140
- **"`<EndName>` not found"** (e.g. `End_Main not found`) — the same
141
- lookup-by-dev-name failure as a dangling connector (`shared/anti-patterns.md`
142
- item 14).
143
-
144
- **The fix for "`<EndName>` not found" is to ADD the missing `ends[]` entry — never
145
- to remove the connector.** Removing the connector deletes the terminating branch
146
- and silently changes the flow's behavior; the branch still needs to end. The
147
- `ends[]` array is the last thing built (`recipes/author/author.md` Build Order
148
- step 6), so a wired-but-undefined End is the classic slip — the pre-save check
149
- (author.md Phase 3 step 4) verifies every End target resolves.
150
-
151
- The invariant is **bidirectional**: every End-targeting connector resolves to an
152
- `ends[]` entry with that exact name, and every `ends[]` entry is targeted by at
153
- least one connector (no orphan Ends, no dangling End references). A shared End —
154
- one entry targeted by 2+ non-fault connectors — is valid; see § Topology rules.
155
-
156
- **Do not misdiagnose "`<EndName>` not found" as a version cap.** It is a
157
- referential-integrity error, never evidence that the org lacks v68 or that ends
158
- are unsupported. The org's ends support is decided **only** by the verified
159
- `max(apiVersionsList)` from `GET /services/data/vXX.0/flowbuilder/flow/version-info` (resolved up front — see
160
- `recipes/author/author.md` Phase 3 step 3), never inferred from a save failure. On
161
- this error, do NOT lower `apiVersion`, drop `ends[]`, switch the branch to implicit
162
- termination, or claim the flow "opens in Free-Form" — add the missing `ends[]`
163
- entry and re-save at the same version.
164
-
165
- ## Topology rules (auto-layout)
166
-
167
- These match `shared/anti-patterns.md` item 38 — the rule is that in v68 ALC every
168
- terminating branch reaches an explicit End; how connectors converge is flexible:
169
-
170
- 1. **Every terminating branch reaches an explicit End.** On GENERATE with
171
- `AUTO_LAYOUT_CANVAS` at resolved `apiVersion` ≥ 68.0, co-emit the connector
172
- and its matching `ends[]` entry. This includes the easy-to-miss termini: a
173
- loop `noMoreValuesConnector`, a loop `nextValueConnector` (body) terminus, a
174
- Decision `defaultConnector` terminus, and any decision rule/outcome terminus.
175
- 2. **A shared End is valid; so is one End per branch.** Two or more **non-fault**
176
- connectors converging on one `ends[]` entry is a legal, Flow-Builder-native
177
- auto-layout shape (e.g. a Decision default and another outcome both ending at
178
- one End). One dedicated End per branch is equally valid. Neither is mandated —
179
- never "split" a shared End, never flag one as a defect. (Implicit ends can't
180
- be shared: an omitted connector targets nothing.)
181
- 3. **A `faultConnector` into an End is silently dropped, not fatal.** A fault
182
- whose direct target is an End — or an empty/unwired fault — is removed on
183
- reload; the flow stays `AUTO_LAYOUT_CANVAS` and does **not** fall back to
184
- Free-Form. The only real cost is silent loss of that error path, so when you
185
- want faults handled, route each to a real handler (a `Log_Error` /
186
- `Handle_Fault` Assignment, `customErrors`, or an error screen) that reaches
187
- *its own* End. A fault may also validly terminate at an End through a handler.
188
-
189
- See `shared/anti-patterns.md` item 38 for the full behavior, and item 34 for the
190
- orthogonal runtime concern (a fault rejoining a continuation that assumes success).
191
- Mid-graph convergence on a *continuing* element is legal and never flagged.
192
-
193
- #### Worked example — a Flow-Builder auto-layout flow with five Ends (`a_new_flow_to_test`)
194
-
195
- A real `AUTO_LAYOUT_CANVAS` flow at `apiVersion 68.0`, authored and re-opened
196
- cleanly in Flow Builder, shows every terminating-branch kind reaching an explicit
197
- End — including a **shared End** and a **fault that reaches an End through a
198
- handler**:
199
-
200
- ```text
201
- Get_Cases connector→Copy_1_of_Loop_Cases faultConnector→Action_1 (fault → handler chain)
202
- Action_1 connector→END_ELEMENT_6 faultConnector→Action_2
203
- Action_2 connector→END_ELEMENT_7 (fault chain terminates at an End)
204
- Assignment_3 connector→END_ELEMENT_4 (loop-body terminus via nextValue)
205
- Decision_2 defaultConnector→END_ELEMENT_2 ┐ shared End: default + Outcome_2
206
- Outcome_1→END_ELEMENT_5 │ both target END_ELEMENT_2
207
- Outcome_2→END_ELEMENT_2 ┘
208
- ends[]: END_ELEMENT_2, _4, _5, _6, _7 (END_ELEMENT_2 targeted twice — a valid shared End)
209
- ```
210
-
211
- Takeaways: (1) `END_ELEMENT_2` is reached by two non-fault connectors and is
212
- perfectly valid — do NOT split it. (2) The `Get_Cases`/`Action_1` faults route to
213
- handler actions that themselves reach Ends; a fault pointed *directly* at an End
214
- (or left empty) is simply dropped on reload, not a round-trip breaker — directly
215
- verified by round-tripping a flow whose `faultConnector` targets an `END_ELEMENT`:
216
- the fault is removed and the flow stays `AUTO_LAYOUT_CANVAS`. (3)
217
- Each Decision outcome, the loop-body assignment, and each action terminus all reach
218
- an explicit End — that is the v68 obligation. (The source's `InvalidDraft` status
219
- came from empty element configs — an empty `Assignment_3` and `operator:None`
220
- outcomes — not from the End topology.)
221
-
222
- ---
223
-
224
- ## EVOLVE
225
-
226
- On an edit of a retrieved flow, **preserve the source's `ends[]` verbatim** —
227
- never inject ends into, remove ends from, or restructure the end topology of an
228
- edited flow. "Preserve the existing `ends[]`" means keep each inherited End for
229
- the branch that already single-targets it — it does **not** mean fanning new
230
- branches or faults into an inherited End. Give each **new** terminating branch
231
- you add its **own** dedicated End (auto-layout sources only), and route new
232
- faults to a dedicated handler. Never add ends to a retrieved Free-Form source.
233
- See `shared/connector/connector.md` § End topology (auto-layout) EVOLVE worked
234
- example and `shared/anti-patterns.md` item 38 § EVOLVE note.
235
-
236
- ---
237
-
238
- ## JSON structure
239
-
240
- **Explicit End targeted by a terminating branch (auto-layout, v68+):**
241
- ```jsonc
242
- // terminating element
243
- { "name": "Set_Result", "connector": { "targetReference": "END_ELEMENT_1" } }
244
- // ...
245
- "ends": [ { "name": "END_ELEMENT_1", "locationX": 0, "locationY": 0 } ]
246
- ```
247
-
248
- **Implicit end (< v68, Free-Form, or org max below 68) — no `ends[]` entry:**
249
- ```jsonc
250
- { "name": "Set_Result" } // no connector; End is inferred, not serialized
251
- ```
252
-
253
- See `end/examples/` for runnable fragments.
254
-
255
- ---
256
-
257
- ## See Also
258
-
259
- - `shared/connector/connector.md` — § End topology (auto-layout): the connector
260
- side of the same rule, and the EVOLVE worked example.
261
- - `shared/node/node.md` — `FlowEnd` is a `FlowNode` subclass; the generic `group`
262
- membership attribute.
263
- - `shared/anti-patterns.md` item 38 — a shared End is valid (does not break
264
- auto-layout) and a fault pointed directly at an End is silently dropped on
265
- reload (advisory, not a defect); item 37 — the `CanvasMode` PMV that decides
266
- auto-layout vs. Free-Form.
267
- - `shared/flow-metadata-schema.md` — the top-level `ends[]` array key.
@@ -1,69 +0,0 @@
1
- # flow-type-resolver — evaluation & validation
2
-
3
- Two independent checks guard this skill. They answer different questions.
4
-
5
- ## 1. `verify_supported_types.py` — is the supported set *correct*? (org-check)
6
-
7
- Validates that every tuple in `taxonomy.json`'s authoritative `supportedTuples` set is
8
- actually a valid flow type in the connected Salesforce org. This is the guarantee that
9
- Project Codey never claims to support a flow type the platform rejects.
10
-
11
- **Validity rules** (see `taxonomy.json.supportedTuples.$comment`):
12
-
13
- - `processType` must be in `GET /flowbuilder/schema/process-types`.
14
- - A triggered tuple's `triggerType` must be in
15
- `GET /flowbuilder/schema/trigger-types?processType=<pt>`.
16
- - A **no-trigger** tuple (no `triggerType`) is valid **by absence** — the org's
17
- trigger-types list does not contain a `None` entry; a no-trigger flow simply omits the
18
- trigger. Membership of the `processType` is sufficient.
19
- - `runInMode`, when declared, must be in `getFlowCapabilities.runInModes`.
20
- - `recordTriggerType` is **advisory**: `getFlowCapabilities` returns `200` even for an
21
- invalid `recordTriggerType` (e.g. `RecordBeforeSave` + `Delete`), so the read endpoints do
22
- not gate it — it is enforced only at save-time. The script only sanity-checks it against
23
- `enums.recordTriggerType`.
24
-
25
- **Run it:**
26
-
27
- ```bash
28
- # from repo root, so test-agent/.env resolves
29
- set -a; . test-agent/.env; set +a # exports CORE_ORG_ALIAS
30
- python3 contributed-skills/flow-agentic-ai/automation-flow-coordinate/references/shared/flow-type-resolver/eval/verify_supported_types.py
31
- # or: python3 .../eval/verify_supported_types.py --org <alias> --api-version v68.0
32
- ```
33
-
34
- Exits `0` if every supported tuple is valid; non-zero (listing each violation) otherwise.
35
- It also prints, per processType, the org-supported triggers the taxonomy **intentionally
36
- omits** — the supported set is a curated subset, not a mirror of everything the org allows,
37
- so review that list when you change `supportedTuples`. Requires the `sf` CLI
38
- (`sf api request rest`) and an authenticated org alias.
39
-
40
- ## 2. `score.py` — does the resolver *classify correctly*? (behavioral eval)
41
-
42
- Scores the resolver's specCategory predictions (`predictions.jsonl`) against the curated
43
- fixture (`prompts.jsonl`), normalizing through `taxonomy.json`'s alias map, and gates on
44
- overall accuracy. See the header of `score.py`.
45
-
46
- A fixture row can also set `"expectAsk": true|false`. On those rows the prediction's
47
- `mustAsk` (missing counts as `false`) has to match too, so a prompt the resolver must ask
48
- about is a miss if it is answered without asking, and the other way round. The `FT-CRM`
49
- rows use this: a "CRM Triggered Flow" request that says "marketing" resolves with no
50
- question, and one that does not is asked first.
51
-
52
- ```bash
53
- python3 contributed-skills/flow-agentic-ai/automation-flow-coordinate/references/shared/flow-type-resolver/eval/score.py --gate 0.95
54
- ```
55
-
56
- **What this does and does not prove.** `predictions.jsonl` is a **committed snapshot** of the
57
- resolver's output for each fixture prompt — `score.py` reads it as-is and does **not**
58
- re-run the resolver. So the gate catches a `taxonomy.json` alias/normalizer break (a
59
- prediction that no longer maps to a known category) but **not** a live-classification
60
- regression: if a taxonomy or reasoning-engine change would make the resolver classify a
61
- prompt differently, that only shows up once you **regenerate `predictions.jsonl`** by
62
- re-running the resolver over `prompts.jsonl` and re-scoring. Treat a green `score.py` as
63
- "the committed predictions still normalize and clear the gate," not "the current resolver
64
- still classifies these correctly."
65
-
66
- Current score: **79/80 (98.8%)**. The lone miss is `FT-AUTO-003` — a button-invoked, flat
67
- headless clone process (expected `Autolaunched`) that the resolver reads as `Screen`. It is
68
- a documented hard case, kept in the fixture as an honest miss rather than hand-corrected in
69
- `predictions.jsonl`.
@@ -1,80 +0,0 @@
1
- {"id":"FT-SCRN-001","specCategory":"Screen"}
2
- {"id":"FT-AUTO-001","specCategory":"Autolaunched"}
3
- {"id":"FT-RTRIG-001","specCategory":"RecordTriggered"}
4
- {"id":"FT-SCHED-001","specCategory":"Scheduled"}
5
- {"id":"FT-PEVT-001","specCategory":"PlatformEvent"}
6
- {"id":"FT-SEG-001","specCategory":"Segment"}
7
- {"id":"FT-RTORCH-001","specCategory":"RecordTriggeredOrchestration"}
8
- {"id":"FT-AUTORCH-002","specCategory":"AutolaunchedOrchestration"}
9
- {"id":"FT-RTAPPR-004","specCategory":"RecordTriggeredApprovalOrchestration"}
10
- {"id":"FT-AUTAPPR-004","specCategory":"AutolaunchedApprovalOrchestration"}
11
- {"id":"FT-SCRN-002","specCategory":"Screen"}
12
- {"id":"FT-AUTO-002","specCategory":"Autolaunched"}
13
- {"id":"FT-RTRIG-002","specCategory":"RecordTriggered"}
14
- {"id":"FT-SCHED-002","specCategory":"Scheduled"}
15
- {"id":"FT-PEVT-002","specCategory":"PlatformEvent"}
16
- {"id":"FT-SEG-002","specCategory":"Segment"}
17
- {"id":"FT-RTORCH-002","specCategory":"RecordTriggeredOrchestration"}
18
- {"id":"FT-AUTORCH-003","specCategory":"AutolaunchedOrchestration"}
19
- {"id":"FT-RTAPPR-005","specCategory":"RecordTriggeredApprovalOrchestration"}
20
- {"id":"FT-AUTAPPR-005","specCategory":"AutolaunchedApprovalOrchestration"}
21
- {"id":"FT-SCRN-003","specCategory":"Screen"}
22
- {"id":"FT-AUTO-003","specCategory":"Screen"}
23
- {"id":"FT-RTRIG-003","specCategory":"RecordTriggered"}
24
- {"id":"FT-SCHED-003","specCategory":"Scheduled"}
25
- {"id":"FT-PEVT-003","specCategory":"PlatformEvent"}
26
- {"id":"FT-SEG-003","specCategory":"Segment"}
27
- {"id":"FT-RTORCH-003","specCategory":"RecordTriggeredOrchestration"}
28
- {"id":"FT-AUTORCH-004","specCategory":"AutolaunchedOrchestration"}
29
- {"id":"FT-RTAPPR-006","specCategory":"RecordTriggeredApprovalOrchestration"}
30
- {"id":"FT-AUTAPPR-006","specCategory":"AutolaunchedApprovalOrchestration"}
31
- {"id":"FT-SCRN-004","specCategory":"Screen"}
32
- {"id":"FT-AUTO-004","specCategory":"Autolaunched"}
33
- {"id":"FT-RTRIG-004","specCategory":"RecordTriggered"}
34
- {"id":"FT-SCHED-004","specCategory":"Scheduled"}
35
- {"id":"FT-PEVT-004","specCategory":"PlatformEvent"}
36
- {"id":"FT-SEG-004","specCategory":"Segment"}
37
- {"id":"FT-RTORCH-004","specCategory":"RecordTriggeredOrchestration"}
38
- {"id":"FT-RTAPPR-001","specCategory":"RecordTriggeredApprovalOrchestration"}
39
- {"id":"FT-AUTAPPR-001","specCategory":"AutolaunchedApprovalOrchestration"}
40
- {"id":"FT-SCRN-005","specCategory":"Screen"}
41
- {"id":"FT-AUTO-005","specCategory":"Autolaunched"}
42
- {"id":"FT-RTRIG-005","specCategory":"RecordTriggered"}
43
- {"id":"FT-SCHED-005","specCategory":"Scheduled"}
44
- {"id":"FT-PEVT-005","specCategory":"PlatformEvent"}
45
- {"id":"FT-SEG-005","specCategory":"Segment"}
46
- {"id":"FT-RTORCH-005","specCategory":"RecordTriggeredOrchestration"}
47
- {"id":"FT-RTAPPR-002","specCategory":"RecordTriggeredApprovalOrchestration"}
48
- {"id":"FT-AUTAPPR-002","specCategory":"AutolaunchedApprovalOrchestration"}
49
- {"id":"FT-SCRN-006","specCategory":"Screen"}
50
- {"id":"FT-AUTO-006","specCategory":"Autolaunched"}
51
- {"id":"FT-RTRIG-006","specCategory":"RecordTriggered"}
52
- {"id":"FT-SCHED-006","specCategory":"Scheduled"}
53
- {"id":"FT-PEVT-006","specCategory":"PlatformEvent"}
54
- {"id":"FT-SEG-006","specCategory":"Segment"}
55
- {"id":"FT-AUTORCH-001","specCategory":"AutolaunchedOrchestration"}
56
- {"id":"FT-RTAPPR-003","specCategory":"RecordTriggeredApprovalOrchestration"}
57
- {"id":"FT-AUTAPPR-003","specCategory":"AutolaunchedApprovalOrchestration"}
58
- {"id":"FT-IRR-001","specCategory":"IndivRelatedRecord"}
59
- {"id":"FT-IRR-002","specCategory":"IndivRelatedRecord"}
60
- {"id":"FT-IRR-003","specCategory":"RecordTriggered"}
61
- {"id":"FT-IRR-004","specCategory":"IndivRelatedRecord","mustAsk":false}
62
- {"id":"FT-IRR-005","specCategory":"RecordTriggered","mustAsk":false}
63
- {"id":"FT-IRR-006","specCategory":"AutomationEvent"}
64
- {"id":"FT-FORM-001","specCategory":"FormSubmissionEvent"}
65
- {"id":"FT-FORM-002","specCategory":"FormSubmissionEvent"}
66
- {"id":"FT-FORM-003","specCategory":"Screen"}
67
- {"id":"FT-CRM-001","specCategory":"IndivRelatedRecord","mustAsk":true}
68
- {"id":"FT-CRM-002","specCategory":"IndivRelatedRecord","mustAsk":true}
69
- {"id":"FT-CRM-003","specCategory":"IndivRelatedRecord","mustAsk":false}
70
- {"id":"FT-CRM-004","specCategory":"RecordTriggered","mustAsk":false}
71
- {"id":"FT-CRM-005","specCategory":"DataCloudDataChange","mustAsk":false}
72
- {"id":"FT-CRM-006","specCategory":"IndivRelatedRecord","mustAsk":false}
73
- {"id":"FT-CRM-007","specCategory":"IndivRelatedRecord","mustAsk":true}
74
- {"id": "FT-OND-001", "specCategory": "OnDemand"}
75
- {"id": "FT-OND-002", "specCategory": "OnDemand"}
76
- {"id": "FT-OND-003", "specCategory": "Autolaunched"}
77
- {"id": "FT-OND-004", "specCategory": "Autolaunched"}
78
- {"id": "FT-OND-005", "specCategory": "OnDemand"}
79
- {"id": "FT-OND-006", "specCategory": "OnDemand"}
80
- {"id": "FT-OND-007", "specCategory": "Autolaunched"}
@@ -1,116 +0,0 @@
1
- # Curated flow-type-resolver behavioral eval fixture. One {id,prompt,expected} per line;
2
- # `#`/`//` lines are skipped by the scorer. `expected` is a canonical
3
- # taxonomy specCategory.
4
- #
5
- # COVERAGE NOTE (project-codey port): this 60-prompt fixture covers the 10 families the
6
- # source PR shipped plus IndivRelatedRecord (Engagement / Journey-Triggered, family
7
- # FT-IRR), added for the individual-related-record routing and $Input record-context
8
- # work. It still has NO prompts for the other four trigger categories added during the
9
- # project-codey port (AutomationEvent, List, CampaignMember, RecordQuery). Running this
10
- # fixture validates the covered families did not REGRESS; it does NOT validate those
11
- # four categories. See CURATION.md.
12
- #
13
- # STATUS: OVERALL accuracy gated at 0.95. Source PR scored 98.2% (56/57 on the original
14
- # families); the lone miss is FT-AUTO-003 (button-invoked flat Autolaunched flow read as
15
- # Screen), kept as an honest hard case rather than dropped. This fixture adds the FT-IRR
16
- # family for 60 prompts total, then the FT-FORM family (FormSubmissionEvent, plus a
17
- # Screen look-alike and an Automation Event-worded prompt that must still resolve to
18
- # FormSubmissionEvent) for 63, then the FT-CRM family for 70. FT-CRM rows carry
19
- # "expectAsk": a CRM Triggered Flow ("CRM Triggered" / "CRM Trigger") request that says
20
- # "marketing" resolves to IndivRelatedRecord with no question; one that does not say
21
- # "marketing" leans IndivRelatedRecord but must ask (marketing Automation Event or
22
- # Record-Triggered Flow). Two look-alikes must not route there at all (a plain Contact
23
- # update with no CRM Triggered name stays RecordTriggered; a Data Cloud DMO change stays
24
- # DataCloudDataChange). The FT-OND family (OnDemandNoTrigger) brings it to 77: an On-Demand
25
- # Flow request and an "autolaunched" marketing send that the API starts for one person
26
- # resolve to OnDemand; an "on-demand flow" that Apex calls with no marketing send, and an
27
- # autolaunched flow that sends a plain email, stay Autolaunched; an On-Demand Flow named as
28
- # the type stays OnDemand even with no send. An API-started email "with consent from" a
29
- # subscription is a marketing send (OnDemand) even though the prompt never says marketing;
30
- # an API-started Email Alert stays Autolaunched. FT-IRR-004..006 bring it to 80: a user's
31
- # request word for word, a marketing "automation event flow" that triggers when a Lead's
32
- # status is Nurturing and sends to a journey, resolves to IndivRelatedRecord with no
33
- # question; the same Lead change with no marketing action stays RecordTriggered; and a
34
- # marketing "automation event flow" that starts on an email link click stays AutomationEvent.
35
- # FT-OND and FT-IRR-004..006 predictions were produced blind by an agent that read only
36
- # flow-type-resolver.md and taxonomy.json.
37
- {"id":"FT-SCRN-001","prompt":"Add a button to the Account page that walks a rep through a short form to capture renewal intent — the rep picks a renewal date, selects a reason code, and confirms before the record is updated.","expected":"Screen"}
38
- {"id":"FT-SCRN-002","prompt":"Build a multi-step wizard that sales reps launch from the Opportunity page to log a verbal commitment: first screen collects close date and amount, second screen lets them attach a note, then it saves everything on finish.","expected":"Screen"}
39
- {"id":"FT-SCRN-003","prompt":"I need a guided process a service agent can open from a Case to walk through a return request — they enter the product serial number, pick a return reason from a dropdown, and confirm the customer's shipping address before submitting.","expected":"Screen"}
40
- {"id":"FT-SCRN-004","prompt":"Create a step-by-step data-entry helper that customer success managers open via a custom button on the Contact record to collect NPS survey responses during a call — three screens, one question each, then save the results.","expected":"Screen"}
41
- {"id":"FT-SCRN-005","prompt":"When a finance team member clicks 'Submit Expense' on an Expense Report record, open a series of screens where they fill in receipt amounts, select a cost center, and upload a photo before the record is marked ready for approval.","expected":"Screen"}
42
- {"id":"FT-SCRN-006","prompt":"Build a new-lead intake form that inside sales reps pop open from the Leads list view: first screen captures company name and industry, second screen lets the rep assign a campaign source, and the last screen confirms before creating the Lead record.","expected":"Screen"}
43
- {"id":"FT-AUTO-001","prompt":"I need a reusable piece of logic that calculates a tiered discount percentage based on an Opportunity's annual contract value — my other flows will call it and pass in the amount to get back a discount rate.","expected":"Autolaunched"}
44
- {"id":"FT-AUTO-002","prompt":"Build a utility that our Apex service class can invoke to create a follow-up Task on any Account, passing in the subject, due date, and owner at runtime.","expected":"Autolaunched"}
45
- {"id":"FT-AUTO-003","prompt":"When a sales rep clicks a custom button on the Opportunity record, kick off a process that clones the opportunity and all its line items into a new draft record.","expected":"Autolaunched"}
46
- {"id":"FT-AUTO-004","prompt":"I want a standalone piece of automation that my order management Apex code can call to update the related Contract's status and send a confirmation email whenever a payment is posted.","expected":"Autolaunched"}
47
- {"id":"FT-AUTO-005","prompt":"Create a reusable block that other flows in our org can invoke as a subflow: given a Contact ID, it looks up the Contact's Account tier and returns the appropriate SLA level.","expected":"Autolaunched"}
48
- {"id":"FT-AUTO-006","prompt":"Set up a headless routine that our nightly batch Apex job can trigger to archive closed Cases older than 90 days by stamping an Archive_Date__c field and moving them to a cold storage record type.","expected":"Autolaunched"}
49
- {"id":"FT-RTRIG-001","prompt":"Whenever a new Opportunity is created with an amount over $50,000, automatically assign it to the Enterprise Sales queue and send the account owner an email notification.","expected":"RecordTriggered"}
50
- {"id":"FT-RTRIG-002","prompt":"Each time a Case status changes to 'Resolved', stamp the current date on a custom Resolved_Date__c field and update the related contact's Last_Support_Date__c.","expected":"RecordTriggered"}
51
- {"id":"FT-RTRIG-003","prompt":"As soon as a new Lead is saved with a country of 'Germany', set the Lead Owner to the EMEA round-robin queue and mark the region picklist as 'EMEA'.","expected":"RecordTriggered"}
52
- {"id":"FT-RTRIG-004","prompt":"When an Account's Annual Revenue field is updated to exceed one million dollars, automatically create a follow-up Task for the account owner due in three business days.","expected":"RecordTriggered"}
53
- {"id":"FT-RTRIG-005","prompt":"Any time a Contract record is deleted, log a custom Audit_Log__c record capturing the contract name, owner, and the timestamp of deletion.","expected":"RecordTriggered"}
54
- {"id":"FT-RTRIG-006","prompt":"The moment a Work Order is created with Priority set to 'Critical', immediately create a child Work Order Line Item, notify the field service manager via email, and set the target response time to two hours.","expected":"RecordTriggered"}
55
- {"id":"FT-SCHED-001","prompt":"Every night at midnight, find all Opportunities whose Close Date has passed and Status is still 'Open', then update their Stage to 'Closed Lost'.","expected":"Scheduled"}
56
- {"id":"FT-SCHED-002","prompt":"Each Monday morning, roll up the total number of won deals from the previous week onto each Account's 'Weekly Wins' field so the sales dashboard stays current.","expected":"Scheduled"}
57
- {"id":"FT-SCHED-003","prompt":"Run a daily job that scans all Cases open longer than 10 days and bumps their Priority to 'High' if it hasn't been set already.","expected":"Scheduled"}
58
- {"id":"FT-SCHED-004","prompt":"Once a month, zero out the 'Monthly Call Count' field on every Contact record so reps start each billing cycle with a clean slate.","expected":"Scheduled"}
59
- {"id":"FT-SCHED-005","prompt":"Every weekday at 7 AM, check which Leads haven't been touched in 30 days and assign them to the round-robin queue for re-engagement.","expected":"Scheduled"}
60
- {"id":"FT-SCHED-006","prompt":"Set up a nightly batch that looks for any active Contracts whose end date falls within the next 14 days and creates a renewal Opportunity linked to the parent Account.","expected":"Scheduled"}
61
- {"id":"FT-PEVT-001","prompt":"Whenever our payment processor publishes a Payment_Completed__e message to the event bus, pick it up and automatically update the related Order record's status to 'Paid' and close the linked invoice.","expected":"PlatformEvent"}
62
- {"id":"FT-PEVT-002","prompt":"Our IoT monitoring platform fires a Device_Alert__e event each time a sensor threshold is breached — subscribe to that event channel and create a high-priority maintenance Case for the affected equipment.","expected":"PlatformEvent"}
63
- {"id":"FT-PEVT-003","prompt":"When the external ERP pushes a Stock_Depleted__e event into Salesforce, catch it and automatically generate a new Purchase_Order__c record for the product that needs restocking.","expected":"PlatformEvent"}
64
- {"id":"FT-PEVT-004","prompt":"Listen for Shipment_Dispatched__e events coming from the fulfillment system and, each time one arrives, flip the related Opportunity stage to 'Fulfilled' and fire off a customer confirmation email.","expected":"PlatformEvent"}
65
- {"id":"FT-PEVT-005","prompt":"Our HR platform emits an Employee_Offboarded__e event when someone leaves; build something that subscribes to that event and deactivates the matching Salesforce user while reassigning their open Cases.","expected":"PlatformEvent"}
66
- {"id":"FT-PEVT-006","prompt":"Set up automation that waits for a Fraud_Flagged__e event from the risk-scoring service and, as soon as one comes in, creates a follow-up Task on the associated Account for the compliance team to review.","expected":"PlatformEvent"}
67
- {"id":"FT-SEG-001","prompt":"Whenever a contact qualifies for our 'High-Value Prospects' audience in Marketing Cloud, automatically send them a personalized introductory email and update their Lead Score field on their Contact record.","expected":"Segment"}
68
- {"id":"FT-SEG-002","prompt":"As soon as a lead enters the 'Dormant Accounts – 90 Days' re-engagement audience, send a win-back offer email and set the Re_Engagement_Sent__c checkbox to true on the Lead.","expected":"Segment"}
69
- {"id":"FT-SEG-003","prompt":"When a contact gets added to the 'Trade Show Attendees Fall 2026' segment, send a follow-up email with the recorded session links and stamp the Last_Campaign_Touch__c date field.","expected":"Segment"}
70
- {"id":"FT-SEG-004","prompt":"Once a lead falls into our 'Cold Nurture' drip audience, assign them to the nurture queue and fire off the first email in the onboarding sequence automatically.","expected":"Segment"}
71
- {"id":"FT-SEG-005","prompt":"Any time a contact enters the 'Enterprise Trial Users' marketing audience, notify their assigned Account Executive via email and flip the In_Trial_Nurture__c field to true on the Contact.","expected":"Segment"}
72
- {"id":"FT-SEG-006","prompt":"When someone is added to the 'Churned Customers – Winback' segment, send a discount offer email and create a follow-up Task on the related Account for the CSM to call within three days.","expected":"Segment"}
73
- {"id":"FT-RTORCH-001","prompt":"When an Opportunity is marked Closed Won, automatically kick off a multi-stage handoff: first assign a solutions architect to scope the implementation, wait for them to submit a plan, then route it to the provisioning team to set up the environment, and finally notify customer success to schedule the kickoff call.","expected":"RecordTriggeredOrchestration"}
74
- {"id":"FT-RTORCH-002","prompt":"Whenever a high-priority Case is created, coordinate a structured escalation across three teams: a Tier-2 agent investigates and documents root cause, then an engineering lead confirms the fix, then the support manager personally notifies the customer — each stage waiting for the prior one to finish.","expected":"RecordTriggeredOrchestration"}
75
- {"id":"FT-RTORCH-003","prompt":"When a Job Application record is moved to the 'Offer Extended' stage, trigger a coordinated onboarding prep process where IT, Facilities, and HR each complete their setup tasks in sequence before the new hire's start date.","expected":"RecordTriggeredOrchestration"}
76
- {"id":"FT-RTORCH-004","prompt":"Once a Work Order is created with Category set to 'Major Repair', automatically begin a staged approval and execution process: a field supervisor assesses the site, then procurement sources the parts, then the assigned technician completes the repair and logs the outcome.","expected":"RecordTriggeredOrchestration"}
77
- {"id":"FT-RTORCH-005","prompt":"When an Account's tier is upgraded to 'Enterprise', start a multi-team white-glove setup process — a technical architect reviews the account needs, followed by the migration team executing the upgrade, and finally the customer success manager confirms all services are live before closing out the process.","expected":"RecordTriggeredOrchestration"}
78
- {"id":"FT-AUTORCH-001","prompt":"When a sales rep clicks a 'Start Renewal' button on an Opportunity, we need a coordinated process that routes work to the sales team first to draft the proposal, then to legal for contract review, and finally to finance for pricing sign-off — each team finishing before the next gets their assignment.","expected":"AutolaunchedOrchestration"}
79
- {"id":"FT-AUTORCH-002","prompt":"Our HR team needs a way to manually kick off a multi-stage new-hire setup process from an Employee record — it should assign equipment tasks to IT, badge and desk setup to Facilities, and system enrollment to Payroll in sequence, with each department tracking their own steps.","expected":"AutolaunchedOrchestration"}
80
- {"id":"FT-AUTORCH-003","prompt":"Build a process that a project manager can launch from a button on a Project record to coordinate a client go-live: the solutions team configures the environment first, then IT provisions access, and finally the training team schedules onboarding sessions.","expected":"AutolaunchedOrchestration"}
81
- {"id":"FT-AUTORCH-004","prompt":"Let customer success managers initiate a formal account remediation process from a Case record by clicking a button; the process should assign an investigation step to support engineering, wait for their findings, then route a review step to the account executive before the CSM closes the loop with the customer.","expected":"AutolaunchedOrchestration"}
82
- {"id":"FT-RTAPPR-001","prompt":"Whenever a new Contract record is created with a Total Value above $50,000, automatically route it first to the Legal team for review and then to the VP of Finance for final sign-off before it can be activated.","expected":"RecordTriggeredApprovalOrchestration"}
83
- {"id":"FT-RTAPPR-002","prompt":"As soon as an Opportunity's Discount field is updated to more than 20%, kick off a sequential sign-off process where the regional manager approves first, followed by the CFO if the deal is over $100K.","expected":"RecordTriggeredApprovalOrchestration"}
84
- {"id":"FT-RTAPPR-003","prompt":"The moment a Capital Expenditure Request record is submitted (status flips to 'Pending'), have the department head, then the finance controller, and finally the COO each review and approve in sequence before the funds are released.","expected":"RecordTriggeredApprovalOrchestration"}
85
- {"id":"FT-RTAPPR-004","prompt":"When a Purchase Order record is created with a line total exceeding $25,000, automatically send it through a two-stage approval: first the procurement lead, then the budget owner, waiting for each person's decision before moving to the next.","expected":"RecordTriggeredApprovalOrchestration"}
86
- {"id":"FT-RTAPPR-005","prompt":"Any time a Job Requisition record's headcount is changed to more than three open roles, trigger a multi-step sign-off that routes to the HR Business Partner and then to the VP of Talent before the positions can be posted.","expected":"RecordTriggeredApprovalOrchestration"}
87
- {"id":"FT-RTAPPR-006","prompt":"When a customer Refund Request record is created for amounts over $5,000, automatically escalate it through a sequential review by the billing manager and then the finance director, pausing for each approval before processing the refund.","expected":"RecordTriggeredApprovalOrchestration"}
88
- {"id":"FT-AUTAPPR-001","prompt":"When a sales rep submits a contract record for sign-off, route it sequentially to the legal reviewer and then the VP of Sales, waiting for each approval before advancing, so the contract status can only become Active once both have authorized it.","expected":"AutolaunchedApprovalOrchestration"}
89
- {"id":"FT-AUTAPPR-002","prompt":"After a manager clicks the Submit for Review button on a Capital_Expenditure__c record, collect authorizations from the department director and the CFO in sequence before the purchase order is released.","expected":"AutolaunchedApprovalOrchestration"}
90
- {"id":"FT-AUTAPPR-003","prompt":"When a rep sends an Opportunity with a discount above 20% for approval, get sign-off from the regional VP and then the finance controller—holding each step until the previous approver responds—before the deal can close.","expected":"AutolaunchedApprovalOrchestration"}
91
- {"id":"FT-AUTAPPR-004","prompt":"When a hiring manager submits a Job_Requisition__c for review, gather approvals from the department head, HR director, and budget committee one after another, waiting at each stage before the requisition can proceed to posting.","expected":"AutolaunchedApprovalOrchestration"}
92
- {"id":"FT-AUTAPPR-005","prompt":"A sales user submits a high-value Quote for authorization; based on the total amount, route it to one or two pricing managers for sign-off before the quote is allowed to be sent to the customer.","expected":"AutolaunchedApprovalOrchestration"}
93
- {"id":"FT-AUTAPPR-006","prompt":"When a billing agent submits a large refund request on a Case for approval, first get the billing supervisor's authorization and then the finance director's before the refund is issued to the customer.","expected":"AutolaunchedApprovalOrchestration"}
94
- {"id":"FT-IRR-001","prompt":"Build an Individual Related Record-Triggered flow on the Lead object that fires when a lead record is updated, then pauses until the customer opens our nurture email before updating the consent status on the linked Individual.","expected":"IndivRelatedRecord"}
95
- {"id":"FT-IRR-002","prompt":"I need a flow for an individual that runs first when their record is updated and then pauses mid-flow until they click the link in our marketing email, and once they click, sends them a follow-up SMS.","expected":"IndivRelatedRecord"}
96
- {"id":"FT-IRR-003","prompt":"Create a flow for an individual that sets their Status to Active whenever their Contact record is created or updated.","expected":"RecordTriggered"}
97
- {"id":"FT-IRR-004","prompt":"I want to create a marketing automation event flow that triggers when Lead status is Nurturing. The flow should have Send to Journey action which sends to NurtureSeries journey. Then waits for the Journey Builder Goal Met for that journey. If the goal is met, then create a high priority task for the Lead owner to follow up.","expected":"IndivRelatedRecord","expectAsk":false}
98
- {"id":"FT-IRR-005","prompt":"When a Lead's status changes to Nurturing, create a high priority task for the lead owner to follow up.","expected":"RecordTriggered","expectAsk":false}
99
- {"id":"FT-IRR-006","prompt":"Create a marketing automation event flow that starts when a customer clicks a link in our welcome email and then sends them a follow-up SMS.","expected":"AutomationEvent"}
100
- {"id":"FT-FORM-001","prompt":"When someone submits our webinar registration form, send them a confirmation email and add them to the webinar campaign.","expected":"FormSubmissionEvent"}
101
- {"id":"FT-FORM-002","prompt":"Build an Automation Event-triggered flow that fires when a prospect submits our Contact Us form and sets their Lead Rating to Warm.","expected":"FormSubmissionEvent"}
102
- {"id":"FT-FORM-003","prompt":"Build a form that walks a support agent step by step through collecting a customer's shipping address, then updates their Contact record.","expected":"Screen"}
103
- {"id":"FT-CRM-001","prompt":"Make me a CRM Triggered Flow that sends an email, the trigger should be everytime a contact is updated","expected":"IndivRelatedRecord","expectAsk":true}
104
- {"id":"FT-CRM-002","prompt":"Build a CRM Triggered flow on Lead that sends our welcome email whenever a new lead is created.","expected":"IndivRelatedRecord","expectAsk":true}
105
- {"id":"FT-CRM-003","prompt":"Set up a CRM Trigger so that when a Contact's mailing address is updated we send them our Address Confirmation marketing email.","expected":"IndivRelatedRecord","expectAsk":false}
106
- {"id":"FT-CRM-004","prompt":"Whenever a Contact is updated, send an email alert to the contact's owner.","expected":"RecordTriggered","expectAsk":false}
107
- {"id":"FT-CRM-005","prompt":"When a Data Cloud Individual DMO record (ssot__Individual__dlm) is updated, create a follow-up Task for the account owner.","expected":"DataCloudDataChange","expectAsk":false}
108
- {"id":"FT-CRM-006","prompt":"Make me a marketing CRM Triggered Flow that sends an email, the trigger should be everytime a contact is updated","expected":"IndivRelatedRecord","expectAsk":false}
109
- {"id":"FT-CRM-007","prompt":"Make a CRM Triggered flow on Contact that does an assignment","expected":"IndivRelatedRecord","expectAsk":true}
110
- {"id": "FT-OND-001", "prompt": "Build an On-Demand Flow that our mobile app calls through the API to send a welcome SMS to the customer who just signed up.", "expected": "OnDemand"}
111
- {"id": "FT-OND-002", "prompt": "Create an autolaunched flow our website calls through the REST API to send our marketing welcome email to the person who just registered.", "expected": "OnDemand"}
112
- {"id": "FT-OND-003", "prompt": "Create an on-demand flow that Apex calls to recalculate an Account's health score and update the record.", "expected": "Autolaunched"}
113
- {"id": "FT-OND-004", "prompt": "Build an autolaunched flow, called from Apex, that sends a plain notification email to the case owner.", "expected": "Autolaunched"}
114
- {"id": "FT-OND-005", "prompt": "Create an On-Demand Flow (not a regular autolaunched flow) that our support portal calls through the API to create a Case from a subject and a description.", "expected": "OnDemand"}
115
- {"id": "FT-OND-006", "prompt": "Build a flow our booking app calls through the API for one guest at a time. It sends them our \"Check-in Reminder\" email from our Front Desk sender, with consent from our \"Guest Updates\" subscription.", "expected": "OnDemand"}
116
- {"id": "FT-OND-007", "prompt": "Build a flow our booking app calls through the API that fires the \"New Booking\" email alert to the property manager.", "expected": "Autolaunched"}