@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
|
@@ -1,1110 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: consumer-goods-visit-and-activity-configure
|
|
3
|
-
description: "\"Set up retail execution\" / \"configure visit and activity\" with no narrowing qualifier means running UP TO NINE ACTS in order — Act 1 (Visit Specification), Act 2 (Template + Generic Questions), Act 3 (Activity, no questions yet), Act 4 (Link Questions to Activity - PRIMARY linking step: reuse generic + add activity-specific), Act 5 (Standard Activity - only when Act 1 created a NEW Visit Spec; a standard activity with the Facing/PriceSurvey/Distribution KPI questions the offline product survey requires), Act 6 (Assortments), Act 7 (Account Scoping), Act 8 (Plan Visits & Attach Activity - REQUIRED), and Act 9 (Verification - optional proof beat). Guided end-to-end admin setup of Retail Execution visit-and-activity workflows: Visit Spec creation/reuse, template with generic question structure, activity creation, linking questions to the activity (reused generic questions plus activity-specific ones), a standard activity for newly created Visit Specs, assortment-based product surveying, account-level scoping, visit planning with activity attachment, and end-to-end verification. Triggers on \"set up retail execution\", \"configure visit and activity\", \"create activity with questions\", \"enable assortments\", \"scope to accounts\", \"attach activity to visits\", \"plan visits\", \"verify setup\"."
|
|
4
|
-
metadata:
|
|
5
|
-
version: "1.0"
|
|
6
|
-
cliTools:
|
|
7
|
-
- tool:
|
|
8
|
-
- "sf"
|
|
9
|
-
semver: ">=2.0.0"
|
|
10
|
-
---
|
|
11
|
-
|
|
12
|
-
# Visit and Activity Setup (Acts 1-9)
|
|
13
|
-
|
|
14
|
-
**Setting up Retail Execution visit-and-activity means running up to NINE acts in order — Act 1 (Visit Specification), Act 2 (Template + Generic Questions), Act 3 (Activity), Act 4 (Link Questions to Activity — PRIMARY linking step), Act 5 (Standard Activity — only when Act 1 created a NEW Visit Spec), Act 6 (Assortments), Act 7 (Account Scoping), Act 8 (Plan Visits & Attach Activity - REQUIRED), and Act 9 (Verification - OPTIONAL proof beat).** This is the full end-to-end setup journey; Act 4 is where questions become real on the activity (reused generic + activity-specific), Act 5 gives a newly created Visit Spec its standard activity, Act 8 is the minimum required completion point, Act 9 is the final verification.
|
|
15
|
-
|
|
16
|
-
This skill is an **orchestrator** that guides an admin through setting up a complete Retail Execution activity workflow, delegating to atomic sub-skills for each act.
|
|
17
|
-
|
|
18
|
-
## Scope
|
|
19
|
-
|
|
20
|
-
"Set up retail execution" with no narrowing qualifier means running **up to nine acts** in order — Visit Specification, Template + Generic Questions, Activity, Link Questions to Activity (the primary linking step — reuse generic + add activity-specific), Standard Activity (only when Act 1 created a new Visit Spec), Assortments, Account Scoping, Plan Visits & Attach Activity (REQUIRED), and optional Verification (proof beat).
|
|
21
|
-
|
|
22
|
-
**Definition of done:** Act 8 complete (visits planned and activity attached). Act 9 is optional verification to prove the complete chain works.
|
|
23
|
-
|
|
24
|
-
## Preflight: Org & user gates (run ONCE, before Act 1)
|
|
25
|
-
|
|
26
|
-
These are org-/user-level preconditions for the *entire* steel thread, not per-act checks — verify them **once, up front, before delegating to Act 1**. Run them **in this order and STOP on the first that fails** (a missing org pref or user permission blocks everything downstream). Do not proceed to Act 1 until both pass.
|
|
27
|
-
|
|
28
|
-
### Gate 1 — User has the Retail Execution user permission
|
|
29
|
-
|
|
30
|
-
The running user needs the RE user permission (`PermissionsRunRetailExecution`, surfaced in the UI as "Run Retail Execution") for visit planning/execution to behave correctly. Check whether the current user has it assigned via any Permission Set using the `Count()` pattern:
|
|
31
|
-
|
|
32
|
-
```apex
|
|
33
|
-
// Run via: sf apex run --target-org <org-alias>
|
|
34
|
-
String userId = UserInfo.getUserId();
|
|
35
|
-
String userPermission = 'PermissionsRunRetailExecution';
|
|
36
|
-
Integer permissionSets = Database.countQuery(
|
|
37
|
-
'SELECT Count() FROM PermissionSet WHERE ' + userPermission +
|
|
38
|
-
' = true AND Id IN (SELECT PermissionSetId FROM PermissionSetAssignment WHERE AssigneeId = :userId)'
|
|
39
|
-
);
|
|
40
|
-
System.debug('RE permission-bearing permission sets assigned to user: ' + permissionSets);
|
|
41
|
-
```
|
|
42
|
-
|
|
43
|
-
**If the count is `0`, STOP and report:** **"The current user lacks the Retail Execution user permission. Assign a Permission Set that grants `Run Retail Execution` (`PermissionsRunRetailExecution`), then re-run."** A count `>= 1` confirms the user holds the permission through at least one assigned Permission Set.
|
|
44
|
-
|
|
45
|
-
### Gate 2 — Retail Execution is enabled for the org (org pref check)
|
|
46
|
-
|
|
47
|
-
The Visit Specification and all downstream RE objects only exist once Retail Execution is turned on. This is the `enableRetailExecution` flag on the `RetailExecutionSettings` metadata type — it is **not** SOQL-queryable, so retrieve the settings metadata and inspect the flag:
|
|
48
|
-
|
|
49
|
-
```bash
|
|
50
|
-
sf project retrieve start \
|
|
51
|
-
--metadata Settings:RetailExecution \
|
|
52
|
-
--target-org <org-alias>
|
|
53
|
-
```
|
|
54
|
-
|
|
55
|
-
Then open the retrieved `force-app/main/default/settings/RetailExecution.settings-meta.xml` and confirm:
|
|
56
|
-
|
|
57
|
-
```xml
|
|
58
|
-
<enableRetailExecution>true</enableRetailExecution>
|
|
59
|
-
```
|
|
60
|
-
|
|
61
|
-
**If `enableRetailExecution` is `false` (or the setting is absent), STOP and report:** **"Retail Execution is not enabled in this org. Enable it under Setup → Retail Execution Settings (or deploy `RetailExecutionSettings` with `enableRetailExecution=true`), then re-run."** Do NOT proceed to Act 1 against a disabled org — the Visit Specification create will fail or produce an unusable spec.
|
|
62
|
-
|
|
63
|
-
> Note: `RetailExecutionSettings` also exposes `enableProductHierarchy` and `enableVisitSharing`. Those are optional; only `enableRetailExecution` gates the steel thread.
|
|
64
|
-
|
|
65
|
-
## Before any writes: State the plan
|
|
66
|
-
|
|
67
|
-
Before creating any objects, output a single-line plan:
|
|
68
|
-
|
|
69
|
-
```text
|
|
70
|
-
📋 Acts to run: 1 (Visit Spec) → 2 (Template + 2 generic questions) → 3 (Activity) → 4 (Link questions: reuse generic + add activity-specific) → 5 (Standard Activity: only if the Visit Spec is new) → 6 (Assortments: Yes/No) → 7 (Scoping) → 8 (Plan Visits & Attach) → 9 (Verification: Yes/No)
|
|
71
|
-
```
|
|
72
|
-
|
|
73
|
-
## Orchestration Pattern
|
|
74
|
-
|
|
75
|
-
This skill does NOT execute API calls directly. Each act delegates to an atomic sub-skill. Full detail in `source/skills/actN-.../SKILL.md`.
|
|
76
|
-
|
|
77
|
-
### Act 1: Visit Specification
|
|
78
|
-
|
|
79
|
-
**End state:** Visit Specification exists (created or reused) with `UsageType: "Retail"`. Capture whether it was **created vs reused** (`visitSpecIsNew`) — Act 5 branches on it.
|
|
80
|
-
|
|
81
|
-
**Form:** Present reuse/create choice + name if creating.
|
|
82
|
-
|
|
83
|
-
**Delegate to:** `source/skills/act1-visit-specification/SKILL.md`
|
|
84
|
-
|
|
85
|
-
**Builder's intent**: "Set up the store-visit type every activity will attach to — and never create a duplicate, because duplicate specs cause activity-attachment mismatches and orphaned visits."
|
|
86
|
-
|
|
87
|
-
### Act 2: Template + Questions
|
|
88
|
-
|
|
89
|
-
**End state:** ATDT + 2 generic AIDs + 2 ATDTIDs exist.
|
|
90
|
-
|
|
91
|
-
**Form:** Template name, question 1 (name, DataType, context), question 2 (name, DataType, context).
|
|
92
|
-
|
|
93
|
-
**Delegate to:** `source/skills/act2-template-and-questions/SKILL.md`
|
|
94
|
-
|
|
95
|
-
**Builder's intent**: "I want reusable questions and a template that marks an activity as one-off, event-driven rather than a recurring standard task."
|
|
96
|
-
|
|
97
|
-
### Act 3: Activity Definition
|
|
98
|
-
|
|
99
|
-
**End state:** ATD exists, references ATDT from Act 2, linked to Visit Spec from Act 1. **No questions linked yet** — that's Act 4.
|
|
100
|
-
|
|
101
|
-
**Form:** Activity name, date range (ValidFrom/ValidTo).
|
|
102
|
-
|
|
103
|
-
**Delegate to:** `source/skills/act3-activity-definition/SKILL.md`
|
|
104
|
-
|
|
105
|
-
**Builder's intent**: "We're running a two-week promotion. I need a one-off activity for it, tied to our store-visit type, that only lives for those two weeks."
|
|
106
|
-
|
|
107
|
-
### Act 4: Link Questions to Activity
|
|
108
|
-
|
|
109
|
-
**End state:** ATID records exist linking questions to the activity — the activity had zero questions before this step (template links do NOT auto-flow).
|
|
110
|
-
|
|
111
|
-
**Form (two parts):**
|
|
112
|
-
1. **Reuse generic questions** — show the template's questions (from Act 2), ask which to link, capture DisplayOrder + IsMandatory per link.
|
|
113
|
-
2. **Add activity-specific questions?** [Yes/No] — if yes, for each: name, DataType, context, DisplayOrder, IsMandatory. Create the new AID with the activity's IOU, then link it.
|
|
114
|
-
|
|
115
|
-
**Delegate to:** `source/skills/act4-add-questions/SKILL.md`
|
|
116
|
-
|
|
117
|
-
**Builder's intent**: "Put my template questions on this activity, in order — plus any extra questions just for this one activity — and let me mark which ones are mandatory."
|
|
118
|
-
|
|
119
|
-
**Not optional:** without Act 4 the activity has no questions. (Adding *only* activity-specific questions, or reusing *only* generic ones, are both valid — but at least one question must be linked.)
|
|
120
|
-
|
|
121
|
-
### Act 5: Standard Activity
|
|
122
|
-
|
|
123
|
-
**Runs AUTOMATICALLY — never a manual step.** This Act is orchestrator-triggered on `visitSpecIsNew = true`; the user does **not** (and should not) ask for a standard activity. It fires **only when Act 1 created a NEW Visit Spec**. A brand-new Visit Spec has no standard activity, and the offline app resolves a visit's standard activity through its Visit Spec — so the Act 9 product-survey verification fails until one exists. **Skipped automatically** when the Visit Spec was reused.
|
|
124
|
-
|
|
125
|
-
**End state:** A standard `AssessmentTaskDefinition` (`IsStandardTask = true` — the only structural difference from the Act 3 activity) bound to the Act 1 Visit Spec and **time-scoped to the SAME `ValidFrom`/`ValidTo` window as the Act 3 activity**, carrying at least 3 questions whose `AssessmentKpi` covers **Facing**, **PriceSurvey**, and **Distribution**. (Or: skipped, when the spec was reused.)
|
|
126
|
-
|
|
127
|
-
**Form:** No trigger prompt — the automatic gate is `visitSpecIsNew = true`. When it fires, the only user input is the standard template **name** (ask by name, resolve to Id) and, if creating fresh questions, the KPI question details. Then either copy the template's KPI questions or create new ones covering Facing/PriceSurvey/Distribution. Reuse the Act 3 `ValidFrom`/`ValidTo` for the standard activity.
|
|
128
|
-
|
|
129
|
-
**Delegate to:** `source/skills/act5-standard-activity/SKILL.md`
|
|
130
|
-
|
|
131
|
-
**Builder's intent**: "A brand-new store-visit type needs the baseline standard activity with Facing, PriceSurvey, and Distribution questions, or the product survey has nothing to show and fails."
|
|
132
|
-
|
|
133
|
-
**Skip if:** Act 1 reused an existing Visit Spec (`visitSpecIsNew = false`).
|
|
134
|
-
|
|
135
|
-
### Act 6: Assortments
|
|
136
|
-
|
|
137
|
-
**End state:** ATD.ShouldIncludeAssortments updated to true.
|
|
138
|
-
|
|
139
|
-
**Form:** "Enable assortment-based product surveys? [Yes/No]"
|
|
140
|
-
|
|
141
|
-
**Delegate to:** `source/skills/act6-assortment-based/SKILL.md`
|
|
142
|
-
|
|
143
|
-
**Builder's intent**: "Show merchandisers only the products listed for the store they're actually in — a different product set per store, resolved at visit-open time."
|
|
144
|
-
|
|
145
|
-
**Skip if:** User says "No".
|
|
146
|
-
|
|
147
|
-
### Act 7: Account Scoping
|
|
148
|
-
|
|
149
|
-
**End state:** AsmtTskDefAcct records created — one per scoped account.
|
|
150
|
-
|
|
151
|
-
**Form:** "Which accounts should receive this activity?"
|
|
152
|
-
|
|
153
|
-
**Delegate to:** `source/skills/act7-account-scoping/SKILL.md`
|
|
154
|
-
|
|
155
|
-
**Builder's intent**: "This promo is only in our West region stores. Don't push it to every account — just those 40 locations."
|
|
156
|
-
|
|
157
|
-
### Act 8: Plan Visits & Attach Activity (REQUIRED)
|
|
158
|
-
|
|
159
|
-
**End state:** Assessment Tasks created from Activity Definition and attached to visits (existing or newly created).
|
|
160
|
-
|
|
161
|
-
**Form:** "Do visits already exist for these accounts in the window? [Yes, attach to existing / No, create new / Check first]"
|
|
162
|
-
|
|
163
|
-
**Delegate to:** `source/skills/act8-plan-and-attach/SKILL.md`
|
|
164
|
-
|
|
165
|
-
**Builder's intent**: "Now put it on a visit. If a visit already exists for these stores in the window, attach it. If not, create one for the right time frame. This attaching step is where it usually goes wrong."
|
|
166
|
-
|
|
167
|
-
**Skip if:** User explicitly opts out (not recommended - activity won't be usable without visits).
|
|
168
|
-
|
|
169
|
-
### Act 9: Verify the Merchandiser Gets the Activity (OPTIONAL)
|
|
170
|
-
|
|
171
|
-
**End state:** End-to-end verification complete — merchandiser has visit with activity, questions, and store-specific products. Ready to execute in mobile app.
|
|
172
|
-
|
|
173
|
-
**Form:** "Run verification? [Yes - prove the chain works / No - skip verification]"
|
|
174
|
-
|
|
175
|
-
**Delegate to:** `source/skills/act9-verification/SKILL.md`
|
|
176
|
-
|
|
177
|
-
**Builder's intent**: "Prove it. Show me a rep's visit actually carries the promo activity, with its questions and that store's products, inside the window, assigned to them."
|
|
178
|
-
|
|
179
|
-
**Skip if:**
|
|
180
|
-
- Already verified manually in Salesforce UI
|
|
181
|
-
- Confident in Acts 1-8 execution
|
|
182
|
-
- Testing in mobile app directly
|
|
183
|
-
|
|
184
|
-
**Agent Implementation:** When executing this skill, you MUST invoke the atomic sub-skills via their file paths. Do NOT implement the API calls inline.
|
|
185
|
-
|
|
186
|
-
---
|
|
187
|
-
|
|
188
|
-
## Data Model Understanding
|
|
189
|
-
|
|
190
|
-
**Two-Level Question Architecture:**
|
|
191
|
-
|
|
192
|
-
### Level 1: Template (ATDT) - Generic Questions
|
|
193
|
-
- **Act 2 creates**: ATDT + generic AID + ATDTID
|
|
194
|
-
- Generic questions define the reusable structure/types activities draw from
|
|
195
|
-
- Attached to template via ATDTID
|
|
196
|
-
- Reusable across multiple activities
|
|
197
|
-
|
|
198
|
-
### Level 2: Activity (ATD) - The Concrete Instance
|
|
199
|
-
- **Act 3 creates**: ATD only (references template, sets validity window) — **no questions, no links**
|
|
200
|
-
- Creating an ATD from a template does NOT copy the template's questions onto it (verified: a fresh ATD has zero activity-level links)
|
|
201
|
-
|
|
202
|
-
### Level 3: Activity Questions (ATID) - Where Questions Become Real
|
|
203
|
-
- **Act 4 creates**: the `AssessmentTaskIndDefinition` (ATID) links — the PRIMARY, enforceable linking step
|
|
204
|
-
- Handles **two kinds of questions**:
|
|
205
|
-
- **Generic (reused)** — the AIDs from Act 2's template, linked to the activity here
|
|
206
|
-
- **Activity-specific (new)** — brand-new AIDs created in Act 4 for this one activity (must share the activity's IOU)
|
|
207
|
-
|
|
208
|
-
### Standard activity (ATD, IsStandardTask = true) - Act 5
|
|
209
|
-
- **Act 5 creates** (only for a newly created Visit Spec): a standard `AssessmentTaskDefinition` with `IsStandardTask = true`, bound to the Act 1 Visit Spec, plus its own ATID links to the three KPI questions (`AssessmentKpi` = Facing, PriceSurvey, Distribution)
|
|
210
|
-
- The offline product survey resolves this standard activity via the visit's Visit Spec; without it, a new spec's product survey fails
|
|
211
|
-
|
|
212
|
-
**The Flow:**
|
|
213
|
-
```text
|
|
214
|
-
Act 2: Template + Generic Questions (via ATDTID) ← reusable library
|
|
215
|
-
↓
|
|
216
|
-
Act 3: Activity only (from template, validity window) ← no questions yet
|
|
217
|
-
↓
|
|
218
|
-
Act 4: Link questions to activity (via ATID) ← PRIMARY LINKING STEP
|
|
219
|
-
├─ reuse generic questions from the template
|
|
220
|
-
└─ (optionally) create + link activity-specific questions
|
|
221
|
-
↓
|
|
222
|
-
Act 5: Standard activity for a NEW Visit Spec ← Facing/PriceSurvey/Distribution
|
|
223
|
-
(IsStandardTask = true, bound to the Visit Spec; skipped if spec reused)
|
|
224
|
-
```
|
|
225
|
-
|
|
226
|
-
**Key Point:** Act 3 creates the activity container only. **Act 4 is where questions become real on the activity** — reusing the template's generic questions and/or adding activity-specific ones. Template links do NOT auto-flow to the activity. **Act 5** additionally ensures a newly created Visit Spec has its standard activity with the required KPI questions.
|
|
227
|
-
|
|
228
|
-
---
|
|
229
|
-
|
|
230
|
-
## What this skill does
|
|
231
|
-
|
|
232
|
-
Executes Acts 1-9:
|
|
233
|
-
|
|
234
|
-
**Act 1: Visit Specification**
|
|
235
|
-
- User provides name, searches for existing
|
|
236
|
-
- If not found: creates with user parameters
|
|
237
|
-
- Captures whether the spec was created (new) or reused (`visitSpecIsNew`) — gates Act 5
|
|
238
|
-
- Output: Visit Spec ID
|
|
239
|
-
|
|
240
|
-
**Act 2: Template Configuration + Generic Questions**
|
|
241
|
-
- User provides template name, searches for existing
|
|
242
|
-
- Creates template with generic question definitions
|
|
243
|
-
- **Creates generic AIDs (question structure/types)**
|
|
244
|
-
- **Creates ATDTID (links generic questions to template)**
|
|
245
|
-
- Template with generic questions is reusable
|
|
246
|
-
- Output: Template ID + Generic Question IDs
|
|
247
|
-
|
|
248
|
-
**Act 3: Activity Definition**
|
|
249
|
-
- Creates ATD (activity) from template, bound to the Visit Spec (Act 1)
|
|
250
|
-
- Sets the validity window (ValidFrom/ValidTo) and activates it
|
|
251
|
-
- **No questions are linked here** — the activity starts empty
|
|
252
|
-
- Output: Activity ID
|
|
253
|
-
|
|
254
|
-
**Act 4: Link Questions to Activity** ✨ **PRIMARY LINKING STEP**
|
|
255
|
-
- The activity has no questions until this step; template links do NOT auto-flow
|
|
256
|
-
- **Reuse generic questions** — link the AIDs created on the template in Act 2 to the activity
|
|
257
|
-
- **Add activity-specific questions (optional)** — create new AIDs unique to this activity (with the activity's IOU), then link them
|
|
258
|
-
- User sets DisplayOrder and IsMandatory per link
|
|
259
|
-
- Every AID linked must share the activity's `InternalOrganizationUnitId`
|
|
260
|
-
- Output: ATID IDs + any new activity-specific Question IDs
|
|
261
|
-
|
|
262
|
-
**Act 5: Standard Activity (automatic, only for a newly created Visit Spec)**
|
|
263
|
-
- Runs **automatically** when `visitSpecIsNew = true` (orchestrator-triggered, never user-requested); skipped when the spec was reused
|
|
264
|
-
- Asks the user for the **name** of an existing standard template (`AsmtTskDefTmpl`, `IsStandardTask = true`) and resolves it to an Id
|
|
265
|
-
- Creates a standard `AssessmentTaskDefinition` (`IsStandardTask = true`) bound to the Act 1 Visit Spec, **reusing the Act 3 `ValidFrom`/`ValidTo` window**
|
|
266
|
-
- Copies the template's KPI questions or creates new ones, then links ≥3 covering `AssessmentKpi` = Facing, PriceSurvey, Distribution
|
|
267
|
-
- Output: Standard Activity ID + KPI question IDs (or "skipped")
|
|
268
|
-
|
|
269
|
-
**Act 6: Enable Assortment-Based Surveying**
|
|
270
|
-
- User chooses to enable/disable assortments
|
|
271
|
-
- Updates ATD.ShouldIncludeAssortments
|
|
272
|
-
- Output: Assortment status
|
|
273
|
-
|
|
274
|
-
**Act 7: Account Scoping**
|
|
275
|
-
- User provides a specific list of accounts (by name or Id)
|
|
276
|
-
- Resolves the listed accounts to Ids and confirms each belongs to the activity's IOU
|
|
277
|
-
- Creates AsmtTskDefAcct junction records (activity → accounts)
|
|
278
|
-
- Output: Scoping count (N accounts scoped)
|
|
279
|
-
|
|
280
|
-
**Act 8: Plan Visits & Attach Activity (REQUIRED)**
|
|
281
|
-
- Checks for existing visits for the scoped accounts in the validity window
|
|
282
|
-
- Attaches the activity to existing visits, or creates new visits and attaches
|
|
283
|
-
- Creates Assessment Tasks from the Activity Definition
|
|
284
|
-
- Output: Visits planned + activity attached count
|
|
285
|
-
|
|
286
|
-
**Act 9: Verification (Optional)**
|
|
287
|
-
- Proves the end-to-end chain: a rep's visit carries the activity, its questions, and store-specific products, inside the window, assigned to them
|
|
288
|
-
- Output: Verification result
|
|
289
|
-
|
|
290
|
-
---
|
|
291
|
-
|
|
292
|
-
## Interactive Conversational Flow
|
|
293
|
-
|
|
294
|
-
### Form-Based Experience
|
|
295
|
-
|
|
296
|
-
Each Act gets its own form, presented one at a time. User fills in the form, the skill executes that Act, then moves to the next Act's form.
|
|
297
|
-
|
|
298
|
-
```text
|
|
299
|
-
🎯 Welcome! Let's set up your Retail Execution activity.
|
|
300
|
-
|
|
301
|
-
I'll walk you through up to 9 Acts, one at a time. For each Act, I'll show you a
|
|
302
|
-
form with all the information I need. Fill in the blanks, I'll execute that Act,
|
|
303
|
-
show you the result, then we move to the next one together. I won't skip ahead or
|
|
304
|
-
run the rest on autopilot.
|
|
305
|
-
|
|
306
|
-
Ready? Let's start with Act 1.
|
|
307
|
-
|
|
308
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
309
|
-
|
|
310
|
-
📋 ACT 1: Visit Specification
|
|
311
|
-
|
|
312
|
-
This creates the visit type that activities will use.
|
|
313
|
-
|
|
314
|
-
Fill in these details:
|
|
315
|
-
|
|
316
|
-
┌─────────────────────────────────────────────────────────
|
|
317
|
-
│ Visit Spec Name: _________________________________
|
|
318
|
-
│ (e.g., "Store Visit", "Audit Visit")
|
|
319
|
-
│
|
|
320
|
-
│ Valid From: ____________ (YYYY-MM-DD, e.g. 2026-07-01)
|
|
321
|
-
│
|
|
322
|
-
│ Valid To: ____________ (YYYY-MM-DD, e.g. 2027-06-30,
|
|
323
|
-
│ or "No end date" for an evergreen spec)
|
|
324
|
-
│
|
|
325
|
-
│ Duration: _________ (default: 30)
|
|
326
|
-
│
|
|
327
|
-
│ Duration Type: [Minute / Hour] (default: Minute)
|
|
328
|
-
│ (unit for the Duration above — 30 + Minute = 30-minute visit)
|
|
329
|
-
│
|
|
330
|
-
│ Capture start/end times? [Yes / No] (default: Yes)
|
|
331
|
-
│
|
|
332
|
-
│ Usage Type: [Retail / Service / Other] (default: Retail)
|
|
333
|
-
└─────────────────────────────────────────────────────────
|
|
334
|
-
|
|
335
|
-
[Submit Act 1]
|
|
336
|
-
|
|
337
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
338
|
-
|
|
339
|
-
⏳ Executing Act 1...
|
|
340
|
-
- Searching for existing Visit Spec "Store Visit"...
|
|
341
|
-
|
|
342
|
-
🔍 Found an existing "Store Visit" spec.
|
|
343
|
-
|
|
344
|
-
Reuse this or create new?
|
|
345
|
-
[Reuse] / [Create New]
|
|
346
|
-
|
|
347
|
-
✅ Act 1 Complete: Using Visit Spec "Store Visit".
|
|
348
|
-
|
|
349
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
350
|
-
|
|
351
|
-
📋 ACT 2: Template Configuration + Generic Questions
|
|
352
|
-
|
|
353
|
-
This creates a reusable template with generic question definitions.
|
|
354
|
-
|
|
355
|
-
Fill in these details:
|
|
356
|
-
|
|
357
|
-
┌─────────────────────────────────────────────────────────
|
|
358
|
-
│ TEMPLATE CONFIGURATION
|
|
359
|
-
│ ─────────────────────────
|
|
360
|
-
│ Template Name: _____________________________________
|
|
361
|
-
│ (e.g., "Compliance Template")
|
|
362
|
-
│
|
|
363
|
-
│ Activity Type:
|
|
364
|
-
│ [ ] Event-driven (time-boxed promo, with date range)
|
|
365
|
-
│ [ ] Recurring (ongoing, like weekly checks)
|
|
366
|
-
│
|
|
367
|
-
│ Include specific accounts? [Yes / No] (default: Yes)
|
|
368
|
-
│
|
|
369
|
-
│ Include assortments? [Yes / No] (default: Yes)
|
|
370
|
-
│
|
|
371
|
-
│ ─────────────────────────
|
|
372
|
-
│ GENERIC QUESTION DEFINITIONS (for template)
|
|
373
|
-
│ ─────────────────────────
|
|
374
|
-
│ How many generic questions? _____
|
|
375
|
-
│
|
|
376
|
-
│ ┌─── Generic Question 1 ────────────────────────────
|
|
377
|
-
│ │ Name: _______________________________________
|
|
378
|
-
│ │ Data Type: [Boolean / Number / Text / Date]
|
|
379
|
-
│ │ Assessment Context: [Store / Store and Merchandising Section]
|
|
380
|
-
│ └───────────────────────────────────────────────────
|
|
381
|
-
│
|
|
382
|
-
│ ┌─── Generic Question 2 ────────────────────────────
|
|
383
|
-
│ │ Name: _______________________________________
|
|
384
|
-
│ │ Data Type: [Boolean / Number / Text / Date]
|
|
385
|
-
│ │ Assessment Context: [Store / Store and Merchandising Section]
|
|
386
|
-
│ └───────────────────────────────────────────────────
|
|
387
|
-
│
|
|
388
|
-
│ [+ Add more questions if needed]
|
|
389
|
-
└─────────────────────────────────────────────────────────
|
|
390
|
-
|
|
391
|
-
[Submit Act 2]
|
|
392
|
-
|
|
393
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
394
|
-
|
|
395
|
-
⏳ Executing Act 2...
|
|
396
|
-
- Searching for existing template "Compliance Template"...
|
|
397
|
-
❌ Not found. Creating new template...
|
|
398
|
-
|
|
399
|
-
- Creating generic question 1: "Display Setup Correct?"... ✅
|
|
400
|
-
- Linking it to the template... ✅
|
|
401
|
-
|
|
402
|
-
- Creating generic question 2: "Facings Count"... ✅
|
|
403
|
-
- Linking it to the template... ✅
|
|
404
|
-
|
|
405
|
-
✅ Act 2 Complete: Template "Compliance Template" with 2 generic questions.
|
|
406
|
-
|
|
407
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
408
|
-
|
|
409
|
-
📋 ACT 3: Activity Definition
|
|
410
|
-
|
|
411
|
-
This creates the activity container. Questions are linked in Act 4.
|
|
412
|
-
|
|
413
|
-
Fill in these details:
|
|
414
|
-
|
|
415
|
-
┌─────────────────────────────────────────────────────────
|
|
416
|
-
│ ACTIVITY DETAILS │
|
|
417
|
-
│ ───────────────── │
|
|
418
|
-
│ Activity Name: ______________________________________ │
|
|
419
|
-
│ (e.g., "Q1 Promotion Compliance") │
|
|
420
|
-
│
|
|
421
|
-
│ Date Range (for event-driven):
|
|
422
|
-
│ Start Date: ____________ (YYYY-MM-DD, e.g. 2026-03-01)
|
|
423
|
-
│ End Date: ____________ (YYYY-MM-DD, e.g. 2026-03-14)
|
|
424
|
-
└─────────────────────────────────────────────────────────
|
|
425
|
-
|
|
426
|
-
[Submit Act 3]
|
|
427
|
-
|
|
428
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
429
|
-
|
|
430
|
-
⏳ Executing Act 3...
|
|
431
|
-
- Creating activity "Q1 Promotion Compliance"... ✅
|
|
432
|
-
|
|
433
|
-
✅ Act 3 Complete: Activity "Q1 Promotion Compliance" created (no questions yet).
|
|
434
|
-
|
|
435
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
436
|
-
|
|
437
|
-
📋 ACT 4: Link Questions to the Activity (PRIMARY LINKING STEP)
|
|
438
|
-
|
|
439
|
-
The activity has no questions yet — the template's questions do NOT flow to it
|
|
440
|
-
automatically. Two kinds of questions can land here:
|
|
441
|
-
• Generic — reuse the questions from your Act 2 template (shared, reusable)
|
|
442
|
-
• Activity-specific — new questions unique to THIS activity only
|
|
443
|
-
|
|
444
|
-
┌─────────────────────────────────────────────────────────
|
|
445
|
-
│ PART A — REUSE GENERIC QUESTIONS (from the template) │
|
|
446
|
-
│ ───────────────────────────── │
|
|
447
|
-
│ Template "Compliance Template" has these questions: │
|
|
448
|
-
│ [ ] Display Setup Correct? (Boolean, Store) │
|
|
449
|
-
│ [ ] Facings Count (Number, Store & Merch. Section) │
|
|
450
|
-
│ Tick the ones to put on this activity, then set: │
|
|
451
|
-
│ Display Order: _____ (1 = first) Mandatory? [Yes/No] │
|
|
452
|
-
│ ───────────────────────────── │
|
|
453
|
-
│ PART B — ADD ACTIVITY-SPECIFIC QUESTIONS (optional) │
|
|
454
|
-
│ ───────────────────────────── │
|
|
455
|
-
│ Add questions unique to this activity? [Yes / No] │
|
|
456
|
-
│ If Yes, per question: │
|
|
457
|
-
│ ┌─── New Question ──────────────────────────────────┐ │
|
|
458
|
-
│ │ Name: _______________________________________ │
|
|
459
|
-
│ │ Data Type: [Boolean / Number / Text / Date] │
|
|
460
|
-
│ │ Assessment Context: [Store / Store and Merchandising Section] │
|
|
461
|
-
│ │ Display Order: _____ Mandatory? [Yes / No] │
|
|
462
|
-
│ └───────────────────────────────────────────────────┘ │
|
|
463
|
-
│ (Created with the activity's IOU so it can be linked.) │
|
|
464
|
-
└─────────────────────────────────────────────────────────
|
|
465
|
-
|
|
466
|
-
[Submit Act 4]
|
|
467
|
-
|
|
468
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
469
|
-
|
|
470
|
-
⏳ Executing Act 4...
|
|
471
|
-
- Linking generic question "Display Setup Correct?" (order 1, mandatory)... ✅
|
|
472
|
-
- Linking generic question "Facings Count" (order 2, optional)... ✅
|
|
473
|
-
- Creating activity-specific question "Product Available?"... ✅
|
|
474
|
-
- Linking it to the activity (order 3, mandatory)... ✅
|
|
475
|
-
|
|
476
|
-
✅ Act 4 Complete: 3 questions on activity (2 reused from template, 1 activity-specific)!
|
|
477
|
-
|
|
478
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
479
|
-
|
|
480
|
-
📋 ACT 5: Standard Activity (AUTOMATIC — only if the Visit Spec is new)
|
|
481
|
-
|
|
482
|
-
Fires AUTOMATICALLY when Act 1 created a NEW Visit Spec — the user never asks for
|
|
483
|
-
it. A new Visit Spec has no standard activity, so the offline product survey
|
|
484
|
-
(Act 9) would fail. Skipped automatically when the Visit Spec was reused.
|
|
485
|
-
|
|
486
|
-
┌─────────────────────────────────────────────────────────
|
|
487
|
-
│ Auto-gate: was the Visit Spec newly created in Act 1? │
|
|
488
|
-
│ • Reused → skip Act 5 (existing spec already has one) │
|
|
489
|
-
│ • New → auto-create the standard activity below │
|
|
490
|
-
│ │
|
|
491
|
-
│ Standard Template — ask by NAME (not Id): │
|
|
492
|
-
│ Standard template name: __________________________ │
|
|
493
|
-
│ (resolved to an Id; this Act does NOT create it) │
|
|
494
|
-
│ │
|
|
495
|
-
│ Validity window: reuses the Act 3 ValidFrom/ValidTo │
|
|
496
|
-
│ │
|
|
497
|
-
│ KPI questions (must cover all three): │
|
|
498
|
-
│ [ ] Facing [ ] PriceSurvey [ ] Distribution │
|
|
499
|
-
│ Copy from the standard template, or create new? │
|
|
500
|
-
│ [ Copy from template / Create new ] │
|
|
501
|
-
└─────────────────────────────────────────────────────────
|
|
502
|
-
|
|
503
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
504
|
-
|
|
505
|
-
⏳ Executing Act 5...
|
|
506
|
-
- Visit Spec is new → creating the standard activity (IsStandardTask=true)...
|
|
507
|
-
- Bound to Visit Spec "Store Visit"... ✅
|
|
508
|
-
- Linking KPI questions: Facing ✅ PriceSurvey ✅ Distribution ✅
|
|
509
|
-
- Verified all three KPIs present.
|
|
510
|
-
|
|
511
|
-
✅ Act 5 Complete: Standard activity ready with Facing, PriceSurvey, Distribution.
|
|
512
|
-
(Or, when reused: "✅ Act 5 Skipped: Visit Spec was reused.")
|
|
513
|
-
|
|
514
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
515
|
-
|
|
516
|
-
📋 ACT 6: Enable Assortments
|
|
517
|
-
|
|
518
|
-
Enable dynamic, store-specific product surveying?
|
|
519
|
-
|
|
520
|
-
What this does:
|
|
521
|
-
✓ Product-level questions repeat for each product
|
|
522
|
-
✓ Product list determined by store's assortment at visit time
|
|
523
|
-
✓ Different stores see different products automatically
|
|
524
|
-
|
|
525
|
-
Example: Store A has 12 products, Store B has 18 products.
|
|
526
|
-
"Facings Count" question appears 12 times for Store A,
|
|
527
|
-
18 times for Store B.
|
|
528
|
-
|
|
529
|
-
┌─────────────────────────────────────────────────────────
|
|
530
|
-
│ Enable assortment-based product surveying? │
|
|
531
|
-
│
|
|
532
|
-
│ [ ] Yes - Enable dynamic product lists │
|
|
533
|
-
│ [ ] No - Keep questions fixed (no per-product repeat) │
|
|
534
|
-
└─────────────────────────────────────────────────────────
|
|
535
|
-
|
|
536
|
-
[Submit Act 6]
|
|
537
|
-
|
|
538
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
539
|
-
|
|
540
|
-
⏳ Executing Act 6...
|
|
541
|
-
- Updating activity to enable assortments...
|
|
542
|
-
|
|
543
|
-
✅ Act 6 Complete: Assortments enabled!
|
|
544
|
-
|
|
545
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
546
|
-
|
|
547
|
-
📋 ACT 7: Account Scoping
|
|
548
|
-
|
|
549
|
-
Scope this activity to a specific set of stores.
|
|
550
|
-
|
|
551
|
-
┌─────────────────────────────────────────────────────────
|
|
552
|
-
│ Which accounts should receive this activity? │
|
|
553
|
-
│
|
|
554
|
-
│ List them (by name or Id): │
|
|
555
|
-
│ Accounts: _____________________________________ │
|
|
556
|
-
│ (e.g., "Store 101, Store 102, Store 103" │
|
|
557
|
-
│ or their 001… Ids) │
|
|
558
|
-
└─────────────────────────────────────────────────────────
|
|
559
|
-
|
|
560
|
-
[Submit Act 7]
|
|
561
|
-
|
|
562
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
563
|
-
|
|
564
|
-
⏳ Executing Act 7...
|
|
565
|
-
- Resolving the accounts you listed to their Ids...
|
|
566
|
-
- Confirming each belongs to the activity's org unit... ✅
|
|
567
|
-
- Scoping the activity to those accounts... ✅
|
|
568
|
-
|
|
569
|
-
✅ Act 7 Complete: Activity scoped to 3 stores (Store 101, 102, 103).
|
|
570
|
-
|
|
571
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
572
|
-
|
|
573
|
-
📋 ACT 8: Plan Visits & Attach Activity (REQUIRED)
|
|
574
|
-
|
|
575
|
-
Put the activity on visits. If visits already exist for these stores in the
|
|
576
|
-
window, attach to them; otherwise create new ones.
|
|
577
|
-
|
|
578
|
-
┌─────────────────────────────────────────────────────────
|
|
579
|
-
│ Do visits already exist for these accounts in the window?│
|
|
580
|
-
│
|
|
581
|
-
│ [ ] Yes — attach the activity to existing visits │
|
|
582
|
-
│ [ ] No — create new visits, then attach │
|
|
583
|
-
│ [ ] Check first — look, then decide │
|
|
584
|
-
│
|
|
585
|
-
│ If creating new visits: │
|
|
586
|
-
│ Visit date(s): ____________ (within 2026-03-01…03-14) │
|
|
587
|
-
└─────────────────────────────────────────────────────────
|
|
588
|
-
|
|
589
|
-
[Submit Act 8]
|
|
590
|
-
|
|
591
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
592
|
-
|
|
593
|
-
⏳ Executing Act 8...
|
|
594
|
-
- Checking for existing visits for the 3 stores in the window...
|
|
595
|
-
- Found 1 existing visit; creating 2 new ones... ✅
|
|
596
|
-
- Attaching the activity (Assessment Tasks) to all 3 visits... ✅
|
|
597
|
-
|
|
598
|
-
✅ Act 8 Complete: Activity attached to 3 visits.
|
|
599
|
-
|
|
600
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
601
|
-
|
|
602
|
-
📋 ACT 9: Verify the Merchandiser Gets the Activity (Optional)
|
|
603
|
-
|
|
604
|
-
Prove the whole chain works end-to-end before reps hit the field.
|
|
605
|
-
|
|
606
|
-
┌─────────────────────────────────────────────────────────
|
|
607
|
-
│ Run verification? │
|
|
608
|
-
│
|
|
609
|
-
│ [ ] Yes — prove the chain works │
|
|
610
|
-
│ [ ] No — skip (already verified / testing in mobile) │
|
|
611
|
-
└─────────────────────────────────────────────────────────
|
|
612
|
-
|
|
613
|
-
[Submit Act 9]
|
|
614
|
-
|
|
615
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
616
|
-
|
|
617
|
-
⏳ Executing Act 9...
|
|
618
|
-
- Picking a sample rep and their visit...
|
|
619
|
-
- Confirming the visit carries the activity... ✅
|
|
620
|
-
- Confirming the activity's questions are present... ✅
|
|
621
|
-
- Confirming store-specific products resolve from the assortment... ✅
|
|
622
|
-
- Confirming the visit falls inside the window and is assigned... ✅
|
|
623
|
-
|
|
624
|
-
✅ Act 9 Complete: Verified — the rep's visit carries the activity, its
|
|
625
|
-
questions, and that store's products, inside the window.
|
|
626
|
-
|
|
627
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
628
|
-
|
|
629
|
-
🎉 ALL ACTS COMPLETE!
|
|
630
|
-
|
|
631
|
-
Your Retail Execution activity is ready:
|
|
632
|
-
|
|
633
|
-
┌─────────────────────────────────────────────────────────
|
|
634
|
-
│ Activity: Q1 Promotion Compliance │
|
|
635
|
-
│
|
|
636
|
-
│ Configuration: │
|
|
637
|
-
│ • Visit Spec: Store Visit │
|
|
638
|
-
│ • Template: Compliance Template │
|
|
639
|
-
│ • Date Range: 2026-03-01 to 2026-03-14 │
|
|
640
|
-
│ • Questions: 2 (1 mandatory) │
|
|
641
|
-
│ • Standard activity: created (Facing/PriceSurvey/Distribution) │
|
|
642
|
-
│ • Assortments: Enabled │
|
|
643
|
-
│ • Scoping: 3 stores (Store 101, 102, 103) │
|
|
644
|
-
│ • Visits: attached to 3 visits │
|
|
645
|
-
│ • Verified: Yes │
|
|
646
|
-
│
|
|
647
|
-
│ Questions: │
|
|
648
|
-
│ 1. Display Setup Correct? (mandatory, Store context) │
|
|
649
|
-
│ 2. Facings Count (optional, Store and Merch. Section) │
|
|
650
|
-
└─────────────────────────────────────────────────────────
|
|
651
|
-
|
|
652
|
-
Ready for use in Retail Execution mobile app! ✅
|
|
653
|
-
```
|
|
654
|
-
|
|
655
|
-
> **Note:** The summary refers to records by their human names only. Raw record IDs are tracked internally (see "Never print session state" in Key Rules) — do not surface them in the completion message.
|
|
656
|
-
|
|
657
|
-
---
|
|
658
|
-
|
|
659
|
-
## Agent Implementation: How to Execute the Orchestrator
|
|
660
|
-
|
|
661
|
-
**CRITICAL:** This skill is an ORCHESTRATOR. Do NOT implement API calls inline. Instead, delegate to atomic sub-skills.
|
|
662
|
-
|
|
663
|
-
### Execution Pattern
|
|
664
|
-
|
|
665
|
-
For each Act:
|
|
666
|
-
|
|
667
|
-
1. **Present the complete form** - Show ALL blanks for that Act in one message using the box-drawing format above
|
|
668
|
-
2. **Wait for user to fill all blanks** - User provides all values together
|
|
669
|
-
3. **Parse the response** - Extract all field values from the user's response
|
|
670
|
-
4. **Invoke the atomic sub-skill** - Call the appropriate Act sub-skill file with gathered parameters
|
|
671
|
-
5. **Capture outputs** - Save visitSpecId, templateId, activityId, etc. from the sub-skill response **into internal state only** — do not print them
|
|
672
|
-
6. **Show completion status** - Display a short plain-language success message that names records by their human name (e.g., "✅ Act 3 done — *Q1 Promotion Compliance* is live"). **Never** include raw record IDs or the `actN_complete` flag (see Key Rule 7)
|
|
673
|
-
|
|
674
|
-
### How to Invoke Atomic Sub-Skills
|
|
675
|
-
|
|
676
|
-
Use the Read tool to load each atomic skill, then execute it. **Use repository-relative paths** — resolved against this orchestrator skill's own directory (`.../retail-execution/visit-and-activity-setup/`).
|
|
677
|
-
|
|
678
|
-
```python
|
|
679
|
-
# Example for Act 1 — path relative to this skill's directory
|
|
680
|
-
Read('source/skills/act1-visit-specification/SKILL.md')
|
|
681
|
-
# Parse the skill instructions
|
|
682
|
-
# Execute the API calls as specified in that skill
|
|
683
|
-
# Return visitSpecId and visitSpecIsNew
|
|
684
|
-
|
|
685
|
-
# Example for Act 2
|
|
686
|
-
Read('source/skills/act2-template-and-questions/SKILL.md')
|
|
687
|
-
# Execute with visitSpecId from Act 1
|
|
688
|
-
# Return templateId, questionIds
|
|
689
|
-
|
|
690
|
-
# And so on for Acts 3-9 (source/skills/act<N>-.../SKILL.md)
|
|
691
|
-
```
|
|
692
|
-
|
|
693
|
-
**DO NOT** re-implement the API calls in this orchestrator. Each atomic skill contains the correct API endpoints, field names, and logic. The per-act forms to present are shown in the "Interactive Conversational Flow" section above.
|
|
694
|
-
|
|
695
|
-
### Key Rules
|
|
696
|
-
|
|
697
|
-
1. **Never ask one field at a time** - Always present the complete form for an Act
|
|
698
|
-
2. **Use AskUserQuestion tool** - Present form as question text with options where applicable
|
|
699
|
-
3. **Parse grouped responses** - User will provide all values together, extract each field
|
|
700
|
-
4. **Validate before executing** - Check all required fields are provided
|
|
701
|
-
5. **Show visual progress** - Use the box-drawing format from the examples above
|
|
702
|
-
6. **Always go step-by-step — never offer to "run straight through"** - Run exactly one Act per turn, then STOP. Present that Act's form, execute it after the user submits, show the result, and wait for the user before starting the next Act. Do **not** auto-apply the form defaults on the user's behalf: defaults are *pre-filled suggestions in the form* the user still confirms or overrides. The `actN_complete` gate (see each sub-skill's "Session state to track & handoff") is the checkpoint — advance to Act N+1 only after the user has reviewed Act N's result.
|
|
703
|
-
7. **Never print session state to the user** - The `actN_complete` flags, handoff variables, and raw record IDs (visitSpecId, templateId, activityId, ATID/ATDTID ids, etc.) are **internal orchestration bookkeeping**. Track them silently across Acts; do **not** echo the state YAML, variable names, gate flags, or ID lists into the conversation. When an Act completes, confirm it to the user in **plain language** ("✅ Act 3 done — your activity is created and live"), not with a record-ID dump. Reference records by their human name ("the *Q1 Promotion Compliance* activity"), never by their raw Id.
|
|
704
|
-
|
|
705
|
-
---
|
|
706
|
-
|
|
707
|
-
## Data Flow Diagram
|
|
708
|
-
|
|
709
|
-
```text
|
|
710
|
-
Act 1: Create Visit Spec
|
|
711
|
-
└─ Output: visitSpecId, visitSpecIsNew (created vs reused)
|
|
712
|
-
|
|
713
|
-
Act 2: Create Template + Questions
|
|
714
|
-
├─ Create ATDT (template) ← configuration
|
|
715
|
-
│ └─ Output: templateId
|
|
716
|
-
│
|
|
717
|
-
├─ Create AIDs (questions) ← attached to template
|
|
718
|
-
│ └─ Output: questionIds[]
|
|
719
|
-
│
|
|
720
|
-
└─ Create ATDTIDs (junction) ← links AIDs to ATDT
|
|
721
|
-
└─ Output: atdtidIds[]
|
|
722
|
-
|
|
723
|
-
Act 3: Create Activity
|
|
724
|
-
└─ Create ATD (activity) ← references templateId, inherits questions
|
|
725
|
-
└─ Output: activityId
|
|
726
|
-
|
|
727
|
-
Act 4: Link Template Questions to Activity (PRIMARY LINKING STEP)
|
|
728
|
-
└─ Create ATIDs (junction) ← links template's AIDs to ATD
|
|
729
|
-
├─ Sets DisplayOrder per activity
|
|
730
|
-
├─ Sets IsMandatory per activity
|
|
731
|
-
└─ Output: atidIds[]
|
|
732
|
-
|
|
733
|
-
Act 5: Standard Activity (AUTO — only if visitSpecIsNew = true)
|
|
734
|
-
├─ Ask for standard ATDT by NAME (IsStandardTask = true) → resolve Id
|
|
735
|
-
├─ Create standard ATD (IsStandardTask = true) ← bound to visitSpecId,
|
|
736
|
-
│ reuses Act 3 ValidFrom/ValidTo
|
|
737
|
-
└─ Link ≥3 KPI questions (AssessmentKpi: Facing, PriceSurvey, Distribution)
|
|
738
|
-
└─ Output: standardActivityId, standardKpiQuestions[] (or: skipped)
|
|
739
|
-
|
|
740
|
-
Act 6: Enable Assortments
|
|
741
|
-
└─ Update ATD.ShouldIncludeAssortments
|
|
742
|
-
|
|
743
|
-
Act 7: Account Scoping
|
|
744
|
-
└─ Create AsmtTskDefAcct (junction) ← links activity to specific accounts
|
|
745
|
-
└─ Output: scoping count (N accounts)
|
|
746
|
-
|
|
747
|
-
Act 8: Plan Visits & Attach Activity (REQUIRED)
|
|
748
|
-
├─ Check/create visits for scoped accounts in the window
|
|
749
|
-
└─ Create Assessment Tasks from ATD ← attach activity to visits
|
|
750
|
-
└─ Output: visits planned + activity attached
|
|
751
|
-
|
|
752
|
-
Act 9: Verification (Optional)
|
|
753
|
-
└─ Prove the chain: visit carries activity, questions, store products,
|
|
754
|
-
in window, assigned to a rep
|
|
755
|
-
└─ Output: verification result
|
|
756
|
-
```
|
|
757
|
-
|
|
758
|
-
---
|
|
759
|
-
|
|
760
|
-
## Key Corrections
|
|
761
|
-
|
|
762
|
-
### Architecture Summary
|
|
763
|
-
|
|
764
|
-
```text
|
|
765
|
-
Act 2: Create template (ATDT) + questions (AID) + template-question links (ATDTID)
|
|
766
|
-
Act 3: Create activity (ATD) - references template
|
|
767
|
-
Act 4: Link template questions to activity (ATID) - PRIMARY LINKING STEP
|
|
768
|
-
Act 5: Standard activity (ATD, IsStandardTask=true) for a NEW Visit Spec - Facing/PriceSurvey/Distribution
|
|
769
|
-
```
|
|
770
|
-
|
|
771
|
-
---
|
|
772
|
-
|
|
773
|
-
## Example Conversational Session
|
|
774
|
-
|
|
775
|
-
```text
|
|
776
|
-
🤖 Let's set up your Retail Execution activity.
|
|
777
|
-
|
|
778
|
-
📋 ACT 1: Visit Specification
|
|
779
|
-
Q: Visit Spec name?
|
|
780
|
-
A: Compliance Visit
|
|
781
|
-
|
|
782
|
-
Q: Found existing "Compliance Visit". Reuse?
|
|
783
|
-
A: Yes
|
|
784
|
-
|
|
785
|
-
✅ Visit Spec "Compliance Visit" ready. (reused — Act 5 will be skipped)
|
|
786
|
-
|
|
787
|
-
📋 ACT 2: Template Configuration
|
|
788
|
-
Q: Template name?
|
|
789
|
-
A: Standard Compliance Template
|
|
790
|
-
|
|
791
|
-
Q: Found existing. Reuse?
|
|
792
|
-
A: Yes
|
|
793
|
-
|
|
794
|
-
✅ Template "Standard Compliance Template" ready (event-driven).
|
|
795
|
-
|
|
796
|
-
📋 ACT 3: Activity Definition
|
|
797
|
-
Q: Activity name?
|
|
798
|
-
A: March Planogram Compliance
|
|
799
|
-
|
|
800
|
-
Q: Start date?
|
|
801
|
-
A: 2026-03-01
|
|
802
|
-
|
|
803
|
-
Q: End date?
|
|
804
|
-
A: 2026-03-31
|
|
805
|
-
|
|
806
|
-
✅ Activity "March Planogram Compliance" created (no questions yet).
|
|
807
|
-
|
|
808
|
-
📋 ACT 4: Link Questions to the Activity (PRIMARY LINKING STEP)
|
|
809
|
-
|
|
810
|
-
🔸 Your template "Standard Compliance Template" carries 2 generic questions.
|
|
811
|
-
These aren't on the activity yet — let's link the ones you want, and add
|
|
812
|
-
any questions unique to this activity.
|
|
813
|
-
|
|
814
|
-
Q: Which template (generic) questions should appear on this activity?
|
|
815
|
-
[1] Display Setup Correct? (Boolean, Store)
|
|
816
|
-
[2] Number of Facings (Number, Store and Merchandising Section)
|
|
817
|
-
A: Both
|
|
818
|
-
|
|
819
|
-
--- Generic question 1: Display Setup Correct? ---
|
|
820
|
-
Q: Display order? (1 = first)
|
|
821
|
-
A: 1
|
|
822
|
-
Q: Mandatory? [Yes/No]
|
|
823
|
-
A: Yes
|
|
824
|
-
✅ Linked template question "Display Setup Correct?" to the activity (order 1, mandatory).
|
|
825
|
-
|
|
826
|
-
--- Generic question 2: Number of Facings ---
|
|
827
|
-
Q: Display order?
|
|
828
|
-
A: 2
|
|
829
|
-
Q: Mandatory?
|
|
830
|
-
A: No
|
|
831
|
-
✅ Linked template question "Number of Facings" to the activity (order 2, optional).
|
|
832
|
-
|
|
833
|
-
Q: Add any activity-specific questions — ones that apply only to THIS activity,
|
|
834
|
-
not the shared template? [Yes/No]
|
|
835
|
-
A: Yes
|
|
836
|
-
|
|
837
|
-
Q: How many?
|
|
838
|
-
A: 1
|
|
839
|
-
|
|
840
|
-
--- Activity-specific question 1 ---
|
|
841
|
-
Q: Name?
|
|
842
|
-
A: Price Correct?
|
|
843
|
-
Q: Data type? [Boolean/Number/Text/Date/Picklist]
|
|
844
|
-
A: Boolean
|
|
845
|
-
Q: Context? [Store / Store and Merchandising Section]
|
|
846
|
-
A: Store and Merchandising Section
|
|
847
|
-
Q: Display order?
|
|
848
|
-
A: 3
|
|
849
|
-
Q: Mandatory? [Yes/No]
|
|
850
|
-
A: Yes
|
|
851
|
-
✅ Created activity-specific question "Price Correct?" and linked it (order 3, mandatory).
|
|
852
|
-
|
|
853
|
-
✅ Questions on activity: 3 (2 reused from template, 1 activity-specific).
|
|
854
|
-
|
|
855
|
-
📋 ACT 5: Standard Activity (AUTOMATIC — only if the Visit Spec is new)
|
|
856
|
-
(No prompt — the orchestrator auto-evaluates visitSpecIsNew; the user is not asked.)
|
|
857
|
-
Auto-gate: The Visit Spec was reused in Act 1 → Act 5 does not run.
|
|
858
|
-
|
|
859
|
-
✅ Act 5 skipped (Visit Spec was reused).
|
|
860
|
-
[If the Visit Spec had been newly created, Act 5 would run automatically: ask
|
|
861
|
-
for a standard template by NAME (IsStandardTask=true), then build a standard
|
|
862
|
-
activity (reusing the Act 3 ValidFrom/ValidTo window) with the Facing,
|
|
863
|
-
PriceSurvey, and Distribution KPI questions.]
|
|
864
|
-
|
|
865
|
-
📋 ACT 6: Enable Assortments
|
|
866
|
-
Q: Enable assortment-based product surveying?
|
|
867
|
-
A: Yes
|
|
868
|
-
|
|
869
|
-
✅ Assortments enabled.
|
|
870
|
-
|
|
871
|
-
📋 ACT 7: Account Scoping
|
|
872
|
-
Q: Which stores should receive this activity? (by name or Id)
|
|
873
|
-
A: Store 101, Store 102, Store 103
|
|
874
|
-
|
|
875
|
-
✅ Scoped to 3 stores (Store 101, 102, 103).
|
|
876
|
-
|
|
877
|
-
📋 ACT 8: Plan Visits & Attach Activity (REQUIRED)
|
|
878
|
-
Q: Do visits already exist for these stores in the window?
|
|
879
|
-
[Yes, attach to existing / No, create new / Check first]
|
|
880
|
-
A: Check first
|
|
881
|
-
|
|
882
|
-
🔍 Found 1 existing visit; 2 stores have none in the window.
|
|
883
|
-
Q: Create the missing 2 visits and attach to all 3?
|
|
884
|
-
A: Yes
|
|
885
|
-
|
|
886
|
-
✅ Activity attached to 3 visits (1 existing, 2 newly created).
|
|
887
|
-
|
|
888
|
-
📋 ACT 9: Verify the Merchandiser Gets the Activity (Optional)
|
|
889
|
-
Q: Run verification? [Yes / No]
|
|
890
|
-
A: Yes
|
|
891
|
-
|
|
892
|
-
✅ Verified — a rep's visit carries the activity, its questions, and that
|
|
893
|
-
store's products, inside the window, assigned to them.
|
|
894
|
-
|
|
895
|
-
🎉 Complete! Activity "March Planogram Compliance" is ready:
|
|
896
|
-
- Visit Spec: Compliance Visit
|
|
897
|
-
- Questions: 3 (2 mandatory)
|
|
898
|
-
- Date range: 2026-03-01 to 2026-03-31
|
|
899
|
-
- Assortments: Enabled
|
|
900
|
-
- Scoping: 3 stores (Store 101, 102, 103)
|
|
901
|
-
- Visits: attached to 3 visits
|
|
902
|
-
- Verified: Yes
|
|
903
|
-
```
|
|
904
|
-
|
|
905
|
-
---
|
|
906
|
-
|
|
907
|
-
## Agent Guidance
|
|
908
|
-
|
|
909
|
-
### State Management
|
|
910
|
-
|
|
911
|
-
> **Internal only — never print this to the user** (see Key Rule 7). This is the bookkeeping the orchestrator carries across Acts to drive the `actN_complete` gates and pass IDs between sub-skills. It is not conversation output.
|
|
912
|
-
|
|
913
|
-
```yaml
|
|
914
|
-
state:
|
|
915
|
-
act1:
|
|
916
|
-
visitSpecId: ""
|
|
917
|
-
visitSpecName: ""
|
|
918
|
-
visitSpecIsNew: false # true when Act 1 CREATED the spec; gates Act 5
|
|
919
|
-
act2:
|
|
920
|
-
templateId: ""
|
|
921
|
-
templateName: ""
|
|
922
|
-
isStandardTask: false
|
|
923
|
-
questions: [] # [{id, name, dataType, context, atdtidId}]
|
|
924
|
-
act3:
|
|
925
|
-
activityId: ""
|
|
926
|
-
activityName: ""
|
|
927
|
-
validFrom: ""
|
|
928
|
-
validTo: ""
|
|
929
|
-
act4:
|
|
930
|
-
links: [] # [{atidId, questionId, displayOrder, isMandatory, source}] source: "generic" | "activity-specific"
|
|
931
|
-
activitySpecificQuestionIds: [] # new AIDs created in Act 4
|
|
932
|
-
act5: # AUTOMATIC — runs only when act1.visitSpecIsNew=true
|
|
933
|
-
standardActivityId: "" # standard AssessmentTaskDefinition (IsStandardTask=true); empty when skipped
|
|
934
|
-
standardAtdtName: "" # user supplies the template NAME (not Id)
|
|
935
|
-
standardAtdtId: "" # resolved from standardAtdtName (IsStandardTask=true)
|
|
936
|
-
standardKpiQuestions: [] # [{id, assessmentKPI}] covering Facing, PriceSurvey, Distribution
|
|
937
|
-
# validFrom/validTo reused from act3 (standard activity is time-scoped to the same window)
|
|
938
|
-
skipped: false # true when visitSpecIsNew=false (spec reused)
|
|
939
|
-
act6:
|
|
940
|
-
assortmentsEnabled: false
|
|
941
|
-
act7:
|
|
942
|
-
scopedAccountIds: [] # accounts scoped
|
|
943
|
-
scopingCount: 0
|
|
944
|
-
act8:
|
|
945
|
-
visitIds: [] # visits planned or reused
|
|
946
|
-
attachedCount: 0
|
|
947
|
-
act9:
|
|
948
|
-
verified: false
|
|
949
|
-
```
|
|
950
|
-
|
|
951
|
-
### Act 2: Template + Questions
|
|
952
|
-
|
|
953
|
-
```yaml
|
|
954
|
-
After creating template:
|
|
955
|
-
Prompt: "How many questions for this template?"
|
|
956
|
-
|
|
957
|
-
For each question:
|
|
958
|
-
- Create AID (AssessmentIndicatorDefinition)
|
|
959
|
-
- Create ATDTID (AsmtTaskDefTemplateIndDef)
|
|
960
|
-
- Links question to template
|
|
961
|
-
|
|
962
|
-
state.act2.questions = [...all template questions]
|
|
963
|
-
```
|
|
964
|
-
|
|
965
|
-
### Act 4: Primary Linking Step (two question types)
|
|
966
|
-
|
|
967
|
-
```yaml
|
|
968
|
-
Act 4 links questions to the activity — the PRIMARY, enforceable step.
|
|
969
|
-
Handles BOTH generic (reused) and activity-specific (new) questions.
|
|
970
|
-
|
|
971
|
-
Part A — Generic questions (reuse from template):
|
|
972
|
-
- Query the template's questions via ATDTID (state.act2.questions)
|
|
973
|
-
- Show all available generic questions from the template
|
|
974
|
-
- Ask which to link to this activity
|
|
975
|
-
- For each selected:
|
|
976
|
-
- User sets DisplayOrder + IsMandatory
|
|
977
|
-
- Create ATID (AssessmentTaskIndDefinition), source = "generic"
|
|
978
|
-
|
|
979
|
-
Part B — Activity-specific questions (new, this activity only):
|
|
980
|
-
- Ask: "Add questions unique to this activity?" [Yes/No]
|
|
981
|
-
- For each: create a new AID (AssessmentIndicatorDefinition) with
|
|
982
|
-
InternalOrganizationUnitId = the activity's IOU (REQUIRED — the link
|
|
983
|
-
fails if the AID's IOU != the activity's IOU), Description is required
|
|
984
|
-
- Capture into state.act4.activitySpecificQuestionIds
|
|
985
|
-
- User sets DisplayOrder + IsMandatory
|
|
986
|
-
- Create ATID, source = "activity-specific"
|
|
987
|
-
|
|
988
|
-
state.act4.links = [...all ATIDs created, both sources]
|
|
989
|
-
```
|
|
990
|
-
|
|
991
|
-
**Contrast to convey to the user:** generic = shared across activities, edit-once-propagates; activity-specific = one-off, unique to this activity. Prefer generic unless the question genuinely doesn't belong on the shared template.
|
|
992
|
-
|
|
993
|
-
### Act 5: Standard Activity (conditional on visitSpecIsNew)
|
|
994
|
-
|
|
995
|
-
```yaml
|
|
996
|
-
Act 5 runs AUTOMATICALLY (orchestrator-triggered, never user-requested) and ONLY
|
|
997
|
-
when state.act1.visitSpecIsNew == true. The user does not ask for it.
|
|
998
|
-
|
|
999
|
-
If visitSpecIsNew == false (spec reused):
|
|
1000
|
-
- Skip automatically. Set state.act5.skipped = true. Tell the user in plain language.
|
|
1001
|
-
|
|
1002
|
-
If visitSpecIsNew == true (spec created):
|
|
1003
|
-
- Ask the user for the NAME of an existing standard template (AsmtTskDefTmpl,
|
|
1004
|
-
IsStandardTask=true) and resolve the name to an Id (query WHERE Name=... AND
|
|
1005
|
-
IsStandardTask=true). This Act does NOT create the template — STOP with a
|
|
1006
|
-
clear message if none exists.
|
|
1007
|
-
- Create the standard activity: AssessmentTaskDefinition with
|
|
1008
|
-
IsStandardTask = true (the only structural difference from the Act 3 activity),
|
|
1009
|
-
AsmtTskDefTmplId = the standard template, VisitSpecId = state.act1.visitSpecId,
|
|
1010
|
-
InternalOrganizationUnitId = the Act 1 IOU, and ValidFrom/ValidTo REUSED from
|
|
1011
|
-
the Act 3 activity (state.act3.validFrom/validTo) — the standard activity is
|
|
1012
|
-
time-scoped to the same window.
|
|
1013
|
-
- Capture state.act5.standardActivityId
|
|
1014
|
-
- Questions: either copy from the standard template
|
|
1015
|
-
(AsmtTaskDefTemplateIndDef → reuse those AIDs) or create new
|
|
1016
|
-
AssessmentIndicatorDefinition records with AssessmentKpi set (and
|
|
1017
|
-
AssessmentContext = StoreInStore). Then link each via
|
|
1018
|
-
AssessmentTaskIndDefinition (field: AssessmentIndDefinitionId).
|
|
1019
|
-
- Enforce KPI coverage: the linked set MUST cover AssessmentKpi = Facing,
|
|
1020
|
-
PriceSurvey, AND Distribution. If any is missing, create/link the missing
|
|
1021
|
-
question(s) before completing.
|
|
1022
|
-
- Capture state.act5.standardKpiQuestions
|
|
1023
|
-
```
|
|
1024
|
-
|
|
1025
|
-
**Why Act 5 exists:** the offline app resolves a visit's standard activity through its Visit Spec. A brand-new Visit Spec has none, so the Act 9 product-survey verification fails until this standard activity (with the three KPI questions) exists.
|
|
1026
|
-
|
|
1027
|
-
---
|
|
1028
|
-
|
|
1029
|
-
## Success Criteria
|
|
1030
|
-
|
|
1031
|
-
- ✅ User-provided parameters throughout (no hardcoded values)
|
|
1032
|
-
- ✅ Existing records searched before creating
|
|
1033
|
-
- ✅ **Generic questions (AID) created in Act 2 and attached to template (ATDTID)**
|
|
1034
|
-
- ✅ **Act 3 creates activity only (references template) — no questions/links**
|
|
1035
|
-
- ✅ **Act 4 creates ATID records** linking generic questions to the activity
|
|
1036
|
-
- ✅ **Act 4 supports activity-specific questions** — new AIDs created there (with the activity's IOU) and linked
|
|
1037
|
-
- ✅ Act 4 is the PRIMARY linking step (not optional) — template links do NOT auto-flow
|
|
1038
|
-
- ✅ **Act 5 creates a standard activity (IsStandardTask=true) for a newly created Visit Spec**, with KPI questions covering Facing, PriceSurvey, and Distribution (skipped when the spec was reused)
|
|
1039
|
-
- ✅ Every linked AID shares the activity's `InternalOrganizationUnitId`
|
|
1040
|
-
- ✅ All foreign key references valid
|
|
1041
|
-
- ✅ Display orders user-controlled per activity
|
|
1042
|
-
|
|
1043
|
-
---
|
|
1044
|
-
|
|
1045
|
-
## Key Architecture Points
|
|
1046
|
-
|
|
1047
|
-
1. **Template (ATDT) contains the questions**
|
|
1048
|
-
- Act 2 creates template + questions (AID) + links (ATDTID)
|
|
1049
|
-
- Questions are attached to template, reusable across activities
|
|
1050
|
-
|
|
1051
|
-
2. **Activity (ATD) references the template**
|
|
1052
|
-
- Act 3 creates activity only
|
|
1053
|
-
- Activity does NOT inherit the template's questions — a fresh ATD has zero activity-level links (verified)
|
|
1054
|
-
|
|
1055
|
-
3. **Act 4 is the PRIMARY linking step — two question types**
|
|
1056
|
-
- **Generic (reused):** links Act 2's template questions to the activity
|
|
1057
|
-
- **Activity-specific (new):** creates new AIDs unique to this activity (with the activity's IOU) and links them
|
|
1058
|
-
- Both become real via the same ATID junction; user sets DisplayOrder and IsMandatory per link
|
|
1059
|
-
- This is where questions become active on the activity
|
|
1060
|
-
|
|
1061
|
-
4. **Act 5 is the standard-activity step for a NEW Visit Spec**
|
|
1062
|
-
- `IsStandardTask = true` is the only structural difference from the Act 3 activity
|
|
1063
|
-
- Bound to the Act 1 Visit Spec; carries the Facing/PriceSurvey/Distribution KPI questions the offline product survey requires
|
|
1064
|
-
- Skipped when Act 1 reused an existing spec
|
|
1065
|
-
|
|
1066
|
-
5. **IOU-match rule**
|
|
1067
|
-
- Every linked AID's `InternalOrganizationUnitId` must equal the activity's, or the link is rejected
|
|
1068
|
-
- Generic AIDs already match (created under the Act 1 IOU); activity-specific AIDs must be created with that same IOU
|
|
1069
|
-
|
|
1070
|
-
6. **Template reusability**
|
|
1071
|
-
- Multiple activities can use the same template's generic questions
|
|
1072
|
-
- Each activity can have different DisplayOrder and IsMandatory settings, plus its own activity-specific questions
|
|
1073
|
-
- Questions stay consistent across activities (defined once in template)
|
|
1074
|
-
|
|
1075
|
-
---
|
|
1076
|
-
|
|
1077
|
-
This architecture allows template reuse while letting each activity customize question order and mandatory flags!
|
|
1078
|
-
|
|
1079
|
-
<!-- skill-validate: ignore-start -->
|
|
1080
|
-
<!-- codey:operations start -->
|
|
1081
|
-
## Operations Reference
|
|
1082
|
-
|
|
1083
|
-
Operations this skill uses — routing and dependency reference.
|
|
1084
|
-
|
|
1085
|
-
| Operation | Purpose | Status | Call | Depends on |
|
|
1086
|
-
|-----------|---------|--------|------|------------|
|
|
1087
|
-
| `act1-visit-spec-create` | write | — | `POST /services/data/v67.0/sobjects/VisitSpec` | — |
|
|
1088
|
-
| `act2-atdt-create` | write | — | `POST /services/data/v67.0/sobjects/AsmtTskDefTmpl` | `act1-visit-spec-create` |
|
|
1089
|
-
| `act2-aid-create` | write | — | `POST /services/data/v67.0/sobjects/AssessmentIndicatorDefinition` | `act1-visit-spec-create` |
|
|
1090
|
-
| `act2-atdtid-link` | write | — | `POST /services/data/v67.0/sobjects/AsmtTaskDefTemplateIndDef` | `act2-atdt-create`, `act2-aid-create` |
|
|
1091
|
-
| `act3-atd-create` | write | — | `POST /services/data/v67.0/sobjects/AssessmentTaskDefinition` | `act1-visit-spec-create`, `act2-atdt-create` |
|
|
1092
|
-
| `act4-atid-link` | write | — | `POST /services/data/v67.0/sobjects/AssessmentTaskIndDefinition` | `act3-atd-create`, `act2-aid-create` |
|
|
1093
|
-
| `act5-standard-activity-create` | write | — | `POST /services/data/v67.0/sobjects/AssessmentTaskDefinition` | `act1-visit-spec-create`, `act3-atd-create` |
|
|
1094
|
-
| `act5-assortments-toggle` | write | — | `PATCH /services/data/v67.0/sobjects/AssessmentTaskDefinition/{Id}` | `act3-atd-create` |
|
|
1095
|
-
| `act6-account-scope-bulk` | write | — | `POST /services/data/v67.0/composite/sobjects` | `act3-atd-create` |
|
|
1096
|
-
| `act7-prepare-tasks` | write | — | `POST /services/data/v67.0/connect/industries/retail/prepare-assessment-task` | `act3-atd-create`, `act6-account-scope-bulk` |
|
|
1097
|
-
| `act7-verify-tasks` | write | — | `POST /services/data/v67.0/connect/industries/visit/assessment-task-visit-planning/visits` | `act7-prepare-tasks` |
|
|
1098
|
-
| `act8-store-check` | verify | — | `GET /services/data/v67.0/connect/industries/retail/visit-execution/store-check` | `act7-verify-tasks` |
|
|
1099
|
-
| `act8-product-survey` | verify | — | `GET /services/data/v67.0/connect/industries/retail/visit-execution/product-survey` | `act7-verify-tasks` |
|
|
1100
|
-
| `delegate-visit-and-activity-setup-act1-visit-specification` | delegate | — | → `retail-execution/visit-and-activity-setup-act1-visit-specification` | — |
|
|
1101
|
-
| `delegate-visit-and-activity-setup-act2-template-and-questions` | delegate | — | → `retail-execution/visit-and-activity-setup-act2-template-and-questions` | — |
|
|
1102
|
-
| `delegate-visit-and-activity-setup-act3-activity-definition` | delegate | — | → `retail-execution/visit-and-activity-setup-act3-activity-definition` | — |
|
|
1103
|
-
| `delegate-visit-and-activity-setup-act4-add-questions` | delegate | — | → `retail-execution/visit-and-activity-setup-act4-add-questions` | — |
|
|
1104
|
-
| `delegate-visit-and-activity-setup-act5-standard-activity` | delegate | — | → `retail-execution/visit-and-activity-setup-act5-standard-activity` | — |
|
|
1105
|
-
| `delegate-visit-and-activity-setup-act6-assortment-based` | delegate | — | → `retail-execution/visit-and-activity-setup-act6-assortment-based` | — |
|
|
1106
|
-
| `delegate-visit-and-activity-setup-act7-account-scoping` | delegate | — | → `retail-execution/visit-and-activity-setup-act7-account-scoping` | — |
|
|
1107
|
-
| `delegate-visit-and-activity-setup-act8-plan-and-attach` | delegate | — | → `retail-execution/visit-and-activity-setup-act8-plan-and-attach` | — |
|
|
1108
|
-
| `delegate-visit-and-activity-setup-act9-verification` | delegate | — | → `retail-execution/visit-and-activity-setup-act9-verification` | — |
|
|
1109
|
-
<!-- codey:operations end -->
|
|
1110
|
-
<!-- skill-validate: ignore-end -->
|