@salesforce/afv-skills 1.64.0 → 1.65.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/skills/agentforce-gpt-email-generation-configure/SKILL.md +312 -0
- package/skills/agentforce-wizard-ui-forecasting-analytics-components-configure/SKILL.md +64 -0
- package/skills/agentforce-wizard-ui-sales-einstein-components-configure/SKILL.md +46 -0
- package/skills/automation-company-profile-info-query/SKILL.md +51 -0
- package/skills/automation-digital-wallet-configure/SKILL.md +689 -0
- package/skills/automation-flow-coordinate/SKILL.md +95 -0
- package/skills/automation-flow-coordinate/references/elements/action-call/action-call.md +1569 -0
- package/skills/automation-flow-coordinate/references/elements/action-call/conversation-messaging.md +96 -0
- package/skills/automation-flow-coordinate/references/elements/action-call/examples/send-sms-message.json +23 -0
- package/skills/automation-flow-coordinate/references/elements/action-call/examples/send-to-journey-no-fields.json +31 -0
- package/skills/automation-flow-coordinate/references/elements/action-call/send-to-journey.md +179 -0
- package/skills/automation-flow-coordinate/references/elements/exit-rule/examples/event-email-link-click.json +13 -0
- package/skills/automation-flow-coordinate/references/elements/exit-rule/exit-rule.md +83 -0
- package/skills/automation-flow-coordinate/references/elements/forward-to-bot-or-agent/examples/forward-to-bot-or-agent.json +69 -0
- package/skills/automation-flow-coordinate/references/elements/forward-to-bot-or-agent/forward-to-bot-or-agent.md +274 -0
- package/skills/automation-flow-coordinate/references/elements/start/audience-common.md +192 -0
- package/skills/automation-flow-coordinate/references/elements/start/automation-event-triggered.md +130 -0
- package/skills/automation-flow-coordinate/references/elements/start/data-cloud-data-change-triggered.md +92 -0
- package/skills/automation-flow-coordinate/references/elements/start/form-submission-triggered.md +88 -0
- package/skills/automation-flow-coordinate/references/elements/start/segment-triggered.md +152 -0
- package/skills/automation-flow-coordinate/references/elements/start/start.md +539 -0
- package/skills/automation-flow-coordinate/references/elements/subflow/subflow.md +152 -0
- package/skills/automation-flow-coordinate/references/elements/wait/wait.md +497 -0
- package/skills/automation-flow-coordinate/references/recipes/author/author.md +868 -0
- package/skills/automation-flow-coordinate/references/recipes/summarize/element-generic.md +300 -0
- package/skills/automation-flow-coordinate/references/recipes/summarize/reference-resolution.md +292 -0
- package/skills/automation-flow-coordinate/references/recipes/summarize/summarize.md +323 -0
- package/skills/automation-flow-coordinate/references/recipes/testing/examples/debug-output-template.md +109 -0
- package/skills/automation-flow-coordinate/references/recipes/testing/shape.md +219 -0
- package/skills/automation-flow-coordinate/references/recipes/testing/shared-stages/intent-analyzer.md +180 -0
- package/skills/automation-flow-coordinate/references/recipes/testing/workflows/debug.md +175 -0
- package/skills/automation-flow-coordinate/references/recipes/testing/workflows/promote.md +255 -0
- package/skills/automation-flow-coordinate/references/recipes/testing/workflows/save-debug.md +212 -0
- package/skills/automation-flow-coordinate/references/resources/variable/variable.md +171 -0
- package/skills/automation-flow-coordinate/references/shared/anti-patterns.md +786 -0
- package/skills/automation-flow-coordinate/references/shared/end/end.md +267 -0
- package/skills/automation-flow-coordinate/references/shared/flow-type-resolver/eval/README.md +69 -0
- package/skills/automation-flow-coordinate/references/shared/flow-type-resolver/eval/predictions.jsonl +80 -0
- package/skills/automation-flow-coordinate/references/shared/flow-type-resolver/eval/prompts.jsonl +116 -0
- package/skills/automation-flow-coordinate/references/shared/flow-type-resolver/flow-type-resolver.md +321 -0
- package/skills/automation-flow-coordinate/references/shared/flow-type-resolver/taxonomy.json +320 -0
- package/skills/automation-flow-coordinate/references/shared/server-functions.md +597 -0
- package/skills/automotive-cloud-appraisal-management-settings-configure/SKILL.md +69 -0
- package/skills/automotive-cloud-dealer-essentials-configure/SKILL.md +78 -0
- package/skills/automotive-cloud-ground-agent-data-pipelines-configure/SKILL.md +373 -0
- package/skills/automotive-cloud-ground-mfg-agent-data-pipelines-configure/SKILL.md +273 -0
- package/skills/automotive-cloud-mfg-agent-data-pipelines-configure/SKILL.md +259 -0
- package/skills/automotive-cloud-mfg-sales-concierge-agent-create/SKILL.md +369 -0
- package/skills/automotive-cloud-mfg-sales-concierge-foundation-configure/SKILL.md +542 -0
- package/skills/automotive-cloud-mfg-sales-concierge-foundation-coordinate/SKILL.md +159 -0
- package/skills/automotive-cloud-mfg-sales-concierge-orchestrator-agent-create/SKILL.md +349 -0
- package/skills/automotive-cloud-mfg-sales-concierge-orchestrator-configure/SKILL.md +505 -0
- package/skills/automotive-cloud-sales-concierge-agent-create/SKILL.md +380 -0
- package/skills/automotive-cloud-sales-concierge-foundation-configure/SKILL.md +567 -0
- package/skills/automotive-cloud-sales-concierge-foundation-coordinate/SKILL.md +159 -0
- package/skills/automotive-cloud-sales-concierge-orchestrator-agent-create/SKILL.md +360 -0
- package/skills/automotive-cloud-sales-concierge-orchestrator-configure/SKILL.md +539 -0
- package/skills/automotive-cloud-sales-concierge-search-grounding-configure/SKILL.md +358 -0
- package/skills/commerce-b2b-merchant-quote-configure/SKILL.md +602 -0
- package/skills/commerce-b2b-store-configure/SKILL.md +251 -0
- package/skills/commerce-credit-memo-create/SKILL.md +139 -0
- package/skills/commerce-delivery-business-hours-configure/SKILL.md +277 -0
- package/skills/commerce-delivery-estimation-apply/SKILL.md +155 -0
- package/skills/commerce-delivery-estimation-configure/SKILL.md +377 -0
- package/skills/commerce-delivery-routing-specs-integrate/SKILL.md +174 -0
- package/skills/commerce-estimate-bopis-query/SKILL.md +279 -0
- package/skills/commerce-estimate-delivery-date-query/SKILL.md +349 -0
- package/skills/commerce-fees-apply/SKILL.md +227 -0
- package/skills/commerce-fulfillment-routing-analyze/SKILL.md +200 -0
- package/skills/commerce-guest-buyer-create/SKILL.md +173 -0
- package/skills/commerce-location-bopis-configure/SKILL.md +378 -0
- package/skills/commerce-location-business-hours-configure/SKILL.md +235 -0
- package/skills/commerce-location-delivery-processing-time-configure/SKILL.md +309 -0
- package/skills/commerce-location-graph-integrate/SKILL.md +131 -0
- package/skills/commerce-location-shipping-carrier-method-configure/SKILL.md +755 -0
- package/skills/commerce-location-temporary-operating-hours-configure/SKILL.md +331 -0
- package/skills/commerce-merchant-buyer-groups-configure/SKILL.md +579 -0
- package/skills/commerce-merchant-buyer-user-onboarding-create/SKILL.md +626 -0
- package/skills/commerce-merchant-catalog-configure/SKILL.md +614 -0
- package/skills/commerce-merchant-extension-provider-configure/SKILL.md +368 -0
- package/skills/commerce-merchant-insights-account-health-churn-analyze/SKILL.md +118 -0
- package/skills/commerce-merchant-insights-inventory-returns-analyze/SKILL.md +65 -0
- package/skills/commerce-merchant-insights-order-shopper-get/SKILL.md +90 -0
- package/skills/commerce-merchant-insights-product-performance-analyze/SKILL.md +72 -0
- package/skills/commerce-merchant-insights-query/SKILL.md +279 -0
- package/skills/commerce-merchant-storefront-guest-access-configure/SKILL.md +656 -0
- package/skills/commerce-order-summary-change-apply/SKILL.md +375 -0
- package/skills/commerce-product-details-get/SKILL.md +363 -0
- package/skills/commerce-product-search/SKILL.md +563 -0
- package/skills/commerce-react-storefront-create/SKILL.md +350 -0
- package/skills/commerce-return-order-summary-create/SKILL.md +513 -0
- package/skills/commerce-search-relevance-analyze/SKILL.md +757 -0
- package/skills/commerce-temporary-processing-time-override-create/SKILL.md +274 -0
- package/skills/communications-initial-setup-configure/SKILL.md +630 -0
- package/skills/communications-multisite-configure/SKILL.md +571 -0
- package/skills/communications-revenue-cloud-settings-configure/SKILL.md +74 -0
- package/skills/communications-smb-fiber-catalog-create/SKILL.md +413 -0
- package/skills/communications-tmf-integrate/SKILL.md +1368 -0
- package/skills/consumer-goods-visit-activity-act4-questions-assign/SKILL.md +448 -0
- package/skills/consumer-goods-visit-activity-act5-standard-create/SKILL.md +269 -0
- package/skills/consumer-goods-visit-activity-act6-assortment-configure/SKILL.md +271 -0
- package/skills/consumer-goods-visit-activity-act7-account-scoping-create/SKILL.md +382 -0
- package/skills/consumer-goods-visit-activity-act8-plan-attach-create/SKILL.md +373 -0
- package/skills/consumer-goods-visit-activity-act9-proof-validate/SKILL.md +389 -0
- package/skills/consumer-goods-visit-and-activity-act1-specification-create/SKILL.md +338 -0
- package/skills/consumer-goods-visit-and-activity-act2-template-create/SKILL.md +547 -0
- package/skills/consumer-goods-visit-and-activity-act3-definition-create/SKILL.md +346 -0
- package/skills/consumer-goods-visit-and-activity-configure/SKILL.md +1110 -0
- package/skills/crm-analytics-adoption-insights-configure/SKILL.md +224 -0
- package/skills/crm-analytics-custom-report-type-lightning-configure/SKILL.md +418 -0
- package/skills/crm-analytics-dashboards-configure/SKILL.md +731 -0
- package/skills/crm-analytics-operational-analytics-metadata-bridge-migrate/SKILL.md +233 -0
- package/skills/crm-analytics-report-notifications-ui-configure/SKILL.md +184 -0
- package/skills/crm-analytics-sharing-inheritance-coverage-analyze/SKILL.md +167 -0
- package/skills/crm-analytics-sonic-getting-started-configure/SKILL.md +55 -0
- package/skills/crm-analytics-tableau-next-app-deploy/SKILL.md +1350 -0
- package/skills/crm-analytics-tableau-next-c360-basemodel-validate/SKILL.md +1862 -0
- package/skills/crm-analytics-tableau-next-datacloud-validate/SKILL.md +83 -0
- package/skills/crm-analytics-tableau-next-provisioning-validate/SKILL.md +81 -0
- package/skills/data360-activation-create/SKILL.md +104 -0
- package/skills/data360-activation-external-platform-get/SKILL.md +49 -0
- package/skills/data360-activation-target-create/SKILL.md +93 -0
- package/skills/data360-activation-v2-create/SKILL.md +456 -0
- package/skills/data360-audience-dmo-get/SKILL.md +38 -0
- package/skills/data360-calculated-affinity-create/SKILL.md +82 -0
- package/skills/data360-calculated-insight-create/SKILL.md +148 -0
- package/skills/data360-catalog-metadata-create/SKILL.md +183 -0
- package/skills/data360-code-extension-create/SKILL.md +115 -0
- package/skills/data360-communication-capping-create/SKILL.md +227 -0
- package/skills/data360-connection-create/SKILL.md +491 -0
- package/skills/data360-content-lens-create/SKILL.md +181 -0
- package/skills/data360-data-action-create/SKILL.md +126 -0
- package/skills/data360-data-action-target-create/SKILL.md +181 -0
- package/skills/data360-data-clean-room-create/SKILL.md +238 -0
- package/skills/data360-data-governance-create/SKILL.md +746 -0
- package/skills/data360-data-graph-create/SKILL.md +82 -0
- package/skills/data360-data-harmonized-model-object-reference-create/SKILL.md +38 -0
- package/skills/data360-data-lake-object-create/SKILL.md +207 -0
- package/skills/data360-data-model-object-catalog-get/SKILL.md +49 -0
- package/skills/data360-data-model-object-create/SKILL.md +128 -0
- package/skills/data360-data-model-object-mapping-create/SKILL.md +106 -0
- package/skills/data360-data-space-create/SKILL.md +161 -0
- package/skills/data360-data-streams-create/SKILL.md +324 -0
- package/skills/data360-engagement-signal-get/SKILL.md +38 -0
- package/skills/data360-experiment-create/SKILL.md +82 -0
- package/skills/data360-goal-based-campaign-create/SKILL.md +192 -0
- package/skills/data360-harmonization-process-history-get/SKILL.md +38 -0
- package/skills/data360-harmonized-unstructured-dmo-create/SKILL.md +84 -0
- package/skills/data360-identity-resolution-create/SKILL.md +115 -0
- package/skills/data360-intelligent-document-processing-create/SKILL.md +148 -0
- package/skills/data360-knowledge-graph-construction-create/SKILL.md +93 -0
- package/skills/data360-knowledge-graph-create/SKILL.md +216 -0
- package/skills/data360-knowledge-space-mcp-configure/SKILL.md +475 -0
- package/skills/data360-machine-learning-mcp-configure/SKILL.md +697 -0
- package/skills/data360-multi-org-mcp-configure/SKILL.md +117 -0
- package/skills/data360-secondary-index-mcp-configure/SKILL.md +126 -0
- package/skills/data360-segment-mcp-configure/SKILL.md +159 -0
- package/skills/data360-semantic-calculated-dimension-mcp-configure/SKILL.md +93 -0
- package/skills/data360-semantic-calculated-measurement-mcp-configure/SKILL.md +93 -0
- package/skills/data360-semantic-data-object-mcp-configure/SKILL.md +93 -0
- package/skills/data360-semantic-dimension-mcp-configure/SKILL.md +38 -0
- package/skills/data360-semantic-engine-mcp-configure/SKILL.md +62 -0
- package/skills/data360-semantic-measurement-mcp-configure/SKILL.md +38 -0
- package/skills/data360-semantic-metric-mcp-configure/SKILL.md +93 -0
- package/skills/data360-semantic-model-mcp-configure/SKILL.md +115 -0
- package/skills/data360-standard-mapping-mcp-configure/SKILL.md +38 -0
- package/skills/data360-tenant-lifecycle-mcp-configure/SKILL.md +73 -0
- package/skills/experience-afv-query/SKILL.md +234 -0
- package/skills/experience-agentforce-vibes-in-react-configure/SKILL.md +63 -0
- package/skills/experience-apex-components-configure/SKILL.md +69 -0
- package/skills/experience-apex-pages-configure/SKILL.md +107 -0
- package/skills/experience-app-home-configure/SKILL.md +76 -0
- package/skills/experience-aura-lightning-out-access-configure/SKILL.md +58 -0
- package/skills/experience-briefcase-configure/SKILL.md +287 -0
- package/skills/experience-community-flexi-page-list-create/SKILL.md +74 -0
- package/skills/experience-community-template-definition-list-query/SKILL.md +48 -0
- package/skills/experience-community-theme-definition-list-query/SKILL.md +38 -0
- package/skills/experience-content-assets-configure/SKILL.md +86 -0
- package/skills/experience-custom-domain-create/SKILL.md +727 -0
- package/skills/experience-defer-rendering-workspace-page-setup-configure/SKILL.md +41 -0
- package/skills/experience-field-service-app-builder-configure/SKILL.md +187 -0
- package/skills/experience-flow-category-configure/SKILL.md +117 -0
- package/skills/experience-formula-configure/SKILL.md +358 -0
- package/skills/experience-global-actions-configure/SKILL.md +69 -0
- package/skills/experience-global-publisher-layouts-configure/SKILL.md +79 -0
- package/skills/experience-instrumentation-configure/SKILL.md +64 -0
- package/skills/experience-lex-engagement-configure/SKILL.md +50 -0
- package/skills/experience-lightning-bolt-open/SKILL.md +12 -0
- package/skills/experience-lightning-out-configure/SKILL.md +129 -0
- package/skills/experience-lightning-preview-configure/SKILL.md +67 -0
- package/skills/experience-lightning-types-query/SKILL.md +98 -0
- package/skills/experience-malware-scan-configure/SKILL.md +71 -0
- package/skills/experience-my-salesforce-configure/SKILL.md +126 -0
- package/skills/experience-navigation-menus-configure/SKILL.md +235 -0
- package/skills/experience-notification-types-configure/SKILL.md +206 -0
- package/skills/experience-notifications-configure/SKILL.md +75 -0
- package/skills/experience-record-discovery-query/SKILL.md +227 -0
- package/skills/experience-regenerate-previews-open/SKILL.md +94 -0
- package/skills/experience-sales-cloud-mab-configure/SKILL.md +254 -0
- package/skills/experience-schema-builder-open/SKILL.md +38 -0
- package/skills/experience-simple-record-home-configure/SKILL.md +110 -0
- package/skills/experience-static-resources-configure/SKILL.md +74 -0
- package/skills/field-service-data-capture-form-deployer-configure/SKILL.md +23 -2
- package/skills/field-service-data-capture-form-designer-configure/SKILL.md +13 -3
- package/skills/field-service-mobile-branding-configure/SKILL.md +17 -3
- package/skills/field-service-objective-designer-configure/SKILL.md +72 -379
- package/skills/field-service-prework-brief-deployer-configure/SKILL.md +10 -537
- package/skills/field-service-scheduling-policy-designer-query/SKILL.md +65 -1093
- package/skills/field-service-setup-coordinate/SKILL.md +62 -0
- package/skills/field-service-sobject-create-configure/SKILL.md +13 -213
- package/skills/field-service-voice-to-form-configure/SKILL.md +40 -11
- package/skills/field-service-work-plan-configure/SKILL.md +253 -0
- package/skills/field-service-work-rule-designer-configure/SKILL.md +121 -95
- package/skills/fsc-actionable-segmentation-settings-configure/SKILL.md +180 -0
- package/skills/fsc-digital-origination-bre-decision-matrix-foundation-create/SKILL.md +196 -0
- package/skills/fsc-digital-origination-bre-disclosures-consent-configure/SKILL.md +106 -0
- package/skills/fsc-digital-origination-bre-document-upload-configure/SKILL.md +96 -0
- package/skills/fsc-digital-origination-bre-permissions-assign/SKILL.md +111 -0
- package/skills/fsc-digital-origination-bre-setup-coordinate/SKILL.md +250 -0
- package/skills/fsc-digital-origination-bre-stp-eligibility-configure/SKILL.md +122 -0
- package/skills/fsc-digital-origination-coordinate/SKILL.md +653 -0
- package/skills/fsc-digital-origination-demo-run/SKILL.md +225 -0
- package/skills/fsc-digital-origination-execution-guardrails-validate/SKILL.md +112 -0
- package/skills/fsc-digital-origination-initial-setup-configure/SKILL.md +396 -0
- package/skills/fsc-digital-origination-pricing-setup-coordinate/SKILL.md +336 -0
- package/skills/fsc-digital-origination-pricing-setup-data-foundation-create/SKILL.md +208 -0
- package/skills/fsc-digital-origination-pricing-setup-procedure-create/SKILL.md +375 -0
- package/skills/fsc-digital-origination-product-setup-act1-permissions-assign/SKILL.md +83 -0
- package/skills/fsc-digital-origination-product-setup-coordinate/SKILL.md +248 -0
- package/skills/fsc-digital-origination-sample-data-create/SKILL.md +206 -0
- package/skills/fsc-document-checklist-settings-configure/SKILL.md +57 -0
- package/skills/fsc-flexible-hierarchy-configure/SKILL.md +148 -0
- package/skills/fsc-flexible-hierarchy-foundation-configure/SKILL.md +1430 -0
- package/skills/fsc-flexible-hierarchy-graph-config-create/SKILL.md +471 -0
- package/skills/fsc-flexible-hierarchy-rule-based-graph-deploy/SKILL.md +429 -0
- package/skills/fsc-pricing-product-configurator-configure/SKILL.md +150 -0
- package/skills/fsc-pricing-salesforce-omnistudio-switch/SKILL.md +123 -0
- package/skills/fsc-product-act2-catalog-categories-create/SKILL.md +82 -0
- package/skills/fsc-product-act3-attributes-create/SKILL.md +249 -0
- package/skills/fsc-product-act4-classification-assignment-create/SKILL.md +196 -0
- package/skills/fsc-product-act5-considerations-get/SKILL.md +44 -0
- package/skills/fsc-stage-management-apex-flow-deploy/SKILL.md +384 -0
- package/skills/fsc-stage-management-compliant-data-sharing-configure/SKILL.md +144 -0
- package/skills/fsc-stage-management-decision-matrices-create/SKILL.md +107 -0
- package/skills/fsc-stage-management-definition-assignments-create/SKILL.md +189 -0
- package/skills/fsc-stage-management-definition-create/SKILL.md +108 -0
- package/skills/fsc-stage-management-permissions-assign/SKILL.md +143 -0
- package/skills/fsc-stage-management-transitions-configure/SKILL.md +139 -0
- package/skills/health-cloud-appt-booking-config-configure/SKILL.md +135 -0
- package/skills/health-cloud-appt-booking-url-config-configure/SKILL.md +134 -0
- package/skills/health-cloud-care-provider-affl-role-config-configure/SKILL.md +136 -0
- package/skills/health-cloud-care-provider-search-config-configure/SKILL.md +134 -0
- package/skills/health-cloud-care-requests-create/SKILL.md +178 -0
- package/skills/health-cloud-initial-configure/SKILL.md +511 -0
- package/skills/health-cloud-patient-appointment-scheduling-configure/SKILL.md +1374 -0
- package/skills/health-cloud-provider-search-settings-configure/SKILL.md +924 -0
- package/skills/health-cloud-referral-management-coordinate/SKILL.md +513 -0
- package/skills/health-cloud-timeline-configure/SKILL.md +622 -0
- package/skills/health-cloud-virtual-visit-config-configure/SKILL.md +135 -0
- package/skills/industries-account-score-settings-query/SKILL.md +78 -0
- package/skills/industries-actionable-list-data-sources-dmo-configure/SKILL.md +177 -0
- package/skills/industries-ad-product-availability-search/SKILL.md +399 -0
- package/skills/industries-advanced-account-forecast-settings-configure/SKILL.md +628 -0
- package/skills/industries-advanced-therapy-management-settings-configure/SKILL.md +73 -0
- package/skills/industries-atm-settings-starter-configure/SKILL.md +76 -0
- package/skills/industries-batch-document-ai-configure/SKILL.md +196 -0
- package/skills/industries-behavioral-health-app-settings-configure/SKILL.md +71 -0
- package/skills/industries-branch-management-settings-configure/SKILL.md +89 -0
- package/skills/industries-bre-decision-table-access-configure/SKILL.md +367 -0
- package/skills/industries-brokerage-settings-configure/SKILL.md +41 -0
- package/skills/industries-calendar-sync-settings-configure/SKILL.md +89 -0
- package/skills/industries-care-request-settings-configure/SKILL.md +218 -0
- package/skills/industries-case-management-intelligence-settings-configure/SKILL.md +54 -0
- package/skills/industries-catalog-process-attributes-products-configure/SKILL.md +380 -0
- package/skills/industries-catalog-process-fulfillment-configure/SKILL.md +216 -0
- package/skills/industries-catalog-process-intake-configure/SKILL.md +219 -0
- package/skills/industries-catalog-process-knowledge-configure/SKILL.md +153 -0
- package/skills/industries-catalog-process-preprocessor-configure/SKILL.md +168 -0
- package/skills/industries-cds-general-settings-configure/SKILL.md +69 -0
- package/skills/industries-claim-financial-settings-configure/SKILL.md +169 -0
- package/skills/industries-clinical-data-model-settings-configure/SKILL.md +136 -0
- package/skills/industries-clinical-data-model-settings-starter-configure/SKILL.md +105 -0
- package/skills/industries-collection-plan-settings-configure/SKILL.md +132 -0
- package/skills/industries-comms-service-console-settings-configure/SKILL.md +159 -0
- package/skills/industries-compliance-configure/SKILL.md +102 -0
- package/skills/industries-compliance-document-extraction-setup-configure/SKILL.md +76 -0
- package/skills/industries-contact-center-app-layout-configure/SKILL.md +88 -0
- package/skills/industries-contact-center-components-configure/SKILL.md +96 -0
- package/skills/industries-contact-center-path-knowledge-configure/SKILL.md +95 -0
- package/skills/industries-contact-center-user-access-assign/SKILL.md +96 -0
- package/skills/industries-course-waitlist-config-configure/SKILL.md +162 -0
- package/skills/industries-crisis-center-settings-configure/SKILL.md +84 -0
- package/skills/industries-custom-object-settings-configure/SKILL.md +94 -0
- package/skills/industries-data-cloud-integration-configure/SKILL.md +88 -0
- package/skills/industries-data-space-feature-mappings-configure/SKILL.md +245 -0
- package/skills/industries-decision-matrix-builder-configure/SKILL.md +78 -0
- package/skills/industries-decision-table-hbase-configure/SKILL.md +87 -0
- package/skills/industries-decision-table-version-configure/SKILL.md +74 -0
- package/skills/industries-decision-tables-builder-configure/SKILL.md +253 -0
- package/skills/industries-decision-tables-configure/SKILL.md +439 -0
- package/skills/industries-energy-utilities-configure/SKILL.md +251 -0
- package/skills/industries-eu-cloud-multisite-configure/SKILL.md +1008 -0
- package/skills/industries-eu-new-connections-configure/SKILL.md +30 -0
- package/skills/industries-explainability-msg-template-configure/SKILL.md +135 -0
- package/skills/industries-expression-set-message-token-configure/SKILL.md +135 -0
- package/skills/industries-field-service-settings-configure/SKILL.md +82 -0
- package/skills/industries-form-framework-settings-configure/SKILL.md +30 -0
- package/skills/industries-fsc-ai-settings-configure/SKILL.md +57 -0
- package/skills/industries-fsc-association-engine-settings-configure/SKILL.md +172 -0
- package/skills/industries-fsc-b2b-settings-configure/SKILL.md +61 -0
- package/skills/industries-fsc-insurance-settings-configure/SKILL.md +58 -0
- package/skills/industries-fsc-visa-fulfillment-setup-configure/SKILL.md +103 -0
- package/skills/industries-fsc-wealth-agent-settings-configure/SKILL.md +117 -0
- package/skills/industries-fsc-wealth-settings-configure/SKILL.md +99 -0
- package/skills/industries-fundraising-gift-entry-settings-configure/SKILL.md +120 -0
- package/skills/industries-fundraising-rfm-configure/SKILL.md +128 -0
- package/skills/industries-fundraising-settings-configure/SKILL.md +145 -0
- package/skills/industries-fundraising-source-code-gen-configure/SKILL.md +299 -0
- package/skills/industries-google-maps-api-key-settings-configure/SKILL.md +87 -0
- package/skills/industries-grantmaking-intelligence-settings-open/SKILL.md +58 -0
- package/skills/industries-hc-score-category-settings-configure/SKILL.md +167 -0
- package/skills/industries-health-engagement-settings-configure/SKILL.md +218 -0
- package/skills/industries-home-health-agentforce-setup-configure/SKILL.md +131 -0
- package/skills/industries-home-health-bundling-policy-create/SKILL.md +50 -0
- package/skills/industries-home-health-entity-labels-configure/SKILL.md +29 -0
- package/skills/industries-home-health-fsl-package-deploy/SKILL.md +71 -0
- package/skills/industries-home-health-fsl-settings-validate/SKILL.md +27 -0
- package/skills/industries-home-health-guided-setup-care-and-skill-get/SKILL.md +80 -0
- package/skills/industries-home-health-guided-setup-configure/SKILL.md +836 -0
- package/skills/industries-home-health-guided-setup-enable-org-fsl-get/SKILL.md +55 -0
- package/skills/industries-home-health-guided-setup-get-org-ready-get/SKILL.md +61 -0
- package/skills/industries-home-health-licenses-assign/SKILL.md +27 -0
- package/skills/industries-home-health-operating-hours-create/SKILL.md +40 -0
- package/skills/industries-home-health-scheduling-policy-create/SKILL.md +41 -0
- package/skills/industries-home-health-service-objective-create/SKILL.md +22 -0
- package/skills/industries-home-health-skills-create/SKILL.md +31 -0
- package/skills/industries-home-health-users-create/SKILL.md +29 -0
- package/skills/industries-icm-act3-toggles-configure/SKILL.md +198 -0
- package/skills/industries-icm-act5-genai-suggested-assessments-configure/SKILL.md +361 -0
- package/skills/industries-icm-act6-mcg-integration-configure/SKILL.md +550 -0
- package/skills/industries-integrated-care-management-configure/SKILL.md +168 -0
- package/skills/industries-object-enablement-configure/SKILL.md +86 -0
- package/skills/industries-tpm-system-processing-service-configure/SKILL.md +64 -0
- package/skills/integration-apex-settings-configure/SKILL.md +61 -0
- package/skills/marketing-e360-email-archiving-configure/SKILL.md +73 -0
- package/skills/platform-custom-permissions-configure/SKILL.md +687 -0
- package/skills/platform-label-workbench-import-create/SKILL.md +67 -0
- package/skills/platform-privacy-agent-settings-configure/SKILL.md +752 -0
|
@@ -0,0 +1,547 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: consumer-goods-visit-and-activity-act2-template-create
|
|
3
|
+
description: "Act 2 of 9: Set up questions and the activity template for Retail Execution. Creates one or more Assessment Indicator Definitions (reusable questions — the user chooses how many, and per question picks the AssessmentContext: \"Store\" or \"Store and Merchandising Section\") and one non-standard Activity Template (AsmtTskDefTmpl) with IsStandardTask=false to mark activities as event-driven, time-boxed rather than recurring standard tasks. Depends on Act 1 (a valid Visit Specification and InternalOrganizationUnitId must exist). DataType is immutable after creation — validate before creating. Template settings (ShouldIncludeAssortments, ShouldIncludeSpecAcct, UsageType, IsStandardTask) cascade to activities created from it in Act 3."
|
|
4
|
+
metadata:
|
|
5
|
+
version: "1.0"
|
|
6
|
+
cliTools:
|
|
7
|
+
- tool:
|
|
8
|
+
- "sf"
|
|
9
|
+
semver: ">=2.0.0"
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# Act 2: Set Up Questions and Activity Template
|
|
13
|
+
|
|
14
|
+
**Part of:** [9-Act Retail Execution Steel Thread](../../README.md)
|
|
15
|
+
**Depends on:** [Act 1 - Visit Specification Setup](../act1-visit-specification/SKILL.md)
|
|
16
|
+
**Enables:** [Act 3 - Activity Definition](../act3-activity-definition/SKILL.md)
|
|
17
|
+
|
|
18
|
+
**Act 2 builds the reusable assessment framework the activity in Act 3 is created from. You MUST complete Act 1 (a valid Visit Specification and InternalOrganizationUnitId exist) before starting this act.**
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## Goal
|
|
23
|
+
|
|
24
|
+
Create the reusable question infrastructure for Retail Execution activities: **Assessment Indicator Definitions** (questions) and a **non-standard activity template** that marks activities as event-driven rather than recurring standard tasks.
|
|
25
|
+
|
|
26
|
+
**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."
|
|
27
|
+
|
|
28
|
+
**What you'll create:**
|
|
29
|
+
1. One or more Assessment Indicator Definitions (questions)
|
|
30
|
+
2. One non-standard Activity Template
|
|
31
|
+
3. Links between template and questions
|
|
32
|
+
|
|
33
|
+
---
|
|
34
|
+
|
|
35
|
+
## What this Act does
|
|
36
|
+
|
|
37
|
+
The activity in Act 3 is instantiated from a template and carries questions. This Act builds both, so Act 3 has something to reference. It:
|
|
38
|
+
|
|
39
|
+
1. **Creates the Assessment Indicator Definitions (AIDs)** — reusable questions. **Ask the user how many questions they need and for each one's name, DataType, and AssessmentContext** — the walkthrough below uses two (a `Boolean` "Display Up?" and a `Number` "Facings Count") purely as a worked example; create as many (or as few) as the user wants by repeating Steps 1-2. Each AID requires a `Description` (a mandatory field on the object). **For `Picklist` / `Multi-Select Picklist` questions, also creates the choice records (`AssessmentIndDefinedValue`)** — one per option the user lists (Step 2b).
|
|
40
|
+
2. **Creates the non-standard Activity Template (AsmtTskDefTmpl)** — with `IsStandardTask = false` (the event-driven/time-boxed marker), plus `IsActive = true`, `ShouldIncludeAssortments = true`, `ShouldIncludeSpecAcct = true`, and `UsageType = "Retail"`.
|
|
41
|
+
3. **Links the indicators to the template (AsmtTaskDefTemplateIndDef)** — required *if* questions were created in step 1 (one link per question); skip entirely if no questions were specified. When present, this defines the template's generic question set. Activity-level links in Act 4 are the enforceable per-activity contract (template links do NOT auto-flow to activities).
|
|
42
|
+
4. **Verifies** every AID created is `IsActive = true`, the template carries `IsStandardTask = false`, and the template settings that cascade to activities are set correctly.
|
|
43
|
+
|
|
44
|
+
Template settings (`IsStandardTask`, `ShouldIncludeAssortments`, `ShouldIncludeSpecAcct`, `UsageType`) **cascade to activities created from it in Act 3**. `DataType` on the indicators is **immutable after creation** (`AssessmentContext` can be changed later, but pick it deliberately) — validate before creating.
|
|
45
|
+
|
|
46
|
+
---
|
|
47
|
+
|
|
48
|
+
## When to use
|
|
49
|
+
|
|
50
|
+
**Invoke this skill when:**
|
|
51
|
+
- You've completed Act 1 (Visit Specification exists)
|
|
52
|
+
- You need to create questions for store visits or product assessments
|
|
53
|
+
- You're setting up an event-driven (non-recurring) activity template
|
|
54
|
+
- The user asks about "assessment indicators", "questions", "activity templates", or "non-standard tasks"
|
|
55
|
+
|
|
56
|
+
**Trigger phrases:**
|
|
57
|
+
- "Create questions for retail execution"
|
|
58
|
+
- "Set up assessment indicators"
|
|
59
|
+
- "Make a non-standard activity template"
|
|
60
|
+
- "Configure event-driven activity template"
|
|
61
|
+
- "Act 2" or "template and questions setup"
|
|
62
|
+
|
|
63
|
+
---
|
|
64
|
+
|
|
65
|
+
## Prerequisites
|
|
66
|
+
|
|
67
|
+
Before starting this Act, ensure:
|
|
68
|
+
|
|
69
|
+
1. **Act 1 Complete:**
|
|
70
|
+
- Visit Specification created with Id (e.g., `0o7xx0000000001EAA`)
|
|
71
|
+
- InternalOrganizationUnitId known (e.g., `0gJxx0000000001EAA`)
|
|
72
|
+
|
|
73
|
+
2. **Object Permissions:**
|
|
74
|
+
|
|
75
|
+
Check user has Create permissions for required objects:
|
|
76
|
+
|
|
77
|
+
```sql
|
|
78
|
+
SELECT Parent.Name, Parent.Profile.Name, SobjectType,
|
|
79
|
+
PermissionsRead, PermissionsCreate, PermissionsEdit
|
|
80
|
+
FROM ObjectPermissions
|
|
81
|
+
WHERE SobjectType IN ('AssessmentIndicatorDefinition', 'AsmtTskDefTmpl', 'AsmtTaskDefTemplateIndDef')
|
|
82
|
+
AND PermissionsCreate = true
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
All three objects must have `PermissionsCreate = true` for the user's profile/permission set.
|
|
86
|
+
|
|
87
|
+
**If any question is a `Picklist` (`DataType`), you also need Create on `AssessmentIndDefinedValue`** — the picklist values are stored as child `AssessmentIndDefinedValue` records, not on the AID itself. Include it in the check only when a picklist-type question is in scope:
|
|
88
|
+
|
|
89
|
+
```sql
|
|
90
|
+
SELECT Parent.Name, Parent.Profile.Name, SobjectType,
|
|
91
|
+
PermissionsRead, PermissionsCreate, PermissionsEdit
|
|
92
|
+
FROM ObjectPermissions
|
|
93
|
+
WHERE SobjectType = 'AssessmentIndDefinedValue'
|
|
94
|
+
AND PermissionsCreate = true
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
`AssessmentIndDefinedValue` must return `PermissionsCreate = true` before you create any picklist question, or the value-population step will fail.
|
|
98
|
+
|
|
99
|
+
3. **Retail Execution feature enabled:** Setup → Feature Settings → Retail Execution, and API version v54.0 or later (examples use v68.0).
|
|
100
|
+
|
|
101
|
+
---
|
|
102
|
+
|
|
103
|
+
## Inputs
|
|
104
|
+
|
|
105
|
+
| Variable | Description | Source | Example |
|
|
106
|
+
|---|---|---|---|
|
|
107
|
+
| `ORG_ALIAS` | Target org alias for `sf` CLI commands | Auth session | `my-re-org` |
|
|
108
|
+
| `INTERNAL_ORG_UNIT_ID` | Internal Organization Unit that scopes the indicators and template | Act 1 | `0gJxx0000000001EAA` |
|
|
109
|
+
| `DEFAULT_ACTIVITY_DRTN` | Default activity length (numeric), read together with `ACTIVITY_DURATION_TYPE` | User | `30` |
|
|
110
|
+
| `ACTIVITY_DURATION_TYPE` | Unit for the duration — `Minute` or `Hour` | User (default `Minute`) | `Minute` |
|
|
111
|
+
| `DISPLAY_ORDER` | Sort position of the template in the Activity list (integer) | User (default `1`) | `1` |
|
|
112
|
+
|
|
113
|
+
```bash
|
|
114
|
+
INTERNAL_ORG_UNIT_ID="0gJxx0000000001EAA" # From Act 1
|
|
115
|
+
DEFAULT_ACTIVITY_DRTN=30 # numeric value
|
|
116
|
+
ACTIVITY_DURATION_TYPE="Minute" # "Minute" or "Hour"
|
|
117
|
+
DISPLAY_ORDER=1 # template sort position
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
### Key Concepts (reference before executing)
|
|
121
|
+
|
|
122
|
+
**Number of questions is up to the user.** This Act creates one AID per question. The steps below walk through two as an example, but there is no fixed count — ask the user how many questions they want, then repeat the create-a-question step once per question.
|
|
123
|
+
|
|
124
|
+
**Assessment Indicator Definitions (AIDs)** — questions reusable across multiple activities. Two critical fields:
|
|
125
|
+
|
|
126
|
+
- **AssessmentContext**: Determines granularity. Two choices to offer the user (API value → what it means):
|
|
127
|
+
- `"Store"` (UI label "Store"): Visit-level questions, answered once per visit (e.g., "Display Up?", "Facings Count").
|
|
128
|
+
- `"StoreInStore"` (UI label "Store and Merchandising Section"): Questions answered at both the store level and per merchandising section within the store.
|
|
129
|
+
- (A third value, `"InStore"` / "Merchandising Section", exists but is out of scope for this steel thread.)
|
|
130
|
+
- **DataType**: `Boolean`, `String`, `Number`, `DateTime`, `Percentage`, `Decimal`, `Currency`, `Picklist`, `Multi-Select Picklist`. **Immutable after creation** — pick the right one up front.
|
|
131
|
+
|
|
132
|
+
**Ask the user which context each question uses — "Store" or "Store and Merchandising Section".** `AssessmentContext` can be changed after creation, but choose it deliberately; `DataType` cannot.
|
|
133
|
+
|
|
134
|
+
**Activity Template (AsmtTskDefTmpl)** — a reusable blueprint for creating activities. `IsStandardTask` is the classification pivot:
|
|
135
|
+
|
|
136
|
+
- **IsStandardTask = true**: Recurring, scheduled tasks (e.g., weekly shelf checks)
|
|
137
|
+
- **IsStandardTask = false**: **Event-driven, time-boxed activities** (our use case)
|
|
138
|
+
|
|
139
|
+
Other critical fields:
|
|
140
|
+
- `ShouldIncludeAssortments`: `true` enables assortment-based product surveys
|
|
141
|
+
- `ShouldIncludeSpecAcct`: `true` enables account scoping (which stores)
|
|
142
|
+
- `UsageType`: `"Retail"` for Retail Execution context
|
|
143
|
+
- **DefaultActivityDrtn + ActivityDurationType**: Set the default activity length (e.g., `30` + `"Minute"`). Interpreted together — `DefaultActivityDrtn` is the numeric value and `ActivityDurationType` is the unit it's read in:
|
|
144
|
+
- `ActivityDurationType = "Minute"` → `DefaultActivityDrtn = 30` means 30 minutes.
|
|
145
|
+
- `ActivityDurationType = "Hour"` → `DefaultActivityDrtn = 1` means 1 hour.
|
|
146
|
+
- Set both fields together — a mismatched unit (e.g. `"Hour"` when you meant minutes) yields wildly wrong activity durations. Ask the user for both; default to `Minute` if they don't specify a unit.
|
|
147
|
+
- **DisplayOrder**: Integer sort position of the template in the Activity list (default `1`).
|
|
148
|
+
|
|
149
|
+
**Template-to-Indicator Links (AsmtTaskDefTemplateIndDef)** — junction object linking templates to questions.
|
|
150
|
+
|
|
151
|
+
---
|
|
152
|
+
|
|
153
|
+
## Step-by-step procedure
|
|
154
|
+
|
|
155
|
+
> **First, decide how many questions.** Ask the user how many questions the activity needs, and for each: a name, a DataType (`Boolean`, `String`, `Number`, `DateTime`, `Percentage`, `Decimal`, `Currency`, `Picklist`, `Multi-Select Picklist`), and an AssessmentContext — **"Store"** or **"Store and Merchandising Section"**. **For any `Picklist` / `Multi-Select Picklist` question, also ask for its list of choices** — those become `AssessmentIndDefinedValue` records in Step 2b. Then run the create-a-question step (below) once per question. Steps 1 and 2 show two questions as a worked example — create exactly as many as the user asked for.
|
|
156
|
+
|
|
157
|
+
### Step 1: Create the First Store-Level Question
|
|
158
|
+
|
|
159
|
+
Create the "Display Up?" boolean question (visit-level) — example of the first question.
|
|
160
|
+
|
|
161
|
+
**API Call:**
|
|
162
|
+
```http
|
|
163
|
+
POST /services/data/v68.0/sobjects/AssessmentIndicatorDefinition
|
|
164
|
+
Content-Type: application/json
|
|
165
|
+
|
|
166
|
+
{
|
|
167
|
+
"Name": "Display Up?",
|
|
168
|
+
"Description": "Is the promotional display set up correctly?",
|
|
169
|
+
"DataType": "Boolean",
|
|
170
|
+
"IsActive": true,
|
|
171
|
+
"AssessmentContext": "Store",
|
|
172
|
+
"InternalOrganizationUnitId": "0gJxx0000000001EAA"
|
|
173
|
+
}
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
**Save this value:**
|
|
177
|
+
```bash
|
|
178
|
+
INDICATOR_ID_1="0l0xx0000000001EAA"
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
**What this creates:** A yes/no question answered once per store visit. Field reps will see this question at the visit level before diving into product-specific tasks.
|
|
182
|
+
|
|
183
|
+
> `Description` is **required** on `AssessmentIndicatorDefinition` — omitting it returns `REQUIRED_FIELD_MISSING: [Description]`. `AssessmentContext` here is `"Store"` (label "Store"); use `"StoreInStore"` (label "Store and Merchandising Section") if the user chose that for this question.
|
|
184
|
+
|
|
185
|
+
**Expected result:** Response returns `"success": true` with an `id`; save it as `INDICATOR_ID_1`.
|
|
186
|
+
```json
|
|
187
|
+
{
|
|
188
|
+
"id": "0l0xx0000000001EAA",
|
|
189
|
+
"success": true,
|
|
190
|
+
"errors": []
|
|
191
|
+
}
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
### Step 2: Create Additional Store-Level Questions (repeat per question)
|
|
195
|
+
|
|
196
|
+
Repeat this create call once for each remaining question the user wants — capturing each returned id as `INDICATOR_ID_2`, `INDICATOR_ID_3`, … (each with its own `Description`, `DataType`, and `AssessmentContext`). If the user only wants one question, skip this step. The example creates a second question, "Facings Count" (store-level). `Number` is used here only as an example — the DataType is **not mandated**; pick whichever fits the question (`Boolean`, `String`, `Number`, `DateTime`, `Percentage`, `Decimal`, `Currency`, `Picklist`, `Multi-Select Picklist`).
|
|
197
|
+
|
|
198
|
+
**API Call:**
|
|
199
|
+
```http
|
|
200
|
+
POST /services/data/v68.0/sobjects/AssessmentIndicatorDefinition
|
|
201
|
+
Content-Type: application/json
|
|
202
|
+
|
|
203
|
+
{
|
|
204
|
+
"Name": "Facings Count",
|
|
205
|
+
"Description": "Number of product facings visible on the shelf.",
|
|
206
|
+
"DataType": "Number",
|
|
207
|
+
"IsActive": true,
|
|
208
|
+
"AssessmentContext": "Store",
|
|
209
|
+
"InternalOrganizationUnitId": "0gJxx0000000001EAA"
|
|
210
|
+
}
|
|
211
|
+
```
|
|
212
|
+
|
|
213
|
+
**Save this value:**
|
|
214
|
+
```bash
|
|
215
|
+
INDICATOR_ID_2="0l0xx0000000002EAA"
|
|
216
|
+
```
|
|
217
|
+
|
|
218
|
+
**What this creates:** A second store-level question answered once per visit. `DataType: "Number"` makes "Facings Count" a numeric field, but any supported DataType works — choose it to match the question you're asking.
|
|
219
|
+
|
|
220
|
+
**Expected result:** Response returns `"success": true` with an `id`; save it as `INDICATOR_ID_2`.
|
|
221
|
+
```json
|
|
222
|
+
{
|
|
223
|
+
"id": "0l0xx0000000002EAA",
|
|
224
|
+
"success": true,
|
|
225
|
+
"errors": []
|
|
226
|
+
}
|
|
227
|
+
```
|
|
228
|
+
|
|
229
|
+
### Step 2b: Add Picklist Values (only for `Picklist` / `Multi-Select Picklist` questions)
|
|
230
|
+
|
|
231
|
+
**Skip this step for every non-picklist question.** For a `Picklist` or `Multi-Select Picklist` question, the AID itself holds no choices — the selectable options live in child `AssessmentIndDefinedValue` records. A picklist question with zero values is unusable (field reps see an empty dropdown), so this step is **required** for those questions.
|
|
232
|
+
|
|
233
|
+
**Ask the user for the list of choices** for each picklist question (e.g. for a "Shelf Condition" question: `Excellent`, `Good`, `Poor`). Then create one `AssessmentIndDefinedValue` per choice, each pointing at that question's `AssessmentIndicatorDefinition` Id.
|
|
234
|
+
|
|
235
|
+
**API Call (repeat once per value):**
|
|
236
|
+
```http
|
|
237
|
+
POST /services/data/v68.0/sobjects/AssessmentIndDefinedValue
|
|
238
|
+
Content-Type: application/json
|
|
239
|
+
|
|
240
|
+
{
|
|
241
|
+
"AssessmentIndicatorDefinitionId": "0l0xx0000000003EAA",
|
|
242
|
+
"Value": "Excellent",
|
|
243
|
+
"SequenceNumber": 1,
|
|
244
|
+
"IsDefault": false
|
|
245
|
+
}
|
|
246
|
+
```
|
|
247
|
+
|
|
248
|
+
- `AssessmentIndicatorDefinitionId` → **required.** The `INDICATOR_ID_n` of the picklist question these values belong to.
|
|
249
|
+
- `Value` → **required.** The choice as shown to the field rep (this is the label field — the object has no `Name` field). Create one record per choice the user gave.
|
|
250
|
+
- `SequenceNumber` → **required.** The order the choices appear in the dropdown (1, 2, 3, …). (There is no `DisplayOrder` field on this object.)
|
|
251
|
+
- `IsDefault` → **required.** `true` for the choice pre-selected by default, `false` otherwise. Set at most one value to `true` per question.
|
|
252
|
+
|
|
253
|
+
**Expected result:** Each call returns `"success": true` with an `id`. After creating all values, the picklist question has one `AssessmentIndDefinedValue` child per choice.
|
|
254
|
+
|
|
255
|
+
> The four fields above (`AssessmentIndicatorDefinitionId`, `Value`, `SequenceNumber`, `IsDefault`) are all **required** on create — none can be omitted. Confirm them against the target org with `sf sobject describe --sobject AssessmentIndDefinedValue` before running, as field API names can vary by org/version.
|
|
256
|
+
|
|
257
|
+
### Step 3: Create Non-Standard Activity Template
|
|
258
|
+
|
|
259
|
+
Create the event-driven activity template.
|
|
260
|
+
|
|
261
|
+
**API Call:**
|
|
262
|
+
```http
|
|
263
|
+
POST /services/data/v68.0/sobjects/AsmtTskDefTmpl
|
|
264
|
+
Content-Type: application/json
|
|
265
|
+
|
|
266
|
+
{
|
|
267
|
+
"Name": "Non-Standard Activity Template",
|
|
268
|
+
"InternalOrganizationUnitId": "0gJxx0000000001EAA",
|
|
269
|
+
"Description": "Template for event-driven, time-boxed activities",
|
|
270
|
+
"DisplayOrder": 1,
|
|
271
|
+
"IsActive": true,
|
|
272
|
+
"IsStandardTask": false,
|
|
273
|
+
"ShouldIncludeSpecAcct": true,
|
|
274
|
+
"ShouldIncludeAssortments": true,
|
|
275
|
+
"UsageType": "Retail",
|
|
276
|
+
"DefaultActivityDrtn": 30,
|
|
277
|
+
"ActivityDurationType": "Minute"
|
|
278
|
+
}
|
|
279
|
+
```
|
|
280
|
+
|
|
281
|
+
**Save this value:**
|
|
282
|
+
```bash
|
|
283
|
+
ACTIVITY_TEMPLATE_ID="0oBxx0000000001EAA"
|
|
284
|
+
```
|
|
285
|
+
|
|
286
|
+
**Critical fields explained:**
|
|
287
|
+
- `IsStandardTask: false` → Activities created from this template are **event-driven** (one-off, time-boxed)
|
|
288
|
+
- `ShouldIncludeAssortments: true` → Activities can reference product lists
|
|
289
|
+
- `ShouldIncludeSpecAcct: true` → Activities can be scoped to specific accounts (stores)
|
|
290
|
+
- `UsageType: "Retail"` → Template appears in Retail Execution context
|
|
291
|
+
- `DefaultActivityDrtn: 30` + `ActivityDurationType: "Minute"` → Default activity length, read as a pair. Use the user's values (`DEFAULT_ACTIVITY_DRTN` / `ACTIVITY_DURATION_TYPE`); `ActivityDurationType` is `"Minute"` or `"Hour"`, defaulting to `Minute`.
|
|
292
|
+
- `DisplayOrder: 1` → Sort position of the template in the Activity list (use `DISPLAY_ORDER`)
|
|
293
|
+
|
|
294
|
+
**Expected result:** Response returns `"success": true` with an `id`; save it as `ACTIVITY_TEMPLATE_ID`.
|
|
295
|
+
```json
|
|
296
|
+
{
|
|
297
|
+
"id": "0oBxx0000000001EAA",
|
|
298
|
+
"success": true,
|
|
299
|
+
"errors": []
|
|
300
|
+
}
|
|
301
|
+
```
|
|
302
|
+
|
|
303
|
+
### Step 4: Link Indicators to Template (only if questions were created)
|
|
304
|
+
|
|
305
|
+
**Skip this step entirely if you created no questions in Steps 1-2** — a template with no generic questions is valid (Act 4 can still add activity-specific questions directly to the activity).
|
|
306
|
+
|
|
307
|
+
If you did create questions, they are the *generic* questions for this template, and they only belong to the template once linked — create **one `AsmtTaskDefTemplateIndDef` record per question you created**. (Act 4 later adds the *activity-level* links, which are the enforceable per-activity contract — these template links do NOT auto-flow to activities; the template links here just define the template's generic question set that Act 4 reuses.) The two calls below correspond to the two example questions; add one call per additional question.
|
|
308
|
+
|
|
309
|
+
**Link Store Indicator:**
|
|
310
|
+
```http
|
|
311
|
+
POST /services/data/v68.0/sobjects/AsmtTaskDefTemplateIndDef
|
|
312
|
+
Content-Type: application/json
|
|
313
|
+
|
|
314
|
+
{
|
|
315
|
+
"AsmtTskDefTmplId": "0oBxx0000000001EAA",
|
|
316
|
+
"AssessmentIndDefId": "0l0xx0000000001EAA"
|
|
317
|
+
}
|
|
318
|
+
```
|
|
319
|
+
|
|
320
|
+
**Link Store Numeric Indicator:**
|
|
321
|
+
```http
|
|
322
|
+
POST /services/data/v68.0/sobjects/AsmtTaskDefTemplateIndDef
|
|
323
|
+
Content-Type: application/json
|
|
324
|
+
|
|
325
|
+
{
|
|
326
|
+
"AsmtTskDefTmplId": "0oBxx0000000001EAA",
|
|
327
|
+
"AssessmentIndDefId": "0l0xx0000000002EAA"
|
|
328
|
+
}
|
|
329
|
+
```
|
|
330
|
+
|
|
331
|
+
**Note:** These links define the template's generic question set. Activities created from this template still need their own explicit activity-level indicator links (**Act 4**) — those are the enforceable per-activity contract. The template links here do NOT propagate to the activity automatically; Act 4 reuses these generic questions by linking each one to the activity.
|
|
332
|
+
|
|
333
|
+
**Expected result:** One `AsmtTaskDefTemplateIndDef` record per question created, each returning `"success": true` (the worked example creates two). If no questions were created, there are no links — that's expected.
|
|
334
|
+
|
|
335
|
+
---
|
|
336
|
+
|
|
337
|
+
## Validation
|
|
338
|
+
|
|
339
|
+
Confirm successful setup with these checks.
|
|
340
|
+
|
|
341
|
+
### 1. Query Assessment Indicator Definitions
|
|
342
|
+
|
|
343
|
+
Skip this check if you created no questions. Otherwise, query the questions you created by the Ids captured in Steps 1-2 (`INDICATOR_ID_1`, `INDICATOR_ID_2`, …):
|
|
344
|
+
|
|
345
|
+
```bash
|
|
346
|
+
# All questions created in this Act, by their captured Ids
|
|
347
|
+
sf data query \
|
|
348
|
+
--query "SELECT Id FROM AssessmentIndicatorDefinition WHERE Id IN ('$INDICATOR_ID_1','$INDICATOR_ID_2')" \
|
|
349
|
+
--target-org <org-alias>
|
|
350
|
+
```
|
|
351
|
+
|
|
352
|
+
**Expected:** Every question you created comes back — one `Id` row per question.
|
|
353
|
+
|
|
354
|
+
### 2. Query Activity Template
|
|
355
|
+
|
|
356
|
+
```bash
|
|
357
|
+
sf data query \
|
|
358
|
+
--query "SELECT Id FROM AsmtTskDefTmpl WHERE Id = '$ACTIVITY_TEMPLATE_ID'" \
|
|
359
|
+
--target-org <org-alias>
|
|
360
|
+
```
|
|
361
|
+
|
|
362
|
+
**Expected:** Exactly one `Id` row — the template exists.
|
|
363
|
+
|
|
364
|
+
### 3. Verify Template-Indicator Links
|
|
365
|
+
|
|
366
|
+
Skip this check if you created no questions (there are no links to verify). Otherwise:
|
|
367
|
+
|
|
368
|
+
```bash
|
|
369
|
+
sf data query \
|
|
370
|
+
--query "SELECT Id FROM AsmtTaskDefTemplateIndDef WHERE AsmtTskDefTmplId = '$ACTIVITY_TEMPLATE_ID'" \
|
|
371
|
+
--target-org <org-alias>
|
|
372
|
+
```
|
|
373
|
+
|
|
374
|
+
**Expected:** One record per question you linked (in the worked example, two).
|
|
375
|
+
|
|
376
|
+
### Success Criteria
|
|
377
|
+
|
|
378
|
+
- ✓ One `AssessmentIndicatorDefinition` record exists per question the user asked for (the worked example creates two — "Display Up?" Boolean and "Facings Count" Number)
|
|
379
|
+
- ✓ One `AsmtTskDefTmpl` record exists ("Non-Standard Activity Template")
|
|
380
|
+
- ✓ `IsStandardTask = false` on the template
|
|
381
|
+
- ✓ Every indicator active (`IsActive = true`)
|
|
382
|
+
- ✓ Template active (`IsActive = true`)
|
|
383
|
+
- ✓ Template settings enable assortments and account scoping (`ShouldIncludeAssortments = true`, `ShouldIncludeSpecAcct = true`, `UsageType = "Retail"`)
|
|
384
|
+
- ✓ One `AsmtTaskDefTemplateIndDef` link exists per question created (Step 4 — required only if questions were created; none needed if no questions were specified)
|
|
385
|
+
|
|
386
|
+
---
|
|
387
|
+
|
|
388
|
+
## End state
|
|
389
|
+
|
|
390
|
+
After completing Act 2:
|
|
391
|
+
|
|
392
|
+
- ✅ **Assessment Indicator Definitions exist** — as many as the user asked for (possibly none), each `IsActive = true`. The worked example creates two: "Display Up?" (`Boolean`, Store context) and "Facings Count" (`Number`, Store context).
|
|
393
|
+
- ✅ **One non-standard Activity Template exists** — `IsStandardTask = false`, `ShouldIncludeAssortments = true`, `ShouldIncludeSpecAcct = true`, `UsageType = "Retail"`, `IsActive = true`.
|
|
394
|
+
- ✅ **Template-indicator links exist for each question created** — one `AsmtTaskDefTemplateIndDef` record per question (Step 4); if no questions were created, the template simply carries no generic question set (valid — Act 4 can add activity-specific questions later).
|
|
395
|
+
- ✅ **The template Id and every indicator Id are captured** and ready for Act 3.
|
|
396
|
+
|
|
397
|
+
**At this point:**
|
|
398
|
+
- Act 2 only builds the reusable blueprint (template) and question library.
|
|
399
|
+
- No concrete activity exists yet — that happens in Act 3.
|
|
400
|
+
- Questions are not yet enforceably attached to an activity — that happens in Act 4 (activity-level links).
|
|
401
|
+
|
|
402
|
+
**You are NOT done with the full setup** — this is Act 2 of 9. Proceed to Act 3 (Activity Definition) to create the concrete, time-boxed activity from this template.
|
|
403
|
+
|
|
404
|
+
---
|
|
405
|
+
|
|
406
|
+
## Gotchas and common errors
|
|
407
|
+
|
|
408
|
+
### 1. "Template not appearing in Activity creation UI"
|
|
409
|
+
|
|
410
|
+
**Symptom:** Template created successfully but doesn't show in dropdown.
|
|
411
|
+
|
|
412
|
+
**Cause:** `IsActive: false` or `UsageType` mismatch.
|
|
413
|
+
|
|
414
|
+
**Fix:**
|
|
415
|
+
```bash
|
|
416
|
+
# Update template to active
|
|
417
|
+
sf data update record \
|
|
418
|
+
--sobject AsmtTskDefTmpl \
|
|
419
|
+
--record-id "$ACTIVITY_TEMPLATE_ID" \
|
|
420
|
+
--values "IsActive=true UsageType=Retail" \
|
|
421
|
+
--target-org <org-alias>
|
|
422
|
+
```
|
|
423
|
+
|
|
424
|
+
### 2. DataType is Immutable (AssessmentContext is not)
|
|
425
|
+
|
|
426
|
+
**Symptom:** Need to change `DataType` after creation.
|
|
427
|
+
|
|
428
|
+
**Cause:** `DataType` is **not updateable** after indicator creation — a PATCH returns `INVALID_FIELD_FOR_INSERT_UPDATE: [DataType]`. (`AssessmentContext`, by contrast, *can* be updated after creation — but still choose it deliberately.)
|
|
429
|
+
|
|
430
|
+
**Fix:** Create a new indicator with the correct `DataType`:
|
|
431
|
+
```json
|
|
432
|
+
{
|
|
433
|
+
"Name": "Updated Question Name",
|
|
434
|
+
"Description": "Corrected question.",
|
|
435
|
+
"AssessmentContext": "Store",
|
|
436
|
+
"DataType": "Number"
|
|
437
|
+
}
|
|
438
|
+
```
|
|
439
|
+
|
|
440
|
+
Then deactivate the old indicator: `{"IsActive": false}` and update activities to use the new indicator ID.
|
|
441
|
+
|
|
442
|
+
**Prevention:** Validate `DataType` before creation (it can't be fixed afterward).
|
|
443
|
+
|
|
444
|
+
---
|
|
445
|
+
|
|
446
|
+
## Notes: best practices & architecture
|
|
447
|
+
|
|
448
|
+
**1. AssessmentContext: Ask the user per question**
|
|
449
|
+
|
|
450
|
+
Two contexts are in scope, and the user chooses per question:
|
|
451
|
+
- **"Store"** (API `Store`) — answered once per visit. Use for visit-level observations (e.g., "Store cleanliness rating", "Display up?", "Facings count").
|
|
452
|
+
- **"Store and Merchandising Section"** (API `StoreInStore`) — answered at both the store level and per merchandising section within the store. Use when the question needs section-level granularity in addition to the store-level answer.
|
|
453
|
+
|
|
454
|
+
Pick the context deliberately at creation. It *can* be updated later, but `DataType` cannot — so validate DataType up front.
|
|
455
|
+
|
|
456
|
+
**2. IsStandardTask=false is the Event-Driven Marker**
|
|
457
|
+
|
|
458
|
+
Standard tasks (`IsStandardTask=true`):
|
|
459
|
+
- Recurring, scheduled (e.g., "Check shelf every Monday")
|
|
460
|
+
- Generate visits automatically
|
|
461
|
+
- Not time-boxed
|
|
462
|
+
|
|
463
|
+
Non-standard tasks (`IsStandardTask=false`):
|
|
464
|
+
- **Event-driven**, one-off (e.g., "New product launch promotion")
|
|
465
|
+
- Manually triggered or time-boxed
|
|
466
|
+
- Our use case for the 9-Act flow
|
|
467
|
+
|
|
468
|
+
Setting `IsStandardTask=false` is how you classify activities as event-driven. This cascades to activities created from this template.
|
|
469
|
+
|
|
470
|
+
**3. Template Settings Cascade to Activities**
|
|
471
|
+
|
|
472
|
+
| Template Field | Effect on Activities |
|
|
473
|
+
|---|---|
|
|
474
|
+
| `ShouldIncludeAssortments: true` | Activities can link to AssessmentTaskOrders (product lists) |
|
|
475
|
+
| `ShouldIncludeSpecAcct: true` | Activities can be scoped to specific accounts (stores) |
|
|
476
|
+
| `UsageType: "Retail"` | Activities appear in Retail Execution context |
|
|
477
|
+
| `IsStandardTask: false` | Activities are event-driven, non-recurring |
|
|
478
|
+
|
|
479
|
+
Choose template settings carefully. Changing the template doesn't update existing activities.
|
|
480
|
+
|
|
481
|
+
**4. Indicator Links: Template vs Activity Level**
|
|
482
|
+
|
|
483
|
+
At template level (Step 4): The generic questions created in this Act only belong to the template once linked — this defines the template's generic question set.
|
|
484
|
+
|
|
485
|
+
At activity level (Act 4): explicit links required via `AssessmentTaskIndDefinition`, determines which questions appear during the visit. Template links do NOT auto-flow here — Act 4 must link each question to the activity.
|
|
486
|
+
|
|
487
|
+
Best practice: Define the generic set at the template level here, then in Act 4 reuse them on the activity (plus any activity-specific questions). Activity-level links are the enforceable contract.
|
|
488
|
+
|
|
489
|
+
**5. Why separate Indicator Definitions from Activities?**
|
|
490
|
+
|
|
491
|
+
Reusability: The same "Facings Count" question can be used across multiple activities (new product launch, seasonal promo), multiple templates (standard shelf checks, event-driven audits), and multiple internal org units (different regions).
|
|
492
|
+
|
|
493
|
+
Centralized updates: Change the indicator definition, and all activities referencing it inherit the update (e.g., rename "Facings Count" to "Shelf Facings").
|
|
494
|
+
|
|
495
|
+
**Template vs Activity Lifecycle**
|
|
496
|
+
|
|
497
|
+
```text
|
|
498
|
+
Template (AsmtTskDefTmpl) → Blueprint
|
|
499
|
+
↓ (IsStandardTask, ShouldIncludeAssortments, etc.)
|
|
500
|
+
Activity (AssessmentTaskDefinition) → Concrete instance
|
|
501
|
+
↓ (Linked to Visit Spec, Account, Assortment)
|
|
502
|
+
Visit (AssessmentTask) → Field execution
|
|
503
|
+
```
|
|
504
|
+
|
|
505
|
+
Act 2 creates the blueprint. Act 3 creates the concrete instance.
|
|
506
|
+
|
|
507
|
+
---
|
|
508
|
+
|
|
509
|
+
## Session state to track & handoff
|
|
510
|
+
|
|
511
|
+
> **Internal only — never print this to the user.** These variables (including `act2_complete`) are orchestration bookkeeping. Track them silently to drive the gate below; do **not** echo raw variable names, IDs, or the gate flag into the conversation. When the Act finishes, tell the user only a short plain-language confirmation (e.g., "✅ Act 2 done — your template and questions are ready").
|
|
512
|
+
|
|
513
|
+
Pass these forward to Act 3:
|
|
514
|
+
|
|
515
|
+
- `ACTIVITY_TEMPLATE_ID` — from Step 3. **Required for Act 3** (the activity is created from this template via `AsmtTskDefTmplId`).
|
|
516
|
+
- `INDICATOR_ID_1`, `INDICATOR_ID_2`, … — one captured id per question created in Steps 1-2. **Required for Act 4** (activity-level question links reuse these generic questions). Carry forward as many as you created.
|
|
517
|
+
- `VISIT_SPEC_ID` — carried from Act 1 (the activity references it via `VisitSpecId`).
|
|
518
|
+
- `act2_complete` — boolean; set to `true` after the Validation checks pass.
|
|
519
|
+
|
|
520
|
+
**Do NOT proceed to Act 3 until `act2_complete = true`.** The activity in Act 3 is created from this template (`AsmtTskDefTmplId`) and references its questions.
|
|
521
|
+
|
|
522
|
+
You can now create **event-driven activities** from this template (Act 3). The questions are reusable across multiple activities.
|
|
523
|
+
|
|
524
|
+
---
|
|
525
|
+
|
|
526
|
+
## Next Act
|
|
527
|
+
|
|
528
|
+
Proceed to **Act 3: Activity Definition** (`../act3-activity-definition/SKILL.md`). In Act 3, you'll:
|
|
529
|
+
1. Create an `AssessmentTaskDefinition` (concrete activity) from this template
|
|
530
|
+
2. Link the activity to the Visit Specification (Act 1)
|
|
531
|
+
3. Set the validity window and activate the activity
|
|
532
|
+
|
|
533
|
+
Then **Act 4** links the questions to the activity (mandatory at activity level) — reusing these generic questions and adding any activity-specific ones — before assortment scoping in Act 6.
|
|
534
|
+
|
|
535
|
+
---
|
|
536
|
+
|
|
537
|
+
## References
|
|
538
|
+
|
|
539
|
+
**API Documentation**
|
|
540
|
+
- [AssessmentIndicatorDefinition Object](https://developer.salesforce.com/docs/atlas.en-us.object_reference.meta/object_reference/sforce_api_objects_assessmentindicatordefinition.htm)
|
|
541
|
+
- [AsmtTskDefTmpl Object](https://developer.salesforce.com/docs/atlas.en-us.object_reference.meta/object_reference/sforce_api_objects_asmttskdeftmpl.htm)
|
|
542
|
+
- [AsmtTaskDefTemplateIndDef Object](https://developer.salesforce.com/docs/atlas.en-us.object_reference.meta/object_reference/sforce_api_objects_asmttaskdeftemplateinddef.htm)
|
|
543
|
+
|
|
544
|
+
**Related Acts**
|
|
545
|
+
- [Act 1: Visit Specification Setup](../act1-visit-specification/SKILL.md) ← Prerequisites
|
|
546
|
+
- [Act 3: Activity Definition](../act3-activity-definition/SKILL.md) ← Next step
|
|
547
|
+
- [9-Act Steel Thread README](../../README.md) ← Full flow
|