@salesforce/afv-skills 1.8.0 → 1.9.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 (488) hide show
  1. package/package.json +1 -1
  2. package/skills/activating-datacloud/CREDITS.md +5 -0
  3. package/skills/activating-datacloud/README.md +39 -0
  4. package/skills/activating-datacloud/SKILL.md +118 -0
  5. package/skills/analyzing-omnistudio-dependencies/CREDITS.md +5 -0
  6. package/skills/analyzing-omnistudio-dependencies/SKILL.md +477 -0
  7. package/skills/analyzing-omnistudio-dependencies/references/dependency-patterns.md +508 -0
  8. package/skills/analyzing-omnistudio-dependencies/references/namespace-guide.md +300 -0
  9. package/skills/building-omnistudio-callable-apex/CREDITS.md +9 -0
  10. package/skills/building-omnistudio-callable-apex/README.md +80 -0
  11. package/skills/building-omnistudio-callable-apex/SKILL.md +276 -0
  12. package/skills/building-omnistudio-callable-apex/assets/pattern_callable_openinterface.cls +40 -0
  13. package/skills/building-omnistudio-callable-apex/assets/pattern_callable_vanilla.cls +32 -0
  14. package/skills/building-omnistudio-callable-apex/assets/pattern_migration.cls +54 -0
  15. package/skills/building-omnistudio-callable-apex/assets/pattern_openinterface.cls +45 -0
  16. package/skills/building-omnistudio-callable-apex/assets/pattern_test_class.cls +65 -0
  17. package/skills/building-omnistudio-callable-apex/examples/Test_QuoteByProductCallable/IndustriesCallableException.cls +7 -0
  18. package/skills/building-omnistudio-callable-apex/examples/Test_QuoteByProductCallable/Industries_QuoteByProductCallable.cls +115 -0
  19. package/skills/building-omnistudio-callable-apex/examples/Test_QuoteByProductCallable/Industries_QuoteByProductCallableTest.cls +189 -0
  20. package/skills/building-omnistudio-callable-apex/examples/Test_QuoteByProductCallable/TRANSCRIPT.md +115 -0
  21. package/skills/building-omnistudio-callable-apex/examples/Test_VlocityOpenInterface2Conversion/IndustriesCallableException.cls +7 -0
  22. package/skills/building-omnistudio-callable-apex/examples/Test_VlocityOpenInterface2Conversion/MyCustomCallable.cls +74 -0
  23. package/skills/building-omnistudio-callable-apex/examples/Test_VlocityOpenInterface2Conversion/MyCustomCallableTest.cls +146 -0
  24. package/skills/building-omnistudio-callable-apex/examples/Test_VlocityOpenInterface2Conversion/MyCustomRemoteClass.cls +16 -0
  25. package/skills/building-omnistudio-callable-apex/examples/Test_VlocityOpenInterface2Conversion/TRANSCRIPT.md +120 -0
  26. package/skills/building-omnistudio-callable-apex/examples/Test_VlocityOpenInterfaceConversion/IndustriesCallableException.cls +7 -0
  27. package/skills/building-omnistudio-callable-apex/examples/Test_VlocityOpenInterfaceConversion/MyCustomCallable.cls +73 -0
  28. package/skills/building-omnistudio-callable-apex/examples/Test_VlocityOpenInterfaceConversion/MyCustomCallableTest.cls +128 -0
  29. package/skills/building-omnistudio-callable-apex/examples/Test_VlocityOpenInterfaceConversion/MyCustomVlocityOpenInterface2.cls +23 -0
  30. package/skills/building-omnistudio-callable-apex/examples/Test_VlocityOpenInterfaceConversion/TRANSCRIPT.md +75 -0
  31. package/skills/building-omnistudio-datamapper/CREDITS.md +5 -0
  32. package/skills/building-omnistudio-datamapper/SKILL.md +270 -0
  33. package/skills/building-omnistudio-datamapper/assets/completion-summary-template.md +28 -0
  34. package/skills/building-omnistudio-datamapper/assets/omni-data-transform-extract.json +6 -0
  35. package/skills/building-omnistudio-datamapper/assets/omni-data-transform-item.json +12 -0
  36. package/skills/building-omnistudio-datamapper/assets/omni-data-transform-load.json +6 -0
  37. package/skills/building-omnistudio-datamapper/assets/omni-data-transform-transform.json +6 -0
  38. package/skills/building-omnistudio-datamapper/references/best-practices.md +277 -0
  39. package/skills/building-omnistudio-datamapper/references/naming-conventions.md +145 -0
  40. package/skills/building-omnistudio-flexcard/CREDITS.md +5 -0
  41. package/skills/building-omnistudio-flexcard/SKILL.md +325 -0
  42. package/skills/building-omnistudio-flexcard/assets/omni-ui-card.json +10 -0
  43. package/skills/building-omnistudio-flexcard/references/best-practices.md +291 -0
  44. package/skills/building-omnistudio-flexcard/references/data-binding-guide.md +311 -0
  45. package/skills/building-omnistudio-flexcard/references/scoring-rubric.md +66 -0
  46. package/skills/building-omnistudio-flexcard/scripts/flexcard-commands.sh +24 -0
  47. package/skills/building-omnistudio-integration-procedure/CREDITS.md +5 -0
  48. package/skills/building-omnistudio-integration-procedure/SKILL.md +275 -0
  49. package/skills/building-omnistudio-integration-procedure/assets/omni-process-element-dr-extract.json +10 -0
  50. package/skills/building-omnistudio-integration-procedure/assets/omni-process-element-set-values.json +10 -0
  51. package/skills/building-omnistudio-integration-procedure/assets/omni-process-ip.json +12 -0
  52. package/skills/building-omnistudio-integration-procedure/assets/scoring-report-format.txt +14 -0
  53. package/skills/building-omnistudio-integration-procedure/references/best-practices.md +388 -0
  54. package/skills/building-omnistudio-integration-procedure/references/element-types.md +588 -0
  55. package/skills/building-omnistudio-integration-procedure/scripts/cli-commands.sh +18 -0
  56. package/skills/building-omnistudio-omniscript/CREDITS.md +5 -0
  57. package/skills/building-omnistudio-omniscript/SKILL.md +367 -0
  58. package/skills/building-omnistudio-omniscript/assets/omni-process-element-step.json +10 -0
  59. package/skills/building-omnistudio-omniscript/assets/omni-process-element-text-block.json +11 -0
  60. package/skills/building-omnistudio-omniscript/assets/omni-process-omniscript.json +12 -0
  61. package/skills/building-omnistudio-omniscript/references/best-practices.md +480 -0
  62. package/skills/building-omnistudio-omniscript/references/element-types.md +1172 -0
  63. package/skills/building-omnistudio-omniscript/scripts/check-duplicate-omniscript.sh +13 -0
  64. package/skills/building-omnistudio-omniscript/scripts/cli-reference.sh +21 -0
  65. package/skills/building-omnistudio-omniscript/scripts/deploy-omniscript.sh +29 -0
  66. package/skills/building-sf-integrations/CREDITS.md +5 -0
  67. package/skills/building-sf-integrations/README.md +95 -0
  68. package/skills/building-sf-integrations/SKILL.md +192 -0
  69. package/skills/building-sf-integrations/assets/callouts/callout-retry-handler.cls +167 -0
  70. package/skills/building-sf-integrations/assets/callouts/http-response-handler.cls +257 -0
  71. package/skills/building-sf-integrations/assets/callouts/rest-queueable-callout.cls +262 -0
  72. package/skills/building-sf-integrations/assets/callouts/rest-sync-callout.cls +211 -0
  73. package/skills/building-sf-integrations/assets/cdc/cdc-handler.cls +246 -0
  74. package/skills/building-sf-integrations/assets/cdc/cdc-subscriber-trigger.trigger +139 -0
  75. package/skills/building-sf-integrations/assets/endpoint-security/example.cspTrustedSite-meta.xml +58 -0
  76. package/skills/building-sf-integrations/assets/endpoint-security/example.remoteSite-meta.xml +39 -0
  77. package/skills/building-sf-integrations/assets/external-credentials/jwt-external-credential.externalCredential-meta.xml +90 -0
  78. package/skills/building-sf-integrations/assets/external-credentials/oauth-external-credential.externalCredential-meta.xml +87 -0
  79. package/skills/building-sf-integrations/assets/external-services/external-service-operations.md +221 -0
  80. package/skills/building-sf-integrations/assets/external-services/openapi-registration.externalServiceRegistration-meta.xml +193 -0
  81. package/skills/building-sf-integrations/assets/named-credentials/certificate-auth.namedCredential-meta.xml +62 -0
  82. package/skills/building-sf-integrations/assets/named-credentials/custom-auth.namedCredential-meta.xml +71 -0
  83. package/skills/building-sf-integrations/assets/named-credentials/oauth-client-credentials.namedCredential-meta.xml +51 -0
  84. package/skills/building-sf-integrations/assets/named-credentials/oauth-jwt-bearer.namedCredential-meta.xml +67 -0
  85. package/skills/building-sf-integrations/assets/platform-events/event-publisher.cls +191 -0
  86. package/skills/building-sf-integrations/assets/platform-events/event-subscriber-action.cls +295 -0
  87. package/skills/building-sf-integrations/assets/platform-events/event-subscriber-trigger.trigger +108 -0
  88. package/skills/building-sf-integrations/assets/platform-events/platform-event-definition.object-meta.xml +124 -0
  89. package/skills/building-sf-integrations/assets/soap/soap-callout-service.cls +186 -0
  90. package/skills/building-sf-integrations/assets/soap/wsdl2apex-guide.md +213 -0
  91. package/skills/building-sf-integrations/hooks/scripts/suggest_credential_setup.py +271 -0
  92. package/skills/building-sf-integrations/hooks/scripts/validate_integration.py +363 -0
  93. package/skills/building-sf-integrations/references/callout-patterns.md +719 -0
  94. package/skills/building-sf-integrations/references/cdc-guide.md +288 -0
  95. package/skills/building-sf-integrations/references/cli-reference.md +94 -0
  96. package/skills/building-sf-integrations/references/event-driven-architecture-guide.md +266 -0
  97. package/skills/building-sf-integrations/references/event-patterns.md +838 -0
  98. package/skills/building-sf-integrations/references/external-services-guide.md +303 -0
  99. package/skills/building-sf-integrations/references/messaging-api-v2.md +609 -0
  100. package/skills/building-sf-integrations/references/named-credentials-automation.md +201 -0
  101. package/skills/building-sf-integrations/references/named-credentials-guide.md +173 -0
  102. package/skills/building-sf-integrations/references/platform-events-guide.md +288 -0
  103. package/skills/building-sf-integrations/references/rest-callout-patterns.md +288 -0
  104. package/skills/building-sf-integrations/references/scoring-rubric.md +59 -0
  105. package/skills/building-sf-integrations/references/security-best-practices.md +248 -0
  106. package/skills/building-sf-integrations/scripts/README.md +100 -0
  107. package/skills/building-sf-integrations/scripts/configure-named-credential.sh +236 -0
  108. package/skills/building-sf-integrations/scripts/set-api-credential.sh +146 -0
  109. package/skills/building-sf-integrations/scripts/templates/setup-credentials-with-csp.sh +158 -0
  110. package/skills/configuring-connected-apps/CREDITS.md +3 -0
  111. package/skills/configuring-connected-apps/README.md +99 -0
  112. package/skills/configuring-connected-apps/SKILL.md +224 -0
  113. package/skills/configuring-connected-apps/assets/connected-app-basic.xml +29 -0
  114. package/skills/configuring-connected-apps/assets/connected-app-canvas.xml +62 -0
  115. package/skills/configuring-connected-apps/assets/connected-app-jwt.xml +49 -0
  116. package/skills/configuring-connected-apps/assets/connected-app-oauth.xml +65 -0
  117. package/skills/configuring-connected-apps/assets/eca-global-oauth.xml +36 -0
  118. package/skills/configuring-connected-apps/assets/eca-oauth-settings.xml +36 -0
  119. package/skills/configuring-connected-apps/assets/eca-policies.xml +36 -0
  120. package/skills/configuring-connected-apps/assets/external-client-app.xml +35 -0
  121. package/skills/configuring-connected-apps/references/example-usage.md +256 -0
  122. package/skills/configuring-connected-apps/references/migration-guide.md +328 -0
  123. package/skills/configuring-connected-apps/references/oauth-flows-reference.md +660 -0
  124. package/skills/configuring-connected-apps/references/security-checklist.md +209 -0
  125. package/skills/configuring-connected-apps/references/testing-validation-guide.md +275 -0
  126. package/skills/connecting-datacloud/CREDITS.md +5 -0
  127. package/skills/connecting-datacloud/README.md +59 -0
  128. package/skills/connecting-datacloud/SKILL.md +155 -0
  129. package/skills/connecting-datacloud/examples/connections/heroku-postgres.json +15 -0
  130. package/skills/connecting-datacloud/examples/connections/ingest-api-connection.json +5 -0
  131. package/skills/connecting-datacloud/examples/connections/ingest-api-schema.json +31 -0
  132. package/skills/connecting-datacloud/examples/connections/redshift.json +16 -0
  133. package/skills/connecting-datacloud/examples/connections/sharepoint-unstructured.json +20 -0
  134. package/skills/connecting-datacloud/examples/connections/snowflake-connection.json +42 -0
  135. package/skills/debugging-apex-logs/CREDITS.md +22 -0
  136. package/skills/debugging-apex-logs/README.md +74 -0
  137. package/skills/debugging-apex-logs/SKILL.md +172 -0
  138. package/skills/debugging-apex-logs/assets/benchmarking-template.cls +327 -0
  139. package/skills/debugging-apex-logs/assets/cpu-heap-optimization.cls +307 -0
  140. package/skills/debugging-apex-logs/assets/dml-in-loop-fix.cls +219 -0
  141. package/skills/debugging-apex-logs/assets/null-pointer-fix.cls +252 -0
  142. package/skills/debugging-apex-logs/assets/soql-in-loop-fix.cls +157 -0
  143. package/skills/debugging-apex-logs/references/analysis-playbook.md +53 -0
  144. package/skills/debugging-apex-logs/references/benchmarking-guide.md +287 -0
  145. package/skills/debugging-apex-logs/references/cli-commands.md +368 -0
  146. package/skills/debugging-apex-logs/references/common-issues.md +68 -0
  147. package/skills/debugging-apex-logs/references/debug-log-reference.md +328 -0
  148. package/skills/debugging-apex-logs/references/log-analysis-tools.md +248 -0
  149. package/skills/debugging-apex-logs/references/scoring-rubric.md +21 -0
  150. package/skills/deploying-metadata/CREDITS.md +25 -0
  151. package/skills/deploying-metadata/README.md +104 -0
  152. package/skills/deploying-metadata/SKILL.md +214 -0
  153. package/skills/deploying-metadata/assets/destructiveChanges.xml +143 -0
  154. package/skills/deploying-metadata/assets/package.xml +121 -0
  155. package/skills/deploying-metadata/references/agent-deployment-guide.md +628 -0
  156. package/skills/deploying-metadata/references/deploy.sh +73 -0
  157. package/skills/deploying-metadata/references/deployment-report-template.md +89 -0
  158. package/skills/deploying-metadata/references/deployment-workflows.md +395 -0
  159. package/skills/deploying-metadata/references/orchestration.md +183 -0
  160. package/skills/deploying-metadata/references/trigger-deployment-safety.md +376 -0
  161. package/skills/deploying-omnistudio-datapacks/CREDITS.md +5 -0
  162. package/skills/deploying-omnistudio-datapacks/README.md +88 -0
  163. package/skills/deploying-omnistudio-datapacks/SKILL.md +174 -0
  164. package/skills/deploying-omnistudio-datapacks/examples/business-internet-plus-bundle/TRANSCRIPT.md +124 -0
  165. package/skills/deploying-omnistudio-datapacks/examples/business-internet-plus-bundle/deploy-business-internet-plus-bundle.yaml +11 -0
  166. package/skills/deploying-omnistudio-datapacks/examples/business-internet-plus-bundle-deploy/TRANSCRIPT.md +142 -0
  167. package/skills/deploying-omnistudio-datapacks/examples/business-internet-plus-bundle-deploy/deploy-business-internet-plus-bundle.yaml +10 -0
  168. package/skills/deploying-omnistudio-datapacks/references/job-file-template.md +42 -0
  169. package/skills/deploying-omnistudio-datapacks/references/troubleshooting-matrix.md +24 -0
  170. package/skills/developing-agentforce/assets/metadata/http-callout-flow.flow-meta.xml +1 -1
  171. package/skills/developing-agentforce/references/actions-reference.md +8 -8
  172. package/skills/fetching-salesforce-docs/README.md +66 -0
  173. package/skills/fetching-salesforce-docs/SKILL.md +209 -0
  174. package/skills/fetching-salesforce-docs/requirements.txt +2 -0
  175. package/skills/fetching-salesforce-docs/scripts/extract_help_salesforce.py +497 -0
  176. package/skills/fetching-salesforce-docs/scripts/extract_salesforce_doc.py +357 -0
  177. package/skills/fetching-salesforce-docs/scripts/runtime_bootstrap.py +58 -0
  178. package/skills/generating-apex/CREDITS.md +1 -26
  179. package/skills/generating-apex-test/CREDITS.md +2 -27
  180. package/skills/generating-lwc-components/CREDITS.md +5 -0
  181. package/skills/generating-lwc-components/README.md +126 -0
  182. package/skills/generating-lwc-components/SKILL.md +191 -0
  183. package/skills/generating-lwc-components/assets/apex-controller/LwcController.cls +327 -0
  184. package/skills/generating-lwc-components/assets/basic-component/basicComponent.css +72 -0
  185. package/skills/generating-lwc-components/assets/basic-component/basicComponent.html +111 -0
  186. package/skills/generating-lwc-components/assets/basic-component/basicComponent.js +163 -0
  187. package/skills/generating-lwc-components/assets/basic-component/basicComponent.js-meta.xml +137 -0
  188. package/skills/generating-lwc-components/assets/datatable-component/datatableComponent.html +111 -0
  189. package/skills/generating-lwc-components/assets/datatable-component/datatableComponent.js +367 -0
  190. package/skills/generating-lwc-components/assets/flow-screen-component/flowScreenComponent.css +63 -0
  191. package/skills/generating-lwc-components/assets/flow-screen-component/flowScreenComponent.html +154 -0
  192. package/skills/generating-lwc-components/assets/flow-screen-component/flowScreenComponent.js +348 -0
  193. package/skills/generating-lwc-components/assets/flow-screen-component/flowScreenComponent.js-meta.xml +87 -0
  194. package/skills/generating-lwc-components/assets/form-component/formComponent.html +165 -0
  195. package/skills/generating-lwc-components/assets/form-component/formComponent.js +275 -0
  196. package/skills/generating-lwc-components/assets/graphql-component/graphqlComponent.html +100 -0
  197. package/skills/generating-lwc-components/assets/graphql-component/graphqlComponent.js +336 -0
  198. package/skills/generating-lwc-components/assets/jest-test/componentName.test.js.example +371 -0
  199. package/skills/generating-lwc-components/assets/message-channel/RecordSelected.messageChannel-meta.xml +71 -0
  200. package/skills/generating-lwc-components/assets/message-channel/lmsPublisher.js +103 -0
  201. package/skills/generating-lwc-components/assets/message-channel/lmsSubscriber.js +181 -0
  202. package/skills/generating-lwc-components/assets/modal-component/modalComponent.html +85 -0
  203. package/skills/generating-lwc-components/assets/modal-component/modalComponent.js +199 -0
  204. package/skills/generating-lwc-components/assets/record-picker/recordPicker.html +55 -0
  205. package/skills/generating-lwc-components/assets/record-picker/recordPicker.js +199 -0
  206. package/skills/generating-lwc-components/assets/state-store/store.js +282 -0
  207. package/skills/generating-lwc-components/assets/typescript-component/typescriptComponent.css +65 -0
  208. package/skills/generating-lwc-components/assets/typescript-component/typescriptComponent.html +95 -0
  209. package/skills/generating-lwc-components/assets/typescript-component/typescriptComponent.js-meta.xml +75 -0
  210. package/skills/generating-lwc-components/assets/typescript-component/typescriptComponent.test.ts.example +301 -0
  211. package/skills/generating-lwc-components/assets/typescript-component/typescriptComponent.ts +295 -0
  212. package/skills/generating-lwc-components/assets/workspace-api/workspaceComponent.html +71 -0
  213. package/skills/generating-lwc-components/assets/workspace-api/workspaceComponent.js +316 -0
  214. package/skills/generating-lwc-components/hooks/scripts/lwc-lsp-validate.py +295 -0
  215. package/skills/generating-lwc-components/hooks/scripts/post-tool-validate.py +347 -0
  216. package/skills/generating-lwc-components/hooks/scripts/slds_data/deprecated_patterns.json +74 -0
  217. package/skills/generating-lwc-components/hooks/scripts/slds_data/styling_hooks.json +111 -0
  218. package/skills/generating-lwc-components/hooks/scripts/slds_data/valid_slds_classes.json +127 -0
  219. package/skills/generating-lwc-components/hooks/scripts/slds_linter_wrapper.py +294 -0
  220. package/skills/generating-lwc-components/hooks/scripts/slds_rules/__init__.py +22 -0
  221. package/skills/generating-lwc-components/hooks/scripts/template_validator.py +332 -0
  222. package/skills/generating-lwc-components/hooks/scripts/validate_slds.py +595 -0
  223. package/skills/generating-lwc-components/references/accessibility-guide.md +843 -0
  224. package/skills/generating-lwc-components/references/advanced-features.md +108 -0
  225. package/skills/generating-lwc-components/references/async-notification-patterns.md +661 -0
  226. package/skills/generating-lwc-components/references/cli-commands.md +545 -0
  227. package/skills/generating-lwc-components/references/component-patterns.md +1476 -0
  228. package/skills/generating-lwc-components/references/flow-integration-guide.md +675 -0
  229. package/skills/generating-lwc-components/references/jest-testing.md +1011 -0
  230. package/skills/generating-lwc-components/references/lms-guide.md +860 -0
  231. package/skills/generating-lwc-components/references/lwc-best-practices.md +1310 -0
  232. package/skills/generating-lwc-components/references/performance-guide.md +861 -0
  233. package/skills/generating-lwc-components/references/scoring-and-testing.md +116 -0
  234. package/skills/generating-lwc-components/references/slds-blueprints.json +14389 -0
  235. package/skills/generating-lwc-components/references/slds-design-guide.md +166 -0
  236. package/skills/generating-lwc-components/references/state-management.md +642 -0
  237. package/skills/generating-lwc-components/references/template-anti-patterns.md +948 -0
  238. package/skills/generating-lwc-components/references/triangle-pattern.md +365 -0
  239. package/skills/generating-lwc-components/scripts/local-dev-preview.sh +34 -0
  240. package/skills/generating-mermaid-diagrams/CREDITS.md +46 -0
  241. package/skills/generating-mermaid-diagrams/README.md +114 -0
  242. package/skills/generating-mermaid-diagrams/SKILL.md +218 -0
  243. package/skills/generating-mermaid-diagrams/assets/agentforce/agent-flow.md +313 -0
  244. package/skills/generating-mermaid-diagrams/assets/architecture/system-landscape.md +351 -0
  245. package/skills/generating-mermaid-diagrams/assets/datamodel/b2b-commerce-erd.md +317 -0
  246. package/skills/generating-mermaid-diagrams/assets/datamodel/campaigns-erd.md +195 -0
  247. package/skills/generating-mermaid-diagrams/assets/datamodel/consent-erd.md +262 -0
  248. package/skills/generating-mermaid-diagrams/assets/datamodel/files-erd.md +266 -0
  249. package/skills/generating-mermaid-diagrams/assets/datamodel/forecasting-erd.md +261 -0
  250. package/skills/generating-mermaid-diagrams/assets/datamodel/fsl-erd.md +332 -0
  251. package/skills/generating-mermaid-diagrams/assets/datamodel/party-model-erd.md +237 -0
  252. package/skills/generating-mermaid-diagrams/assets/datamodel/quote-order-erd.md +277 -0
  253. package/skills/generating-mermaid-diagrams/assets/datamodel/revenue-cloud-erd.md +343 -0
  254. package/skills/generating-mermaid-diagrams/assets/datamodel/sales-cloud-erd.md +192 -0
  255. package/skills/generating-mermaid-diagrams/assets/datamodel/salesforce-erd.md +209 -0
  256. package/skills/generating-mermaid-diagrams/assets/datamodel/scheduler-erd.md +276 -0
  257. package/skills/generating-mermaid-diagrams/assets/datamodel/service-cloud-erd.md +217 -0
  258. package/skills/generating-mermaid-diagrams/assets/datamodel/territory-management-erd.md +241 -0
  259. package/skills/generating-mermaid-diagrams/assets/integration/api-sequence.md +387 -0
  260. package/skills/generating-mermaid-diagrams/assets/oauth/authorization-code-pkce.md +197 -0
  261. package/skills/generating-mermaid-diagrams/assets/oauth/authorization-code.md +152 -0
  262. package/skills/generating-mermaid-diagrams/assets/oauth/client-credentials.md +233 -0
  263. package/skills/generating-mermaid-diagrams/assets/oauth/device-authorization.md +295 -0
  264. package/skills/generating-mermaid-diagrams/assets/oauth/jwt-bearer.md +256 -0
  265. package/skills/generating-mermaid-diagrams/assets/oauth/refresh-token.md +281 -0
  266. package/skills/generating-mermaid-diagrams/assets/oauth/user-agent-social-sign-on.md +281 -0
  267. package/skills/generating-mermaid-diagrams/assets/role-hierarchy/user-hierarchy.md +322 -0
  268. package/skills/generating-mermaid-diagrams/references/color-palette.md +464 -0
  269. package/skills/generating-mermaid-diagrams/references/diagram-conventions.md +313 -0
  270. package/skills/generating-mermaid-diagrams/references/erd-conventions.md +320 -0
  271. package/skills/generating-mermaid-diagrams/references/mermaid-reference.md +434 -0
  272. package/skills/generating-mermaid-diagrams/references/mermaid-styling.md +81 -0
  273. package/skills/generating-mermaid-diagrams/references/preview-guide.md +49 -0
  274. package/skills/generating-mermaid-diagrams/references/usage-examples.md +340 -0
  275. package/skills/generating-mermaid-diagrams/scripts/README.md +160 -0
  276. package/skills/generating-mermaid-diagrams/scripts/mermaid_preview.py +654 -0
  277. package/skills/generating-mermaid-diagrams/scripts/query-org-metadata.py +293 -0
  278. package/skills/generating-visual-diagrams/CREDITS.md +80 -0
  279. package/skills/generating-visual-diagrams/README.md +83 -0
  280. package/skills/generating-visual-diagrams/SKILL.md +208 -0
  281. package/skills/generating-visual-diagrams/assets/architecture/integration-flow.md +55 -0
  282. package/skills/generating-visual-diagrams/assets/erd/core-objects.md +131 -0
  283. package/skills/generating-visual-diagrams/assets/erd/custom-objects.md +60 -0
  284. package/skills/generating-visual-diagrams/assets/lwc/dashboard-card.md +45 -0
  285. package/skills/generating-visual-diagrams/assets/lwc/data-table.md +57 -0
  286. package/skills/generating-visual-diagrams/assets/lwc/record-form.md +60 -0
  287. package/skills/generating-visual-diagrams/assets/review/apex-review.md +57 -0
  288. package/skills/generating-visual-diagrams/assets/review/lwc-review.md +48 -0
  289. package/skills/generating-visual-diagrams/references/architect-aesthetic-guide.md +257 -0
  290. package/skills/generating-visual-diagrams/references/examples-index.md +35 -0
  291. package/skills/generating-visual-diagrams/references/gemini-cli-setup.md +65 -0
  292. package/skills/generating-visual-diagrams/references/interview-questions.md +529 -0
  293. package/skills/generating-visual-diagrams/references/iteration-workflow.md +173 -0
  294. package/skills/generating-visual-diagrams/scripts/check-prerequisites.sh +101 -0
  295. package/skills/generating-visual-diagrams/scripts/generate_image.py +243 -0
  296. package/skills/handling-sf-data/CREDITS.md +5 -0
  297. package/skills/handling-sf-data/README.md +112 -0
  298. package/skills/handling-sf-data/SKILL.md +235 -0
  299. package/skills/handling-sf-data/assets/bulk/bulk-insert-10000.apex +293 -0
  300. package/skills/handling-sf-data/assets/bulk/bulk-insert-200.apex +208 -0
  301. package/skills/handling-sf-data/assets/bulk/bulk-insert-500.apex +219 -0
  302. package/skills/handling-sf-data/assets/bulk/bulk-upsert-external-id.apex +324 -0
  303. package/skills/handling-sf-data/assets/cleanup/delete-by-created-date.apex +319 -0
  304. package/skills/handling-sf-data/assets/cleanup/delete-by-name.apex +240 -0
  305. package/skills/handling-sf-data/assets/cleanup/delete-test-data.apex +311 -0
  306. package/skills/handling-sf-data/assets/cleanup/rollback-transaction.apex +266 -0
  307. package/skills/handling-sf-data/assets/csv/account-import.csv +11 -0
  308. package/skills/handling-sf-data/assets/csv/contact-import.csv +11 -0
  309. package/skills/handling-sf-data/assets/csv/custom-object-import.csv +11 -0
  310. package/skills/handling-sf-data/assets/csv/opportunity-import.csv +11 -0
  311. package/skills/handling-sf-data/assets/factories/account-factory.apex +165 -0
  312. package/skills/handling-sf-data/assets/factories/case-factory.apex +237 -0
  313. package/skills/handling-sf-data/assets/factories/contact-factory.apex +168 -0
  314. package/skills/handling-sf-data/assets/factories/custom-object-factory.apex +260 -0
  315. package/skills/handling-sf-data/assets/factories/event-factory.apex +275 -0
  316. package/skills/handling-sf-data/assets/factories/hierarchy-factory.apex +372 -0
  317. package/skills/handling-sf-data/assets/factories/lead-factory.apex +190 -0
  318. package/skills/handling-sf-data/assets/factories/opportunity-factory.apex +206 -0
  319. package/skills/handling-sf-data/assets/factories/task-factory.apex +246 -0
  320. package/skills/handling-sf-data/assets/factories/user-factory.apex +278 -0
  321. package/skills/handling-sf-data/assets/json/account-contact-tree.json +130 -0
  322. package/skills/handling-sf-data/assets/json/account-opportunity-tree.json +110 -0
  323. package/skills/handling-sf-data/assets/json/full-hierarchy-tree.json +188 -0
  324. package/skills/handling-sf-data/assets/soql/aggregate.soql +226 -0
  325. package/skills/handling-sf-data/assets/soql/child-to-parent.soql +162 -0
  326. package/skills/handling-sf-data/assets/soql/parent-to-child.soql +153 -0
  327. package/skills/handling-sf-data/assets/soql/polymorphic.soql +198 -0
  328. package/skills/handling-sf-data/assets/soql/subquery.soql +287 -0
  329. package/skills/handling-sf-data/references/anonymous-apex-guide.md +98 -0
  330. package/skills/handling-sf-data/references/bulk-operations-guide.md +94 -0
  331. package/skills/handling-sf-data/references/bulk-testing-example.md +194 -0
  332. package/skills/handling-sf-data/references/cleanup-rollback-example.md +322 -0
  333. package/skills/handling-sf-data/references/cleanup-rollback-guide.md +84 -0
  334. package/skills/handling-sf-data/references/crud-workflow-example.md +183 -0
  335. package/skills/handling-sf-data/references/governor-limits-reference.md +74 -0
  336. package/skills/handling-sf-data/references/orchestration.md +174 -0
  337. package/skills/handling-sf-data/references/relationship-query-examples.md +249 -0
  338. package/skills/handling-sf-data/references/sf-cli-data-commands.md +158 -0
  339. package/skills/handling-sf-data/references/soql-relationship-guide.md +84 -0
  340. package/skills/handling-sf-data/references/test-data-best-practices.md +104 -0
  341. package/skills/handling-sf-data/references/test-data-factory-usage.md +290 -0
  342. package/skills/handling-sf-data/references/test-data-patterns.md +98 -0
  343. package/skills/handling-sf-data/scripts/soql_validator.py +292 -0
  344. package/skills/handling-sf-data/scripts/validate_data_operation.py +379 -0
  345. package/skills/harmonizing-datacloud/CREDITS.md +3 -0
  346. package/skills/harmonizing-datacloud/README.md +31 -0
  347. package/skills/harmonizing-datacloud/SKILL.md +117 -0
  348. package/skills/modeling-omnistudio-epc-catalog/CREDITS.md +14 -0
  349. package/skills/modeling-omnistudio-epc-catalog/README.md +89 -0
  350. package/skills/modeling-omnistudio-epc-catalog/SKILL.md +395 -0
  351. package/skills/modeling-omnistudio-epc-catalog/assets/attribute-assignment-template.json +402 -0
  352. package/skills/modeling-omnistudio-epc-catalog/assets/compiled-attribute-overrides-template.json +43 -0
  353. package/skills/modeling-omnistudio-epc-catalog/assets/completion-block-template.txt +8 -0
  354. package/skills/modeling-omnistudio-epc-catalog/assets/decomposition-relationships-template.json +233 -0
  355. package/skills/modeling-omnistudio-epc-catalog/assets/examples/business-internet-premium-fttc-simple-offer/Business-Internet-Premium-FTTC_AttributeAssignments.json +514 -0
  356. package/skills/modeling-omnistudio-epc-catalog/assets/examples/business-internet-premium-fttc-simple-offer/Business-Internet-Premium-FTTC_CompiledAttributeOverrides.json +21 -0
  357. package/skills/modeling-omnistudio-epc-catalog/assets/examples/business-internet-premium-fttc-simple-offer/Business-Internet-Premium-FTTC_DataPack.json +649 -0
  358. package/skills/modeling-omnistudio-epc-catalog/assets/examples/business-internet-premium-fttc-simple-offer/Business-Internet-Premium-FTTC_DecompositionRelationships.json +200 -0
  359. package/skills/modeling-omnistudio-epc-catalog/assets/examples/business-internet-premium-fttc-simple-offer/Business-Internet-Premium-FTTC_ObjectFieldAttributes.json +138 -0
  360. package/skills/modeling-omnistudio-epc-catalog/assets/examples/business-internet-premium-fttc-simple-offer/Business-Internet-Premium-FTTC_OrchestrationScenarios.json +54 -0
  361. package/skills/modeling-omnistudio-epc-catalog/assets/examples/business-internet-premium-fttc-simple-offer/Business-Internet-Premium-FTTC_OverrideDefinitions.json +266 -0
  362. package/skills/modeling-omnistudio-epc-catalog/assets/examples/business-internet-premium-fttc-simple-offer/Business-Internet-Premium-FTTC_ParentKeys.json +23 -0
  363. package/skills/modeling-omnistudio-epc-catalog/assets/examples/business-internet-premium-fttc-simple-offer/Business-Internet-Premium-FTTC_PriceListEntries.json +54 -0
  364. package/skills/modeling-omnistudio-epc-catalog/assets/examples/business-internet-premium-fttc-simple-offer/Business-Internet-Premium-FTTC_PricebookEntries.json +35 -0
  365. package/skills/modeling-omnistudio-epc-catalog/assets/examples/business-internet-premium-fttc-simple-offer/Business-Internet-Premium-FTTC_ProductChildItems.json +34 -0
  366. package/skills/modeling-omnistudio-epc-catalog/assets/examples/business-internet-premium-fttc-simple-offer/Business-Internet-Premium-FTTC_RuleAssignments.json +21 -0
  367. package/skills/modeling-omnistudio-epc-catalog/assets/examples/business-internet-pro-vpl-simple-offer/Business-Internet-Pro-VPL_AttributeAssignments.json +410 -0
  368. package/skills/modeling-omnistudio-epc-catalog/assets/examples/business-internet-pro-vpl-simple-offer/Business-Internet-Pro-VPL_DataPack.json +535 -0
  369. package/skills/modeling-omnistudio-epc-catalog/assets/examples/business-internet-pro-vpl-simple-offer/Business-Internet-Pro-VPL_DecompositionRelationships.json +35 -0
  370. package/skills/modeling-omnistudio-epc-catalog/assets/examples/business-internet-pro-vpl-simple-offer/Business-Internet-Pro-VPL_ObjectFieldAttributes.json +138 -0
  371. package/skills/modeling-omnistudio-epc-catalog/assets/examples/business-internet-pro-vpl-simple-offer/Business-Internet-Pro-VPL_OrchestrationScenarios.json +28 -0
  372. package/skills/modeling-omnistudio-epc-catalog/assets/examples/business-internet-pro-vpl-simple-offer/Business-Internet-Pro-VPL_ParentKeys.json +23 -0
  373. package/skills/modeling-omnistudio-epc-catalog/assets/examples/business-internet-pro-vpl-simple-offer/Business-Internet-Pro-VPL_PriceListEntries.json +220 -0
  374. package/skills/modeling-omnistudio-epc-catalog/assets/examples/business-internet-pro-vpl-simple-offer/Business-Internet-Pro-VPL_PricebookEntries.json +35 -0
  375. package/skills/modeling-omnistudio-epc-catalog/assets/examples/business-internet-pro-vpl-simple-offer/Business-Internet-Pro-VPL_ProductChildItems.json +414 -0
  376. package/skills/modeling-omnistudio-epc-catalog/assets/examples/samsung-galaxy-s22-bundle/Samsung-Galaxy-S22-Bundle_AttributeAssignments.json +382 -0
  377. package/skills/modeling-omnistudio-epc-catalog/assets/examples/samsung-galaxy-s22-bundle/Samsung-Galaxy-S22-Bundle_DataPack.json +565 -0
  378. package/skills/modeling-omnistudio-epc-catalog/assets/examples/samsung-galaxy-s22-bundle/Samsung-Galaxy-S22-Bundle_DecompositionRelationships.json +35 -0
  379. package/skills/modeling-omnistudio-epc-catalog/assets/examples/samsung-galaxy-s22-bundle/Samsung-Galaxy-S22-Bundle_ObjectFieldAttributes.json +104 -0
  380. package/skills/modeling-omnistudio-epc-catalog/assets/examples/samsung-galaxy-s22-bundle/Samsung-Galaxy-S22-Bundle_OrchestrationScenarios.json +28 -0
  381. package/skills/modeling-omnistudio-epc-catalog/assets/examples/samsung-galaxy-s22-bundle/Samsung-Galaxy-S22-Bundle_ParentKeys.json +13 -0
  382. package/skills/modeling-omnistudio-epc-catalog/assets/examples/samsung-galaxy-s22-bundle/Samsung-Galaxy-S22-Bundle_PriceListEntries.json +106 -0
  383. package/skills/modeling-omnistudio-epc-catalog/assets/examples/samsung-galaxy-s22-bundle/Samsung-Galaxy-S22-Bundle_PricebookEntries.json +35 -0
  384. package/skills/modeling-omnistudio-epc-catalog/assets/examples/samsung-galaxy-s22-bundle/Samsung-Galaxy-S22-Bundle_ProductChildItems.json +72 -0
  385. package/skills/modeling-omnistudio-epc-catalog/assets/examples/static-ip-simple-offer/Static-IP_AttributeAssignments.json +142 -0
  386. package/skills/modeling-omnistudio-epc-catalog/assets/examples/static-ip-simple-offer/Static-IP_DataPack.json +377 -0
  387. package/skills/modeling-omnistudio-epc-catalog/assets/examples/static-ip-simple-offer/Static-IP_DecompositionRelationships.json +35 -0
  388. package/skills/modeling-omnistudio-epc-catalog/assets/examples/static-ip-simple-offer/Static-IP_ObjectFieldAttributes.json +36 -0
  389. package/skills/modeling-omnistudio-epc-catalog/assets/examples/static-ip-simple-offer/Static-IP_ParentKeys.json +8 -0
  390. package/skills/modeling-omnistudio-epc-catalog/assets/examples/static-ip-simple-offer/Static-IP_PriceListEntries.json +54 -0
  391. package/skills/modeling-omnistudio-epc-catalog/assets/examples/static-ip-simple-offer/Static-IP_PricebookEntries.json +35 -0
  392. package/skills/modeling-omnistudio-epc-catalog/assets/examples/static-ip-simple-offer/Static-IP_ProductChildItems.json +34 -0
  393. package/skills/modeling-omnistudio-epc-catalog/assets/object-field-attributes-template.json +138 -0
  394. package/skills/modeling-omnistudio-epc-catalog/assets/orchestration-scenarios-template.json +54 -0
  395. package/skills/modeling-omnistudio-epc-catalog/assets/override-definitions-template.json +134 -0
  396. package/skills/modeling-omnistudio-epc-catalog/assets/parent-keys-template.json +29 -0
  397. package/skills/modeling-omnistudio-epc-catalog/assets/price-list-entries-template.json +158 -0
  398. package/skills/modeling-omnistudio-epc-catalog/assets/pricebook-entries-template.json +35 -0
  399. package/skills/modeling-omnistudio-epc-catalog/assets/product-child-item-template.json +338 -0
  400. package/skills/modeling-omnistudio-epc-catalog/assets/product2-offer-template.json +527 -0
  401. package/skills/modeling-omnistudio-epc-catalog/examples/.gitkeep +1 -0
  402. package/skills/modeling-omnistudio-epc-catalog/examples/business-internet-plus-bundle/Business-Internet-Plus_AttributeAssignments.json +95 -0
  403. package/skills/modeling-omnistudio-epc-catalog/examples/business-internet-plus-bundle/Business-Internet-Plus_CompiledAttributeOverrides.json +1 -0
  404. package/skills/modeling-omnistudio-epc-catalog/examples/business-internet-plus-bundle/Business-Internet-Plus_DataPack.json +214 -0
  405. package/skills/modeling-omnistudio-epc-catalog/examples/business-internet-plus-bundle/Business-Internet-Plus_DecompositionRelationships.json +28 -0
  406. package/skills/modeling-omnistudio-epc-catalog/examples/business-internet-plus-bundle/Business-Internet-Plus_ObjectFieldAttributes.json +98 -0
  407. package/skills/modeling-omnistudio-epc-catalog/examples/business-internet-plus-bundle/Business-Internet-Plus_OrchestrationScenarios.json +22 -0
  408. package/skills/modeling-omnistudio-epc-catalog/examples/business-internet-plus-bundle/Business-Internet-Plus_OverrideDefinitions.json +1 -0
  409. package/skills/modeling-omnistudio-epc-catalog/examples/business-internet-plus-bundle/Business-Internet-Plus_ParentKeys.json +13 -0
  410. package/skills/modeling-omnistudio-epc-catalog/examples/business-internet-plus-bundle/Business-Internet-Plus_PriceListEntries.json +35 -0
  411. package/skills/modeling-omnistudio-epc-catalog/examples/business-internet-plus-bundle/Business-Internet-Plus_PricebookEntries.json +28 -0
  412. package/skills/modeling-omnistudio-epc-catalog/examples/business-internet-plus-bundle/Business-Internet-Plus_ProductChildItems.json +110 -0
  413. package/skills/modeling-omnistudio-epc-catalog/examples/business-internet-plus-bundle/TRANSCRIPT.md +58 -0
  414. package/skills/modeling-omnistudio-epc-catalog/references/epc-field-guide.md +90 -0
  415. package/skills/modeling-omnistudio-epc-catalog/references/naming-conventions.md +80 -0
  416. package/skills/modeling-omnistudio-epc-catalog/references/scoring-model.md +57 -0
  417. package/skills/modeling-omnistudio-epc-catalog/scripts/cli-validation-commands.sh +19 -0
  418. package/skills/modeling-omnistudio-epc-catalog/scripts/sample-invocations.sh +18 -0
  419. package/skills/orchestrating-datacloud/CREDITS.md +15 -0
  420. package/skills/orchestrating-datacloud/README.md +129 -0
  421. package/skills/orchestrating-datacloud/SKILL.md +236 -0
  422. package/skills/orchestrating-datacloud/UPSTREAM.md +45 -0
  423. package/skills/orchestrating-datacloud/assets/definitions/activation-target.template.json +5 -0
  424. package/skills/orchestrating-datacloud/assets/definitions/activation.template.json +7 -0
  425. package/skills/orchestrating-datacloud/assets/definitions/calculated-insight.template.json +7 -0
  426. package/skills/orchestrating-datacloud/assets/definitions/data-action-target.template.json +5 -0
  427. package/skills/orchestrating-datacloud/assets/definitions/data-action.template.json +5 -0
  428. package/skills/orchestrating-datacloud/assets/definitions/data-graph.template.json +21 -0
  429. package/skills/orchestrating-datacloud/assets/definitions/data-stream.template.json +55 -0
  430. package/skills/orchestrating-datacloud/assets/definitions/dmo.template.json +17 -0
  431. package/skills/orchestrating-datacloud/assets/definitions/identity-resolution.template.json +30 -0
  432. package/skills/orchestrating-datacloud/assets/definitions/mapping.template.json +14 -0
  433. package/skills/orchestrating-datacloud/assets/definitions/relationship.template.json +12 -0
  434. package/skills/orchestrating-datacloud/assets/definitions/search-index.template.json +9 -0
  435. package/skills/orchestrating-datacloud/assets/definitions/segment.template.json +16 -0
  436. package/skills/orchestrating-datacloud/references/feature-readiness.md +157 -0
  437. package/skills/orchestrating-datacloud/references/plugin-setup.md +140 -0
  438. package/skills/orchestrating-datacloud/scripts/bootstrap-plugin.sh +53 -0
  439. package/skills/orchestrating-datacloud/scripts/diagnose-org.mjs +511 -0
  440. package/skills/orchestrating-datacloud/scripts/generate-manifest.mjs +68 -0
  441. package/skills/orchestrating-datacloud/scripts/verify-plugin.sh +58 -0
  442. package/skills/preparing-datacloud/CREDITS.md +7 -0
  443. package/skills/preparing-datacloud/README.md +51 -0
  444. package/skills/preparing-datacloud/SKILL.md +191 -0
  445. package/skills/preparing-datacloud/examples/ingestion-api/.env.example +8 -0
  446. package/skills/preparing-datacloud/examples/ingestion-api/README.md +48 -0
  447. package/skills/preparing-datacloud/examples/ingestion-api/send-data.py +144 -0
  448. package/skills/querying-soql/CREDITS.md +21 -0
  449. package/skills/querying-soql/README.md +41 -0
  450. package/skills/querying-soql/SKILL.md +143 -0
  451. package/skills/querying-soql/assets/aggregate-queries.soql +242 -0
  452. package/skills/querying-soql/assets/basic-queries.soql +188 -0
  453. package/skills/querying-soql/assets/bulkified-query-pattern.cls +280 -0
  454. package/skills/querying-soql/assets/optimization-patterns.soql +259 -0
  455. package/skills/querying-soql/assets/relationship-queries.soql +203 -0
  456. package/skills/querying-soql/assets/selector-class.cls +219 -0
  457. package/skills/querying-soql/references/anti-patterns.md +348 -0
  458. package/skills/querying-soql/references/cli-commands.md +358 -0
  459. package/skills/querying-soql/references/field-coverage-rules.md +514 -0
  460. package/skills/querying-soql/references/query-optimization.md +142 -0
  461. package/skills/querying-soql/references/selector-patterns.md +479 -0
  462. package/skills/querying-soql/references/soql-reference.md +227 -0
  463. package/skills/querying-soql/references/soql-syntax-reference.md +208 -0
  464. package/skills/querying-soql/scripts/post-tool-validate.py +322 -0
  465. package/skills/retrieving-datacloud/CREDITS.md +7 -0
  466. package/skills/retrieving-datacloud/README.md +44 -0
  467. package/skills/retrieving-datacloud/SKILL.md +120 -0
  468. package/skills/retrieving-datacloud/examples/search-indexes/hybrid-structured.json +44 -0
  469. package/skills/retrieving-datacloud/examples/search-indexes/vector-knowledge.json +43 -0
  470. package/skills/running-apex-tests/CREDITS.md +22 -0
  471. package/skills/running-apex-tests/README.md +94 -0
  472. package/skills/running-apex-tests/SKILL.md +158 -0
  473. package/skills/running-apex-tests/assets/basic-test.cls +169 -0
  474. package/skills/running-apex-tests/assets/bulk-test.cls +255 -0
  475. package/skills/running-apex-tests/assets/dml-mock.cls +339 -0
  476. package/skills/running-apex-tests/assets/mock-callout-test.cls +353 -0
  477. package/skills/running-apex-tests/assets/stub-provider-example.cls +364 -0
  478. package/skills/running-apex-tests/assets/test-data-factory.cls +328 -0
  479. package/skills/running-apex-tests/hooks/scripts/parse-test-results.py +364 -0
  480. package/skills/running-apex-tests/references/cli-commands.md +289 -0
  481. package/skills/running-apex-tests/references/mocking-patterns.md +500 -0
  482. package/skills/running-apex-tests/references/performance-optimization.md +283 -0
  483. package/skills/running-apex-tests/references/test-fix-loop.md +49 -0
  484. package/skills/running-apex-tests/references/test-patterns.md +154 -0
  485. package/skills/running-apex-tests/references/testing-best-practices.md +509 -0
  486. package/skills/segmenting-datacloud/CREDITS.md +3 -0
  487. package/skills/segmenting-datacloud/README.md +36 -0
  488. package/skills/segmenting-datacloud/SKILL.md +115 -0
