@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.
- package/package.json +1 -1
- package/skills/field-service-data-capture-form-deployer-configure/SKILL.md +2 -23
- package/skills/field-service-data-capture-form-designer-configure/SKILL.md +3 -13
- package/skills/field-service-mobile-branding-configure/SKILL.md +3 -17
- package/skills/field-service-objective-designer-configure/SKILL.md +379 -72
- package/skills/field-service-prework-brief-deployer-configure/SKILL.md +537 -10
- package/skills/field-service-scheduling-policy-designer-query/SKILL.md +1093 -65
- package/skills/field-service-sobject-create-configure/SKILL.md +213 -13
- package/skills/field-service-voice-to-form-configure/SKILL.md +11 -40
- package/skills/field-service-work-rule-designer-configure/SKILL.md +95 -121
- package/skills/agentforce-gpt-email-generation-configure/SKILL.md +0 -312
- package/skills/agentforce-wizard-ui-forecasting-analytics-components-configure/SKILL.md +0 -64
- package/skills/agentforce-wizard-ui-sales-einstein-components-configure/SKILL.md +0 -46
- package/skills/automation-company-profile-info-query/SKILL.md +0 -51
- package/skills/automation-digital-wallet-configure/SKILL.md +0 -689
- package/skills/automation-flow-coordinate/SKILL.md +0 -95
- package/skills/automation-flow-coordinate/references/elements/action-call/action-call.md +0 -1569
- package/skills/automation-flow-coordinate/references/elements/action-call/conversation-messaging.md +0 -96
- package/skills/automation-flow-coordinate/references/elements/action-call/examples/send-sms-message.json +0 -23
- package/skills/automation-flow-coordinate/references/elements/action-call/examples/send-to-journey-no-fields.json +0 -31
- package/skills/automation-flow-coordinate/references/elements/action-call/send-to-journey.md +0 -179
- package/skills/automation-flow-coordinate/references/elements/exit-rule/examples/event-email-link-click.json +0 -13
- package/skills/automation-flow-coordinate/references/elements/exit-rule/exit-rule.md +0 -83
- package/skills/automation-flow-coordinate/references/elements/forward-to-bot-or-agent/examples/forward-to-bot-or-agent.json +0 -69
- package/skills/automation-flow-coordinate/references/elements/forward-to-bot-or-agent/forward-to-bot-or-agent.md +0 -274
- package/skills/automation-flow-coordinate/references/elements/start/audience-common.md +0 -192
- package/skills/automation-flow-coordinate/references/elements/start/automation-event-triggered.md +0 -130
- package/skills/automation-flow-coordinate/references/elements/start/data-cloud-data-change-triggered.md +0 -92
- package/skills/automation-flow-coordinate/references/elements/start/form-submission-triggered.md +0 -88
- package/skills/automation-flow-coordinate/references/elements/start/segment-triggered.md +0 -152
- package/skills/automation-flow-coordinate/references/elements/start/start.md +0 -539
- package/skills/automation-flow-coordinate/references/elements/subflow/subflow.md +0 -152
- package/skills/automation-flow-coordinate/references/elements/wait/wait.md +0 -497
- package/skills/automation-flow-coordinate/references/recipes/author/author.md +0 -868
- package/skills/automation-flow-coordinate/references/recipes/summarize/element-generic.md +0 -300
- package/skills/automation-flow-coordinate/references/recipes/summarize/reference-resolution.md +0 -292
- package/skills/automation-flow-coordinate/references/recipes/summarize/summarize.md +0 -323
- package/skills/automation-flow-coordinate/references/recipes/testing/examples/debug-output-template.md +0 -109
- package/skills/automation-flow-coordinate/references/recipes/testing/shape.md +0 -219
- package/skills/automation-flow-coordinate/references/recipes/testing/shared-stages/intent-analyzer.md +0 -180
- package/skills/automation-flow-coordinate/references/recipes/testing/workflows/debug.md +0 -175
- package/skills/automation-flow-coordinate/references/recipes/testing/workflows/promote.md +0 -255
- package/skills/automation-flow-coordinate/references/recipes/testing/workflows/save-debug.md +0 -212
- package/skills/automation-flow-coordinate/references/resources/variable/variable.md +0 -171
- package/skills/automation-flow-coordinate/references/shared/anti-patterns.md +0 -786
- package/skills/automation-flow-coordinate/references/shared/end/end.md +0 -267
- package/skills/automation-flow-coordinate/references/shared/flow-type-resolver/eval/README.md +0 -69
- package/skills/automation-flow-coordinate/references/shared/flow-type-resolver/eval/predictions.jsonl +0 -80
- package/skills/automation-flow-coordinate/references/shared/flow-type-resolver/eval/prompts.jsonl +0 -116
- package/skills/automation-flow-coordinate/references/shared/flow-type-resolver/flow-type-resolver.md +0 -321
- package/skills/automation-flow-coordinate/references/shared/flow-type-resolver/taxonomy.json +0 -320
- package/skills/automation-flow-coordinate/references/shared/server-functions.md +0 -597
- package/skills/automotive-cloud-appraisal-management-settings-configure/SKILL.md +0 -69
- package/skills/automotive-cloud-dealer-essentials-configure/SKILL.md +0 -78
- package/skills/automotive-cloud-ground-agent-data-pipelines-configure/SKILL.md +0 -373
- package/skills/automotive-cloud-ground-mfg-agent-data-pipelines-configure/SKILL.md +0 -273
- package/skills/automotive-cloud-mfg-agent-data-pipelines-configure/SKILL.md +0 -259
- package/skills/automotive-cloud-mfg-sales-concierge-agent-create/SKILL.md +0 -369
- package/skills/automotive-cloud-mfg-sales-concierge-foundation-configure/SKILL.md +0 -542
- package/skills/automotive-cloud-mfg-sales-concierge-foundation-coordinate/SKILL.md +0 -159
- package/skills/automotive-cloud-mfg-sales-concierge-orchestrator-agent-create/SKILL.md +0 -349
- package/skills/automotive-cloud-mfg-sales-concierge-orchestrator-configure/SKILL.md +0 -505
- package/skills/automotive-cloud-sales-concierge-agent-create/SKILL.md +0 -380
- package/skills/automotive-cloud-sales-concierge-foundation-configure/SKILL.md +0 -567
- package/skills/automotive-cloud-sales-concierge-foundation-coordinate/SKILL.md +0 -159
- package/skills/automotive-cloud-sales-concierge-orchestrator-agent-create/SKILL.md +0 -360
- package/skills/automotive-cloud-sales-concierge-orchestrator-configure/SKILL.md +0 -539
- package/skills/automotive-cloud-sales-concierge-search-grounding-configure/SKILL.md +0 -358
- package/skills/commerce-b2b-merchant-quote-configure/SKILL.md +0 -602
- package/skills/commerce-b2b-store-configure/SKILL.md +0 -251
- package/skills/commerce-credit-memo-create/SKILL.md +0 -139
- package/skills/commerce-delivery-business-hours-configure/SKILL.md +0 -277
- package/skills/commerce-delivery-estimation-apply/SKILL.md +0 -155
- package/skills/commerce-delivery-estimation-configure/SKILL.md +0 -377
- package/skills/commerce-delivery-routing-specs-integrate/SKILL.md +0 -174
- package/skills/commerce-estimate-bopis-query/SKILL.md +0 -279
- package/skills/commerce-estimate-delivery-date-query/SKILL.md +0 -349
- package/skills/commerce-fees-apply/SKILL.md +0 -227
- package/skills/commerce-fulfillment-routing-analyze/SKILL.md +0 -200
- package/skills/commerce-guest-buyer-create/SKILL.md +0 -173
- package/skills/commerce-location-bopis-configure/SKILL.md +0 -378
- package/skills/commerce-location-business-hours-configure/SKILL.md +0 -235
- package/skills/commerce-location-delivery-processing-time-configure/SKILL.md +0 -309
- package/skills/commerce-location-graph-integrate/SKILL.md +0 -131
- package/skills/commerce-location-shipping-carrier-method-configure/SKILL.md +0 -755
- package/skills/commerce-location-temporary-operating-hours-configure/SKILL.md +0 -331
- package/skills/commerce-merchant-buyer-groups-configure/SKILL.md +0 -579
- package/skills/commerce-merchant-buyer-user-onboarding-create/SKILL.md +0 -626
- package/skills/commerce-merchant-catalog-configure/SKILL.md +0 -614
- package/skills/commerce-merchant-extension-provider-configure/SKILL.md +0 -368
- package/skills/commerce-merchant-insights-account-health-churn-analyze/SKILL.md +0 -118
- package/skills/commerce-merchant-insights-inventory-returns-analyze/SKILL.md +0 -65
- package/skills/commerce-merchant-insights-order-shopper-get/SKILL.md +0 -90
- package/skills/commerce-merchant-insights-product-performance-analyze/SKILL.md +0 -72
- package/skills/commerce-merchant-insights-query/SKILL.md +0 -279
- package/skills/commerce-merchant-storefront-guest-access-configure/SKILL.md +0 -656
- package/skills/commerce-order-summary-change-apply/SKILL.md +0 -375
- package/skills/commerce-product-details-get/SKILL.md +0 -363
- package/skills/commerce-product-search/SKILL.md +0 -563
- package/skills/commerce-react-storefront-create/SKILL.md +0 -350
- package/skills/commerce-return-order-summary-create/SKILL.md +0 -513
- package/skills/commerce-search-relevance-analyze/SKILL.md +0 -757
- package/skills/commerce-temporary-processing-time-override-create/SKILL.md +0 -274
- package/skills/communications-initial-setup-configure/SKILL.md +0 -630
- package/skills/communications-multisite-configure/SKILL.md +0 -571
- package/skills/communications-revenue-cloud-settings-configure/SKILL.md +0 -74
- package/skills/communications-smb-fiber-catalog-create/SKILL.md +0 -413
- package/skills/communications-tmf-integrate/SKILL.md +0 -1368
- package/skills/consumer-goods-visit-activity-act4-questions-assign/SKILL.md +0 -448
- package/skills/consumer-goods-visit-activity-act5-standard-create/SKILL.md +0 -269
- package/skills/consumer-goods-visit-activity-act6-assortment-configure/SKILL.md +0 -271
- package/skills/consumer-goods-visit-activity-act7-account-scoping-create/SKILL.md +0 -382
- package/skills/consumer-goods-visit-activity-act8-plan-attach-create/SKILL.md +0 -373
- package/skills/consumer-goods-visit-activity-act9-proof-validate/SKILL.md +0 -389
- package/skills/consumer-goods-visit-and-activity-act1-specification-create/SKILL.md +0 -338
- package/skills/consumer-goods-visit-and-activity-act2-template-create/SKILL.md +0 -547
- package/skills/consumer-goods-visit-and-activity-act3-definition-create/SKILL.md +0 -346
- package/skills/consumer-goods-visit-and-activity-configure/SKILL.md +0 -1110
- package/skills/crm-analytics-adoption-insights-configure/SKILL.md +0 -224
- package/skills/crm-analytics-custom-report-type-lightning-configure/SKILL.md +0 -418
- package/skills/crm-analytics-dashboards-configure/SKILL.md +0 -731
- package/skills/crm-analytics-operational-analytics-metadata-bridge-migrate/SKILL.md +0 -233
- package/skills/crm-analytics-report-notifications-ui-configure/SKILL.md +0 -184
- package/skills/crm-analytics-sharing-inheritance-coverage-analyze/SKILL.md +0 -167
- package/skills/crm-analytics-sonic-getting-started-configure/SKILL.md +0 -55
- package/skills/crm-analytics-tableau-next-app-deploy/SKILL.md +0 -1350
- package/skills/crm-analytics-tableau-next-c360-basemodel-validate/SKILL.md +0 -1862
- package/skills/crm-analytics-tableau-next-datacloud-validate/SKILL.md +0 -83
- package/skills/crm-analytics-tableau-next-provisioning-validate/SKILL.md +0 -81
- package/skills/data360-activation-create/SKILL.md +0 -104
- package/skills/data360-activation-external-platform-get/SKILL.md +0 -49
- package/skills/data360-activation-target-create/SKILL.md +0 -93
- package/skills/data360-activation-v2-create/SKILL.md +0 -456
- package/skills/data360-audience-dmo-get/SKILL.md +0 -38
- package/skills/data360-calculated-affinity-create/SKILL.md +0 -82
- package/skills/data360-calculated-insight-create/SKILL.md +0 -148
- package/skills/data360-catalog-metadata-create/SKILL.md +0 -183
- package/skills/data360-code-extension-create/SKILL.md +0 -115
- package/skills/data360-communication-capping-create/SKILL.md +0 -227
- package/skills/data360-connection-create/SKILL.md +0 -491
- package/skills/data360-content-lens-create/SKILL.md +0 -181
- package/skills/data360-data-action-create/SKILL.md +0 -126
- package/skills/data360-data-action-target-create/SKILL.md +0 -181
- package/skills/data360-data-clean-room-create/SKILL.md +0 -238
- package/skills/data360-data-governance-create/SKILL.md +0 -746
- package/skills/data360-data-graph-create/SKILL.md +0 -82
- package/skills/data360-data-harmonized-model-object-reference-create/SKILL.md +0 -38
- package/skills/data360-data-lake-object-create/SKILL.md +0 -207
- package/skills/data360-data-model-object-catalog-get/SKILL.md +0 -49
- package/skills/data360-data-model-object-create/SKILL.md +0 -128
- package/skills/data360-data-model-object-mapping-create/SKILL.md +0 -106
- package/skills/data360-data-space-create/SKILL.md +0 -161
- package/skills/data360-data-streams-create/SKILL.md +0 -324
- package/skills/data360-engagement-signal-get/SKILL.md +0 -38
- package/skills/data360-experiment-create/SKILL.md +0 -82
- package/skills/data360-goal-based-campaign-create/SKILL.md +0 -192
- package/skills/data360-harmonization-process-history-get/SKILL.md +0 -38
- package/skills/data360-harmonized-unstructured-dmo-create/SKILL.md +0 -84
- package/skills/data360-identity-resolution-create/SKILL.md +0 -115
- package/skills/data360-intelligent-document-processing-create/SKILL.md +0 -148
- package/skills/data360-knowledge-graph-construction-create/SKILL.md +0 -93
- package/skills/data360-knowledge-graph-create/SKILL.md +0 -216
- package/skills/data360-knowledge-space-mcp-configure/SKILL.md +0 -475
- package/skills/data360-machine-learning-mcp-configure/SKILL.md +0 -697
- package/skills/data360-multi-org-mcp-configure/SKILL.md +0 -117
- package/skills/data360-secondary-index-mcp-configure/SKILL.md +0 -126
- package/skills/data360-segment-mcp-configure/SKILL.md +0 -159
- package/skills/data360-semantic-calculated-dimension-mcp-configure/SKILL.md +0 -93
- package/skills/data360-semantic-calculated-measurement-mcp-configure/SKILL.md +0 -93
- package/skills/data360-semantic-data-object-mcp-configure/SKILL.md +0 -93
- package/skills/data360-semantic-dimension-mcp-configure/SKILL.md +0 -38
- package/skills/data360-semantic-engine-mcp-configure/SKILL.md +0 -62
- package/skills/data360-semantic-measurement-mcp-configure/SKILL.md +0 -38
- package/skills/data360-semantic-metric-mcp-configure/SKILL.md +0 -93
- package/skills/data360-semantic-model-mcp-configure/SKILL.md +0 -115
- package/skills/data360-standard-mapping-mcp-configure/SKILL.md +0 -38
- package/skills/data360-tenant-lifecycle-mcp-configure/SKILL.md +0 -73
- package/skills/experience-afv-query/SKILL.md +0 -234
- package/skills/experience-agentforce-vibes-in-react-configure/SKILL.md +0 -63
- package/skills/experience-apex-components-configure/SKILL.md +0 -69
- package/skills/experience-apex-pages-configure/SKILL.md +0 -107
- package/skills/experience-app-home-configure/SKILL.md +0 -76
- package/skills/experience-aura-lightning-out-access-configure/SKILL.md +0 -58
- package/skills/experience-briefcase-configure/SKILL.md +0 -287
- package/skills/experience-community-flexi-page-list-create/SKILL.md +0 -74
- package/skills/experience-community-template-definition-list-query/SKILL.md +0 -48
- package/skills/experience-community-theme-definition-list-query/SKILL.md +0 -38
- package/skills/experience-content-assets-configure/SKILL.md +0 -86
- package/skills/experience-custom-domain-create/SKILL.md +0 -727
- package/skills/experience-defer-rendering-workspace-page-setup-configure/SKILL.md +0 -41
- package/skills/experience-field-service-app-builder-configure/SKILL.md +0 -187
- package/skills/experience-flow-category-configure/SKILL.md +0 -117
- package/skills/experience-formula-configure/SKILL.md +0 -358
- package/skills/experience-global-actions-configure/SKILL.md +0 -69
- package/skills/experience-global-publisher-layouts-configure/SKILL.md +0 -79
- package/skills/experience-instrumentation-configure/SKILL.md +0 -64
- package/skills/experience-lex-engagement-configure/SKILL.md +0 -50
- package/skills/experience-lightning-bolt-open/SKILL.md +0 -12
- package/skills/experience-lightning-out-configure/SKILL.md +0 -129
- package/skills/experience-lightning-preview-configure/SKILL.md +0 -67
- package/skills/experience-lightning-types-query/SKILL.md +0 -98
- package/skills/experience-malware-scan-configure/SKILL.md +0 -71
- package/skills/experience-my-salesforce-configure/SKILL.md +0 -126
- package/skills/experience-navigation-menus-configure/SKILL.md +0 -235
- package/skills/experience-notification-types-configure/SKILL.md +0 -206
- package/skills/experience-notifications-configure/SKILL.md +0 -75
- package/skills/experience-record-discovery-query/SKILL.md +0 -227
- package/skills/experience-regenerate-previews-open/SKILL.md +0 -94
- package/skills/experience-sales-cloud-mab-configure/SKILL.md +0 -254
- package/skills/experience-schema-builder-open/SKILL.md +0 -38
- package/skills/experience-simple-record-home-configure/SKILL.md +0 -110
- package/skills/experience-static-resources-configure/SKILL.md +0 -74
- package/skills/field-service-setup-coordinate/SKILL.md +0 -62
- package/skills/field-service-work-plan-configure/SKILL.md +0 -253
- package/skills/fsc-actionable-segmentation-settings-configure/SKILL.md +0 -180
- package/skills/fsc-digital-origination-bre-decision-matrix-foundation-create/SKILL.md +0 -196
- package/skills/fsc-digital-origination-bre-disclosures-consent-configure/SKILL.md +0 -106
- package/skills/fsc-digital-origination-bre-document-upload-configure/SKILL.md +0 -96
- package/skills/fsc-digital-origination-bre-permissions-assign/SKILL.md +0 -111
- package/skills/fsc-digital-origination-bre-setup-coordinate/SKILL.md +0 -250
- package/skills/fsc-digital-origination-bre-stp-eligibility-configure/SKILL.md +0 -122
- package/skills/fsc-digital-origination-coordinate/SKILL.md +0 -653
- package/skills/fsc-digital-origination-demo-run/SKILL.md +0 -225
- package/skills/fsc-digital-origination-execution-guardrails-validate/SKILL.md +0 -112
- package/skills/fsc-digital-origination-initial-setup-configure/SKILL.md +0 -396
- package/skills/fsc-digital-origination-pricing-setup-coordinate/SKILL.md +0 -336
- package/skills/fsc-digital-origination-pricing-setup-data-foundation-create/SKILL.md +0 -208
- package/skills/fsc-digital-origination-pricing-setup-procedure-create/SKILL.md +0 -375
- package/skills/fsc-digital-origination-product-setup-act1-permissions-assign/SKILL.md +0 -83
- package/skills/fsc-digital-origination-product-setup-coordinate/SKILL.md +0 -248
- package/skills/fsc-digital-origination-sample-data-create/SKILL.md +0 -206
- package/skills/fsc-document-checklist-settings-configure/SKILL.md +0 -57
- package/skills/fsc-flexible-hierarchy-configure/SKILL.md +0 -148
- package/skills/fsc-flexible-hierarchy-foundation-configure/SKILL.md +0 -1430
- package/skills/fsc-flexible-hierarchy-graph-config-create/SKILL.md +0 -471
- package/skills/fsc-flexible-hierarchy-rule-based-graph-deploy/SKILL.md +0 -429
- package/skills/fsc-pricing-product-configurator-configure/SKILL.md +0 -150
- package/skills/fsc-pricing-salesforce-omnistudio-switch/SKILL.md +0 -123
- package/skills/fsc-product-act2-catalog-categories-create/SKILL.md +0 -82
- package/skills/fsc-product-act3-attributes-create/SKILL.md +0 -249
- package/skills/fsc-product-act4-classification-assignment-create/SKILL.md +0 -196
- package/skills/fsc-product-act5-considerations-get/SKILL.md +0 -44
- package/skills/fsc-stage-management-apex-flow-deploy/SKILL.md +0 -384
- package/skills/fsc-stage-management-compliant-data-sharing-configure/SKILL.md +0 -144
- package/skills/fsc-stage-management-decision-matrices-create/SKILL.md +0 -107
- package/skills/fsc-stage-management-definition-assignments-create/SKILL.md +0 -189
- package/skills/fsc-stage-management-definition-create/SKILL.md +0 -108
- package/skills/fsc-stage-management-permissions-assign/SKILL.md +0 -143
- package/skills/fsc-stage-management-transitions-configure/SKILL.md +0 -139
- package/skills/health-cloud-appt-booking-config-configure/SKILL.md +0 -135
- package/skills/health-cloud-appt-booking-url-config-configure/SKILL.md +0 -134
- package/skills/health-cloud-care-provider-affl-role-config-configure/SKILL.md +0 -136
- package/skills/health-cloud-care-provider-search-config-configure/SKILL.md +0 -134
- package/skills/health-cloud-care-requests-create/SKILL.md +0 -178
- package/skills/health-cloud-initial-configure/SKILL.md +0 -511
- package/skills/health-cloud-patient-appointment-scheduling-configure/SKILL.md +0 -1374
- package/skills/health-cloud-provider-search-settings-configure/SKILL.md +0 -924
- package/skills/health-cloud-referral-management-coordinate/SKILL.md +0 -513
- package/skills/health-cloud-timeline-configure/SKILL.md +0 -622
- package/skills/health-cloud-virtual-visit-config-configure/SKILL.md +0 -135
- package/skills/industries-account-score-settings-query/SKILL.md +0 -78
- package/skills/industries-actionable-list-data-sources-dmo-configure/SKILL.md +0 -177
- package/skills/industries-ad-product-availability-search/SKILL.md +0 -399
- package/skills/industries-advanced-account-forecast-settings-configure/SKILL.md +0 -628
- package/skills/industries-advanced-therapy-management-settings-configure/SKILL.md +0 -73
- package/skills/industries-atm-settings-starter-configure/SKILL.md +0 -76
- package/skills/industries-batch-document-ai-configure/SKILL.md +0 -196
- package/skills/industries-behavioral-health-app-settings-configure/SKILL.md +0 -71
- package/skills/industries-branch-management-settings-configure/SKILL.md +0 -89
- package/skills/industries-bre-decision-table-access-configure/SKILL.md +0 -367
- package/skills/industries-brokerage-settings-configure/SKILL.md +0 -41
- package/skills/industries-calendar-sync-settings-configure/SKILL.md +0 -89
- package/skills/industries-care-request-settings-configure/SKILL.md +0 -218
- package/skills/industries-case-management-intelligence-settings-configure/SKILL.md +0 -54
- package/skills/industries-catalog-process-attributes-products-configure/SKILL.md +0 -380
- package/skills/industries-catalog-process-fulfillment-configure/SKILL.md +0 -216
- package/skills/industries-catalog-process-intake-configure/SKILL.md +0 -219
- package/skills/industries-catalog-process-knowledge-configure/SKILL.md +0 -153
- package/skills/industries-catalog-process-preprocessor-configure/SKILL.md +0 -168
- package/skills/industries-cds-general-settings-configure/SKILL.md +0 -69
- package/skills/industries-claim-financial-settings-configure/SKILL.md +0 -169
- package/skills/industries-clinical-data-model-settings-configure/SKILL.md +0 -136
- package/skills/industries-clinical-data-model-settings-starter-configure/SKILL.md +0 -105
- package/skills/industries-collection-plan-settings-configure/SKILL.md +0 -132
- package/skills/industries-comms-service-console-settings-configure/SKILL.md +0 -159
- package/skills/industries-compliance-configure/SKILL.md +0 -102
- package/skills/industries-compliance-document-extraction-setup-configure/SKILL.md +0 -76
- package/skills/industries-contact-center-app-layout-configure/SKILL.md +0 -88
- package/skills/industries-contact-center-components-configure/SKILL.md +0 -96
- package/skills/industries-contact-center-path-knowledge-configure/SKILL.md +0 -95
- package/skills/industries-contact-center-user-access-assign/SKILL.md +0 -96
- package/skills/industries-course-waitlist-config-configure/SKILL.md +0 -162
- package/skills/industries-crisis-center-settings-configure/SKILL.md +0 -84
- package/skills/industries-custom-object-settings-configure/SKILL.md +0 -94
- package/skills/industries-data-cloud-integration-configure/SKILL.md +0 -88
- package/skills/industries-data-space-feature-mappings-configure/SKILL.md +0 -245
- package/skills/industries-decision-matrix-builder-configure/SKILL.md +0 -78
- package/skills/industries-decision-table-hbase-configure/SKILL.md +0 -87
- package/skills/industries-decision-table-version-configure/SKILL.md +0 -74
- package/skills/industries-decision-tables-builder-configure/SKILL.md +0 -253
- package/skills/industries-decision-tables-configure/SKILL.md +0 -439
- package/skills/industries-energy-utilities-configure/SKILL.md +0 -251
- package/skills/industries-eu-cloud-multisite-configure/SKILL.md +0 -1008
- package/skills/industries-eu-new-connections-configure/SKILL.md +0 -30
- package/skills/industries-explainability-msg-template-configure/SKILL.md +0 -135
- package/skills/industries-expression-set-message-token-configure/SKILL.md +0 -135
- package/skills/industries-field-service-settings-configure/SKILL.md +0 -82
- package/skills/industries-form-framework-settings-configure/SKILL.md +0 -30
- package/skills/industries-fsc-ai-settings-configure/SKILL.md +0 -57
- package/skills/industries-fsc-association-engine-settings-configure/SKILL.md +0 -172
- package/skills/industries-fsc-b2b-settings-configure/SKILL.md +0 -61
- package/skills/industries-fsc-insurance-settings-configure/SKILL.md +0 -58
- package/skills/industries-fsc-visa-fulfillment-setup-configure/SKILL.md +0 -103
- package/skills/industries-fsc-wealth-agent-settings-configure/SKILL.md +0 -117
- package/skills/industries-fsc-wealth-settings-configure/SKILL.md +0 -99
- package/skills/industries-fundraising-gift-entry-settings-configure/SKILL.md +0 -120
- package/skills/industries-fundraising-rfm-configure/SKILL.md +0 -128
- package/skills/industries-fundraising-settings-configure/SKILL.md +0 -145
- package/skills/industries-fundraising-source-code-gen-configure/SKILL.md +0 -299
- package/skills/industries-google-maps-api-key-settings-configure/SKILL.md +0 -87
- package/skills/industries-grantmaking-intelligence-settings-open/SKILL.md +0 -58
- package/skills/industries-hc-score-category-settings-configure/SKILL.md +0 -167
- package/skills/industries-health-engagement-settings-configure/SKILL.md +0 -218
- package/skills/industries-home-health-agentforce-setup-configure/SKILL.md +0 -131
- package/skills/industries-home-health-bundling-policy-create/SKILL.md +0 -50
- package/skills/industries-home-health-entity-labels-configure/SKILL.md +0 -29
- package/skills/industries-home-health-fsl-package-deploy/SKILL.md +0 -71
- package/skills/industries-home-health-fsl-settings-validate/SKILL.md +0 -27
- package/skills/industries-home-health-guided-setup-care-and-skill-get/SKILL.md +0 -80
- package/skills/industries-home-health-guided-setup-configure/SKILL.md +0 -836
- package/skills/industries-home-health-guided-setup-enable-org-fsl-get/SKILL.md +0 -55
- package/skills/industries-home-health-guided-setup-get-org-ready-get/SKILL.md +0 -61
- package/skills/industries-home-health-licenses-assign/SKILL.md +0 -27
- package/skills/industries-home-health-operating-hours-create/SKILL.md +0 -40
- package/skills/industries-home-health-scheduling-policy-create/SKILL.md +0 -41
- package/skills/industries-home-health-service-objective-create/SKILL.md +0 -22
- package/skills/industries-home-health-skills-create/SKILL.md +0 -31
- package/skills/industries-home-health-users-create/SKILL.md +0 -29
- package/skills/industries-icm-act3-toggles-configure/SKILL.md +0 -198
- package/skills/industries-icm-act5-genai-suggested-assessments-configure/SKILL.md +0 -361
- package/skills/industries-icm-act6-mcg-integration-configure/SKILL.md +0 -550
- package/skills/industries-integrated-care-management-configure/SKILL.md +0 -168
- package/skills/industries-object-enablement-configure/SKILL.md +0 -86
- package/skills/industries-tpm-system-processing-service-configure/SKILL.md +0 -64
- package/skills/integration-apex-settings-configure/SKILL.md +0 -61
- package/skills/marketing-e360-email-archiving-configure/SKILL.md +0 -73
- package/skills/platform-custom-permissions-configure/SKILL.md +0 -687
- package/skills/platform-label-workbench-import-create/SKILL.md +0 -67
- package/skills/platform-privacy-agent-settings-configure/SKILL.md +0 -752
package/skills/automation-flow-coordinate/references/recipes/testing/workflows/save-debug.md
DELETED
|
@@ -1,212 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
id: flow.recipes.testing.workflows.save-debug
|
|
3
|
-
description: "Boilerplate WithoutAssertion FlowTest — pin a scenario's inputs as a re-runnable smoke test with no expectations. The assertions-free subset of author-test; for promoting an interactive debug run instead, use promote."
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
<!-- Consumers: testing router (direct entry when user says "save a smoke test", "no assertions", "just lock in that this passes") -->
|
|
7
|
-
|
|
8
|
-
# Save a WithoutAssertion smoke test
|
|
9
|
-
|
|
10
|
-
Use when the user wants to persist a scenario's **inputs** as a
|
|
11
|
-
re-runnable test but has **no expectations to assert** — "just save that
|
|
12
|
-
this flow runs clean for this record", "lock in this input set", "a
|
|
13
|
-
smoke test, no assertions". The output is a `WithoutAssertion` FlowTest:
|
|
14
|
-
a Start binding, `assertions: []`, and nothing else.
|
|
15
|
-
|
|
16
|
-
This is the assertions-free subset of
|
|
17
|
-
[[flow.recipes.testing.workflows.author-test]]. It exists as its own
|
|
18
|
-
recipe because the boilerplate is small and the user should not be
|
|
19
|
-
walked through assertion-intent ceremony they explicitly don't want.
|
|
20
|
-
|
|
21
|
-
**Pick a different recipe when:**
|
|
22
|
-
|
|
23
|
-
- The inputs come from an **interactive debug run** the user just
|
|
24
|
-
iterated → [[flow.recipes.testing.workflows.promote]] (its Route A
|
|
25
|
-
with `assertions: []` is this same payload, seeded from debug context).
|
|
26
|
-
- The user **does** want to check an outcome → the full
|
|
27
|
-
[[flow.recipes.testing.workflows.author-test]].
|
|
28
|
-
|
|
29
|
-
What "passes" means here: a `WithoutAssertion` test has no assertions to
|
|
30
|
-
fail, so a run succeeds iff the flow completes without a fault. The run
|
|
31
|
-
step still matters — it's what catches a binding that saved clean but
|
|
32
|
-
drives the flow into an error path.
|
|
33
|
-
|
|
34
|
-
---
|
|
35
|
-
|
|
36
|
-
## Phase 1 — Assess (shared stage)
|
|
37
|
-
|
|
38
|
-
Load [[flow.recipes.testing.shared-stages.intent-analyzer]].
|
|
39
|
-
|
|
40
|
-
It confirms the flow is **save-eligible** (`"FlowTesting"` in the
|
|
41
|
-
features list — narrower than debug eligibility), reads the flow shape,
|
|
42
|
-
and emits the assessment object the builder consumes. Silo mode is
|
|
43
|
-
auto-detected the same way as in author-test; if the user named an
|
|
44
|
-
`@testSetup` class, the silo gate (`"FlowTestingWithDataSilo"`) is
|
|
45
|
-
probed too.
|
|
46
|
-
|
|
47
|
-
If the flow is not save-eligible, STOP and route to
|
|
48
|
-
[[flow.recipes.testing.workflows.debug]] for ad-hoc validation — there
|
|
49
|
-
is no persistent artifact to produce. Do not call
|
|
50
|
-
`POST /services/data/vXX.0/flowbuilder/flow-test` / `PATCH /services/data/vXX.0/flowbuilder/flow-test/{id}` against an ineligible flow.
|
|
51
|
-
|
|
52
|
-
---
|
|
53
|
-
|
|
54
|
-
## Phase 2 — Build (shared stage, assertions skipped)
|
|
55
|
-
|
|
56
|
-
Load [[flow.recipes.testing.shared-stages.payload-builder]]. Run it
|
|
57
|
-
**without Step 4**:
|
|
58
|
-
|
|
59
|
-
- **Step 2** — top-level fields. `doesCommitChanges: false` unless the
|
|
60
|
-
user explicitly asked for a committing test. If the Intent Analyzer's
|
|
61
|
-
`flowShape.hasWaits` is `true`, also decide `doesTestWaitElement`:
|
|
62
|
-
a `WithoutAssertion` test is a saved debug-run setup, and
|
|
63
|
-
`doesTestWaitElement: true` makes it pause at Waits when replayed, as the
|
|
64
|
-
debug run did. Propose `true` when the flow is an autolaunched flow with
|
|
65
|
-
no trigger.
|
|
66
|
-
- **Step 3** — the Start `testPoint`, bound by trigger type per
|
|
67
|
-
[[flow.recipes.testing.flowtest-elements.parameters]]. This is the
|
|
68
|
-
whole payload's substance — pin the real inputs the scenario uses
|
|
69
|
-
(a real record ID for record-triggered, one `InputVariable` per
|
|
70
|
-
declared variable for non-triggered).
|
|
71
|
-
- **Skip Step 4 entirely.** No assertion `testPoint`. The single Start
|
|
72
|
-
entry carries `assertions: []`.
|
|
73
|
-
- **Step 5** — `testType: "WithoutAssertion"`. (With no non-empty
|
|
74
|
-
`assertions[]` anywhere, this is the only correct value; the reviewer
|
|
75
|
-
auto-fix in Phase 3 confirms it.)
|
|
76
|
-
- **Step 6** — silo additions only if `siloMode: true`.
|
|
77
|
-
|
|
78
|
-
The result is a one-`testPoint` payload: `Start` bound, `assertions:
|
|
79
|
-
[]`, `testType: "WithoutAssertion"`.
|
|
80
|
-
|
|
81
|
-
---
|
|
82
|
-
|
|
83
|
-
## Phase 3 — Review (shared stage, auto-fixes only)
|
|
84
|
-
|
|
85
|
-
Load [[flow.recipes.testing.shared-stages.reviewer]], but only its
|
|
86
|
-
**job 1** applies here:
|
|
87
|
-
|
|
88
|
-
- **Apply the cheap local auto-fixes** — `testType` correctness,
|
|
89
|
-
`flowVersionNumber` stringification, `sobjectValue` stringification,
|
|
90
|
-
legacy `"Input"` → `"InputVariable"`. Report each as a one-line `WARN`.
|
|
91
|
-
|
|
92
|
-
The reviewer's **job 2 (assertion intent check) does not apply** — there
|
|
93
|
-
are no assertions to second-guess. The one intent concern that *does*
|
|
94
|
-
survive is the same as promotion's: a `WithoutAssertion` test built from
|
|
95
|
-
a throwaway `sobjectValue: "{}"` placeholder isn't a durable scenario.
|
|
96
|
-
If the Start binding is `"{}"` rather than a real record, `BLOCK` and ask
|
|
97
|
-
for a real record ID before saving.
|
|
98
|
-
|
|
99
|
-
---
|
|
100
|
-
|
|
101
|
-
## Phase 4 — Save & run
|
|
102
|
-
|
|
103
|
-
**Invariant — no broken test lingers in the org without the user's
|
|
104
|
-
say-so.** Same rule as author-test Phase 5: on terminal run failure,
|
|
105
|
-
pause and ask the user how to handle the artifact. `save-debug`
|
|
106
|
-
always starts with a `POST /services/data/vXX.0/flowbuilder/flow-test` (first-time save) and never has a prior passing
|
|
107
|
-
state to restore to, so the cleanup choice is **delete-or-keep** —
|
|
108
|
-
rollback doesn't apply here. The single carve-out is the fault-path
|
|
109
|
-
case at the end of this phase — a `WithoutAssertion` test that
|
|
110
|
-
consistently reaches a known fault is a valid regression scenario,
|
|
111
|
-
so the failure IS the intended artifact and the cleanup prompt is
|
|
112
|
-
skipped (confirm this intent with the user before treating the
|
|
113
|
-
failure as intended).
|
|
114
|
-
|
|
115
|
-
`POST /services/data/vXX.0/flowbuilder/flow-test` with body `flowTestJson`. Continue only when
|
|
116
|
-
`isSuccess === true` and `flowTestId` is a non-empty string; capture that
|
|
117
|
-
`320xxx` ID.
|
|
118
|
-
|
|
119
|
-
On `isSuccess: false`, surface each returned error's `message` and
|
|
120
|
-
`statusCode`; target a field only if the message identifies one, then
|
|
121
|
-
re-save (cap: one retry). The server's deep validator owns structural
|
|
122
|
-
correctness — don't pre-check against a memorized rule list. **No org
|
|
123
|
-
cleanup needed** on a failed `POST /services/data/vXX.0/flowbuilder/flow-test` — nothing was persisted.
|
|
124
|
-
If status or a usable ID is missing, surface the raw response and stop;
|
|
125
|
-
the create outcome is unproven, so do not run, update, or delete without a
|
|
126
|
-
confirmed ID.
|
|
127
|
-
|
|
128
|
-
Then **run it once** — `POST /services/data/vXX.0/flowbuilder/flow-test/actions/run` with the pinned `flowVersionId`
|
|
129
|
-
(**required**), the new `testIds`, and `showTrace: true`. Read per
|
|
130
|
-
[[flow.recipes.testing.run-results]]:
|
|
131
|
-
|
|
132
|
-
- `testStatus: "Pass"` → success for the documented run-result contract.
|
|
133
|
-
Report the `320xxx` ID and the version it's pinned to, and surface any
|
|
134
|
-
`interviewErrors` or `lastRunError` fields that are also present.
|
|
135
|
-
- Missing/empty `results` or a server error with no descriptor → no
|
|
136
|
-
documented per-test descriptor is available. Surface the raw response without inferring a
|
|
137
|
-
cause. Round-trip via `GET /services/data/vXX.0/flowbuilder/flow-test/{id}`, parse `flowTestJson`, and compare
|
|
138
|
-
it with what was sent. Apply one fix only if that comparison proves a
|
|
139
|
-
discrepancy, then call `dispatch(method: "PATCH", url: "/services/data/vXX.0/flowbuilder/flow-test/{id}")` with
|
|
140
|
-
`{id, flowTestJson: JSON.stringify(completeDefinition)}`. Re-run only
|
|
141
|
-
when the update returns `isSuccess === true`; otherwise surface its
|
|
142
|
-
errors or raw response and hand off to terminal failure. If the second
|
|
143
|
-
run still fails, hand off to the Terminal failure section below.
|
|
144
|
-
- Any returned descriptor whose `testStatus` is missing or is not exactly
|
|
145
|
-
`Pass` → report `lastRunFailedAssertions`, `lastRunError`, and
|
|
146
|
-
`interviewErrors` when present, then hand off to Terminal failure. Do not
|
|
147
|
-
assume a runtime error means `results` is absent.
|
|
148
|
-
- A fault path the user actually wants to lock in → the fault-path
|
|
149
|
-
carve-out applies. Confirm with the user; if confirmed, keep the
|
|
150
|
-
test and skip the Terminal failure prompt.
|
|
151
|
-
|
|
152
|
-
### Terminal failure — user chooses cleanup
|
|
153
|
-
|
|
154
|
-
Reached when no descriptor reports exactly `testStatus: "Pass"` after the one-shot self-correct
|
|
155
|
-
and the fault-path carve-out does not apply.
|
|
156
|
-
|
|
157
|
-
1. **Surface the failure.** Report to the user:
|
|
158
|
-
- (a) the verbatim run signal — `testStatus`, `lastRunFailedAssertions`,
|
|
159
|
-
`lastRunError`, `interviewErrors`, the retrieved-vs-sent diff, or the
|
|
160
|
-
raw absent/empty `results` response;
|
|
161
|
-
- (b) the specific binding field(s) implicated only when the response
|
|
162
|
-
identifies them;
|
|
163
|
-
- (c) the current org state — the `320xxx` id.
|
|
164
|
-
|
|
165
|
-
2. **Ask the user how to handle the artifact:**
|
|
166
|
-
|
|
167
|
-
> This smoke test is broken as saved. How do you want to handle it?
|
|
168
|
-
> - **delete** — remove the `320xxx` from the org.
|
|
169
|
-
> - **keep** — leave it in place for hand-editing; I'll report the
|
|
170
|
-
> `320xxx` and the failure trace.
|
|
171
|
-
|
|
172
|
-
Silence is not consent — wait for a reply.
|
|
173
|
-
|
|
174
|
-
3. **Execute the choice:**
|
|
175
|
-
- **delete** → `DELETE /services/data/vXX.0/flowbuilder/flow-test/{id}` with the CURRENT
|
|
176
|
-
smoke test's `320xxx` as the path `id` (single id per call —
|
|
177
|
-
there is no bulk delete). `save-debug` is one-shot per
|
|
178
|
-
invocation, so there is never more than one id in scope here.
|
|
179
|
-
Report deletion only when `isSuccess === true`. On `false`, surface
|
|
180
|
-
`errorMessage` when present; when status is missing, report the delete
|
|
181
|
-
outcome as unproven. The parent flow is untouched.
|
|
182
|
-
- **keep** → leave the artifact in place; report the `320xxx`, the
|
|
183
|
-
failure trace, and the pointer to `DELETE /services/data/vXX.0/flowbuilder/flow-test/{id}`
|
|
184
|
-
for later cleanup if the user changes their mind.
|
|
185
|
-
|
|
186
|
-
4. **Offer a redesign.** After cleanup, ask whether to re-enter at
|
|
187
|
-
Phase 1 (Assess) with a different binding, or stop.
|
|
188
|
-
|
|
189
|
-
---
|
|
190
|
-
|
|
191
|
-
## Editing an existing WithoutAssertion test
|
|
192
|
-
|
|
193
|
-
To change the pinned inputs, parse the current complete definition, make
|
|
194
|
-
the edits, and call `dispatch(method: "PATCH", url: "/services/data/vXX.0/flowbuilder/flow-test/{id}")` with
|
|
195
|
-
`{id, flowTestJson: JSON.stringify(completeDefinition)}`. Require
|
|
196
|
-
`isSuccess === true`; the wire shape has no partial patch. To **add**
|
|
197
|
-
assertions later (promote a smoke test to a real
|
|
198
|
-
assertion test), switch to
|
|
199
|
-
[[flow.recipes.testing.workflows.author-test]]'s build phase: add a
|
|
200
|
-
`Finish` `testPoint`, flip `testType` to `"WithAssertion"`, and re-save.
|
|
201
|
-
|
|
202
|
-
---
|
|
203
|
-
|
|
204
|
-
## Notes for callers
|
|
205
|
-
|
|
206
|
-
- This recipe is intentionally thin: it is author-test minus assertion
|
|
207
|
-
authoring and minus the assertion-intent review. If a scenario grows an
|
|
208
|
-
expectation, it graduates to author-test — don't bolt assertion logic
|
|
209
|
-
onto this path.
|
|
210
|
-
- Tool budget: 2–4 calls in the happy path (1 retrieve for eligibility/
|
|
211
|
-
shape via the analyzer, 1 store, 1 run, optionally 1 retrieve
|
|
212
|
-
round-trip on failure).
|
|
@@ -1,171 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: flow-resource-variable
|
|
3
|
-
license: LICENSE.txt has complete terms
|
|
4
|
-
description: "Use this skill when creating, editing, or asking about Flow variables, including collection variables, variable data types, input/output availability, default values, and the isExternallyAccessible setting. TRIGGER when: user asks to create a variable, declare a collection, set input/output availability, or configure variable data types. DO NOT TRIGGER when the user needs a formula or constant (use flow-resource-formula or flow-resource-constant)."
|
|
5
|
-
metadata:
|
|
6
|
-
version: "1.0"
|
|
7
|
-
related-skills: flow-value-rules, flow-formula-expression, flow-resource-constant
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
# Flow Variables
|
|
11
|
-
|
|
12
|
-
## Reference File Index
|
|
13
|
-
|
|
14
|
-
| File | Purpose |
|
|
15
|
-
|---|---|
|
|
16
|
-
| `examples/sobject-collection.json` | SObject collection variable |
|
|
17
|
-
| `examples/apex-collection.json` | Apex collection variable with output |
|
|
18
|
-
| `examples/currency-with-default.json` | Currency variable with default value |
|
|
19
|
-
| `examples/number-counter.json` | Number counter variable |
|
|
20
|
-
| `examples/wrong-both-types.json` | WRONG: Both objectType and apexClass set |
|
|
21
|
-
| `examples/wrong-collection-default.json` | WRONG: Collection with default value |
|
|
22
|
-
| `examples/wrong-currency-scale-zero.json` | WRONG: Currency with scale=0 |
|
|
23
|
-
| `examples/wrong-scale-exceeds-limit.json` | WRONG: Scale exceeds maximum of 17 |
|
|
24
|
-
| `examples/wrong-missing-scale.json` | WRONG: Missing required scale field |
|
|
25
|
-
|
|
26
|
-
## Overview
|
|
27
|
-
A variable is a named container that holds a value during a flow's execution. Variables can hold a single value or a collection (list) of values. They can be passed in from outside the flow (input), passed back out when the flow finishes (output), or used purely inside the flow.
|
|
28
|
-
|
|
29
|
-
## When to Use
|
|
30
|
-
Use a variable when you need to store, modify, or pass data within a flow. Use a collection variable when you need to work with multiple records or values of the same type. Use input/output settings to share data between flows or with calling code.
|
|
31
|
-
|
|
32
|
-
## Required Properties
|
|
33
|
-
| Property | Description | Constraints |
|
|
34
|
-
|---|---|---|
|
|
35
|
-
| Name (API Name) | Developer-facing unique identifier | Max 80 characters; must follow API naming rules |
|
|
36
|
-
| Data Type | The type of data the variable holds | Must be one of the supported types listed below; cannot be changed after creation |
|
|
37
|
-
|
|
38
|
-
## Optional Properties
|
|
39
|
-
| Property | Description | Default |
|
|
40
|
-
|---|---|---|
|
|
41
|
-
| Description | Human-readable explanation of the variable's purpose | Empty string |
|
|
42
|
-
| Collection | Whether the variable holds multiple values of the same type | false |
|
|
43
|
-
| Default Value | The initial value assigned to the variable | null (none) |
|
|
44
|
-
| Scale | Decimal places for Number and Currency types (range: 0-17) | Metadata default when omitted: 0; recommended for Currency: 2 (see Key Rules) |
|
|
45
|
-
| Object Type (subtype) | The Salesforce object or Apex class when Data Type is Record or Apex | null |
|
|
46
|
-
| Available for Input | Lets external callers pass a value in when the flow starts | false |
|
|
47
|
-
| Available for Output | Exposes the variable's value to callers after the flow runs | false |
|
|
48
|
-
| Externally Accessible | Controls whether the variable is exposed at all in capability-triggered flows | Depends on flow trigger type (true for most flows; false for automatic-input capability-triggered flows) |
|
|
49
|
-
|
|
50
|
-
## Data Types Supported
|
|
51
|
-
All of the following data types are supported for variables:
|
|
52
|
-
|
|
53
|
-
- **String** — text values
|
|
54
|
-
- **Number** — numeric values; supports a decimal scale
|
|
55
|
-
- **Currency** — monetary values; supports a decimal scale
|
|
56
|
-
- **Boolean** — true/false
|
|
57
|
-
- **Date** — a calendar date
|
|
58
|
-
- **DateTime** — date plus time
|
|
59
|
-
- **Time** — time of day (only available when the org has Time data type support and the flow process/trigger type supports it)
|
|
60
|
-
- **Picklist** — a single picklist value (no default value allowed)
|
|
61
|
-
- **Multi-Select Picklist** — multiple picklist values (no default value allowed)
|
|
62
|
-
- **Record (SObject)** — a Salesforce object record; requires selecting the Object Type; no default value allowed
|
|
63
|
-
- **Apex** — an Apex-defined type; requires selecting the Apex Class; the Apex class must be global or accessible from Flow context; no default value allowed; supports field access via dot-notation (e.g., `varWrapper.fieldName`)
|
|
64
|
-
|
|
65
|
-
## Collection Variables
|
|
66
|
-
Any data type can be used as a collection variable by checking "Allow multiple values (collection)". Key constraints:
|
|
67
|
-
- Collection variables **cannot have a default value**, regardless of data type.
|
|
68
|
-
- Collection variables with Record or Apex types behave like lists of records/objects.
|
|
69
|
-
- When `isCollection` is true, the `defaultValue` field is always ignored.
|
|
70
|
-
|
|
71
|
-
## Default Value Constraints
|
|
72
|
-
Default values are only available for these types on **non-collection** variables:
|
|
73
|
-
- String, Number, Currency, Boolean, Date, DateTime, Time
|
|
74
|
-
|
|
75
|
-
Default values are **NOT** available for:
|
|
76
|
-
- Picklist
|
|
77
|
-
- Multi-Select Picklist
|
|
78
|
-
- Record (SObject)
|
|
79
|
-
- Apex
|
|
80
|
-
- Any collection variable
|
|
81
|
-
|
|
82
|
-
The default value can be a literal or a reference to another resource (a value object).
|
|
83
|
-
|
|
84
|
-
## Input / Output Availability
|
|
85
|
-
- **Available for Input (isInput)** — the variable can be populated from the outside when the flow is invoked. Changing this setting on an existing variable that is already used as an input may cause runtime errors in calling flows.
|
|
86
|
-
- **Available for Output (isOutput)** — the variable's value is returned to the caller after the flow ends. Changing this or renaming an output variable on an existing flow may break calling flows.
|
|
87
|
-
- A warning is shown in the editor when you rename a variable or change its input/output settings if it was previously marked as input or output.
|
|
88
|
-
- Both can be true simultaneously (the variable is both readable and writable from outside the flow).
|
|
89
|
-
|
|
90
|
-
## isExternallyAccessible
|
|
91
|
-
- Controls whether the variable appears at all in external access contexts.
|
|
92
|
-
- Defaults to `true` for most flow types.
|
|
93
|
-
- Defaults to `false` specifically for capability-triggered flows that use automatic (non-manual) input configuration. In that case the variable is hidden from external callers unless the org has `optionalCapabilities` enabled and the flow is set to manual input.
|
|
94
|
-
- This is separate from `isInput`/`isOutput` — `isExternallyAccessible` gates visibility; `isInput`/`isOutput` control the direction.
|
|
95
|
-
|
|
96
|
-
## Validation Rules & Constraints
|
|
97
|
-
- Data Type must be set (cannot be null or undefined).
|
|
98
|
-
- When Data Type is Record (SObject) or Apex, the subtype (Object Type or Apex Class) is also required.
|
|
99
|
-
- Default value, if provided, must pass the resource-picker validation for the variable's data type.
|
|
100
|
-
- The data type **cannot be changed** after a variable has been saved (editor disables the picker in edit mode).
|
|
101
|
-
- API name max length is 80 characters. A variable has no label, only its API name: a `<label>` in `<variables>` fails the save.
|
|
102
|
-
|
|
103
|
-
## Common Patterns
|
|
104
|
-
- Store a record retrieved via Get Records into a Record variable to reuse its field values later.
|
|
105
|
-
- Use a collection Record variable as the target when Get Records returns multiple records.
|
|
106
|
-
- Mark a String variable as both input and output to pass data in, process it, and return the result.
|
|
107
|
-
- For scale guidance on Number/Currency variables, see the `scale` rule in the Metadata Shape > Key rules section.
|
|
108
|
-
- A Boolean variable is useful as a flag to track whether a condition was ever met during the flow.
|
|
109
|
-
- Use Apex collection variables as Transform element outputs when mapping SObject records to custom wrapper classes.
|
|
110
|
-
|
|
111
|
-
## Aura/Server Functions
|
|
112
|
-
- `getFlowInputOutputVariables` — retrieves the input and output variable definitions for a referenced flow (used when configuring subflow variable assignments)
|
|
113
|
-
|
|
114
|
-
## Metadata Shape
|
|
115
|
-
|
|
116
|
-
Variables live in `metadata.variables[]`. Each entry:
|
|
117
|
-
|
|
118
|
-
| Field | Type | Required | Notes |
|
|
119
|
-
|---|---|---|---|
|
|
120
|
-
| `name` | string | yes | dev-name; unique within the flow; ≤ 80 chars; ASCII alphanumeric + underscore |
|
|
121
|
-
| `description` | string | no | empty string by default |
|
|
122
|
-
| `dataType` | string | yes | `String`, `Number`, `Currency`, `Date`, `DateTime`, `Boolean`, `Picklist`, `Multipicklist`, `SObject`, `Apex` |
|
|
123
|
-
| `isCollection` | boolean | no | default `false` |
|
|
124
|
-
| `isInput` | boolean | no | default `false` — "Available for input" |
|
|
125
|
-
| `isOutput` | boolean | no | default `false` — "Available for output" |
|
|
126
|
-
| `scale` | number | **required** for `Number`/`Currency` | decimal places (0-17); **must not be null** — default to `0` if unspecified |
|
|
127
|
-
| `objectType` | string | conditional | ONLY when `dataType` = `"SObject"` |
|
|
128
|
-
| `apexClass` | string | conditional | ONLY when `dataType` = `"Apex"` |
|
|
129
|
-
| `value` | value object | no | optional default value |
|
|
130
|
-
|
|
131
|
-
### Key rules
|
|
132
|
-
|
|
133
|
-
- `dataType` must use exact Metadata API casing. Note: Multi-Select Picklist is `"Multipicklist"` (capital M, lowercase p) — NOT `"MultiPicklist"` or `"MultiSelectPicklist"`, which are rejected with a deserialization error.
|
|
134
|
-
- `objectType` is set if and only if `dataType === "SObject"`. `apexClass` is set if and only if `dataType === "Apex"`. **Never set both** — they are mutually exclusive.
|
|
135
|
-
- `scale` is required for `Number` and `Currency` (range: 0-17) — omitting it (null) causes a save warning that blocks activation. **Always set scale explicitly:** use `scale: 2` for Currency (standard financial precision), `scale: 0` for Number counters/IDs, `scale: 4-6` for scientific calculations. If the caller hasn't specified precision, default to `0` as a technical fallback, but note that `scale: 0` is rarely appropriate for Currency types as it truncates fractional amounts.
|
|
136
|
-
- `value` (default) is a value object (see `../../shared/value-rules.md` for complete value object rules). Omit the `value` field entirely when there is no default. Collection variables and SObject/Apex/Picklist variables cannot have a default value.
|
|
137
|
-
- `isCollection: true` is required when the variable will hold multiple rows (e.g. output of a `recordLookup` without `getFirstRecordOnly`, or an accumulator inside a `Loop`). An Assignment with `operator: "Add"` requires the target variable to be a collection OR a Number/Currency (for increment operations).
|
|
138
|
-
- `isInput: true` / `isOutput: true` variables define this flow's subflow contract. A calling flow's `inputAssignments[].name` must match an `isInput: true` variable in the called flow.
|
|
139
|
-
- When using Apex variables, verify the Apex class exists in the org before declaring the variable. The class must be global or accessible from the Flow context.
|
|
140
|
-
- Access fields on SObject or Apex variables using dot-notation: `varAccount.Name` or `varWrapper.orderNumber`.
|
|
141
|
-
- Declare only the variables that other elements reference. Speculative declarations bloat the flow and cause confusion.
|
|
142
|
-
- Variables don't have connectors and cannot throw.
|
|
143
|
-
|
|
144
|
-
### Save-time rejections
|
|
145
|
-
|
|
146
|
-
- `Variable '<name>' has both objectType and apexClass`
|
|
147
|
-
- `objectType '<name>' is not a valid sObject`
|
|
148
|
-
- `Variable '<name>' dataType requires objectType` (SObject without `objectType`)
|
|
149
|
-
- `In field: apexClass - no ApexClass named '<name>' found` (Apex variable with invalid class)
|
|
150
|
-
- `Variable '<name>' value type mismatch with dataType`
|
|
151
|
-
- `Can not construct instance of ...FlowDataType from String value 'MultiPicklist'` (wrong casing; use `Multipicklist`)
|
|
152
|
-
- `Cannot use Add operator on a non-collection variable` (Note: Add works on Number/Currency for increment operations)
|
|
153
|
-
- `Variable '<name>' has scale exceeding limit of 17` (scale > 17)
|
|
154
|
-
- `Element {http://soap.sforce.com/2006/04/metadata}label invalid at this location in type FlowVariable` (a `<label>` in a variable; remove it)
|
|
155
|
-
|
|
156
|
-
## Common Errors
|
|
157
|
-
|
|
158
|
-
**Both objectType and apexClass set**
|
|
159
|
-
See `examples/wrong-both-types.json`. Error: `Variable 'invalidVariable' has both objectType and apexClass`. These fields are mutually exclusive.
|
|
160
|
-
|
|
161
|
-
**Collection with default value**
|
|
162
|
-
See `examples/wrong-collection-default.json`. The `value` field is ignored; collections cannot have defaults and will be uninitialized.
|
|
163
|
-
|
|
164
|
-
**Currency with scale=0**
|
|
165
|
-
See `examples/wrong-currency-scale-zero.json`. While technically valid, `scale: 0` truncates fractional monetary amounts (e.g., $10.50 becomes $10). Always use `scale: 2` for standard financial precision unless you specifically need whole-dollar amounts.
|
|
166
|
-
|
|
167
|
-
**Scale exceeds limit**
|
|
168
|
-
See `examples/wrong-scale-exceeds-limit.json`. Error: `Variable 'preciseNumber' has scale exceeding limit of 17`. Maximum scale is 17.
|
|
169
|
-
|
|
170
|
-
**Missing scale for Currency/Number**
|
|
171
|
-
See `examples/wrong-missing-scale.json`. Activation blocked until `scale` is set. Default to `scale: 0` if unspecified.
|