@salesforce/afv-skills 1.63.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-offline-experimentation-run/SKILL.md +253 -0
- package/skills/agentforce-offline-experimentation-run/scripts/build_report.py +796 -0
- package/skills/agentforce-offline-experimentation-run/scripts/resolve-token.sh +111 -0
- package/skills/agentforce-offline-experimentation-run/scripts/sfap_replay.py +1053 -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/automation-sandbox-post-copy-config-generate/SKILL.md +21 -11
- package/skills/automation-sandbox-post-copy-config-generate/assets/config_template.json +10 -0
- package/skills/automation-sandbox-post-copy-config-generate/assets/json_schema.json +33 -1
- package/skills/automation-sandbox-post-copy-config-generate/references/configuration_catalog.md +44 -1
- package/skills/automation-sandbox-post-copy-configure/SKILL.md +132 -124
- package/skills/automation-sandbox-post-copy-configure/references/flow_activation_path.md +151 -0
- package/skills/automation-sandbox-post-copy-configure/references/scheduled_apex_path.md +55 -9
- 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-promotion-bo-api-deploy/SKILL.md +54 -107
- package/skills/consumer-goods-promotion-bo-api-deploy/assets/set-comment-value/payloads/copy.json +1 -1
- package/skills/consumer-goods-promotion-bo-api-deploy/references/conventions-and-payload-rules.md +82 -5
- package/skills/consumer-goods-promotion-bo-api-deploy/references/generate-and-wire.md +35 -2
- package/skills/consumer-goods-promotion-bo-api-deploy/references/preflight-and-seed-queries.md +149 -0
- package/skills/consumer-goods-promotion-bo-api-deploy/references/smoke-and-verify.md +17 -1
- 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/dx-devops-conflict-resolve/SKILL.md +1 -5
- package/skills/dx-devops-pipeline-manage/SKILL.md +1 -5
- package/skills/dx-devops-project-manage/SKILL.md +1 -5
- package/skills/dx-devops-promote/SKILL.md +1 -5
- package/skills/dx-devops-request-status/SKILL.md +1 -5
- package/skills/dx-lifecycle-center/SKILL.md +120 -0
- package/skills/dx-lifecycle-center/examples/workflows.md +175 -0
- package/skills/dx-lifecycle-center/references/connect-api.md +123 -0
- package/skills/dx-lifecycle-center/references/connect-org.md +184 -0
- package/skills/dx-lifecycle-center/references/deploy.md +153 -0
- package/skills/dx-lifecycle-center/references/error-handling.md +21 -0
- package/skills/dx-lifecycle-center/references/hub-org.md +37 -0
- package/skills/dx-lifecycle-center/references/list-orgs.md +99 -0
- package/skills/dx-lifecycle-center/references/request-body.md +75 -0
- package/skills/dx-lifecycle-center/references/troubleshooting.md +31 -0
- package/skills/dx-lifecycle-center/scripts/poll-deploy-status.sh +200 -0
- package/skills/dx-lifecycle-center/scripts/resolve-environment.sh +120 -0
- package/skills/dx-org-devhub-configure/SKILL.md +1 -3
- package/skills/dx-org-shape-manage/SKILL.md +1 -5
- package/skills/dx-org-snapshot-manage/SKILL.md +1 -3
- package/skills/education-cloud-academic-calendar-generate/SKILL.md +1 -3
- package/skills/education-cloud-course-catalog-migrate/SKILL.md +1 -3
- package/skills/education-cloud-domain-configure/SKILL.md +1 -3
- package/skills/education-cloud-multi-campus-configure/SKILL.md +1 -3
- package/skills/education-cloud-student-recruitment-agent-configure/SKILL.md +1 -5
- 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/experience-ui-bundle-2gp-deploy/SKILL.md +1 -3
- package/skills/experience-ui-bundle-features-generate/SKILL.md +1 -5
- package/skills/experience-ui-bundle-mfa-configure/SKILL.md +1 -3
- 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-data-capture-migrate/SKILL.md +1 -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-orchestrator-get → field-service-setup-coordinate}/SKILL.md +18 -3
- 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/insurance-brokerage-agency-billing-configure/SKILL.md +1 -3
- package/skills/integration-apex-settings-configure/SKILL.md +61 -0
- package/skills/marketing-e360-email-archiving-configure/SKILL.md +73 -0
- package/skills/marketing-message-test/SKILL.md +1 -3
- package/skills/nonprofit-fundraising-configure/SKILL.md +240 -0
- package/skills/nonprofit-fundraising-configure/references/gotchas.md +26 -0
- package/skills/nonprofit-fundraising-configure/references/mcp-invocation.md +678 -0
- package/skills/nonprofit-fundraising-configure/references/permission-targeting.md +35 -0
- package/skills/nonprofit-volunteer-management-model-get/SKILL.md +166 -0
- package/skills/nonprofit-volunteer-management-model-get/references/entities.md +315 -0
- package/skills/nonprofit-volunteer-management-model-get/references/relationships.md +175 -0
- package/skills/nonprofit-volunteer-management-model-get/references/themes.md +143 -0
- package/skills/nonprofit-volunteer-management-records-create/SKILL.md +121 -0
- package/skills/nonprofit-volunteer-management-records-create/references/field-guide.md +284 -0
- package/skills/nonprofit-volunteer-management-records-create/references/mcp-invocation.md +248 -0
- package/skills/nonprofit-volunteer-management-records-create/references/review-format.md +140 -0
- package/skills/nonprofit-volunteer-management-records-create/scripts/expand-series.py +632 -0
- package/skills/nonprofit-volunteer-management-records-create/scripts/render-review-table.py +419 -0
- package/skills/nonprofit-volunteer-management-records-create/scripts/tests/test_expand_series.py +690 -0
- package/skills/nonprofit-volunteer-management-records-create/scripts/tests/test_render_review_table.py +421 -0
- package/skills/nonprofit-volunteer-management-structure-generate/SKILL.md +119 -0
- package/skills/nonprofit-volunteer-management-structure-generate/references/configuration-decisions.md +159 -0
- package/skills/nonprofit-volunteer-management-structure-generate/references/discovery-interview.md +137 -0
- package/skills/nonprofit-volunteer-management-structure-generate/references/edge-cases.md +48 -0
- package/skills/nonprofit-volunteer-management-structure-generate/references/mcp-invocation.md +75 -0
- package/skills/nonprofit-volunteer-management-structure-generate/references/plan-output.md +141 -0
- package/skills/platform-custom-field-generate/SKILL.md +1 -0
- package/skills/platform-custom-field-generate/references/advanced-picklists.md +5 -5
- package/skills/platform-custom-metadata-type-generate/SKILL.md +3 -0
- package/skills/platform-custom-object-generate/SKILL.md +4 -0
- package/skills/platform-custom-permissions-configure/SKILL.md +687 -0
- package/skills/platform-custom-setting-generate/SKILL.md +3 -0
- package/skills/platform-datamask-run/SKILL.md +1 -5
- package/skills/platform-label-workbench-import-create/SKILL.md +67 -0
- package/skills/platform-permission-set-generate/SKILL.md +3 -0
- package/skills/platform-privacy-agent-settings-configure/SKILL.md +752 -0
- package/skills/platform-salesforce-connect-adapter-generate/SKILL.md +1 -3
- package/skills/platform-sandbox-configure/SKILL.md +1 -3
- package/skills/platform-value-set-generate/SKILL.md +3 -0
- package/skills/sales-call-scoring-configure/SKILL.md +1 -5
- package/skills/service-agentforce-channel-configure/SKILL.md +1 -3
- package/skills/service-agentforce-human-escalation-configure/SKILL.md +1 -3
- package/skills/service-catalog-template-coordinate/SKILL.md +1 -3
- package/skills/service-concierge-portal-generate/SKILL.md +1 -3
- package/skills/service-email-to-case-configure/SKILL.md +1 -5
- package/skills/service-itsm-agentic-setup-agent-runtime-access-assign/SKILL.md +1 -3
- package/skills/service-itsm-agentic-setup-agentforce-coordinate/SKILL.md +1 -3
- package/skills/service-itsm-agentic-setup-agentforce-studio-configure/SKILL.md +1 -3
- package/skills/service-itsm-agentic-setup-agentforce-studio-validate/SKILL.md +1 -3
- package/skills/service-itsm-agentic-setup-cmdb-access-assign/SKILL.md +1 -3
- package/skills/service-itsm-agentic-setup-cmdb-bundle-deploy/SKILL.md +1 -5
- package/skills/service-itsm-agentic-setup-cmdb-configure/SKILL.md +1 -3
- package/skills/service-itsm-agentic-setup-cmdb-coordinate/SKILL.md +1 -3
- package/skills/service-itsm-agentic-setup-cmdb-discovery-configure/SKILL.md +1 -3
- package/skills/service-itsm-agentic-setup-employee-agent-configure/SKILL.md +1 -3
- package/skills/service-itsm-agentic-setup-fulfiller-agent-configure/SKILL.md +1 -3
- package/skills/service-itsm-agentic-setup-incident-sla-configure/SKILL.md +1 -0
- package/skills/service-itsm-agentic-setup-itsm-agentforce-permset-assign/SKILL.md +1 -3
- package/skills/service-itsm-agentic-setup-uel-user-create/SKILL.md +1 -9
- package/skills/service-itsm-incident-mgmt-configure/SKILL.md +1 -5
- package/skills/service-itsm-incident-priority-configure/SKILL.md +1 -3
- package/skills/service-itsm-slack-itservice-configure/SKILL.md +1 -3
- package/skills/service-itsm-swarming-configure/SKILL.md +1 -3
- package/skills/service-itsm-teams-configure/SKILL.md +1 -3
- package/skills/service-itsm-teams-debug/SKILL.md +1 -3
- package/skills/service-itsm-teams-employee-agent-configure/SKILL.md +1 -3
- package/skills/service-itsm-teams-itdesk-configure/SKILL.md +1 -3
- package/skills/service-itsm-teams-itservice-configure/SKILL.md +1 -3
- package/skills/service-native-voice-recording-transcription-configure/SKILL.md +1 -3
- package/skills/service-omni-agent-users-create/SKILL.md +1 -3
- package/skills/service-omni-agent-work-sharing-configure/SKILL.md +1 -3
- package/skills/service-omni-attribute-routing-configure/SKILL.md +1 -3
- package/skills/service-omni-base-settings-configure/SKILL.md +1 -3
- package/skills/service-omni-channel-inventory-analyze/SKILL.md +1 -3
- package/skills/service-omni-channel-limits-analyze/SKILL.md +1 -3
- package/skills/service-omni-channel-setup-coordinate/SKILL.md +1 -3
- package/skills/service-omni-command-center-analyze/SKILL.md +1 -3
- package/skills/service-omni-command-center-configure/SKILL.md +1 -3
- package/skills/service-omni-permission-set-assign/SKILL.md +1 -3
- package/skills/service-omni-presence-status-deploy/SKILL.md +1 -3
- package/skills/service-omni-presence-user-config-deploy/SKILL.md +1 -3
- package/skills/service-omni-queue-deploy/SKILL.md +1 -3
- package/skills/service-omni-queue-members-assign/SKILL.md +1 -3
- package/skills/service-omni-queue-routing-config-deploy/SKILL.md +1 -3
- package/skills/service-omni-routing-flow-deploy/SKILL.md +1 -3
- package/skills/service-omni-service-channel-configure/SKILL.md +1 -3
- package/skills/service-omni-sidebar-configure/SKILL.md +1 -3
- package/skills/service-omni-skills-based-routing-configure/SKILL.md +1 -3
- package/skills/service-omni-supervisor-config-deploy/SKILL.md +1 -3
- package/skills/service-omni-supervisor-permset-assign/SKILL.md +1 -3
- package/skills/service-omni-supervisor-surface-deploy/SKILL.md +1 -3
- package/skills/service-omni-supervisor-users-create/SKILL.md +1 -3
- package/skills/service-omni-work-skill-routing-configure/SKILL.md +1 -3
- package/skills/tableau-next-asset-create/README.md +0 -65
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
# Configuration Decisions
|
|
2
|
+
|
|
3
|
+
**When to load:** Workflow step 4, after the discovery summary is confirmed.
|
|
4
|
+
|
|
5
|
+
**Purpose:** what to decide from the discovery answers, in order: Locations, parent Volunteer Initiative, Position template, shifts, recurrence, qualifications. For entity and field meaning, see `nonprofit-volunteer-management-model-get`. Field values are set by `nonprofit-volunteer-management-records-create`.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## How to run a decision turn
|
|
10
|
+
|
|
11
|
+
For each decision, use one turn and then wait:
|
|
12
|
+
|
|
13
|
+
1. **What I heard:** one sentence from the discovery answers.
|
|
14
|
+
2. **Options:** usually two, in the user's words.
|
|
15
|
+
3. **Recommendation and why**, including what the other option would cost later (see "Changing it later").
|
|
16
|
+
4. **Platform behavior:** only the one that should change the choice.
|
|
17
|
+
5. **Ask:** "Which do you want?", not "Does this whole plan look right?"
|
|
18
|
+
|
|
19
|
+
Don't stop to ask about Status, publishing or record names; records-create handles those. Recommend the simpler option, but don't treat it as accepted until the user picks it.
|
|
20
|
+
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
## Locations
|
|
24
|
+
|
|
25
|
+
**Options:** one Location / one Location per site / a "Virtual" Location.
|
|
26
|
+
|
|
27
|
+
**Default:** the Locations the discovery answers describe.
|
|
28
|
+
|
|
29
|
+
- Ask only for each Location's name, address, and whether it's onsite or virtual. records-create creates the address record and asks for anything else.
|
|
30
|
+
- A Job Position doesn't need a Location. Matching volunteers by location does, so virtual roles usually get a "Virtual" Location.
|
|
31
|
+
- For a program at several sites, plan one Location per site, and one Job Position per site where volunteers sign up per site.
|
|
32
|
+
- Run the Location reuse check before recommending; an existing site is usually the one to reuse.
|
|
33
|
+
|
|
34
|
+
**Reference:** model-get → Location, and Feature: Volunteer Matching.
|
|
35
|
+
|
|
36
|
+
---
|
|
37
|
+
|
|
38
|
+
## Parent Volunteer Initiative
|
|
39
|
+
|
|
40
|
+
**Ask:** "How many Volunteer Initiatives do you need, and should they be connected?"
|
|
41
|
+
|
|
42
|
+
**Default:** separate initiatives with no parent. Adding a parent later doesn't disturb anything.
|
|
43
|
+
|
|
44
|
+
**Check the org first.** Run the Volunteer Initiative reuse check before this turn. If the org already has initiatives that fit, raise them here: "Your org already has separate per-site Volunteer Initiatives. Do you want to extend those, or start a new shared one?" Never recommend a structure that conflicts with what's already there.
|
|
45
|
+
|
|
46
|
+
**Offer a parent (as an option, not a strong recommendation) when:**
|
|
47
|
+
|
|
48
|
+
- the programs share an umbrella identity;
|
|
49
|
+
- the user describes sub-programs and doesn't want them all in one initiative told apart only by role;
|
|
50
|
+
- the same program runs at several sites with a coordinator at each (parent = program, children = sites).
|
|
51
|
+
|
|
52
|
+
**Platform behaviors:**
|
|
53
|
+
|
|
54
|
+
- Publishing and Status don't pass down; each initiative is published and updated on its own.
|
|
55
|
+
- The rollup fields exist but stay empty until the customer builds Data Processing Engine automation.
|
|
56
|
+
- A Job Position belongs to one Volunteer Initiative.
|
|
57
|
+
- Sharing doesn't pass down the hierarchy.
|
|
58
|
+
- A hierarchy holds up to 1,000 records and 5 levels.
|
|
59
|
+
|
|
60
|
+
Common groupings for a parent: program type, season, location, funding source.
|
|
61
|
+
|
|
62
|
+
**Reference:** model-get → VolunteerInitiative.
|
|
63
|
+
|
|
64
|
+
---
|
|
65
|
+
|
|
66
|
+
## Position template
|
|
67
|
+
|
|
68
|
+
**Default:** no Position, unless the same role is reused across Job Positions with shared requirements.
|
|
69
|
+
|
|
70
|
+
**Use a Position when:**
|
|
71
|
+
|
|
72
|
+
- the same role is posted at several locations or in several programs;
|
|
73
|
+
- its qualifications should be defined once and used in matching for every Job Position that uses it;
|
|
74
|
+
- the role needs internal approval;
|
|
75
|
+
- the role links to a Program Management benefit.
|
|
76
|
+
|
|
77
|
+
**Skip it when** the role is unique to one posting, or there's no need to share qualifications.
|
|
78
|
+
|
|
79
|
+
**How to ask:**
|
|
80
|
+
|
|
81
|
+
- *Leaning toward it:* "You described the same role at two locations, so I'd recommend a Position template. Its qualifications are defined once, and both Job Positions use them in matching. Do you want a template?"
|
|
82
|
+
- *Leaning against it:* "This role only exists in one program, so I'd skip the Position template and put the qualifications on the Job Position. You can add a template later. OK to skip?"
|
|
83
|
+
|
|
84
|
+
**Platform behaviors:**
|
|
85
|
+
|
|
86
|
+
- A Position's only built-in effect on its Job Positions is in matching. Anything else the customer wants passed down needs their own automation.
|
|
87
|
+
- "Internal approval required" is a flag only. It does nothing until the customer builds an approval process that updates the assignment's status.
|
|
88
|
+
|
|
89
|
+
Run the Position reuse check before recommending.
|
|
90
|
+
|
|
91
|
+
**Reference:** model-get → Position, JobPosition.
|
|
92
|
+
|
|
93
|
+
---
|
|
94
|
+
|
|
95
|
+
## Shifts
|
|
96
|
+
|
|
97
|
+
**Default:** no shifts, unless volunteers sign up for set times.
|
|
98
|
+
|
|
99
|
+
**Use shifts when** volunteers sign up for specific dates and times, need a per-slot volunteer count, or the customer wants the Find Unfilled Shifts action.
|
|
100
|
+
|
|
101
|
+
**No shifts when** volunteering is flexible ("come when you can") and there are no slots to fill.
|
|
102
|
+
|
|
103
|
+
Assignments don't have to belong to a shift, a Job Position or an initiative; ad-hoc assignments are valid.
|
|
104
|
+
|
|
105
|
+
**Reference:** model-get → JobPositionShift.
|
|
106
|
+
|
|
107
|
+
---
|
|
108
|
+
|
|
109
|
+
## Recurrence
|
|
110
|
+
|
|
111
|
+
**Default:** none, unless the schedule repeats.
|
|
112
|
+
|
|
113
|
+
**Recurring** fits a regular weekly or monthly pattern ("every Tuesday 9–12"). One-time events and irregular dates don't need it.
|
|
114
|
+
|
|
115
|
+
**Collect the schedule details** for records-create (see `plan-output.md` → "Schedule details"): the pattern, the time window for each day (they may differ by day; don't flatten them into one), the start date, the end date or the number of shifts, and the time zone. The series always has an end: if the user gives neither an end date nor a count, ask for one.
|
|
116
|
+
|
|
117
|
+
**Platform behavior:** every shift in the series is created up front as its own record. Recurrence is a convenience when the shifts are created; nothing repeats at runtime.
|
|
118
|
+
|
|
119
|
+
If the Job Position already exists, plan the schedule the user wants anyway. records-create checks which of those shifts already exist and creates only the missing ones.
|
|
120
|
+
|
|
121
|
+
**Reference:** model-get → Feature: Recurrence.
|
|
122
|
+
|
|
123
|
+
---
|
|
124
|
+
|
|
125
|
+
## Qualifications
|
|
126
|
+
|
|
127
|
+
**Default:** none, unless the discovery answers showed skilled roles.
|
|
128
|
+
|
|
129
|
+
| Approach | When |
|
|
130
|
+
|---|---|
|
|
131
|
+
| On the Position (Position Qualification) | The requirement applies wherever the role is used |
|
|
132
|
+
| On the Job Position (Job Position Qualification) | The requirement is specific to one posting |
|
|
133
|
+
| Both | Shared requirements on the Position, plus posting-specific extras on the Job Position. Recommended when both apply |
|
|
134
|
+
| None | General volunteering, or roles filled by people who are already vetted |
|
|
135
|
+
|
|
136
|
+
Matching uses QualificationLevel on Competency qualifications. A Job Position's own qualifications and its Position's qualifications are checked together, keeping the higher level per Competency. Nothing is copied from the Position to the Job Position.
|
|
137
|
+
|
|
138
|
+
**Example:** the Position "Delivery Driver" requires a driver's license. The Job Position at the San Francisco site also requires a local certification. The New York Job Position needs nothing extra.
|
|
139
|
+
|
|
140
|
+
- Don't repeat a Position's qualifications on its Job Positions; matching already checks both.
|
|
141
|
+
- Requirements can vary by program as well as by location.
|
|
142
|
+
- Ask for the required level of each Competency qualification; a qualification without one is skipped by matching. Proficiency labels (Beginner, Intermediate, Advanced) are descriptive only and not used in matching.
|
|
143
|
+
- **Examinations** are optional. Matching doesn't use them; they're for manual checks and compliance tracking. A requirement a volunteer must meet before being matched (a cleared background check, a completed training) is a Competency with a required level, not an Examination.
|
|
144
|
+
- Also ask whether a requirement belongs on the role or on the person. A volunteer's own competencies are out of scope for this skill.
|
|
145
|
+
- Run the Competency and Examination reuse checks before recommending.
|
|
146
|
+
|
|
147
|
+
**Reference:** model-get → PositionQualification, JobPositionQualification, Feature: Volunteer Matching.
|
|
148
|
+
|
|
149
|
+
---
|
|
150
|
+
|
|
151
|
+
## Changing it later
|
|
152
|
+
|
|
153
|
+
Use this for the "what the other option costs later" part of a decision turn.
|
|
154
|
+
|
|
155
|
+
| Effort | Examples |
|
|
156
|
+
|---|---|
|
|
157
|
+
| Easy: add later | A parent initiative, a Position template, shifts, qualifications, Locations. Nothing that exists breaks |
|
|
158
|
+
| Some manual work | Moving a Job Position to another initiative, restructuring the hierarchy, moving a requirement between the Position and the Job Position |
|
|
159
|
+
| Hard: review the impact first | Changing a Job Position that already has shifts or assignments. Changing a Position's qualifications changes matching for every Job Position that uses it |
|
package/skills/nonprofit-volunteer-management-structure-generate/references/discovery-interview.md
ADDED
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
# Discovery Interview
|
|
2
|
+
|
|
3
|
+
**When to load:** Workflow step 3, at the start of a planning session.
|
|
4
|
+
|
|
5
|
+
**Purpose:** the discovery questions, in order, with probing prompts and what each answer feeds in `configuration-decisions.md`. The interview is for understanding. It decides nothing.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## How to run it
|
|
10
|
+
|
|
11
|
+
- Ask about the topics below in order, whatever the program's complexity. Use the probing questions only when an answer is unclear or incomplete; skip any the user has already answered.
|
|
12
|
+
- Stay on one topic at a time. Group a few closely related questions when they're easy to answer together; split them across turns when they need long answers. Record anything the user says about a later topic, but don't move on early.
|
|
13
|
+
- With several programs, get the full list first, then go deep on one at a time. Keep one program active. Note what the user says about another, but don't follow it up until the active one is finished and confirmed. For later programs, offer the decisions made for the first.
|
|
14
|
+
- When every topic is done, summarize back (see the end of this file) before any configuration decision.
|
|
15
|
+
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
## Programs
|
|
19
|
+
|
|
20
|
+
**Ask:** "Tell me about your volunteer program(s). What do your volunteers do?"
|
|
21
|
+
|
|
22
|
+
**Probe:**
|
|
23
|
+
|
|
24
|
+
- "How many distinct volunteer programs or activities do you run?"
|
|
25
|
+
- "Are they connected (same volunteers, shared reporting) or independent?"
|
|
26
|
+
- "Do different teams or coordinators manage them?"
|
|
27
|
+
|
|
28
|
+
**Feeds:** how many Volunteer Initiatives, and the parent Volunteer Initiative decision.
|
|
29
|
+
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
## Locations
|
|
33
|
+
|
|
34
|
+
**Ask:** "Where does this volunteering happen? Is there a site volunteers go to, and how many sites are involved?"
|
|
35
|
+
|
|
36
|
+
**Probe:**
|
|
37
|
+
|
|
38
|
+
- "Does the same program run at more than one site?"
|
|
39
|
+
- "If there are several sites, is it the same program at each, or different programs?"
|
|
40
|
+
|
|
41
|
+
For each site, collect only the name, the address, and whether it's onsite or virtual.
|
|
42
|
+
|
|
43
|
+
**Feeds:** the Locations decision, and the parent Volunteer Initiative decision when the same program runs at several sites.
|
|
44
|
+
|
|
45
|
+
---
|
|
46
|
+
|
|
47
|
+
## Roles
|
|
48
|
+
|
|
49
|
+
**Ask:** "What types of volunteer roles need to be signed up for and tracked separately?"
|
|
50
|
+
|
|
51
|
+
**Probe:**
|
|
52
|
+
|
|
53
|
+
- "Are there different jobs (Team Lead, Driver, Tutor) that need separate sign-up and tracking?"
|
|
54
|
+
- "Is the same role used in more than one program, or at more than one location?"
|
|
55
|
+
- "Where the same role appears in more than one place, do its requirements stay the same?"
|
|
56
|
+
|
|
57
|
+
**Notes:**
|
|
58
|
+
|
|
59
|
+
- Different onsite tasks that don't need separate tracking can share one Job Position.
|
|
60
|
+
- A Position is a reusable role template. Matching checks a Job Position's own qualifications together with its Position's. Status, publishing and capacity are not passed from the Position to the Job Position.
|
|
61
|
+
- **Suggests a Position template:** the same role across programs or locations, with requirements that should stay consistent.
|
|
62
|
+
- **Suggests a Job Position only:** the role exists in one program, its requirements are unique, and no reuse is expected.
|
|
63
|
+
|
|
64
|
+
**Feeds:** the Position template decision, and later the qualifications decision.
|
|
65
|
+
|
|
66
|
+
---
|
|
67
|
+
|
|
68
|
+
## Delivery format
|
|
69
|
+
|
|
70
|
+
**Ask:** "Is the work done onsite, virtually, or both? Do any volunteers work remotely?"
|
|
71
|
+
|
|
72
|
+
**Feeds:** the Locations decision. Matching volunteers by location needs a Location, so virtual roles usually get a "Virtual" Location.
|
|
73
|
+
|
|
74
|
+
---
|
|
75
|
+
|
|
76
|
+
## Qualifications
|
|
77
|
+
|
|
78
|
+
**Ask:** "Is there anything volunteers must have or prove to sign up?"
|
|
79
|
+
|
|
80
|
+
**Probe:**
|
|
81
|
+
|
|
82
|
+
- "Are certifications, training or skills required for any of these roles?"
|
|
83
|
+
- "Do those requirements apply everywhere the role appears, or change by program or location?"
|
|
84
|
+
- "Is there anything volunteers must show before they sign up, such as a background check or a certification?"
|
|
85
|
+
|
|
86
|
+
**Feeds:** the qualifications decision and the Position template decision.
|
|
87
|
+
|
|
88
|
+
---
|
|
89
|
+
|
|
90
|
+
## Scheduling
|
|
91
|
+
|
|
92
|
+
**Ask:** "Do volunteers sign up for set times, or come when they can?"
|
|
93
|
+
|
|
94
|
+
**Probe:**
|
|
95
|
+
|
|
96
|
+
- "Does it happen on a regular schedule (weekly, monthly) or once?"
|
|
97
|
+
- "What are the days and times? Are they the same every day, or different on some days?"
|
|
98
|
+
- "When does it start, and when does it end, or how many sessions are there? Which time zone?"
|
|
99
|
+
|
|
100
|
+
**Feeds:** the shifts and recurrence decisions, and the schedule details handed to records-create.
|
|
101
|
+
|
|
102
|
+
---
|
|
103
|
+
|
|
104
|
+
## Capacity
|
|
105
|
+
|
|
106
|
+
**Ask:** "How many volunteers do you need for each shift or opportunity?"
|
|
107
|
+
|
|
108
|
+
**Probe:**
|
|
109
|
+
|
|
110
|
+
- "Is there a maximum number of volunteers per shift?"
|
|
111
|
+
- "Is there a minimum?"
|
|
112
|
+
|
|
113
|
+
**Notes:**
|
|
114
|
+
|
|
115
|
+
- The maximum is counted, never enforced: the remaining capacity is a formula, and nothing blocks a signup when a shift is full. Mention it when the user describes a hard limit.
|
|
116
|
+
- Matching and the Find Unfilled Shifts action rely on a maximum being set.
|
|
117
|
+
- A minimum isn't a standard field; the customer may want a custom field for it.
|
|
118
|
+
|
|
119
|
+
**Feeds:** the capacity in the plan.
|
|
120
|
+
|
|
121
|
+
---
|
|
122
|
+
|
|
123
|
+
## Summary back
|
|
124
|
+
|
|
125
|
+
Summarize before any configuration decision, so the user can correct it:
|
|
126
|
+
|
|
127
|
+
"Here's what I've understood about your program:
|
|
128
|
+
|
|
129
|
+
- **Programs:** …
|
|
130
|
+
- **Locations:** …
|
|
131
|
+
- **Roles:** …
|
|
132
|
+
- **Delivery format:** …
|
|
133
|
+
- **Qualifications:** …
|
|
134
|
+
- **Scheduling:** …
|
|
135
|
+
- **Capacity:** …
|
|
136
|
+
|
|
137
|
+
Does this sound right? Anything I'm missing or got wrong?"
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
# Edge Cases
|
|
2
|
+
|
|
3
|
+
**When to load:** any step, when a situation doesn't fit the standard flow.
|
|
4
|
+
|
|
5
|
+
**Purpose:** hybrid programs, existing records, contradictions, several programs, and an unsure user.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Hybrid programs ("sometimes shifts, sometimes flexible")
|
|
10
|
+
|
|
11
|
+
Plan both under the same Volunteer Initiative: Job Positions with shifts for the scheduled work, Job Positions without shifts for the flexible work. Don't force the program into one model. Adding shifts to a Job Position later is easy.
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
## Existing records in the org
|
|
16
|
+
|
|
17
|
+
Assume the org may already hold relevant records, and check every session (Workflow step 5).
|
|
18
|
+
|
|
19
|
+
- Show what you find and ask before planning anything new: "You already have a Location called 'Eastside Pantry' and a Competency called 'Food Safety'. Should I use these, or plan new ones?"
|
|
20
|
+
- Locations, Competencies, Examinations and Positions are meant to be shared. A "Food Safety" Competency planned for one program should be reused for the next.
|
|
21
|
+
- If the user wants shifts for a Job Position that already exists, plan the schedule they want. records-create checks which of those shifts already exist and creates only the missing ones.
|
|
22
|
+
- If an existing record looks incomplete or misconfigured, say what's missing. This skill doesn't change it.
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
## User contradicts themselves
|
|
27
|
+
|
|
28
|
+
Example: "No qualifications needed", then later "oh, drivers need a license". Or: "no shifts", then "we need 5 volunteers every Saturday at 9", which is a shift.
|
|
29
|
+
|
|
30
|
+
Raise it gently and let the user choose: "Earlier you said X, but now it sounds like Y. Which is right?" Don't pick the later answer silently, and don't run the reuse checks for the affected records until it's settled.
|
|
31
|
+
|
|
32
|
+
---
|
|
33
|
+
|
|
34
|
+
## Several programs
|
|
35
|
+
|
|
36
|
+
Get the full list first, then plan one program at a time.
|
|
37
|
+
|
|
38
|
+
- Reuse a Location when the same site serves several programs, and reuse Competencies across programs.
|
|
39
|
+
- Each program gets its own Volunteer Initiative and Job Positions, and possibly its own Position templates.
|
|
40
|
+
- For later programs, offer the earlier decisions: "You put qualifications on the Position for the first program. Same approach here?" Configure each program for its own needs.
|
|
41
|
+
|
|
42
|
+
---
|
|
43
|
+
|
|
44
|
+
## User is unsure about a parent Volunteer Initiative
|
|
45
|
+
|
|
46
|
+
Recommend no parent: "When in doubt, start without one. You can add a parent later without changing anything already set up."
|
|
47
|
+
|
|
48
|
+
If the user describes four or more related programs with shared reporting but still hesitates, ask one question: "Would it help to see combined numbers across all of them, or do you manage each one separately?" If they're still unsure, plan no parent.
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
# Org Calls — headless-360 and Salesforce CLI
|
|
2
|
+
|
|
3
|
+
**When to load:** Workflow steps 2 and 5. Every call here is a read and runs only after the user agrees to the org read.
|
|
4
|
+
|
|
5
|
+
Each call is shown for both connections, headless-360 and the Salesforce CLI (with the org's alias); they return the same result. See SKILL.md → Mechanism.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Volunteer Management check
|
|
10
|
+
|
|
11
|
+
Every call uses API v67.0. The Salesforce CLI forms run `sf api request rest`, `sf sobject describe`, and `sf data query` against `--target-org <alias>`.
|
|
12
|
+
|
|
13
|
+
**1. Org preference**
|
|
14
|
+
|
|
15
|
+
```text
|
|
16
|
+
headless-360: dispatch_readonly({"path": "/services/data/v67.0/setup/org/preferences/VolunteerManagementEnabled", "method": "GET"})
|
|
17
|
+
Salesforce CLI: sf api request rest "/services/data/v67.0/setup/org/preferences/VolunteerManagementEnabled" --target-org <alias>
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
Response: `{"isPreferenceEnabled": true}` (a 360 call may wrap it as `{"status_code": 200, "body": {...}}` — read `body.isPreferenceEnabled`).
|
|
21
|
+
|
|
22
|
+
| Result | Meaning | Do |
|
|
23
|
+
|---|---|---|
|
|
24
|
+
| `true` | Volunteer Management is on | Continue to the describe |
|
|
25
|
+
| `false` | It's off | Stop. An admin turns it on in Setup → Volunteer Management Settings |
|
|
26
|
+
| 404 `NOT_FOUND` | The org doesn't have the preference (VM not provisioned) | Stop, same message |
|
|
27
|
+
| 403 | The user can't read org settings | Stop and say so; this is not the same as "off" |
|
|
28
|
+
|
|
29
|
+
**2. User access**
|
|
30
|
+
|
|
31
|
+
```text
|
|
32
|
+
headless-360: dispatch_readonly({"path": "/services/data/v67.0/sobjects/VolunteerInitiative/describe", "method": "GET"})
|
|
33
|
+
Salesforce CLI: sf sobject describe --sobject VolunteerInitiative --api-version 67.0 --target-org <alias> --json
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
| Result | Meaning | Do |
|
|
37
|
+
|---|---|---|
|
|
38
|
+
| 200 | The user can see the Volunteer Management objects | Continue |
|
|
39
|
+
| 404 `NOT_FOUND` / `INVALID_TYPE`, or 403 | The user can't see them | Stop. The user needs the Manage Volunteer Data permission set |
|
|
40
|
+
|
|
41
|
+
Don't query permission-set assignments up front; the describe answers the question.
|
|
42
|
+
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
## Reuse checks
|
|
46
|
+
|
|
47
|
+
All reuse checks use the same query call. Put only the planned names in the `WHERE`; never query an object without one.
|
|
48
|
+
|
|
49
|
+
```text
|
|
50
|
+
headless-360: dispatch_readonly({"path": "/services/data/v67.0/query", "method": "GET", "query_params": {"q": "<SOQL>"}})
|
|
51
|
+
Salesforce CLI: sf data query -q "<SOQL>" --api-version 67.0 --target-org <alias> --json
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
**Apostrophes.** Escape an apostrophe in a name with a backslash: `O\'Brien`. Doubling it (`''`) fails with 400 `MALFORMED_QUERY`. Inside a headless-360 JSON argument the backslash itself must be escaped, so write `O\\'Brien` in the JSON string. In the CLI's double-quoted `-q` argument, write `O\'Brien` as is.
|
|
55
|
+
|
|
56
|
+
| Check | SOQL |
|
|
57
|
+
|---|---|
|
|
58
|
+
| Volunteer Initiative | `SELECT Id, Name FROM VolunteerInitiative WHERE Name IN ('Weekly Food Pantry', 'O\'Brien Youth Mentoring')` |
|
|
59
|
+
| Location | `SELECT Id, Name FROM Location WHERE Name IN ('Eastside Pantry', 'Virtual')` |
|
|
60
|
+
| Position | `SELECT Id, Name FROM Position WHERE Name IN ('Team Lead')` |
|
|
61
|
+
| Competency | `SELECT Id, Name FROM Competency WHERE Name LIKE '%Driv%' OR Name LIKE '%License%'` |
|
|
62
|
+
| Examination | `SELECT Id, Name FROM Examination WHERE Name LIKE '%Background%' OR Name LIKE '%Check%'` |
|
|
63
|
+
| Job Position, existing initiative | `SELECT Id, Name, VolunteerInitiative.Name, Location.Name FROM JobPosition WHERE Name IN ('Driver') AND VolunteerInitiativeId = '<initiative Id>'` |
|
|
64
|
+
| Job Position, new initiative | `SELECT Id, Name, VolunteerInitiative.Name, Location.Name FROM JobPosition WHERE Name IN ('Driver')` |
|
|
65
|
+
|
|
66
|
+
- For Competency and Examination, build the `LIKE` terms from the distinctive stem plus the category noun (`%Driv%` and `%License%`), not one spelling (`%Driving%` misses "Driver's License"). Escape `%` or `_` with a backslash when they're part of the name.
|
|
67
|
+
- When a stem query finds nothing but the org may word the record differently, run it again with a shorter stem (`%Lic%` instead of `%License%`) before planning the record as New.
|
|
68
|
+
- The Job Position initiative Id comes from the Volunteer Initiative check. With a new initiative, any match belongs to another initiative, so plan the Job Position as New.
|
|
69
|
+
|
|
70
|
+
| Result | Meaning |
|
|
71
|
+
|---|---|
|
|
72
|
+
| 200, `totalSize: 0` | No match; plan the record as New |
|
|
73
|
+
| 200 with `records` | Show each match (name and parent names) and ask whether it's the one the user means |
|
|
74
|
+
| 400 `MALFORMED_QUERY` | Usually an unescaped apostrophe; fix the escape and retry |
|
|
75
|
+
| 400 `INVALID_TYPE` / 404 | The object isn't visible; go back to the Volunteer Management check |
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
# Plan Output
|
|
2
|
+
|
|
3
|
+
**When to load:** Workflow steps 6–8, after every configuration decision has an answer.
|
|
4
|
+
|
|
5
|
+
**Purpose:** what goes in message 1 (the plan) and message 2 (the additional configuration and the create question), and what is handed to `nonprofit-volunteer-management-records-create` on yes. The consent rules and the `Reuse-check:` values are in SKILL.md.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Message 1 — the plan
|
|
10
|
+
|
|
11
|
+
### Summary table
|
|
12
|
+
|
|
13
|
+
One row per planned record. The table is both the record of the user's decisions and what records-create works from, so the rest of the message never repeats it.
|
|
14
|
+
|
|
15
|
+
| Column | What goes in it |
|
|
16
|
+
|---|---|
|
|
17
|
+
| Record | The object, written out (Volunteer Initiative, Job Position, …) |
|
|
18
|
+
| Name | The record's name, or the shift pattern. Use the user's names; if one isn't given yet, propose a plain name rather than a bracketed placeholder |
|
|
19
|
+
| Reuse or New | **Reuse** for an existing record (its name is in Name; never show an Id), otherwise **New** |
|
|
20
|
+
| Belongs to | The parent records ("Weekly Food Pantry, at Eastside Pantry"), or "—" for a record that stands alone |
|
|
21
|
+
| Decision | A few words: what the user decided and why, using only values from the interview (capacity, schedule pattern, onsite or virtual, required level, no parent, no template). Never a field name, never "TBD" |
|
|
22
|
+
|
|
23
|
+
Rows, in this order, for the records the plan includes: Volunteer Initiative, Location, Competency, Examination, Position, Position Qualification, Job Position, Job Position Qualification, Job Position Shift.
|
|
24
|
+
|
|
25
|
+
**Example:**
|
|
26
|
+
|
|
27
|
+
| Record | Name | Reuse or New | Belongs to | Decision |
|
|
28
|
+
|---|---|---|---|---|
|
|
29
|
+
| Volunteer Initiative | Weekly Food Pantry | New | — | One program, no parent |
|
|
30
|
+
| Location | Eastside Pantry | Reuse | — | Onsite; already in your org |
|
|
31
|
+
| Competency | Driver's License | Reuse | — | Drivers transport groceries |
|
|
32
|
+
| Job Position | Driver | New | Weekly Food Pantry, at Eastside Pantry | No template; only this program uses the role |
|
|
33
|
+
| Job Position Qualification | Driver's License | New | Driver | Required level 1 |
|
|
34
|
+
| Job Position Shift | Saturdays 9:00–12:00 | New | Driver | 12 weekly shifts, up to 5 volunteers each |
|
|
35
|
+
|
|
36
|
+
### After the table
|
|
37
|
+
|
|
38
|
+
Each part below is one or two lines, and only when it applies. Don't restate the table, add a record diagram, or add sections beyond these.
|
|
39
|
+
|
|
40
|
+
### Left out on purpose
|
|
41
|
+
|
|
42
|
+
One line naming what the user decided against (a parent Volunteer Initiative, a Position template, shifts, qualifications), and that each can be added later without recreating these records. Leave it out when the plan includes all of them.
|
|
43
|
+
|
|
44
|
+
### Schedule details
|
|
45
|
+
|
|
46
|
+
One line per shift series, with what records-create needs to build it: the pattern (one-time, weekly on ‹days›, monthly on ‹day›), the time windows (per day when they differ), the start date and either the end date or the number of shifts, the time zone, and the volunteers per shift if the user set a maximum. Write only what the user said; a date or time zone they haven't given goes under Outstanding inputs, never an assumed one. Never list the individual shift dates.
|
|
47
|
+
|
|
48
|
+
Example: *Driver — weekly on Saturdays, 9:00–12:00, from 3 Oct 2026 for 12 shifts, Eastern Time, up to 5 volunteers.*
|
|
49
|
+
|
|
50
|
+
### What these records don't do on their own
|
|
51
|
+
|
|
52
|
+
One short line for each limit below that applies to this plan, each with what the customer adds to close it. Leave the section out when none applies. These lines are in the plan, not only in message 2, because the user may skip the additional configuration.
|
|
53
|
+
|
|
54
|
+
| When the plan includes… | Line |
|
|
55
|
+
|---|---|
|
|
56
|
+
| A maximum number of volunteers per shift | Sign-ups are counted against the maximum but never blocked when a shift is full. To stop sign-ups to a full shift, add a validation rule. |
|
|
57
|
+
| Qualifications on a Position or Job Position | Qualifications guide matching only. Nothing stops a volunteer who doesn't meet them from signing up unless you add a validation rule. |
|
|
58
|
+
| An Examination as a qualification | Matching doesn't use Examinations; they're for manual checks and compliance tracking. |
|
|
59
|
+
| A Position that requires internal approval | The approval setting does nothing on its own. Assignments wait for approval only once you build a Salesforce Approvals process that updates their status. |
|
|
60
|
+
| Tracking volunteer hours or engagement totals, when the user asked for it | The engagement and hours totals stay empty until you build Data Processing Engine definitions for them. |
|
|
61
|
+
|
|
62
|
+
### Outstanding inputs
|
|
63
|
+
|
|
64
|
+
One line listing any value a planned record needs that the user hasn't decided yet, e.g. "the Downtown Center's address, the series start date". records-create asks for these when it writes. Leave it out when nothing is outstanding. Don't list the out-of-scope work from message 2 here.
|
|
65
|
+
|
|
66
|
+
### Reuse-check line
|
|
67
|
+
|
|
68
|
+
Add the one `Reuse-check:` line from SKILL.md under the table.
|
|
69
|
+
|
|
70
|
+
### Completeness check (before sending)
|
|
71
|
+
|
|
72
|
+
- Every child has its parent in the plan or the org: Job Position → Volunteer Initiative, Position Qualification → Position and Competency, Job Position Qualification → Job Position and Competency, Job Position Shift → Job Position.
|
|
73
|
+
- Nothing points at a record that is neither planned nor reused.
|
|
74
|
+
- The plan matches what the user said: shifts for a shift-based program, qualifications for skilled roles, an end date or count for every recurring schedule.
|
|
75
|
+
- Raise any gap before asking: "You described a skilled Team Lead role, but no qualification is planned for it. Do you want to add one?"
|
|
76
|
+
|
|
77
|
+
End message 1 with this one question and nothing after it: **"Do you want to see the additional configuration and extensions you can set up beyond these records?"**
|
|
78
|
+
|
|
79
|
+
---
|
|
80
|
+
|
|
81
|
+
## Message 2 — additional configuration and the create question
|
|
82
|
+
|
|
83
|
+
Send after the user answers, never with the plan.
|
|
84
|
+
|
|
85
|
+
- **On yes:** present both parts below in full, as information only. Say plainly that building these items is outside what this skill does and is the user's to own. Don't say "not building these now" or "we'll set these up later". End with **"Do you want to create the records from the plan?"**
|
|
86
|
+
- **On no:** send only **"Do you want to create the records from the plan?"** A no here (including "skip that") declines the additional configuration only; it is never an answer to the create question.
|
|
87
|
+
|
|
88
|
+
On a yes to the create question, hand off (below). On no, stop.
|
|
89
|
+
|
|
90
|
+
### Additional Configuration Considerations
|
|
91
|
+
|
|
92
|
+
Share this checklist as written:
|
|
93
|
+
|
|
94
|
+
**Foundational configuration**
|
|
95
|
+
|
|
96
|
+
- Build a way for volunteers to sign up: an internal process, an Experience Cloud portal, or another volunteer-facing channel.
|
|
97
|
+
- Automate communication and engagement: Flow for confirmations, reminders and follow-ups; Notification Builder for alerts; Marketing Cloud for journeys and campaigns.
|
|
98
|
+
- Confirm or update the Status values for Volunteer Initiatives, Job Positions, Job Position Shifts and Job Position Assignments (with Stage Management if you want it).
|
|
99
|
+
- Build reports and dashboards for your volunteer programs.
|
|
100
|
+
|
|
101
|
+
**Advanced configuration**
|
|
102
|
+
|
|
103
|
+
- Data and metrics:
|
|
104
|
+
- Build Data Processing Engine definitions for the volunteer-engagement rollup fields on Donor Gift Summary.
|
|
105
|
+
- If you add engagement rollups, show the Donor Gift Summary record on the Person Account page with a related record component. A related list won't work, because each person has one summary record.
|
|
106
|
+
- Build Data Processing Engine definitions for the Volunteer Initiative metric fields.
|
|
107
|
+
- Validation and approvals:
|
|
108
|
+
- If you set capacity, add a validation rule to block signups to a full shift. Capacity is counted, never enforced.
|
|
109
|
+
- If you use qualifications, add a validation rule to block signups by volunteers who don't meet them.
|
|
110
|
+
- If a Position requires internal approval, set up Salesforce Approvals.
|
|
111
|
+
- Data migration:
|
|
112
|
+
- Add external ID fields to the objects you'll import data into.
|
|
113
|
+
- To support volunteer groups, consider turning on Group Membership and "Allow users to relate a contact to multiple accounts".
|
|
114
|
+
|
|
115
|
+
### Extensions
|
|
116
|
+
|
|
117
|
+
| Extension | What it is |
|
|
118
|
+
|---|---|
|
|
119
|
+
| Experience Cloud Portal | Sign-up and registration for volunteers |
|
|
120
|
+
| Form Framework | Registration and application forms, built on Action Plans. A simple registration form is enough if complex applications aren't needed |
|
|
121
|
+
| Action Plans | Templated task checklists, such as onboarding → background check, orientation and training |
|
|
122
|
+
| Stage Management | Tracks volunteers through lifecycle stages |
|
|
123
|
+
| Position Benefits | Links a Position to Program Management benefits; not needed for core Volunteer Management |
|
|
124
|
+
| Constituent Role | Tags a Person Account as a volunteer |
|
|
125
|
+
| Agentforce Shift Capacity and Coverage | An Agentforce subagent that reports on shift capacity and coverage. Whether it's available depends on your org's licensing and setup |
|
|
126
|
+
|
|
127
|
+
Show the Agentforce row as written; don't say the subagent is available in this org.
|
|
128
|
+
|
|
129
|
+
---
|
|
130
|
+
|
|
131
|
+
## Handoff to records-create (only on yes)
|
|
132
|
+
|
|
133
|
+
Pass:
|
|
134
|
+
|
|
135
|
+
- the summary table;
|
|
136
|
+
- the Id of each reused record (kept out of the table the user sees);
|
|
137
|
+
- the schedule details;
|
|
138
|
+
- the outstanding inputs;
|
|
139
|
+
- the `Reuse-check:` line.
|
|
140
|
+
|
|
141
|
+
records-create sets every field value, decides the write order, checks for shifts that already exist, and asks the user to confirm each object before writing.
|
|
@@ -477,7 +477,7 @@ BusinessProcess** — adding one to a custom-object record type is wrong.
|
|
|
477
477
|
```xml
|
|
478
478
|
<!-- File 1: objects/Opportunity/businessProcesses/Enterprise_Sales_Process.businessProcess-meta.xml -->
|
|
479
479
|
<BusinessProcess xmlns="http://soap.sforce.com/2006/04/metadata">
|
|
480
|
-
<fullName>Enterprise_Sales_Process</fullName> <!-- BARE — see the
|
|
480
|
+
<fullName>Enterprise_Sales_Process</fullName> <!-- BARE — see the Metadata API fullName note below -->
|
|
481
481
|
<isActive>true</isActive>
|
|
482
482
|
<values><fullName>Prospecting</fullName></values> <!-- these are Opportunity STAGE (StageName) values, NOT Status__c — the BP governs the standard stage picklist. Do NOT add <default> (fails: "Cannot specify a default on: Opportunity") -->
|
|
483
483
|
<values><fullName>Qualification</fullName></values>
|
|
@@ -486,16 +486,16 @@ BusinessProcess** — adding one to a custom-object record type is wrong.
|
|
|
486
486
|
</BusinessProcess>
|
|
487
487
|
```
|
|
488
488
|
|
|
489
|
-
> ⛔ **`<fullName>` is BARE in the source file — strip the entity prefix
|
|
490
|
-
> The metadata
|
|
491
|
-
> form**, entity-qualified: `Opportunity.Enterprise_Sales_Process`. That is correct for the API —
|
|
489
|
+
> ⛔ **`<fullName>` is BARE in the source file — strip the entity prefix the Metadata API gives you.**
|
|
490
|
+
> The `platform-metadata-api-context-get` skill's `BusinessProcess` entry (and the live Metadata
|
|
491
|
+
> API) reports the fullName in its **API form**, entity-qualified: `Opportunity.Enterprise_Sales_Process`. That is correct for the API —
|
|
492
492
|
> but in the **source/DX-format file you author**, the entity is already conveyed by the
|
|
493
493
|
> `objects/Opportunity/` folder path, so the `<fullName>` element is the **bare process name**:
|
|
494
494
|
> `Enterprise_Sales_Process`, NOT `Opportunity.Enterprise_Sales_Process`. (Same API-vs-source split
|
|
495
495
|
> as the GlobalValueSet `__gvs` suffix in §1.) Writing the entity-qualified form makes the
|
|
496
496
|
> RecordType's bare `<businessProcess>Enterprise_Sales_Process</businessProcess>` reference fail to
|
|
497
497
|
> resolve → `no BusinessProcess named Opportunity.Enterprise_Sales_Process found`. **When you pull
|
|
498
|
-
> the BP name from
|
|
498
|
+
> the BP name from the Metadata API and it looks like `Opportunity.X`, write `X` in the file.** The BP
|
|
499
499
|
> file's `<fullName>` and the RecordType's `<businessProcess>` must be the identical bare string.
|
|
500
500
|
|
|
501
501
|
```xml
|
|
@@ -9,6 +9,7 @@ metadata:
|
|
|
9
9
|
- "platform-custom-field-generate"
|
|
10
10
|
- "platform-custom-object-generate"
|
|
11
11
|
- "platform-custom-setting-generate"
|
|
12
|
+
- "platform-metadata-api-context-get"
|
|
12
13
|
cliTools:
|
|
13
14
|
- tool: ["sf"]
|
|
14
15
|
semver: ">=2.136.8"
|
|
@@ -27,6 +28,8 @@ Use this skill when you need to:
|
|
|
27
28
|
|
|
28
29
|
---
|
|
29
30
|
|
|
31
|
+
For authoritative Metadata API type, field, and enum details beyond this skill, use the `platform-metadata-api-context-get` skill.
|
|
32
|
+
|
|
30
33
|
## 1. Overview and Purpose
|
|
31
34
|
|
|
32
35
|
A Custom Metadata Type produces **two separate artifact families**, and most requests need both:
|
|
@@ -5,6 +5,8 @@ metadata:
|
|
|
5
5
|
version: "1.1"
|
|
6
6
|
domains: ["Platform"]
|
|
7
7
|
minApiVersion: "60.0"
|
|
8
|
+
relatedSkills:
|
|
9
|
+
- "platform-metadata-api-context-get"
|
|
8
10
|
---
|
|
9
11
|
|
|
10
12
|
## When to Use This Skill
|
|
@@ -17,6 +19,8 @@ Use this skill when you need to:
|
|
|
17
19
|
- Troubleshoot deployment errors related to custom objects
|
|
18
20
|
- **Add, update, or delete a field OR a validation rule on an existing object** — any of these may make the object's `<description>` stale, so you must refresh it (propose + confirm). This applies equally to validation-rule changes, not just fields. See Section 3.B.
|
|
19
21
|
|
|
22
|
+
For authoritative Metadata API type, field, and enum details beyond this skill, use the `platform-metadata-api-context-get` skill.
|
|
23
|
+
|
|
20
24
|
## Specification
|
|
21
25
|
|
|
22
26
|
## 1. Overview and Purpose
|