@@ -0,0 +1,1172 @@
1
+ <!-- Parent: building-omnistudio-omniscript/SKILL.md -->
2
+
3
+ # OmniScript Element Type Reference
4
+
5
+ > **Applies to**: OmniStudio OmniScripts (OmniProcessType='OmniScript')
6
+ > **Companion**: See `best-practices.md` for design patterns and usage guidance
7
+
8
+ Each OmniScript element is stored as an `OmniProcessElement` child record. The `ElementType` field identifies the type, and the `PropertySetConfig` field contains a JSON blob with all configuration.
9
+
10
+ ---
11
+
12
+ ## Table of Contents
13
+
14
+ 1. [Container Elements](#1-container-elements)
15
+ 2. [Input Elements](#2-input-elements)
16
+ 3. [Display Elements](#3-display-elements)
17
+ 4. [Action Elements](#4-action-elements)
18
+ 5. [Logic Elements](#5-logic-elements)
19
+ 6. [Common PropertySetConfig Properties](#6-common-propertysetconfig-properties)
20
+
21
+ ---
22
+
23
+ ## 1. Container Elements
24
+
25
+ ### Step
26
+
27
+ Top-level container representing a page/screen in the OmniScript wizard. All other elements are children of a Step.
28
+
29
+ | Property | Type | Required | Description |
30
+ |----------|------|----------|-------------|
31
+ | `label` | String | Yes | Display label shown in the step chart |
32
+ | `chartLabel` | String | No | Shortened label for the step chart indicator |
33
+ | `show` | Object | No | Conditional visibility expression |
34
+ | `knowledgeOptions` | Object | No | Knowledge article sidebar configuration |
35
+ | `validationRequired` | Boolean | No | Require all child validations to pass before advancing |
36
+ | `allowSaveForLater` | Boolean | No | Enable save & resume on this Step |
37
+ | `errorMessage` | String | No | Custom message when Step validation fails |
38
+ | `instruction` | String | No | Help text displayed at the top of the Step |
39
+ | `cancelLabel` | String | No | Custom label for the Cancel button |
40
+ | `nextLabel` | String | No | Custom label for the Next button |
41
+ | `previousLabel` | String | No | Custom label for the Previous button |
42
+ | `completeLabel` | String | No | Custom label for the final Submit button |
43
+ | `showPersistentComponent` | Array | No | Components visible across Steps (e.g., summary sidebar) |
44
+
45
+ ```json
46
+ {
47
+ "label": "Contact Information",
48
+ "chartLabel": "Contact",
49
+ "validationRequired": true,
50
+ "instruction": "Please provide your contact details.",
51
+ "nextLabel": "Continue to Service Details",
52
+ "show": {
53
+ "group": {
54
+ "operator": "AND",
55
+ "rules": [
56
+ { "field": "HasContactInfo", "condition": "=", "data": "false" }
57
+ ]
58
+ }
59
+ }
60
+ }
61
+ ```
62
+
63
+ **Level**: 0 (always top-level)
64
+ **Order**: Determines the Step sequence in the wizard
65
+
66
+ ---
67
+
68
+ ### Conditional Block
69
+
70
+ Groups elements that appear or disappear together based on a condition.
71
+
72
+ | Property | Type | Required | Description |
73
+ |----------|------|----------|-------------|
74
+ | `conditionType` | String | Yes | `"group"` for complex conditions, `"simpleFormula"` for formula |
75
+ | `show` | Object | Yes | Condition expression (same syntax as Step `show`) |
76
+ | `label` | String | No | Display label for the block |
77
+
78
+ ```json
79
+ {
80
+ "conditionType": "group",
81
+ "show": {
82
+ "group": {
83
+ "operator": "AND",
84
+ "rules": [
85
+ { "field": "CustomerType", "condition": "=", "data": "Business" }
86
+ ]
87
+ }
88
+ }
89
+ }
90
+ ```
91
+
92
+ **Level**: 1+ (child of a Step)
93
+
94
+ ---
95
+
96
+ ### Loop Block
97
+
98
+ Iterates over a data array and renders its child elements for each item.
99
+
100
+ | Property | Type | Required | Description |
101
+ |----------|------|----------|-------------|
102
+ | `loopData` | String | Yes | JSON path to the data array (e.g., `%LineItems%`) |
103
+ | `label` | String | No | Display label |
104
+ | `repeat` | String | No | Merge field referencing array length or explicit count |
105
+ | `allowAdd` | Boolean | No | Allow user to add items to the loop |
106
+ | `allowDelete` | Boolean | No | Allow user to remove items from the loop |
107
+ | `minItems` | Number | No | Minimum required items |
108
+ | `maxItems` | Number | No | Maximum allowed items |
109
+
110
+ ```json
111
+ {
112
+ "loopData": "%OrderLines%",
113
+ "allowAdd": true,
114
+ "allowDelete": true,
115
+ "minItems": 1,
116
+ "maxItems": 20,
117
+ "label": "Order Line Items"
118
+ }
119
+ ```
120
+
121
+ **Level**: 1+ (child of a Step)
122
+
123
+ ---
124
+
125
+ ### Edit Block
126
+
127
+ Provides inline editing of tabular data with row-level add/edit/delete.
128
+
129
+ | Property | Type | Required | Description |
130
+ |----------|------|----------|-------------|
131
+ | `editFields` | Array | Yes | Fields available for editing |
132
+ | `dataSource` | String | Yes | JSON path to the data array |
133
+ | `label` | String | No | Table heading |
134
+ | `columns` | Array | No | Column definitions (label, field, width) |
135
+ | `allowAdd` | Boolean | No | Allow adding rows |
136
+ | `allowDelete` | Boolean | No | Allow deleting rows |
137
+
138
+ ```json
139
+ {
140
+ "dataSource": "%ContactList%",
141
+ "editFields": ["FirstName", "LastName", "Email", "Phone"],
142
+ "columns": [
143
+ { "label": "First Name", "field": "FirstName", "width": "25%" },
144
+ { "label": "Last Name", "field": "LastName", "width": "25%" },
145
+ { "label": "Email", "field": "Email", "width": "30%" },
146
+ { "label": "Phone", "field": "Phone", "width": "20%" }
147
+ ],
148
+ "allowAdd": true,
149
+ "allowDelete": true
150
+ }
151
+ ```
152
+
153
+ **Level**: 1+ (child of a Step)
154
+
155
+ ---
156
+
157
+ ## 2. Input Elements
158
+
159
+ ### Common Input Properties
160
+
161
+ All input elements share these base properties:
162
+
163
+ | Property | Type | Required | Description |
164
+ |----------|------|----------|-------------|
165
+ | `label` | String | Yes | Field label displayed to the user |
166
+ | `required` | Boolean | No | Whether the field must have a value |
167
+ | `readOnly` | Boolean | No | Display value without allowing edit |
168
+ | `defaultValue` | Mixed | No | Default value on load |
169
+ | `placeholder` | String | No | Placeholder text in the empty field |
170
+ | `helpText` | String | No | Tooltip or help text |
171
+ | `show` | Object | No | Conditional visibility expression |
172
+ | `accessibleInPreview` | Boolean | No | Include in review/confirmation Step |
173
+ | `hide` | Boolean | No | Hide from display (still in data JSON) |
174
+ | `debounce` | Number | No | Milliseconds to debounce input changes |
175
+ | `maskValue` | Boolean | No | Mask the displayed value (for sensitive data) |
176
+
177
+ ---
178
+
179
+ ### Text
180
+
181
+ Single-line text input.
182
+
183
+ | Property | Type | Description |
184
+ |----------|------|-------------|
185
+ | `pattern` | String | Regex pattern for validation |
186
+ | `patternErrorMessage` | String | Error shown when pattern fails |
187
+ | `minLength` | Number | Minimum character count |
188
+ | `maxLength` | Number | Maximum character count |
189
+ | `inputType` | String | HTML input type override (`text`, `email`, `tel`, `url`) |
190
+
191
+ ```json
192
+ {
193
+ "label": "First Name",
194
+ "required": true,
195
+ "placeholder": "Enter your first name",
196
+ "minLength": 2,
197
+ "maxLength": 80,
198
+ "pattern": "^[a-zA-Z\\s'-]+$",
199
+ "patternErrorMessage": "Name may only contain letters, spaces, hyphens, and apostrophes."
200
+ }
201
+ ```
202
+
203
+ ---
204
+
205
+ ### Text Area
206
+
207
+ Multi-line text input.
208
+
209
+ | Property | Type | Description |
210
+ |----------|------|-------------|
211
+ | `rows` | Number | Number of visible text rows |
212
+ | `maxLength` | Number | Maximum character count |
213
+ | `richText` | Boolean | Enable rich text editing |
214
+
215
+ ```json
216
+ {
217
+ "label": "Description",
218
+ "rows": 4,
219
+ "maxLength": 32000,
220
+ "placeholder": "Describe the issue in detail..."
221
+ }
222
+ ```
223
+
224
+ ---
225
+
226
+ ### Number
227
+
228
+ Numeric input with formatting.
229
+
230
+ | Property | Type | Description |
231
+ |----------|------|-------------|
232
+ | `min` | Number | Minimum value |
233
+ | `max` | Number | Maximum value |
234
+ | `step` | Number | Increment step |
235
+ | `format` | String | Display format (e.g., `"0,0.00"`) |
236
+ | `precision` | Number | Decimal precision |
237
+
238
+ ```json
239
+ {
240
+ "label": "Quantity",
241
+ "required": true,
242
+ "min": 1,
243
+ "max": 9999,
244
+ "step": 1,
245
+ "format": "0,0",
246
+ "defaultValue": 1
247
+ }
248
+ ```
249
+
250
+ ---
251
+
252
+ ### Currency
253
+
254
+ Currency input with locale formatting.
255
+
256
+ | Property | Type | Description |
257
+ |----------|------|-------------|
258
+ | `currencyCode` | String | ISO currency code (e.g., `"USD"`) |
259
+ | `min` | Number | Minimum value |
260
+ | `max` | Number | Maximum value |
261
+ | `precision` | Number | Decimal precision |
262
+
263
+ ```json
264
+ {
265
+ "label": "Requested Amount",
266
+ "required": true,
267
+ "currencyCode": "USD",
268
+ "min": 0.01,
269
+ "max": 1000000,
270
+ "precision": 2
271
+ }
272
+ ```
273
+
274
+ ---
275
+
276
+ ### Date
277
+
278
+ Date picker input.
279
+
280
+ | Property | Type | Description |
281
+ |----------|------|-------------|
282
+ | `dateFormat` | String | Display format (e.g., `"MM/DD/YYYY"`) |
283
+ | `minDate` | String | Earliest selectable date (`"TODAY"`, `"-30"`, `"2025-01-01"`) |
284
+ | `maxDate` | String | Latest selectable date (`"TODAY"`, `"+365"`) |
285
+
286
+ ```json
287
+ {
288
+ "label": "Requested Start Date",
289
+ "required": true,
290
+ "dateFormat": "MM/DD/YYYY",
291
+ "minDate": "TODAY",
292
+ "maxDate": "+365"
293
+ }
294
+ ```
295
+
296
+ ---
297
+
298
+ ### Date/Time
299
+
300
+ Combined date and time picker.
301
+
302
+ | Property | Type | Description |
303
+ |----------|------|-------------|
304
+ | `dateFormat` | String | Date display format |
305
+ | `timeFormat` | String | Time display format (`"HH:mm"`, `"hh:mm A"`) |
306
+ | `minDate` | String | Earliest selectable date |
307
+ | `maxDate` | String | Latest selectable date |
308
+
309
+ ```json
310
+ {
311
+ "label": "Appointment Date & Time",
312
+ "dateFormat": "MM/DD/YYYY",
313
+ "timeFormat": "hh:mm A"
314
+ }
315
+ ```
316
+
317
+ ---
318
+
319
+ ### Time
320
+
321
+ Time-only picker.
322
+
323
+ | Property | Type | Description |
324
+ |----------|------|-------------|
325
+ | `timeFormat` | String | Time display format |
326
+ | `minuteInterval` | Number | Interval for minute selection (e.g., 15, 30) |
327
+
328
+ ```json
329
+ {
330
+ "label": "Preferred Time",
331
+ "timeFormat": "hh:mm A",
332
+ "minuteInterval": 15
333
+ }
334
+ ```
335
+
336
+ ---
337
+
338
+ ### Checkbox
339
+
340
+ Boolean toggle input.
341
+
342
+ | Property | Type | Description |
343
+ |----------|------|-------------|
344
+ | `defaultValue` | Boolean | Initial checked state |
345
+ | `checkLabel` | String | Label displayed next to the checkbox |
346
+
347
+ ```json
348
+ {
349
+ "label": "Terms and Conditions",
350
+ "checkLabel": "I agree to the terms and conditions",
351
+ "required": true,
352
+ "defaultValue": false
353
+ }
354
+ ```
355
+
356
+ ---
357
+
358
+ ### Radio
359
+
360
+ Radio button group for single selection.
361
+
362
+ | Property | Type | Description |
363
+ |----------|------|-------------|
364
+ | `options` | Array | Static options `[{ "name": "label", "value": "val" }]` |
365
+ | `optionSource` | Object | Data-driven options from a DataRaptor or data JSON |
366
+ | `orientation` | String | `"horizontal"` or `"vertical"` |
367
+
368
+ ```json
369
+ {
370
+ "label": "Contact Preference",
371
+ "required": true,
372
+ "orientation": "vertical",
373
+ "options": [
374
+ { "name": "Email", "value": "Email" },
375
+ { "name": "Phone", "value": "Phone" },
376
+ { "name": "Mail", "value": "Mail" }
377
+ ]
378
+ }
379
+ ```
380
+
381
+ ---
382
+
383
+ ### Select
384
+
385
+ Dropdown selection input.
386
+
387
+ | Property | Type | Description |
388
+ |----------|------|-------------|
389
+ | `options` | Array | Static options `[{ "name": "label", "value": "val" }]` |
390
+ | `optionSource` | Object | Data-driven options configuration |
391
+ | `multiselect` | Boolean | Allow multiple selections (use Multi-select element instead) |
392
+
393
+ ```json
394
+ {
395
+ "label": "State",
396
+ "required": true,
397
+ "options": [
398
+ { "name": "California", "value": "CA" },
399
+ { "name": "New York", "value": "NY" },
400
+ { "name": "Texas", "value": "TX" }
401
+ ]
402
+ }
403
+ ```
404
+
405
+ ---
406
+
407
+ ### Multi-select
408
+
409
+ Multiple item selection input.
410
+
411
+ | Property | Type | Description |
412
+ |----------|------|-------------|
413
+ | `options` | Array | Static options |
414
+ | `optionSource` | Object | Data-driven options configuration |
415
+ | `maxSelections` | Number | Maximum number of selections allowed |
416
+ | `minSelections` | Number | Minimum number of selections required |
417
+
418
+ ```json
419
+ {
420
+ "label": "Interested Products",
421
+ "options": [
422
+ { "name": "Product A", "value": "ProdA" },
423
+ { "name": "Product B", "value": "ProdB" },
424
+ { "name": "Product C", "value": "ProdC" }
425
+ ],
426
+ "maxSelections": 3
427
+ }
428
+ ```
429
+
430
+ ---
431
+
432
+ ### Type Ahead
433
+
434
+ Search/autocomplete input that queries a data source as the user types.
435
+
436
+ | Property | Type | Description |
437
+ |----------|------|-------------|
438
+ | `dataSource` | String | DataRaptor bundle or IP to query |
439
+ | `searchField` | String | Field to search against |
440
+ | `displayField` | String | Field to display in results |
441
+ | `valueField` | String | Field to store as the selected value |
442
+ | `minCharacters` | Number | Minimum characters before search fires |
443
+ | `maxResults` | Number | Maximum results to display |
444
+ | `debounce` | Number | Milliseconds to debounce search requests |
445
+ | `inputMap` | Object | Additional parameters to pass to the data source |
446
+
447
+ ```json
448
+ {
449
+ "label": "Search Account",
450
+ "dataSource": "DR_SearchAccounts",
451
+ "searchField": "Name",
452
+ "displayField": "Name",
453
+ "valueField": "Id",
454
+ "minCharacters": 3,
455
+ "maxResults": 10,
456
+ "debounce": 300,
457
+ "inputMap": {
458
+ "RecordType": "Customer"
459
+ }
460
+ }
461
+ ```
462
+
463
+ ---
464
+
465
+ ### Email
466
+
467
+ Email input with built-in format validation.
468
+
469
+ | Property | Type | Description |
470
+ |----------|------|-------------|
471
+ | `placeholder` | String | Placeholder text |
472
+ | `pattern` | String | Override regex (default email pattern is built-in) |
473
+
474
+ ```json
475
+ {
476
+ "label": "Email Address",
477
+ "required": true,
478
+ "placeholder": "name@example.com"
479
+ }
480
+ ```
481
+
482
+ ---
483
+
484
+ ### Telephone
485
+
486
+ Phone number input with optional masking.
487
+
488
+ | Property | Type | Description |
489
+ |----------|------|-------------|
490
+ | `mask` | String | Input mask pattern (e.g., `"(999) 999-9999"`) |
491
+ | `placeholder` | String | Placeholder text |
492
+
493
+ ```json
494
+ {
495
+ "label": "Phone Number",
496
+ "mask": "(999) 999-9999",
497
+ "placeholder": "(555) 123-4567"
498
+ }
499
+ ```
500
+
501
+ ---
502
+
503
+ ### URL
504
+
505
+ URL input with built-in format validation.
506
+
507
+ | Property | Type | Description |
508
+ |----------|------|-------------|
509
+ | `placeholder` | String | Placeholder text |
510
+ | `pattern` | String | Override regex for URL validation |
511
+
512
+ ```json
513
+ {
514
+ "label": "Website",
515
+ "placeholder": "https://www.example.com"
516
+ }
517
+ ```
518
+
519
+ ---
520
+
521
+ ### Password
522
+
523
+ Masked text input for sensitive values.
524
+
525
+ | Property | Type | Description |
526
+ |----------|------|-------------|
527
+ | `minLength` | Number | Minimum password length |
528
+ | `maxLength` | Number | Maximum password length |
529
+ | `pattern` | String | Complexity regex |
530
+ | `patternErrorMessage` | String | Error when pattern fails |
531
+
532
+ ```json
533
+ {
534
+ "label": "Temporary PIN",
535
+ "required": true,
536
+ "minLength": 6,
537
+ "maxLength": 6,
538
+ "pattern": "^\\d{6}$",
539
+ "patternErrorMessage": "PIN must be exactly 6 digits."
540
+ }
541
+ ```
542
+
543
+ ---
544
+
545
+ ### Range
546
+
547
+ Slider input for selecting a value within a range.
548
+
549
+ | Property | Type | Description |
550
+ |----------|------|-------------|
551
+ | `min` | Number | Minimum value |
552
+ | `max` | Number | Maximum value |
553
+ | `step` | Number | Increment step |
554
+ | `showValue` | Boolean | Display the selected value |
555
+
556
+ ```json
557
+ {
558
+ "label": "Satisfaction Rating",
559
+ "min": 1,
560
+ "max": 10,
561
+ "step": 1,
562
+ "showValue": true,
563
+ "defaultValue": 5
564
+ }
565
+ ```
566
+
567
+ ---
568
+
569
+ ### Signature
570
+
571
+ Signature capture pad for e-signatures.
572
+
573
+ | Property | Type | Description |
574
+ |----------|------|-------------|
575
+ | `penColor` | String | Drawing color (hex or name) |
576
+ | `backgroundColor` | String | Pad background color |
577
+ | `width` | Number | Pad width in pixels |
578
+ | `height` | Number | Pad height in pixels |
579
+ | `clearLabel` | String | Label for the clear button |
580
+
581
+ ```json
582
+ {
583
+ "label": "Customer Signature",
584
+ "required": true,
585
+ "penColor": "#000000",
586
+ "backgroundColor": "#FFFFFF",
587
+ "width": 400,
588
+ "height": 150,
589
+ "clearLabel": "Clear Signature"
590
+ }
591
+ ```
592
+
593
+ ---
594
+
595
+ ### File
596
+
597
+ File upload input.
598
+
599
+ | Property | Type | Description |
600
+ |----------|------|-------------|
601
+ | `maxFileSize` | Number | Maximum file size in bytes |
602
+ | `allowedExtensions` | String | Comma-separated allowed extensions |
603
+ | `maxFiles` | Number | Maximum number of files |
604
+ | `uploadLabel` | String | Custom upload button label |
605
+
606
+ ```json
607
+ {
608
+ "label": "Supporting Documents",
609
+ "maxFileSize": 5242880,
610
+ "allowedExtensions": "pdf,jpg,png,docx",
611
+ "maxFiles": 5,
612
+ "uploadLabel": "Upload Document"
613
+ }
614
+ ```
615
+
616
+ ---
617
+
618
+ ## 3. Display Elements
619
+
620
+ ### Text Block
621
+
622
+ Static content display. Supports HTML and merge fields.
623
+
624
+ | Property | Type | Description |
625
+ |----------|------|-------------|
626
+ | `textContent` | String | HTML content to display |
627
+ | `HTMLTemplateId` | String | Reference to an HTML template |
628
+ | `sanitize` | Boolean | Sanitize HTML content |
629
+
630
+ ```json
631
+ {
632
+ "textContent": "<p>Welcome, <strong>%FirstName%</strong>. Please review the following information.</p>",
633
+ "sanitize": true
634
+ }
635
+ ```
636
+
637
+ ---
638
+
639
+ ### Headline
640
+
641
+ Section heading element.
642
+
643
+ | Property | Type | Description |
644
+ |----------|------|-------------|
645
+ | `text` | String | Heading text |
646
+ | `level` | Number | Heading level (1-6, maps to h1-h6) |
647
+
648
+ ```json
649
+ {
650
+ "text": "Account Details",
651
+ "level": 2
652
+ }
653
+ ```
654
+
655
+ ---
656
+
657
+ ### Aggregate
658
+
659
+ Calculated summary display based on data in the OmniScript JSON.
660
+
661
+ | Property | Type | Description |
662
+ |----------|------|-------------|
663
+ | `aggregateExpression` | String | Calculation expression |
664
+ | `format` | String | Display format |
665
+ | `dataType` | String | Result data type (`"number"`, `"currency"`, `"percent"`) |
666
+
667
+ ```json
668
+ {
669
+ "label": "Total Amount",
670
+ "aggregateExpression": "SUM(%OrderLines:Amount%)",
671
+ "format": "$0,0.00",
672
+ "dataType": "currency"
673
+ }
674
+ ```
675
+
676
+ ---
677
+
678
+ ### Disclosure
679
+
680
+ Expandable/collapsible content section.
681
+
682
+ | Property | Type | Description |
683
+ |----------|------|-------------|
684
+ | `label` | String | Clickable section header |
685
+ | `defaultExpanded` | Boolean | Initial expand state |
686
+
687
+ ```json
688
+ {
689
+ "label": "Additional Information",
690
+ "defaultExpanded": false
691
+ }
692
+ ```
693
+
694
+ ---
695
+
696
+ ### Image
697
+
698
+ Image display element.
699
+
700
+ | Property | Type | Description |
701
+ |----------|------|-------------|
702
+ | `imageURL` | String | URL to the image |
703
+ | `altText` | String | Alternative text for accessibility |
704
+ | `width` | String | Display width (px or %) |
705
+ | `height` | String | Display height (px or %) |
706
+
707
+ ```json
708
+ {
709
+ "imageURL": "/resource/CompanyLogo",
710
+ "altText": "Company Logo",
711
+ "width": "200px"
712
+ }
713
+ ```
714
+
715
+ ---
716
+
717
+ ### Chart
718
+
719
+ Data visualization element.
720
+
721
+ | Property | Type | Description |
722
+ |----------|------|-------------|
723
+ | `chartType` | String | Chart type (`"bar"`, `"pie"`, `"line"`, `"donut"`) |
724
+ | `dataSource` | String | JSON path to chart data |
725
+ | `labelField` | String | Field for chart labels |
726
+ | `valueField` | String | Field for chart values |
727
+ | `title` | String | Chart title |
728
+
729
+ ```json
730
+ {
731
+ "chartType": "pie",
732
+ "dataSource": "%CoverageBreakdown%",
733
+ "labelField": "CoverageType",
734
+ "valueField": "Amount",
735
+ "title": "Coverage Distribution"
736
+ }
737
+ ```
738
+
739
+ ---
740
+
741
+ ## 4. Action Elements
742
+
743
+ ### DataRaptor Extract Action
744
+
745
+ Executes a DataRaptor Extract to pull data from Salesforce.
746
+
747
+ | Property | Type | Required | Description |
748
+ |----------|------|----------|-------------|
749
+ | `bundle` | String | Yes | DataRaptor Extract bundle name |
750
+ | `inputMap` | Object | No | Input parameters mapped from data JSON |
751
+ | `outputMap` | Object | No | Output mapping to data JSON keys |
752
+ | `executionConditionFormula` | String | No | Formula to conditionally execute |
753
+ | `showError` | Boolean | No | Display error on failure |
754
+ | `errorMessage` | String | No | Custom error message |
755
+ | `responseJSONPath` | String | No | Path to extract from response |
756
+ | `sendOnlyIfNotEmpty` | Boolean | No | Skip if input values are empty |
757
+
758
+ ```json
759
+ {
760
+ "bundle": "DR_ExtractAccountDetails",
761
+ "inputMap": {
762
+ "AccountId": "%SelectedAccountId%"
763
+ },
764
+ "outputMap": {
765
+ "AccountName": "AccountName",
766
+ "BillingStreet": "BillingStreet",
767
+ "BillingCity": "BillingCity",
768
+ "BillingState": "BillingState",
769
+ "BillingPostalCode": "BillingPostalCode"
770
+ },
771
+ "executionConditionFormula": "IF(%SelectedAccountId% != '', true, false)",
772
+ "showError": true,
773
+ "errorMessage": "Unable to retrieve account details. Please try again."
774
+ }
775
+ ```
776
+
777
+ ---
778
+
779
+ ### DataRaptor Load Action
780
+
781
+ Executes a DataRaptor Load to write data to Salesforce.
782
+
783
+ | Property | Type | Required | Description |
784
+ |----------|------|----------|-------------|
785
+ | `bundle` | String | Yes | DataRaptor Load bundle name |
786
+ | `inputMap` | Object | No | Input parameters from data JSON |
787
+ | `executionConditionFormula` | String | No | Conditional execution formula |
788
+ | `showError` | Boolean | No | Display error on failure |
789
+ | `errorMessage` | String | No | Custom error message |
790
+
791
+ ```json
792
+ {
793
+ "bundle": "DR_CreateServiceRequest",
794
+ "inputMap": {
795
+ "AccountId": "%SelectedAccountId%",
796
+ "Subject": "%RequestSubject%",
797
+ "Description": "%RequestDescription%",
798
+ "Priority": "%RequestPriority%"
799
+ },
800
+ "showError": true,
801
+ "errorMessage": "Failed to create the service request. Please contact support."
802
+ }
803
+ ```
804
+
805
+ ---
806
+
807
+ ### Integration Procedure Action
808
+
809
+ Calls a server-side Integration Procedure.
810
+
811
+ | Property | Type | Required | Description |
812
+ |----------|------|----------|-------------|
813
+ | `ipMethod` | String | Yes | IP identifier (`"Type_SubType"` format) |
814
+ | `inputMap` | Object | No | Input parameters from data JSON |
815
+ | `outputMap` | Object | No | Output mapping to data JSON keys |
816
+ | `remoteOptions` | Object | No | Execution options (chainable, preTransform, postTransform) |
817
+ | `executionConditionFormula` | String | No | Conditional execution formula |
818
+ | `showError` | Boolean | No | Display error on failure |
819
+ | `errorMessage` | String | No | Custom error message |
820
+ | `remoteTimeout` | Number | No | Timeout in milliseconds |
821
+ | `responseJSONPath` | String | No | Path to extract from response |
822
+ | `preTransformBundle` | String | No | DataRaptor to transform input before sending |
823
+ | `postTransformBundle` | String | No | DataRaptor to transform output after receiving |
824
+
825
+ ```json
826
+ {
827
+ "ipMethod": "Eligibility_CheckMember",
828
+ "inputMap": {
829
+ "MemberId": "%MemberId%",
830
+ "ServiceDate": "%RequestedDate%"
831
+ },
832
+ "outputMap": {
833
+ "IsEligible": "EligibilityResult",
834
+ "PlanName": "MemberPlan",
835
+ "CopayAmount": "EstimatedCopay"
836
+ },
837
+ "remoteOptions": {
838
+ "preTransformBundle": "DR_TransformEligibilityInput",
839
+ "postTransformBundle": "DR_TransformEligibilityOutput"
840
+ },
841
+ "remoteTimeout": 30000,
842
+ "showError": true,
843
+ "errorMessage": "Eligibility check failed. Please verify member ID and try again."
844
+ }
845
+ ```
846
+
847
+ ---
848
+
849
+ ### Remote Action
850
+
851
+ Calls an Apex @RemoteAction method or REST endpoint.
852
+
853
+ | Property | Type | Required | Description |
854
+ |----------|------|----------|-------------|
855
+ | `remoteClass` | String | Yes | Apex class name |
856
+ | `remoteMethod` | String | Yes | Method name |
857
+ | `inputMap` | Object | No | Input parameters |
858
+ | `outputMap` | Object | No | Output mapping |
859
+ | `remoteOptions` | Object | No | Execution options |
860
+ | `showError` | Boolean | No | Display error on failure |
861
+
862
+ ```json
863
+ {
864
+ "remoteClass": "CustomEligibilityService",
865
+ "remoteMethod": "checkEligibility",
866
+ "inputMap": {
867
+ "memberId": "%MemberId%"
868
+ },
869
+ "outputMap": {
870
+ "result": "EligibilityResult"
871
+ },
872
+ "showError": true
873
+ }
874
+ ```
875
+
876
+ ---
877
+
878
+ ### Navigate Action
879
+
880
+ Navigates to another page, OmniScript, or URL.
881
+
882
+ | Property | Type | Required | Description |
883
+ |----------|------|----------|-------------|
884
+ | `targetType` | String | Yes | `"OmniScript"`, `"URL"`, `"Record"`, `"FlexCard"` |
885
+ | `targetId` | String | Conditional | Record ID or OmniScript Type_SubType_Language |
886
+ | `URL` | String | Conditional | Target URL (when targetType is `"URL"`) |
887
+ | `params` | Object | No | Parameters to pass to the target |
888
+ | `openInNewTab` | Boolean | No | Open in a new browser tab |
889
+
890
+ ```json
891
+ {
892
+ "targetType": "OmniScript",
893
+ "targetId": "ServiceRequest_FollowUp_English",
894
+ "params": {
895
+ "CaseId": "%CreatedCaseId%",
896
+ "AccountId": "%SelectedAccountId%"
897
+ }
898
+ }
899
+ ```
900
+
901
+ ---
902
+
903
+ ### Email Action
904
+
905
+ Sends an email using a Salesforce email template.
906
+
907
+ | Property | Type | Required | Description |
908
+ |----------|------|----------|-------------|
909
+ | `emailTemplateId` | String | Yes | Email template ID or developer name |
910
+ | `recipientMap` | Object | No | Recipient field mappings |
911
+ | `senderAddress` | String | No | Override sender address |
912
+
913
+ ```json
914
+ {
915
+ "emailTemplateId": "ServiceRequestConfirmation",
916
+ "recipientMap": {
917
+ "toAddress": "%ContactEmail%",
918
+ "whatId": "%CreatedCaseId%"
919
+ }
920
+ }
921
+ ```
922
+
923
+ ---
924
+
925
+ ### DocuSign Envelope Action
926
+
927
+ Triggers a DocuSign envelope for e-signature.
928
+
929
+ | Property | Type | Required | Description |
930
+ |----------|------|----------|-------------|
931
+ | `templateId` | String | Yes | DocuSign template ID |
932
+ | `recipientMap` | Object | Yes | Signer mappings |
933
+ | `prefillTabs` | Object | No | Pre-populated tab values |
934
+
935
+ ```json
936
+ {
937
+ "templateId": "abc123-template-id",
938
+ "recipientMap": {
939
+ "signer1": {
940
+ "name": "%CustomerName%",
941
+ "email": "%CustomerEmail%"
942
+ }
943
+ }
944
+ }
945
+ ```
946
+
947
+ ---
948
+
949
+ ## 5. Logic Elements
950
+
951
+ ### Set Values
952
+
953
+ Assigns values to data JSON keys. Used for data transformation, defaults, and computed values.
954
+
955
+ | Property | Type | Required | Description |
956
+ |----------|------|----------|-------------|
957
+ | `elementValueMap` | Object | Yes | Key-value pairs to set in the data JSON |
958
+ | `executionConditionFormula` | String | No | Conditional execution |
959
+
960
+ ```json
961
+ {
962
+ "elementValueMap": {
963
+ "FullName": "CONCAT(%FirstName%, ' ', %LastName%)",
964
+ "SubmissionDate": "TODAY()",
965
+ "Status": "Submitted",
966
+ "RequestId": "CONCAT('SR-', %CaseNumber%)"
967
+ }
968
+ }
969
+ ```
970
+
971
+ ---
972
+
973
+ ### Validation
974
+
975
+ Validates data using a formula expression. Blocks Step advancement when validation fails.
976
+
977
+ | Property | Type | Required | Description |
978
+ |----------|------|----------|-------------|
979
+ | `validationFormula` | String | Yes | Formula that must evaluate to `true` to pass |
980
+ | `errorMessage` | String | Yes | Error displayed when validation fails |
981
+
982
+ ```json
983
+ {
984
+ "validationFormula": "%EndDate% > %StartDate%",
985
+ "errorMessage": "End date must be after the start date."
986
+ }
987
+ ```
988
+
989
+ Multiple conditions example:
990
+ ```json
991
+ {
992
+ "validationFormula": "AND(%Age% >= 18, %Age% <= 120)",
993
+ "errorMessage": "Age must be between 18 and 120."
994
+ }
995
+ ```
996
+
997
+ ---
998
+
999
+ ### Formula
1000
+
1001
+ Calculates a value using a formula expression and stores the result in the data JSON.
1002
+
1003
+ | Property | Type | Required | Description |
1004
+ |----------|------|----------|-------------|
1005
+ | `expression` | String | Yes | Formula expression |
1006
+ | `dataType` | String | No | Result type (`"number"`, `"text"`, `"boolean"`, `"date"`) |
1007
+ | `decimalPlaces` | Number | No | Decimal precision for number results |
1008
+
1009
+ ```json
1010
+ {
1011
+ "label": "TotalWithTax",
1012
+ "expression": "%SubTotal% * (1 + %TaxRate% / 100)",
1013
+ "dataType": "number",
1014
+ "decimalPlaces": 2
1015
+ }
1016
+ ```
1017
+
1018
+ ---
1019
+
1020
+ ### Submit Action
1021
+
1022
+ Final submission action that processes collected data. Typically the last element in the last Step.
1023
+
1024
+ | Property | Type | Required | Description |
1025
+ |----------|------|----------|-------------|
1026
+ | `postMessage` | String | No | Success message displayed after submission |
1027
+ | `postSuccessMessage` | String | No | Message shown on the post-submit screen |
1028
+ | `preTransformBundle` | String | No | DataRaptor to transform data before submission |
1029
+ | `postTransformBundle` | String | No | DataRaptor to transform data after submission |
1030
+ | `submitLabel` | String | No | Custom label for the submit button |
1031
+ | `validationRequired` | Boolean | No | Re-validate all Steps before submitting |
1032
+ | `redirectPageName` | String | No | Page to redirect after submission |
1033
+ | `redirectTemplateUrl` | String | No | URL template for redirect |
1034
+
1035
+ ```json
1036
+ {
1037
+ "postMessage": "Your service request has been submitted successfully.",
1038
+ "preTransformBundle": "DR_PrepareSubmission",
1039
+ "postTransformBundle": "DR_ProcessResponse",
1040
+ "submitLabel": "Submit Request",
1041
+ "validationRequired": true,
1042
+ "redirectTemplateUrl": "/case/%CreatedCaseId%"
1043
+ }
1044
+ ```
1045
+
1046
+ ---
1047
+
1048
+ ## 6. Common PropertySetConfig Properties
1049
+
1050
+ These properties apply across multiple element types.
1051
+
1052
+ ### Conditional Visibility (`show`)
1053
+
1054
+ Controls whether an element is rendered.
1055
+
1056
+ ```json
1057
+ {
1058
+ "show": {
1059
+ "group": {
1060
+ "operator": "AND",
1061
+ "rules": [
1062
+ { "field": "CustomerType", "condition": "=", "data": "Business" },
1063
+ { "field": "AnnualRevenue", "condition": ">", "data": "1000000" }
1064
+ ]
1065
+ }
1066
+ }
1067
+ }
1068
+ ```
1069
+
1070
+ **Operators**: `AND`, `OR`
1071
+ **Conditions**: `=`, `!=`, `>`, `<`, `>=`, `<=`, `contains`, `starts with`, `ends with`, `is null`, `is not null`
1072
+
1073
+ ### Nested Groups
1074
+
1075
+ ```json
1076
+ {
1077
+ "show": {
1078
+ "group": {
1079
+ "operator": "OR",
1080
+ "rules": [
1081
+ { "field": "Status", "condition": "=", "data": "Active" },
1082
+ {
1083
+ "group": {
1084
+ "operator": "AND",
1085
+ "rules": [
1086
+ { "field": "Status", "condition": "=", "data": "Pending" },
1087
+ { "field": "HasApproval", "condition": "=", "data": "true" }
1088
+ ]
1089
+ }
1090
+ }
1091
+ ]
1092
+ }
1093
+ }
1094
+ }
1095
+ ```
1096
+
1097
+ ### Merge Fields
1098
+
1099
+ Reference data JSON values in element configuration using `%FieldName%` syntax.
1100
+
1101
+ | Syntax | Description |
1102
+ |--------|-------------|
1103
+ | `%FieldName%` | Direct reference to a data JSON key |
1104
+ | `%Step1:FieldName%` | Qualified reference with Step prefix |
1105
+ | `%LoopBlock:CurrentItem:FieldName%` | Reference within a Loop Block iteration |
1106
+ | `%ParentOmni:FieldName%` | Reference to parent OmniScript data (when embedded) |
1107
+ | `%UserInfo:FirstName%` | Current user information |
1108
+
1109
+ ### Layout Properties
1110
+
1111
+ | Property | Type | Description |
1112
+ |----------|------|-------------|
1113
+ | `colSize` | Number | Column width (1-12 grid system) |
1114
+ | `offset` | Number | Column offset (1-12) |
1115
+ | `horizontalAlign` | String | `"left"`, `"center"`, `"right"` |
1116
+ | `verticalAlign` | String | `"top"`, `"middle"`, `"bottom"` |
1117
+
1118
+ ### Data Binding
1119
+
1120
+ | Property | Type | Description |
1121
+ |----------|------|-------------|
1122
+ | `JSONPath` | String | Custom JSON path for storing the element value |
1123
+ | `responseJSONPath` | String | Path to extract from action response |
1124
+ | `inputMap` | Object | Maps data JSON values to action input parameters |
1125
+ | `outputMap` | Object | Maps action output to data JSON keys |
1126
+
1127
+ ---
1128
+
1129
+ ## Quick Reference: Element Type to OmniProcessElement.ElementType
1130
+
1131
+ | Display Name | ElementType Value | Category |
1132
+ |-------------|-------------------|----------|
1133
+ | Step | `Step` | Container |
1134
+ | Conditional Block | `Conditional Block` | Container |
1135
+ | Loop Block | `Loop Block` | Container |
1136
+ | Edit Block | `Edit Block` | Container |
1137
+ | Text | `Text` | Input |
1138
+ | Text Area | `Text Area` | Input |
1139
+ | Number | `Number` | Input |
1140
+ | Currency | `Currency` | Input |
1141
+ | Date | `Date` | Input |
1142
+ | Date/Time | `Date/Time` | Input |
1143
+ | Time | `Time` | Input |
1144
+ | Checkbox | `Checkbox` | Input |
1145
+ | Radio | `Radio` | Input |
1146
+ | Select | `Select` | Input |
1147
+ | Multi-select | `Multi-select` | Input |
1148
+ | Type Ahead | `Type Ahead` | Input |
1149
+ | Email | `Email` | Input |
1150
+ | Telephone | `Telephone` | Input |
1151
+ | URL | `URL` | Input |
1152
+ | Password | `Password` | Input |
1153
+ | Range | `Range` | Input |
1154
+ | Signature | `Signature` | Input |
1155
+ | File | `File` | Input |
1156
+ | Text Block | `Text Block` | Display |
1157
+ | Headline | `Headline` | Display |
1158
+ | Aggregate | `Aggregate` | Display |
1159
+ | Disclosure | `Disclosure` | Display |
1160
+ | Image | `Image` | Display |
1161
+ | Chart | `Chart` | Display |
1162
+ | DataRaptor Extract Action | `DataRaptor Extract Action` | Action |
1163
+ | DataRaptor Load Action | `DataRaptor Load Action` | Action |
1164
+ | Integration Procedure Action | `Integration Procedure Action` | Action |
1165
+ | Remote Action | `Remote Action` | Action |
1166
+ | Navigate Action | `Navigate Action` | Action |
1167
+ | Email Action | `Email Action` | Action |
1168
+ | DocuSign Envelope Action | `DocuSign Envelope Action` | Action |
1169
+ | Set Values | `Set Values` | Logic |
1170
+ | Validation | `Validation` | Logic |
1171
+ | Formula | `Formula` | Logic |
1172
+ | Submit Action | `Submit Action` | Logic |