@salesforce/afv-skills 1.65.0 → 1.65.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/skills/field-service-data-capture-form-deployer-configure/SKILL.md +2 -23
- package/skills/field-service-data-capture-form-designer-configure/SKILL.md +3 -13
- package/skills/field-service-mobile-branding-configure/SKILL.md +3 -17
- package/skills/field-service-objective-designer-configure/SKILL.md +379 -72
- package/skills/field-service-prework-brief-deployer-configure/SKILL.md +537 -10
- package/skills/field-service-scheduling-policy-designer-query/SKILL.md +1093 -65
- package/skills/field-service-sobject-create-configure/SKILL.md +213 -13
- package/skills/field-service-voice-to-form-configure/SKILL.md +11 -40
- package/skills/field-service-work-rule-designer-configure/SKILL.md +95 -121
- package/skills/agentforce-gpt-email-generation-configure/SKILL.md +0 -312
- package/skills/agentforce-wizard-ui-forecasting-analytics-components-configure/SKILL.md +0 -64
- package/skills/agentforce-wizard-ui-sales-einstein-components-configure/SKILL.md +0 -46
- package/skills/automation-company-profile-info-query/SKILL.md +0 -51
- package/skills/automation-digital-wallet-configure/SKILL.md +0 -689
- package/skills/automation-flow-coordinate/SKILL.md +0 -95
- package/skills/automation-flow-coordinate/references/elements/action-call/action-call.md +0 -1569
- package/skills/automation-flow-coordinate/references/elements/action-call/conversation-messaging.md +0 -96
- package/skills/automation-flow-coordinate/references/elements/action-call/examples/send-sms-message.json +0 -23
- package/skills/automation-flow-coordinate/references/elements/action-call/examples/send-to-journey-no-fields.json +0 -31
- package/skills/automation-flow-coordinate/references/elements/action-call/send-to-journey.md +0 -179
- package/skills/automation-flow-coordinate/references/elements/exit-rule/examples/event-email-link-click.json +0 -13
- package/skills/automation-flow-coordinate/references/elements/exit-rule/exit-rule.md +0 -83
- package/skills/automation-flow-coordinate/references/elements/forward-to-bot-or-agent/examples/forward-to-bot-or-agent.json +0 -69
- package/skills/automation-flow-coordinate/references/elements/forward-to-bot-or-agent/forward-to-bot-or-agent.md +0 -274
- package/skills/automation-flow-coordinate/references/elements/start/audience-common.md +0 -192
- package/skills/automation-flow-coordinate/references/elements/start/automation-event-triggered.md +0 -130
- package/skills/automation-flow-coordinate/references/elements/start/data-cloud-data-change-triggered.md +0 -92
- package/skills/automation-flow-coordinate/references/elements/start/form-submission-triggered.md +0 -88
- package/skills/automation-flow-coordinate/references/elements/start/segment-triggered.md +0 -152
- package/skills/automation-flow-coordinate/references/elements/start/start.md +0 -539
- package/skills/automation-flow-coordinate/references/elements/subflow/subflow.md +0 -152
- package/skills/automation-flow-coordinate/references/elements/wait/wait.md +0 -497
- package/skills/automation-flow-coordinate/references/recipes/author/author.md +0 -868
- package/skills/automation-flow-coordinate/references/recipes/summarize/element-generic.md +0 -300
- package/skills/automation-flow-coordinate/references/recipes/summarize/reference-resolution.md +0 -292
- package/skills/automation-flow-coordinate/references/recipes/summarize/summarize.md +0 -323
- package/skills/automation-flow-coordinate/references/recipes/testing/examples/debug-output-template.md +0 -109
- package/skills/automation-flow-coordinate/references/recipes/testing/shape.md +0 -219
- package/skills/automation-flow-coordinate/references/recipes/testing/shared-stages/intent-analyzer.md +0 -180
- package/skills/automation-flow-coordinate/references/recipes/testing/workflows/debug.md +0 -175
- package/skills/automation-flow-coordinate/references/recipes/testing/workflows/promote.md +0 -255
- package/skills/automation-flow-coordinate/references/recipes/testing/workflows/save-debug.md +0 -212
- package/skills/automation-flow-coordinate/references/resources/variable/variable.md +0 -171
- package/skills/automation-flow-coordinate/references/shared/anti-patterns.md +0 -786
- package/skills/automation-flow-coordinate/references/shared/end/end.md +0 -267
- package/skills/automation-flow-coordinate/references/shared/flow-type-resolver/eval/README.md +0 -69
- package/skills/automation-flow-coordinate/references/shared/flow-type-resolver/eval/predictions.jsonl +0 -80
- package/skills/automation-flow-coordinate/references/shared/flow-type-resolver/eval/prompts.jsonl +0 -116
- package/skills/automation-flow-coordinate/references/shared/flow-type-resolver/flow-type-resolver.md +0 -321
- package/skills/automation-flow-coordinate/references/shared/flow-type-resolver/taxonomy.json +0 -320
- package/skills/automation-flow-coordinate/references/shared/server-functions.md +0 -597
- package/skills/automotive-cloud-appraisal-management-settings-configure/SKILL.md +0 -69
- package/skills/automotive-cloud-dealer-essentials-configure/SKILL.md +0 -78
- package/skills/automotive-cloud-ground-agent-data-pipelines-configure/SKILL.md +0 -373
- package/skills/automotive-cloud-ground-mfg-agent-data-pipelines-configure/SKILL.md +0 -273
- package/skills/automotive-cloud-mfg-agent-data-pipelines-configure/SKILL.md +0 -259
- package/skills/automotive-cloud-mfg-sales-concierge-agent-create/SKILL.md +0 -369
- package/skills/automotive-cloud-mfg-sales-concierge-foundation-configure/SKILL.md +0 -542
- package/skills/automotive-cloud-mfg-sales-concierge-foundation-coordinate/SKILL.md +0 -159
- package/skills/automotive-cloud-mfg-sales-concierge-orchestrator-agent-create/SKILL.md +0 -349
- package/skills/automotive-cloud-mfg-sales-concierge-orchestrator-configure/SKILL.md +0 -505
- package/skills/automotive-cloud-sales-concierge-agent-create/SKILL.md +0 -380
- package/skills/automotive-cloud-sales-concierge-foundation-configure/SKILL.md +0 -567
- package/skills/automotive-cloud-sales-concierge-foundation-coordinate/SKILL.md +0 -159
- package/skills/automotive-cloud-sales-concierge-orchestrator-agent-create/SKILL.md +0 -360
- package/skills/automotive-cloud-sales-concierge-orchestrator-configure/SKILL.md +0 -539
- package/skills/automotive-cloud-sales-concierge-search-grounding-configure/SKILL.md +0 -358
- package/skills/commerce-b2b-merchant-quote-configure/SKILL.md +0 -602
- package/skills/commerce-b2b-store-configure/SKILL.md +0 -251
- package/skills/commerce-credit-memo-create/SKILL.md +0 -139
- package/skills/commerce-delivery-business-hours-configure/SKILL.md +0 -277
- package/skills/commerce-delivery-estimation-apply/SKILL.md +0 -155
- package/skills/commerce-delivery-estimation-configure/SKILL.md +0 -377
- package/skills/commerce-delivery-routing-specs-integrate/SKILL.md +0 -174
- package/skills/commerce-estimate-bopis-query/SKILL.md +0 -279
- package/skills/commerce-estimate-delivery-date-query/SKILL.md +0 -349
- package/skills/commerce-fees-apply/SKILL.md +0 -227
- package/skills/commerce-fulfillment-routing-analyze/SKILL.md +0 -200
- package/skills/commerce-guest-buyer-create/SKILL.md +0 -173
- package/skills/commerce-location-bopis-configure/SKILL.md +0 -378
- package/skills/commerce-location-business-hours-configure/SKILL.md +0 -235
- package/skills/commerce-location-delivery-processing-time-configure/SKILL.md +0 -309
- package/skills/commerce-location-graph-integrate/SKILL.md +0 -131
- package/skills/commerce-location-shipping-carrier-method-configure/SKILL.md +0 -755
- package/skills/commerce-location-temporary-operating-hours-configure/SKILL.md +0 -331
- package/skills/commerce-merchant-buyer-groups-configure/SKILL.md +0 -579
- package/skills/commerce-merchant-buyer-user-onboarding-create/SKILL.md +0 -626
- package/skills/commerce-merchant-catalog-configure/SKILL.md +0 -614
- package/skills/commerce-merchant-extension-provider-configure/SKILL.md +0 -368
- package/skills/commerce-merchant-insights-account-health-churn-analyze/SKILL.md +0 -118
- package/skills/commerce-merchant-insights-inventory-returns-analyze/SKILL.md +0 -65
- package/skills/commerce-merchant-insights-order-shopper-get/SKILL.md +0 -90
- package/skills/commerce-merchant-insights-product-performance-analyze/SKILL.md +0 -72
- package/skills/commerce-merchant-insights-query/SKILL.md +0 -279
- package/skills/commerce-merchant-storefront-guest-access-configure/SKILL.md +0 -656
- package/skills/commerce-order-summary-change-apply/SKILL.md +0 -375
- package/skills/commerce-product-details-get/SKILL.md +0 -363
- package/skills/commerce-product-search/SKILL.md +0 -563
- package/skills/commerce-react-storefront-create/SKILL.md +0 -350
- package/skills/commerce-return-order-summary-create/SKILL.md +0 -513
- package/skills/commerce-search-relevance-analyze/SKILL.md +0 -757
- package/skills/commerce-temporary-processing-time-override-create/SKILL.md +0 -274
- package/skills/communications-initial-setup-configure/SKILL.md +0 -630
- package/skills/communications-multisite-configure/SKILL.md +0 -571
- package/skills/communications-revenue-cloud-settings-configure/SKILL.md +0 -74
- package/skills/communications-smb-fiber-catalog-create/SKILL.md +0 -413
- package/skills/communications-tmf-integrate/SKILL.md +0 -1368
- package/skills/consumer-goods-visit-activity-act4-questions-assign/SKILL.md +0 -448
- package/skills/consumer-goods-visit-activity-act5-standard-create/SKILL.md +0 -269
- package/skills/consumer-goods-visit-activity-act6-assortment-configure/SKILL.md +0 -271
- package/skills/consumer-goods-visit-activity-act7-account-scoping-create/SKILL.md +0 -382
- package/skills/consumer-goods-visit-activity-act8-plan-attach-create/SKILL.md +0 -373
- package/skills/consumer-goods-visit-activity-act9-proof-validate/SKILL.md +0 -389
- package/skills/consumer-goods-visit-and-activity-act1-specification-create/SKILL.md +0 -338
- package/skills/consumer-goods-visit-and-activity-act2-template-create/SKILL.md +0 -547
- package/skills/consumer-goods-visit-and-activity-act3-definition-create/SKILL.md +0 -346
- package/skills/consumer-goods-visit-and-activity-configure/SKILL.md +0 -1110
- package/skills/crm-analytics-adoption-insights-configure/SKILL.md +0 -224
- package/skills/crm-analytics-custom-report-type-lightning-configure/SKILL.md +0 -418
- package/skills/crm-analytics-dashboards-configure/SKILL.md +0 -731
- package/skills/crm-analytics-operational-analytics-metadata-bridge-migrate/SKILL.md +0 -233
- package/skills/crm-analytics-report-notifications-ui-configure/SKILL.md +0 -184
- package/skills/crm-analytics-sharing-inheritance-coverage-analyze/SKILL.md +0 -167
- package/skills/crm-analytics-sonic-getting-started-configure/SKILL.md +0 -55
- package/skills/crm-analytics-tableau-next-app-deploy/SKILL.md +0 -1350
- package/skills/crm-analytics-tableau-next-c360-basemodel-validate/SKILL.md +0 -1862
- package/skills/crm-analytics-tableau-next-datacloud-validate/SKILL.md +0 -83
- package/skills/crm-analytics-tableau-next-provisioning-validate/SKILL.md +0 -81
- package/skills/data360-activation-create/SKILL.md +0 -104
- package/skills/data360-activation-external-platform-get/SKILL.md +0 -49
- package/skills/data360-activation-target-create/SKILL.md +0 -93
- package/skills/data360-activation-v2-create/SKILL.md +0 -456
- package/skills/data360-audience-dmo-get/SKILL.md +0 -38
- package/skills/data360-calculated-affinity-create/SKILL.md +0 -82
- package/skills/data360-calculated-insight-create/SKILL.md +0 -148
- package/skills/data360-catalog-metadata-create/SKILL.md +0 -183
- package/skills/data360-code-extension-create/SKILL.md +0 -115
- package/skills/data360-communication-capping-create/SKILL.md +0 -227
- package/skills/data360-connection-create/SKILL.md +0 -491
- package/skills/data360-content-lens-create/SKILL.md +0 -181
- package/skills/data360-data-action-create/SKILL.md +0 -126
- package/skills/data360-data-action-target-create/SKILL.md +0 -181
- package/skills/data360-data-clean-room-create/SKILL.md +0 -238
- package/skills/data360-data-governance-create/SKILL.md +0 -746
- package/skills/data360-data-graph-create/SKILL.md +0 -82
- package/skills/data360-data-harmonized-model-object-reference-create/SKILL.md +0 -38
- package/skills/data360-data-lake-object-create/SKILL.md +0 -207
- package/skills/data360-data-model-object-catalog-get/SKILL.md +0 -49
- package/skills/data360-data-model-object-create/SKILL.md +0 -128
- package/skills/data360-data-model-object-mapping-create/SKILL.md +0 -106
- package/skills/data360-data-space-create/SKILL.md +0 -161
- package/skills/data360-data-streams-create/SKILL.md +0 -324
- package/skills/data360-engagement-signal-get/SKILL.md +0 -38
- package/skills/data360-experiment-create/SKILL.md +0 -82
- package/skills/data360-goal-based-campaign-create/SKILL.md +0 -192
- package/skills/data360-harmonization-process-history-get/SKILL.md +0 -38
- package/skills/data360-harmonized-unstructured-dmo-create/SKILL.md +0 -84
- package/skills/data360-identity-resolution-create/SKILL.md +0 -115
- package/skills/data360-intelligent-document-processing-create/SKILL.md +0 -148
- package/skills/data360-knowledge-graph-construction-create/SKILL.md +0 -93
- package/skills/data360-knowledge-graph-create/SKILL.md +0 -216
- package/skills/data360-knowledge-space-mcp-configure/SKILL.md +0 -475
- package/skills/data360-machine-learning-mcp-configure/SKILL.md +0 -697
- package/skills/data360-multi-org-mcp-configure/SKILL.md +0 -117
- package/skills/data360-secondary-index-mcp-configure/SKILL.md +0 -126
- package/skills/data360-segment-mcp-configure/SKILL.md +0 -159
- package/skills/data360-semantic-calculated-dimension-mcp-configure/SKILL.md +0 -93
- package/skills/data360-semantic-calculated-measurement-mcp-configure/SKILL.md +0 -93
- package/skills/data360-semantic-data-object-mcp-configure/SKILL.md +0 -93
- package/skills/data360-semantic-dimension-mcp-configure/SKILL.md +0 -38
- package/skills/data360-semantic-engine-mcp-configure/SKILL.md +0 -62
- package/skills/data360-semantic-measurement-mcp-configure/SKILL.md +0 -38
- package/skills/data360-semantic-metric-mcp-configure/SKILL.md +0 -93
- package/skills/data360-semantic-model-mcp-configure/SKILL.md +0 -115
- package/skills/data360-standard-mapping-mcp-configure/SKILL.md +0 -38
- package/skills/data360-tenant-lifecycle-mcp-configure/SKILL.md +0 -73
- package/skills/experience-afv-query/SKILL.md +0 -234
- package/skills/experience-agentforce-vibes-in-react-configure/SKILL.md +0 -63
- package/skills/experience-apex-components-configure/SKILL.md +0 -69
- package/skills/experience-apex-pages-configure/SKILL.md +0 -107
- package/skills/experience-app-home-configure/SKILL.md +0 -76
- package/skills/experience-aura-lightning-out-access-configure/SKILL.md +0 -58
- package/skills/experience-briefcase-configure/SKILL.md +0 -287
- package/skills/experience-community-flexi-page-list-create/SKILL.md +0 -74
- package/skills/experience-community-template-definition-list-query/SKILL.md +0 -48
- package/skills/experience-community-theme-definition-list-query/SKILL.md +0 -38
- package/skills/experience-content-assets-configure/SKILL.md +0 -86
- package/skills/experience-custom-domain-create/SKILL.md +0 -727
- package/skills/experience-defer-rendering-workspace-page-setup-configure/SKILL.md +0 -41
- package/skills/experience-field-service-app-builder-configure/SKILL.md +0 -187
- package/skills/experience-flow-category-configure/SKILL.md +0 -117
- package/skills/experience-formula-configure/SKILL.md +0 -358
- package/skills/experience-global-actions-configure/SKILL.md +0 -69
- package/skills/experience-global-publisher-layouts-configure/SKILL.md +0 -79
- package/skills/experience-instrumentation-configure/SKILL.md +0 -64
- package/skills/experience-lex-engagement-configure/SKILL.md +0 -50
- package/skills/experience-lightning-bolt-open/SKILL.md +0 -12
- package/skills/experience-lightning-out-configure/SKILL.md +0 -129
- package/skills/experience-lightning-preview-configure/SKILL.md +0 -67
- package/skills/experience-lightning-types-query/SKILL.md +0 -98
- package/skills/experience-malware-scan-configure/SKILL.md +0 -71
- package/skills/experience-my-salesforce-configure/SKILL.md +0 -126
- package/skills/experience-navigation-menus-configure/SKILL.md +0 -235
- package/skills/experience-notification-types-configure/SKILL.md +0 -206
- package/skills/experience-notifications-configure/SKILL.md +0 -75
- package/skills/experience-record-discovery-query/SKILL.md +0 -227
- package/skills/experience-regenerate-previews-open/SKILL.md +0 -94
- package/skills/experience-sales-cloud-mab-configure/SKILL.md +0 -254
- package/skills/experience-schema-builder-open/SKILL.md +0 -38
- package/skills/experience-simple-record-home-configure/SKILL.md +0 -110
- package/skills/experience-static-resources-configure/SKILL.md +0 -74
- package/skills/field-service-setup-coordinate/SKILL.md +0 -62
- package/skills/field-service-work-plan-configure/SKILL.md +0 -253
- package/skills/fsc-actionable-segmentation-settings-configure/SKILL.md +0 -180
- package/skills/fsc-digital-origination-bre-decision-matrix-foundation-create/SKILL.md +0 -196
- package/skills/fsc-digital-origination-bre-disclosures-consent-configure/SKILL.md +0 -106
- package/skills/fsc-digital-origination-bre-document-upload-configure/SKILL.md +0 -96
- package/skills/fsc-digital-origination-bre-permissions-assign/SKILL.md +0 -111
- package/skills/fsc-digital-origination-bre-setup-coordinate/SKILL.md +0 -250
- package/skills/fsc-digital-origination-bre-stp-eligibility-configure/SKILL.md +0 -122
- package/skills/fsc-digital-origination-coordinate/SKILL.md +0 -653
- package/skills/fsc-digital-origination-demo-run/SKILL.md +0 -225
- package/skills/fsc-digital-origination-execution-guardrails-validate/SKILL.md +0 -112
- package/skills/fsc-digital-origination-initial-setup-configure/SKILL.md +0 -396
- package/skills/fsc-digital-origination-pricing-setup-coordinate/SKILL.md +0 -336
- package/skills/fsc-digital-origination-pricing-setup-data-foundation-create/SKILL.md +0 -208
- package/skills/fsc-digital-origination-pricing-setup-procedure-create/SKILL.md +0 -375
- package/skills/fsc-digital-origination-product-setup-act1-permissions-assign/SKILL.md +0 -83
- package/skills/fsc-digital-origination-product-setup-coordinate/SKILL.md +0 -248
- package/skills/fsc-digital-origination-sample-data-create/SKILL.md +0 -206
- package/skills/fsc-document-checklist-settings-configure/SKILL.md +0 -57
- package/skills/fsc-flexible-hierarchy-configure/SKILL.md +0 -148
- package/skills/fsc-flexible-hierarchy-foundation-configure/SKILL.md +0 -1430
- package/skills/fsc-flexible-hierarchy-graph-config-create/SKILL.md +0 -471
- package/skills/fsc-flexible-hierarchy-rule-based-graph-deploy/SKILL.md +0 -429
- package/skills/fsc-pricing-product-configurator-configure/SKILL.md +0 -150
- package/skills/fsc-pricing-salesforce-omnistudio-switch/SKILL.md +0 -123
- package/skills/fsc-product-act2-catalog-categories-create/SKILL.md +0 -82
- package/skills/fsc-product-act3-attributes-create/SKILL.md +0 -249
- package/skills/fsc-product-act4-classification-assignment-create/SKILL.md +0 -196
- package/skills/fsc-product-act5-considerations-get/SKILL.md +0 -44
- package/skills/fsc-stage-management-apex-flow-deploy/SKILL.md +0 -384
- package/skills/fsc-stage-management-compliant-data-sharing-configure/SKILL.md +0 -144
- package/skills/fsc-stage-management-decision-matrices-create/SKILL.md +0 -107
- package/skills/fsc-stage-management-definition-assignments-create/SKILL.md +0 -189
- package/skills/fsc-stage-management-definition-create/SKILL.md +0 -108
- package/skills/fsc-stage-management-permissions-assign/SKILL.md +0 -143
- package/skills/fsc-stage-management-transitions-configure/SKILL.md +0 -139
- package/skills/health-cloud-appt-booking-config-configure/SKILL.md +0 -135
- package/skills/health-cloud-appt-booking-url-config-configure/SKILL.md +0 -134
- package/skills/health-cloud-care-provider-affl-role-config-configure/SKILL.md +0 -136
- package/skills/health-cloud-care-provider-search-config-configure/SKILL.md +0 -134
- package/skills/health-cloud-care-requests-create/SKILL.md +0 -178
- package/skills/health-cloud-initial-configure/SKILL.md +0 -511
- package/skills/health-cloud-patient-appointment-scheduling-configure/SKILL.md +0 -1374
- package/skills/health-cloud-provider-search-settings-configure/SKILL.md +0 -924
- package/skills/health-cloud-referral-management-coordinate/SKILL.md +0 -513
- package/skills/health-cloud-timeline-configure/SKILL.md +0 -622
- package/skills/health-cloud-virtual-visit-config-configure/SKILL.md +0 -135
- package/skills/industries-account-score-settings-query/SKILL.md +0 -78
- package/skills/industries-actionable-list-data-sources-dmo-configure/SKILL.md +0 -177
- package/skills/industries-ad-product-availability-search/SKILL.md +0 -399
- package/skills/industries-advanced-account-forecast-settings-configure/SKILL.md +0 -628
- package/skills/industries-advanced-therapy-management-settings-configure/SKILL.md +0 -73
- package/skills/industries-atm-settings-starter-configure/SKILL.md +0 -76
- package/skills/industries-batch-document-ai-configure/SKILL.md +0 -196
- package/skills/industries-behavioral-health-app-settings-configure/SKILL.md +0 -71
- package/skills/industries-branch-management-settings-configure/SKILL.md +0 -89
- package/skills/industries-bre-decision-table-access-configure/SKILL.md +0 -367
- package/skills/industries-brokerage-settings-configure/SKILL.md +0 -41
- package/skills/industries-calendar-sync-settings-configure/SKILL.md +0 -89
- package/skills/industries-care-request-settings-configure/SKILL.md +0 -218
- package/skills/industries-case-management-intelligence-settings-configure/SKILL.md +0 -54
- package/skills/industries-catalog-process-attributes-products-configure/SKILL.md +0 -380
- package/skills/industries-catalog-process-fulfillment-configure/SKILL.md +0 -216
- package/skills/industries-catalog-process-intake-configure/SKILL.md +0 -219
- package/skills/industries-catalog-process-knowledge-configure/SKILL.md +0 -153
- package/skills/industries-catalog-process-preprocessor-configure/SKILL.md +0 -168
- package/skills/industries-cds-general-settings-configure/SKILL.md +0 -69
- package/skills/industries-claim-financial-settings-configure/SKILL.md +0 -169
- package/skills/industries-clinical-data-model-settings-configure/SKILL.md +0 -136
- package/skills/industries-clinical-data-model-settings-starter-configure/SKILL.md +0 -105
- package/skills/industries-collection-plan-settings-configure/SKILL.md +0 -132
- package/skills/industries-comms-service-console-settings-configure/SKILL.md +0 -159
- package/skills/industries-compliance-configure/SKILL.md +0 -102
- package/skills/industries-compliance-document-extraction-setup-configure/SKILL.md +0 -76
- package/skills/industries-contact-center-app-layout-configure/SKILL.md +0 -88
- package/skills/industries-contact-center-components-configure/SKILL.md +0 -96
- package/skills/industries-contact-center-path-knowledge-configure/SKILL.md +0 -95
- package/skills/industries-contact-center-user-access-assign/SKILL.md +0 -96
- package/skills/industries-course-waitlist-config-configure/SKILL.md +0 -162
- package/skills/industries-crisis-center-settings-configure/SKILL.md +0 -84
- package/skills/industries-custom-object-settings-configure/SKILL.md +0 -94
- package/skills/industries-data-cloud-integration-configure/SKILL.md +0 -88
- package/skills/industries-data-space-feature-mappings-configure/SKILL.md +0 -245
- package/skills/industries-decision-matrix-builder-configure/SKILL.md +0 -78
- package/skills/industries-decision-table-hbase-configure/SKILL.md +0 -87
- package/skills/industries-decision-table-version-configure/SKILL.md +0 -74
- package/skills/industries-decision-tables-builder-configure/SKILL.md +0 -253
- package/skills/industries-decision-tables-configure/SKILL.md +0 -439
- package/skills/industries-energy-utilities-configure/SKILL.md +0 -251
- package/skills/industries-eu-cloud-multisite-configure/SKILL.md +0 -1008
- package/skills/industries-eu-new-connections-configure/SKILL.md +0 -30
- package/skills/industries-explainability-msg-template-configure/SKILL.md +0 -135
- package/skills/industries-expression-set-message-token-configure/SKILL.md +0 -135
- package/skills/industries-field-service-settings-configure/SKILL.md +0 -82
- package/skills/industries-form-framework-settings-configure/SKILL.md +0 -30
- package/skills/industries-fsc-ai-settings-configure/SKILL.md +0 -57
- package/skills/industries-fsc-association-engine-settings-configure/SKILL.md +0 -172
- package/skills/industries-fsc-b2b-settings-configure/SKILL.md +0 -61
- package/skills/industries-fsc-insurance-settings-configure/SKILL.md +0 -58
- package/skills/industries-fsc-visa-fulfillment-setup-configure/SKILL.md +0 -103
- package/skills/industries-fsc-wealth-agent-settings-configure/SKILL.md +0 -117
- package/skills/industries-fsc-wealth-settings-configure/SKILL.md +0 -99
- package/skills/industries-fundraising-gift-entry-settings-configure/SKILL.md +0 -120
- package/skills/industries-fundraising-rfm-configure/SKILL.md +0 -128
- package/skills/industries-fundraising-settings-configure/SKILL.md +0 -145
- package/skills/industries-fundraising-source-code-gen-configure/SKILL.md +0 -299
- package/skills/industries-google-maps-api-key-settings-configure/SKILL.md +0 -87
- package/skills/industries-grantmaking-intelligence-settings-open/SKILL.md +0 -58
- package/skills/industries-hc-score-category-settings-configure/SKILL.md +0 -167
- package/skills/industries-health-engagement-settings-configure/SKILL.md +0 -218
- package/skills/industries-home-health-agentforce-setup-configure/SKILL.md +0 -131
- package/skills/industries-home-health-bundling-policy-create/SKILL.md +0 -50
- package/skills/industries-home-health-entity-labels-configure/SKILL.md +0 -29
- package/skills/industries-home-health-fsl-package-deploy/SKILL.md +0 -71
- package/skills/industries-home-health-fsl-settings-validate/SKILL.md +0 -27
- package/skills/industries-home-health-guided-setup-care-and-skill-get/SKILL.md +0 -80
- package/skills/industries-home-health-guided-setup-configure/SKILL.md +0 -836
- package/skills/industries-home-health-guided-setup-enable-org-fsl-get/SKILL.md +0 -55
- package/skills/industries-home-health-guided-setup-get-org-ready-get/SKILL.md +0 -61
- package/skills/industries-home-health-licenses-assign/SKILL.md +0 -27
- package/skills/industries-home-health-operating-hours-create/SKILL.md +0 -40
- package/skills/industries-home-health-scheduling-policy-create/SKILL.md +0 -41
- package/skills/industries-home-health-service-objective-create/SKILL.md +0 -22
- package/skills/industries-home-health-skills-create/SKILL.md +0 -31
- package/skills/industries-home-health-users-create/SKILL.md +0 -29
- package/skills/industries-icm-act3-toggles-configure/SKILL.md +0 -198
- package/skills/industries-icm-act5-genai-suggested-assessments-configure/SKILL.md +0 -361
- package/skills/industries-icm-act6-mcg-integration-configure/SKILL.md +0 -550
- package/skills/industries-integrated-care-management-configure/SKILL.md +0 -168
- package/skills/industries-object-enablement-configure/SKILL.md +0 -86
- package/skills/industries-tpm-system-processing-service-configure/SKILL.md +0 -64
- package/skills/integration-apex-settings-configure/SKILL.md +0 -61
- package/skills/marketing-e360-email-archiving-configure/SKILL.md +0 -73
- package/skills/platform-custom-permissions-configure/SKILL.md +0 -687
- package/skills/platform-label-workbench-import-create/SKILL.md +0 -67
- package/skills/platform-privacy-agent-settings-configure/SKILL.md +0 -752
|
@@ -1,120 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: industries-fundraising-gift-entry-settings-configure
|
|
3
|
-
description: "Use this skill when users want to setup configuration for Nonprofit Cloud Fundraising's Gift Entry page. Trigger when users mention fundraising, gift, entry, settings, fundraising gift entry settings."
|
|
4
|
-
metadata:
|
|
5
|
-
version: "1.0"
|
|
6
|
-
accessCheck: "IndustriesFundraising.userIsFundraisingAdmin"
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
# Managing Fundraising Gift Entry Settings
|
|
10
|
-
|
|
11
|
-
## When to Use This Skill
|
|
12
|
-
|
|
13
|
-
Setup configuration for Nonprofit Cloud Fundraising's Gift Entry page. Three independent surfaces gated by the Fundraising Admin role + the Fundraising org-pref: (1) FieldMappingConfigItem rules that map donor gift fields to target object/field -- READ ONLY today (get-configuration-view); the batch-upsert/batch-delete writes are withheld (rejected), non-functional over the headless path -- see save-configuration-items / delete-configuration-items' rejection reasons; (2) the org-level Gift Entry Grid preference -- fully functional (read / toggle / verify); (3) named grid templates with the only-one-holds single-gift-default flag -- READ ONLY today (get-gift-entry-grid-templates); set-single-gift-default is withheld (rejected), non-functional over the headless path -- see its own rejection reason; delete-gift-entry-grid-template is navigate-only (permanently, not a rejection) -- it hands the user off to the Setup page rather than exposing a callable delete. Grid-template read additionally requires the same Gift Entry Grid customization feature gate as the grid-template writes.
|
|
14
|
-
|
|
15
|
-
## Workflow
|
|
16
|
-
|
|
17
|
-
Three independent surfaces; only the reads and the toggle are executable today. Field-mapping: get-configuration-view is the only executable step -- its batch-upsert (save-configuration-items) and batch-delete (delete-configuration-items) siblings are rejected, non-functional over the headless path. Grid org pref: is-enabled / toggle / verify -- fully functional, use freely. Templates: get-gift-entry-grid-templates is the only executable step -- its set-single-gift-default sibling is rejected, non-functional over the headless path. delete-gift-entry-grid-template is navigate-only (permanently, not merely rejected): it's rewritten in place to an api_type: setup_page hand-off with no callable op, since the Setup UI's delete confirmation is irreversibility-gated and its eligibility checks are client-side only.
|
|
18
|
-
|
|
19
|
-
Root cause of the rejected writes (live-org dispatch confirmed, 2026-08-26): every non-empty payload against the 4 object-argument writes fails with a request-validation error before any business logic runs -- a known deserialization defect in how those write operations bind their inbound payload, tracked for a fix; not a payload, gate, or schema mistake on the caller's side. The zero-arg reads and the boolean-arg toggle are unaffected and dispatch normally.
|
|
20
|
-
|
|
21
|
-
## Critical Constraints
|
|
22
|
-
|
|
23
|
-
**Preconditions:**
|
|
24
|
-
|
|
25
|
-
- User must have IndustriesFundraising userIsFundraisingAdmin access (check: `Fundraising Admin role`)
|
|
26
|
-
|
|
27
|
-
## Verification Checklist
|
|
28
|
-
|
|
29
|
-
After every write operation, confirm the effect by re-reading state:
|
|
30
|
-
|
|
31
|
-
- After `toggle-gift-entry-grid-org-preference`: call `verify-toggle-gift-entry-grid-org-preference` (`GET /headless/invoke/platform/fundraising-gift-entry-settings/is-gift-entry-grid-org-preference-enabled`)
|
|
32
|
-
- After (write): call `verify-delete-gift-entry-grid-template` (`GET /headless/invoke/platform/fundraising-gift-entry-settings/get-gift-entry-grid-templates`)
|
|
33
|
-
|
|
34
|
-
## Operations Reference
|
|
35
|
-
|
|
36
|
-
Operations grouped by purpose. Use these as the building blocks for the workflows above.
|
|
37
|
-
|
|
38
|
-
### Summary
|
|
39
|
-
|
|
40
|
-
| Operation | Purpose | Status | Call | Depends on |
|
|
41
|
-
|-----------|---------|--------|------|------------|
|
|
42
|
-
| `get-configuration-view` | read | proposed | `GET /headless/invoke/platform/fundraising-gift-entry-settings` | — |
|
|
43
|
-
| `is-gift-entry-grid-org-preference-enabled` | read | proposed | `GET /headless/invoke/platform/fundraising-gift-entry-settings/is-gift-entry-grid-org-preference-enabled` | — |
|
|
44
|
-
| `toggle-gift-entry-grid-org-preference` | write | proposed | `PATCH /headless/invoke/platform/fundraising-gift-entry-settings/toggle-gift-entry-grid-org-preference` | — |
|
|
45
|
-
| `verify-toggle-gift-entry-grid-org-preference` | verify | — | `GET /headless/invoke/platform/fundraising-gift-entry-settings/is-gift-entry-grid-org-preference-enabled` | `toggle-gift-entry-grid-org-preference` |
|
|
46
|
-
| `get-gift-entry-grid-templates` | read | proposed | `GET /headless/invoke/platform/fundraising-gift-entry-settings/get-gift-entry-grid-templates` | — |
|
|
47
|
-
| `delete-gift-entry-grid-template` | discovery | proposed | — | `get-gift-entry-grid-templates` |
|
|
48
|
-
| `verify-delete-gift-entry-grid-template` | verify | — | `GET /headless/invoke/platform/fundraising-gift-entry-settings/get-gift-entry-grid-templates` | — |
|
|
49
|
-
|
|
50
|
-
### Read operations
|
|
51
|
-
|
|
52
|
-
#### `get-configuration-view`
|
|
53
|
-
|
|
54
|
-
Get configuration view.
|
|
55
|
-
|
|
56
|
-
**Call:** `GET /headless/invoke/platform/fundraising-gift-entry-settings` — status: `proposed`
|
|
57
|
-
|
|
58
|
-
**Output:** Returns `{settings: [row, ...]}` -- FieldMappingConfigItem rows scoped to ProcessType = GiftEntry (Tooling-backed, sourceFieldLabel system-enriched), NOT a MappingType filter. Empty array when no Fundraising-scoped mappings exist. Each row has exactly 7 properties: sourceFieldName, sourceFieldLabel, destinationObjectName, destinationFieldName, sequence (int), fieldMappingConfigId, id. NOTE: the response is `settings`, not `{fields, templates}` -- the field-mapping surface and the grid-template surface are separate reads; templates come from `get-gift-entry-grid-templates`.
|
|
59
|
-
|
|
60
|
-
#### `is-gift-entry-grid-org-preference-enabled`
|
|
61
|
-
|
|
62
|
-
Read the org-level Gift Entry Grid preference boolean. The preference lives in the Fundraising settings service; no Metadata OrgPreferenceSettings or Tooling/sObject exposes it.
|
|
63
|
-
|
|
64
|
-
**Call:** `GET /headless/invoke/platform/fundraising-gift-entry-settings/is-gift-entry-grid-org-preference-enabled` — status: `proposed`
|
|
65
|
-
|
|
66
|
-
**Output:** Returns the org-level Gift Entry Grid preference as a bare boolean wrapped in the envelope: `{status_code: 200, body: true|false}`. The preference lives in the Fundraising settings service (no Metadata `OrgPreferenceSettings` type covers it), so this is the canonical read.
|
|
67
|
-
|
|
68
|
-
#### `get-gift-entry-grid-templates`
|
|
69
|
-
|
|
70
|
-
Get gift entry grid templates.
|
|
71
|
-
|
|
72
|
-
**Call:** `GET /headless/invoke/platform/fundraising-gift-entry-settings/get-gift-entry-grid-templates` — status: `proposed`
|
|
73
|
-
|
|
74
|
-
**Output:** Returns `{templates: [row, ...]}` where each row carries `developerName`, `masterLabel`, `description`, `isSingleGiftDefault`, `isActive`. Only one row's `isSingleGiftDefault` is true at any time (only-one-holds invariant enforced by the controller when `set-single-gift-default` runs). OOTB template `Default` is always present and pre-set as the single-gift default on a stock org.
|
|
75
|
-
|
|
76
|
-
**Notes:** gate: Additionally feature-gated on the Gift Entry Grid customization feature -- the same access check covers this read too, not just the set-default/delete writes.
|
|
77
|
-
|
|
78
|
-
### Write operations
|
|
79
|
-
|
|
80
|
-
#### `toggle-gift-entry-grid-org-preference`
|
|
81
|
-
|
|
82
|
-
Toggle the org-level Gift Entry Grid preference (enable boolean). The preference lives in the Fundraising settings service; no Metadata OrgPreferenceSettings or Tooling/sObject exposes it.
|
|
83
|
-
|
|
84
|
-
**Call:** `PATCH /headless/invoke/platform/fundraising-gift-entry-settings/toggle-gift-entry-grid-org-preference` — status: `proposed`
|
|
85
|
-
|
|
86
|
-
**Inputs:**
|
|
87
|
-
|
|
88
|
-
- `enable` *(`boolean`)* — Toggle the enable preference on or off.
|
|
89
|
-
|
|
90
|
-
**Notes:** envelope: Arg-taking method (boolean). Dispatches successfully on this org -- verified bidirectional (OFF->ON and ON->OFF), reversible, no confirmation gate. The object-argument writes (save-configuration-items, delete-configuration-items, set-single-gift-default, delete-gift-entry-grid-template) fail for an unrelated, genuine reason -- see each step's functional_defect note.
|
|
91
|
-
|
|
92
|
-
### Verify operations
|
|
93
|
-
|
|
94
|
-
#### `verify-toggle-gift-entry-grid-org-preference`
|
|
95
|
-
|
|
96
|
-
Verify the toggle's effect: re-call is-gift-entry-grid-org-preference-enabled and assert it returns the boolean just set. The companion read observes the same Fundraising service-layer state the toggle writes.
|
|
97
|
-
|
|
98
|
-
**Call:** `GET /headless/invoke/platform/fundraising-gift-entry-settings/is-gift-entry-grid-org-preference-enabled`
|
|
99
|
-
|
|
100
|
-
**Depends on:** `toggle-gift-entry-grid-org-preference`
|
|
101
|
-
|
|
102
|
-
#### `verify-delete-gift-entry-grid-template`
|
|
103
|
-
|
|
104
|
-
Re-call get-gift-entry-grid-templates and check which template currently carries the single-gift-default flag. delete-gift-entry-grid-template is navigate-only (never headlessly executable), so this read does not depend on it -- it just lists current templates independent of whether a human ever deletes one via the Setup page.
|
|
105
|
-
|
|
106
|
-
**Call:** `GET /headless/invoke/platform/fundraising-gift-entry-settings/get-gift-entry-grid-templates`
|
|
107
|
-
|
|
108
|
-
**Notes:** role_after_rejection: delete-gift-entry-grid-template is converted to a navigate-only setup_page hand-off (never headlessly executable -- see its description/source rationale), not merely rejected. This read remains useful standing alone: an agent can call it to list current templates and check which one carries the single-gift-default flag before routing a human through the Setup page to delete one.
|
|
109
|
-
|
|
110
|
-
### Other operations
|
|
111
|
-
|
|
112
|
-
#### `delete-gift-entry-grid-template`
|
|
113
|
-
|
|
114
|
-
Navigation-only -- do not attempt an API call; hand off to the Setup page (view_url) for a human admin to delete a custom Gift Entry Grid template themselves. There is no headlessly-callable version of this step: the Setup UI gates template deletion behind an explicit irreversibility confirmation ("...you can't recover it later...") and template-list eligibility (can't delete the current single-gift-default or the synthesized OOTB "Default" row) is enforced client-side only, in the Lightning grid-template component, not by the controller/service layer. A headless caller bypassing that UI would delete past the user's consent with no eligibility guard. This holds independent of, and would still hold after, the unrelated inbound-model deserialization defect that also currently breaks this step's underlying controller call (see notes.functional_defect) -- fixing that defect would not make this step safe to execute headlessly.
|
|
115
|
-
|
|
116
|
-
**Status:** `proposed`
|
|
117
|
-
|
|
118
|
-
**Depends on:** `get-gift-entry-grid-templates`
|
|
119
|
-
|
|
120
|
-
**Notes:** envelope: N/A -- navigate-only, no dispatch envelope. (Corrects the base SOR's note, which claimed OOTB templates are filtered pre-DML server-side -- they are not: eligibility is enforced client-side only, same as this step's description already explains; moot now regardless, since this step no longer dispatches.); functional_defect: Same root cause as the other object-argument writes -- a known deserialization defect that returns an error on every non-empty payload (tracked, fix pending). Moot for headless dispatch regardless -- this step is converted to navigate-only below on a separate, permanent basis, so that defect is not the operative reason it's non-executable.
|
|
@@ -1,128 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: industries-fundraising-rfm-configure
|
|
3
|
-
description: "Use this skill when users want to manages the AffinityScoreDefinition that drives Nonprofit Cloud RFM (Recency, Frequency, Monetary) and CAP donor scoring. Trigger when users mention fundraising, rfm, fundraising rfm."
|
|
4
|
-
metadata:
|
|
5
|
-
version: "1.0"
|
|
6
|
-
accessCheck: "IndustriesFundraising.userIsFundraisingAdmin"
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
# Managing Fundraising Rfm
|
|
10
|
-
|
|
11
|
-
## When to Use This Skill
|
|
12
|
-
|
|
13
|
-
Manages the AffinityScoreDefinition that drives Nonprofit Cloud RFM (Recency, Frequency, Monetary) and CAP donor scoring. Reads/upserts the FundraisingScoringConfigModel for a given AffinityScoreType (RFM or CAP) — source/target object fields, score ranges, range count, lookback months. Save also regenerates and upserts the RFM_Score_Calculation Data Processing Engine job. Lists custom queryable sObjects available as source/target entities, and reports whether the DPE job is in flight (used to gate Save). All operations require the Fundraising Admin role guard plus View Setup.
|
|
14
|
-
|
|
15
|
-
## Workflow
|
|
16
|
-
|
|
17
|
-
Discover source/target sObjects via get-custom-entities-in-org and the existing config via get-fundraising-scoring-config-model (RFM or CAP). Gate save on is-dpe-job-currently-running == false. Save upserts the AffinityScoreDefinition, then separately (non-atomically) regenerates the RFM_Score_Calculation DPE; a DPE-regen failure leaves the AffinityScoreDefinition persisted with no rollback. Verify by re-reading the config.
|
|
18
|
-
|
|
19
|
-
## Critical Constraints
|
|
20
|
-
|
|
21
|
-
**Preconditions:**
|
|
22
|
-
|
|
23
|
-
- User must have IndustriesFundraising userIsFundraisingAdmin access (check: `Fundraising Admin role`)
|
|
24
|
-
|
|
25
|
-
## Verification Checklist
|
|
26
|
-
|
|
27
|
-
After every write operation, confirm the effect by re-reading state:
|
|
28
|
-
|
|
29
|
-
- After `save-fundraising-scoring-config-model`: call `verify-save-fundraising-scoring-config-model` (`GET /headless/invoke/platform/fundraising-rfm/get-fundraising-scoring-config-model`)
|
|
30
|
-
|
|
31
|
-
## Operations Reference
|
|
32
|
-
|
|
33
|
-
Operations grouped by purpose. Use these as the building blocks for the workflows above.
|
|
34
|
-
|
|
35
|
-
### Summary
|
|
36
|
-
|
|
37
|
-
| Operation | Purpose | Status | Call | Depends on |
|
|
38
|
-
|-----------|---------|--------|------|------------|
|
|
39
|
-
| `get-custom-entities-in-org` | read | implemented | `GET /headless/invoke/platform/fundraising-rfm` | — |
|
|
40
|
-
| `get-fundraising-scoring-config-model` | read | proposed | `GET /headless/invoke/platform/fundraising-rfm/get-fundraising-scoring-config-model` | — |
|
|
41
|
-
| `save-fundraising-scoring-config-model` | write | proposed | `PATCH /headless/invoke/platform/fundraising-rfm/save-fundraising-scoring-config-model` | `is-dpe-job-currently-running`, `get-fundraising-scoring-config-model` |
|
|
42
|
-
| `verify-save-fundraising-scoring-config-model` | verify | — | `GET /headless/invoke/platform/fundraising-rfm/get-fundraising-scoring-config-model` | `save-fundraising-scoring-config-model` |
|
|
43
|
-
| `is-dpe-job-currently-running` | read | proposed | `GET /headless/invoke/platform/fundraising-rfm/is-dpe-job-currently-running` | — |
|
|
44
|
-
|
|
45
|
-
### Dependency graph
|
|
46
|
-
|
|
47
|
-
```mermaid
|
|
48
|
-
graph TD
|
|
49
|
-
get_custom_entities_in_org["get-custom-entities-in-org (read)"]
|
|
50
|
-
get_fundraising_scoring_config_model["get-fundraising-scoring-config-model (read)"]
|
|
51
|
-
save_fundraising_scoring_config_model["save-fundraising-scoring-config-model (write)"]
|
|
52
|
-
verify_save_fundraising_scoring_config_model["verify-save-fundraising-scoring-config-model (verify)"]
|
|
53
|
-
is_dpe_job_currently_running["is-dpe-job-currently-running (read)"]
|
|
54
|
-
is_dpe_job_currently_running --> save_fundraising_scoring_config_model
|
|
55
|
-
get_fundraising_scoring_config_model --> save_fundraising_scoring_config_model
|
|
56
|
-
save_fundraising_scoring_config_model --> verify_save_fundraising_scoring_config_model
|
|
57
|
-
```
|
|
58
|
-
|
|
59
|
-
### Read operations
|
|
60
|
-
|
|
61
|
-
#### `get-custom-entities-in-org`
|
|
62
|
-
|
|
63
|
-
Returns custom queryable sObjects (SObjectInfo records with per-user CRUD/FLS flags) available as RFM scoring source or target entities. No parameters. No public Connect/Tooling/Metadata/sObject alternative covers the typed SObjectInfo shape; the controller is the documented Setup-page interface.
|
|
64
|
-
|
|
65
|
-
**Call:** `GET /headless/invoke/platform/fundraising-rfm` — status: `implemented`
|
|
66
|
-
|
|
67
|
-
**Output:** List of SObjectInfo records — each carries apiName, entityLabel, entityLabelPlural, keyPrefix, custom (true), customSetting, associateEntityType, associateParentEntity, plus per-user CRUD/FLS flags accessible/queryable/searchable/createable/deletable/updateable.
|
|
68
|
-
|
|
69
|
-
#### `get-fundraising-scoring-config-model`
|
|
70
|
-
|
|
71
|
-
Reads the AffinityScoreDefinition for the given affinityScoreType (RFM or CAP) and returns it as a FundraisingScoringConfigModel. Returns null when no definition exists yet; any affinityScoreType outside {RFM, CAP} is rejected as invalid input. AURA-IS-CANONICAL: substituting raw Tooling SOQL on AffinityScoreDefinition drops the AffinityScoreType allowlist and the typed FundraisingScoringConfigModel shape.
|
|
72
|
-
|
|
73
|
-
**Call:** `GET /headless/invoke/platform/fundraising-rfm/get-fundraising-scoring-config-model` — status: `proposed`
|
|
74
|
-
|
|
75
|
-
**Inputs:**
|
|
76
|
-
|
|
77
|
-
- `affinityScoreType` *(`String`)*
|
|
78
|
-
|
|
79
|
-
**Output:** FundraisingScoringConfigModel wrapping a single affinityScoreDefinitionConfig field (mappedEntity + per-field accessors). When no AffinityScoreDefinition exists yet for the given affinityScoreType, the response body is an empty object ({}), NOT null — consumers checking for null-on-absent will misclassify a fresh org as an error.
|
|
80
|
-
|
|
81
|
-
**Notes:** error_contract: Any affinityScoreType value not exactly equal to "RFM" or "CAP" (case-sensitive) returns HTTP 500 with errorCode CONTROLLER_ERROR and message "Select a valid affinity score type." The same 500 is returned for lowercase "rfm", empty string, or a missing parameter — the enum check runs before any request-shape validation. Consumers should treat this as an input-validation contract, not a server fault.; case_sensitivity: affinityScoreType is case-sensitive at the controller boundary — only "RFM" and "CAP" (upper-case) are accepted.
|
|
82
|
-
|
|
83
|
-
#### `is-dpe-job-currently-running`
|
|
84
|
-
|
|
85
|
-
Returns true when the RFM_Score_Calculation Data Processing Engine job is actively executing; any other dpeJobDeveloperName is rejected as invalid input. AURA-IS-CANONICAL: the controller hard-restricts dpeJobDeveloperName to RFM_Score_Calculation, a server-enforced allowlist that a generic Tooling AsyncApexJob query cannot replicate.
|
|
86
|
-
|
|
87
|
-
**Call:** `GET /headless/invoke/platform/fundraising-rfm/is-dpe-job-currently-running` — status: `proposed`
|
|
88
|
-
|
|
89
|
-
**Inputs:**
|
|
90
|
-
|
|
91
|
-
- `dpeJobDeveloperName` *(`String`)*
|
|
92
|
-
|
|
93
|
-
**Output:** Boolean — true when the RFM_Score_Calculation DPE job is currently executing in the org, false otherwise.
|
|
94
|
-
|
|
95
|
-
**Notes:** error_contract: Any dpeJobDeveloperName value not exactly equal to "RFM_Score_Calculation" returns HTTP 500 with errorCode CONTROLLER_ERROR and message "Select a valid DPE job developer name." This is a server-enforced hard allowlist, not a soft picklist — the controller has one and only one job name it will report on.; allowlist_reminder: dpeJobDeveloperName MUST be the literal string "RFM_Score_Calculation". Do not attempt to poll status of arbitrary DPE jobs through this endpoint.
|
|
96
|
-
|
|
97
|
-
### Write operations
|
|
98
|
-
|
|
99
|
-
#### `save-fundraising-scoring-config-model`
|
|
100
|
-
|
|
101
|
-
Validates all six inboundModel fields are non-null and affinityScoreType is in {RFM, CAP}, persists the AffinityScoreDefinition, then regenerates and upserts the corresponding RFM_Score_Calculation DPE definition in the same call. AURA-IS-CANONICAL: a raw Tooling upsert breaks atomicity by orphaning the DPE regeneration.
|
|
102
|
-
|
|
103
|
-
**Call:** `PATCH /headless/invoke/platform/fundraising-rfm/save-fundraising-scoring-config-model` — status: `proposed`
|
|
104
|
-
|
|
105
|
-
**Inputs:**
|
|
106
|
-
|
|
107
|
-
- `inboundModel` *(`FundraisingScoringConfigInboundModel`)* — Value for inbound model.
|
|
108
|
-
- schema: `#/components/schemas/FundraisingScoringConfigInboundModel`
|
|
109
|
-
|
|
110
|
-
**Depends on:** `is-dpe-job-currently-running`, `get-fundraising-scoring-config-model`
|
|
111
|
-
|
|
112
|
-
**Notes:** error_contract: Any missing or null inboundModel field, OR an affinityScoreType outside {RFM, CAP}, returns HTTP 500 with errorCode CONTROLLER_ERROR and the generic message "Select a valid inbound model." The save path unifies 6-field non-null validation and enum-allowlist enforcement into one error string — consumers cannot infer which field failed from the message alone and should pre-validate all six inboundModel fields client-side before calling.; atomicity: The AffinityScoreDefinition upsert (step 1) commits independently before DPE regeneration (step 3); any failure after step 1 — including but not limited to DPE regen errors — leaves the definition persisted with no rollback. Callers that receive a 500 should read back via get-fundraising-scoring-config-model before retrying, to avoid re-sending a definition that already committed.; read_before_write: Callers should first invoke get-fundraising-scoring-config-model for the same affinityScoreType to determine whether an existing definition needs to be merged, since the save is an upsert (the controller does not accept a partial patch of individual fields).; aura_canonical_rationale: AURA-IS-CANONICAL: no Connect API alternative exists for saving an AffinityScoreDefinition. Do not substitute with a raw Tooling API PATCH — that path bypasses the controller-enforced allowlist gate and the atomic DPE-regen coupling that this step provides.; validator_rules: All six inboundModel fields are required (non-null); additionally, content-level validation enforces: source weights must sum to exactly 1; each weight must be in (0, 1]; no duplicate source fields; no source field may equal a target field; all referenced sObjects and fields must exist and be queryable. Any of these failures returns the same generic 500 "Select a valid inbound model." Pre-validating all six fields for non-null is necessary but not sufficient.; permissions_prerequisite: DPE regeneration requires the running user to have the Data Pipelines permission; without it, save commits the AffinityScoreDefinition but regen fails with a 500 CONTROLLER_ERROR "We couldn't create or update the related Data Processing Engine definition... You don't have the required Data Pipelines permission."; recurring_refresh_scope: This skill produces the activated RFM_Score_Calculation DPE definition. Recurring score refresh scheduling is out of scope for this skill — no skill in this corpus schedules recurring DPE recalculation. Keeping scores fresh on a cadence requires the customer to configure their own scheduled automation (e.g., a Scheduled Flow or Apex Scheduler) that triggers recalculation.
|
|
113
|
-
|
|
114
|
-
### Verify operations
|
|
115
|
-
|
|
116
|
-
#### `verify-save-fundraising-scoring-config-model`
|
|
117
|
-
|
|
118
|
-
Reads back the AffinityScoreDefinition for the same affinityScoreType to confirm the save persisted; the saved field lists, score ranges, and counts must round-trip through the FundraisingScoringConfigModel.
|
|
119
|
-
|
|
120
|
-
**Call:** `GET /headless/invoke/platform/fundraising-rfm/get-fundraising-scoring-config-model`
|
|
121
|
-
|
|
122
|
-
**Inputs:**
|
|
123
|
-
|
|
124
|
-
- `affinityScoreType` *(`String`)*
|
|
125
|
-
|
|
126
|
-
**Depends on:** `save-fundraising-scoring-config-model`
|
|
127
|
-
|
|
128
|
-
**Notes:** aura_canonical_rationale: AURA-IS-CANONICAL: same rationale as save-fundraising-scoring-config-model. The verify step re-reads via the same Aura dispatcher path; no Connect API alternative exists.
|
|
@@ -1,145 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: industries-fundraising-settings-configure
|
|
3
|
-
description: "Use this skill when users want to configures the Fundraising org preference and the singleton FundraisingConfig persistence row for Nonprofit Cloud / Industries Fundraising. Trigger when users mention fundraising, settings, fundraising settings."
|
|
4
|
-
metadata:
|
|
5
|
-
version: "1.0"
|
|
6
|
-
accessCheck: "IndustriesFundraising.userIsFundraisingAdmin"
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
# Managing Fundraising Settings
|
|
10
|
-
|
|
11
|
-
## When to Use This Skill
|
|
12
|
-
|
|
13
|
-
Configures the Fundraising org preference and the singleton FundraisingConfig persistence row for Nonprofit Cloud / Industries Fundraising. Note: set-fundraising-org-preference is a one-way, org-wide, irreversible enable with no disable path (source-confirmed) -- dispatchable, but a caller MUST obtain an explicit, dedicated confirmation of that irreversibility from the requesting admin before calling it; navigate-fundraising-turn-on remains available as a human-driven alternative. saveFundraisingSettings persists FundraisingConfig fields: failed/lapsed transaction auto-status thresholds, installment grace days, donorMatchingMethod (Duplicate_Management_Rules | No_Matching -- source-confirmed exactly these 2 members exist; Duplicate_Management_Rules is the default value, not a separate third enum constant -- there is no hidden or unofferred value), donor external-ID custom field, recurring auto-create + auto-close flags, and NextGen Commitment Processing batch size / max threads / parallel toggle (only max threads is range-validated -- see save-fundraising-settings notes). updateDataCloudPermSet assigns the Data Cloud permission set required for the Fundraising / Data Cloud integration. The LWC toggles for Philanthropic Research / Gift Planning / Gift Agreement / Gift-* validations are NOT in this controller -- those route through sibling Industries Fundraising controllers.
|
|
14
|
-
|
|
15
|
-
## Workflow
|
|
16
|
-
|
|
17
|
-
All 4 base methods stay on the Aura controller path for headless execution -- no public Connect / Tooling / Metadata / sObject substitution preserves the full contract (composite view-model assembly, server-enforced field-validation ranges, hardcoded Data Cloud perm-set + Fundraising Admin role gate). The 4th, setFundraisingOrgPreference, is a one-way, org-wide, irreversible enable with no disable path -- dispatchable, but ONLY after obtaining an explicit, dedicated confirmation of that irreversibility from the requesting admin (distinct from any general confirm-to-write checkpoint); the Setup UI gates the equivalent "Turn On" toggle behind the same kind of explicit irreversibility-acceptance modal. Use navigate-fundraising-turn-on instead when the admin would rather accept that modal themselves.
|
|
18
|
-
|
|
19
|
-
For source-controlled deployment of a subset of the persisted FundraisingConfig row, the Metadata API type `FundraisingConfig` (directory `fundraisingConfigs/`, suffix `.fundraisingConfig`) is a documented partial-coverage alternative. Its documented Fields spec covers 6 of 10 inboundModel fields via `.fundraisingConfig` XML: donorMatchingMethod, failedTransactionCount, installmentExtDayCount, lapsedUnpaidTrxnCount, shouldClosePaidRcrCmt, shouldCreateRcrSchdTrxn. A 7th, donorExternalIdField, appears in the type's sample XML but not in its documented Fields table -- treat that one as unconfirmed rather than relying on it. It does NOT reach the NextGen Commitment Processing knobs (isNextGenCmtPrcsParallel, nextGenCmtPrcsBatchSize, nextGenCmtPrcsMaxThreads), does NOT drive the org-preference enable, and does NOT perform the write-on-read default-row initialization getSettingsViewModel does. Use the Metadata API path when an admin wants source-controlled deployment of the 6 documented fields; use Aura for NextGen tuning, donorExternalIdField, and full-atomic writes.
|
|
20
|
-
|
|
21
|
-
Order: (1) get-settings-view-model probes orgPreferenceEnabled + current FundraisingConfig values + DonorMatchingMethod picklist. (2) If orgPreferenceEnabled is false, obtain an explicit, dedicated confirmation of the one-way/irreversible/no-disable-path nature of the enable from the requesting admin, then call set-fundraising-org-preference; without that confirmation, call navigate-fundraising-turn-on instead to route the admin to accept the Setup UI's own irreversibility modal themselves. (3) Once enabled (the normal steady-state case, or immediately after step 2), save-fundraising-settings writes user-supplied FundraisingConfig field values. (4) update-data-cloud-perm-set is independent -- assigns the hardcoded Data Cloud perm set when the Fundraising / Data Cloud integration is needed. Verify writes by re-reading get-settings-view-model and comparing orgPreferenceEnabled / settingsFields (the two verify steps do exactly this).
|
|
22
|
-
|
|
23
|
-
## Critical Constraints
|
|
24
|
-
|
|
25
|
-
**Preconditions:**
|
|
26
|
-
|
|
27
|
-
- User must have Fundraising Admin role access. (check: `Fundraising Admin role`)
|
|
28
|
-
|
|
29
|
-
## Verification Checklist
|
|
30
|
-
|
|
31
|
-
After every write operation, confirm the effect by re-reading state:
|
|
32
|
-
|
|
33
|
-
- After `set-fundraising-org-preference`: call `verify-set-fundraising-org-preference` (`GET /headless/invoke/platform/fundraising-settings/get-settings-view-model`)
|
|
34
|
-
- After `save-fundraising-settings`: call `verify-save-fundraising-settings` (`GET /headless/invoke/platform/fundraising-settings/get-settings-view-model`)
|
|
35
|
-
|
|
36
|
-
## Operations Reference
|
|
37
|
-
|
|
38
|
-
Operations grouped by purpose. Use these as the building blocks for the workflows above.
|
|
39
|
-
|
|
40
|
-
### Summary
|
|
41
|
-
|
|
42
|
-
| Operation | Purpose | Status | Call | Depends on |
|
|
43
|
-
|-----------|---------|--------|------|------------|
|
|
44
|
-
| `set-fundraising-org-preference` | write | implemented | `PATCH /headless/invoke/platform/fundraising-settings/set-fundraising-org-preference` | — |
|
|
45
|
-
| `get-settings-view-model` | read | implemented | `GET /headless/invoke/platform/fundraising-settings/get-settings-view-model` | — |
|
|
46
|
-
| `save-fundraising-settings` | write | implemented | `PATCH /headless/invoke/platform/fundraising-settings/save-fundraising-settings` | `set-fundraising-org-preference` |
|
|
47
|
-
| `update-data-cloud-perm-set` | write | implemented | `PATCH /headless/invoke/platform/fundraising-settings/update-data-cloud-perm-set` | — |
|
|
48
|
-
| `verify-set-fundraising-org-preference` | verify | implemented | `GET /headless/invoke/platform/fundraising-settings/get-settings-view-model` | `set-fundraising-org-preference` |
|
|
49
|
-
| `verify-save-fundraising-settings` | verify | implemented | `GET /headless/invoke/platform/fundraising-settings/get-settings-view-model` | `save-fundraising-settings` |
|
|
50
|
-
| `navigate-fundraising-turn-on` | read | — | `FundraisingSettings.turnOn` | — |
|
|
51
|
-
|
|
52
|
-
### Dependency graph
|
|
53
|
-
|
|
54
|
-
```mermaid
|
|
55
|
-
graph TD
|
|
56
|
-
set_fundraising_org_preference["set-fundraising-org-preference (write)"]
|
|
57
|
-
get_settings_view_model["get-settings-view-model (read)"]
|
|
58
|
-
save_fundraising_settings["save-fundraising-settings (write)"]
|
|
59
|
-
update_data_cloud_perm_set["update-data-cloud-perm-set (write)"]
|
|
60
|
-
verify_set_fundraising_org_preference["verify-set-fundraising-org-preference (verify)"]
|
|
61
|
-
verify_save_fundraising_settings["verify-save-fundraising-settings (verify)"]
|
|
62
|
-
navigate_fundraising_turn_on["navigate-fundraising-turn-on (read)"]
|
|
63
|
-
set_fundraising_org_preference --> save_fundraising_settings
|
|
64
|
-
set_fundraising_org_preference --> verify_set_fundraising_org_preference
|
|
65
|
-
save_fundraising_settings --> verify_save_fundraising_settings
|
|
66
|
-
```
|
|
67
|
-
|
|
68
|
-
### Read operations
|
|
69
|
-
|
|
70
|
-
#### `get-settings-view-model`
|
|
71
|
-
|
|
72
|
-
Returns FundraisingSettingsModel: orgPreferenceEnabled (boolean), settingsFields (FundraisingConfig field-value wrapper, populated only when the org pref is on), and donorMatchingPicklist (JSON-encoded DonorMatchingMethod picklist). Side effect: when orgPreferenceEnabled=true but no FundraisingConfig row exists, the controller auto-creates the default row and returns it. No parameters; no public read-only alternative reconstructs the composite (org-pref flag + FundraisingConfig + picklist + write-on-read default). Requires View Setup and System Administrator access.
|
|
73
|
-
|
|
74
|
-
**Call:** `GET /headless/invoke/platform/fundraising-settings/get-settings-view-model` — status: `implemented`
|
|
75
|
-
|
|
76
|
-
**Output:** FundraisingSettingsGetsettingsviewmodelRepresentation: orgPreferenceEnabled (boolean — whether Fundraising org pref is on; settingsFields and donorMatchingPicklist are unpopulated when false), settingsFields (Fields wrapper exposing the FundraisingConfig field accessors), donorMatchingPicklist (JSON-encoded DonorMatchingMethod picklist for client rendering). Naming note: the failed-transaction threshold round-trips under different names — save-fundraising-settings writes it as failedTransCount, but it reads back here as failingTransCount. When verifying a write, compare against failingTransCount, not failedTransCount.
|
|
77
|
-
|
|
78
|
-
#### `navigate-fundraising-turn-on`
|
|
79
|
-
|
|
80
|
-
Optional human-driven alternative to dispatching set-fundraising-org-preference directly: routes a human admin to the Fundraising Settings Setup page to turn on Nonprofit Cloud for Fundraising themselves, accepting the Setup UI's own irreversibility-acceptance modal in the process. The underlying setFundraisingOrgPreference() call is a one-way, org-wide, irreversible enable with no disable path (source-confirmed) -- an agent that has NOT obtained the dedicated irreversibility confirmation required to dispatch set-fundraising-org-preference directly should route the admin here instead of proceeding without it. Once enabled (whether via this navigation or a direct confirmed dispatch), the rest of this skill -- get-settings-view-model, save-fundraising-settings, update-data-cloud-perm-set -- is fully headlessly executable.
|
|
81
|
-
|
|
82
|
-
**Call:** `FundraisingSettings.turnOn`
|
|
83
|
-
|
|
84
|
-
### Write operations
|
|
85
|
-
|
|
86
|
-
#### `set-fundraising-org-preference`
|
|
87
|
-
|
|
88
|
-
Atomic enable: turns ON the Fundraising org preference and writes the default FundraisingConfig row in one transaction. Enable-only -- no parameters, no request body, no disable path anywhere in the call chain (source-confirmed: FundraisingSettingsController.setFundraisingOrgPreference -> FundraisingSettingsServiceImpl.setOrgPreference hardcodes ORG_PREFERENCE_FUNDRAISING_ENABLED, ORG_PREFERENCE_GIFT_ENTRY_GRID_ENABLED, and ORG_PREFERENCE_FR_ENHANCED_CMT_PRSCR_ENABLED to true with no branch). This is a one-way, org-wide, irreversible action -- the Setup UI gates the equivalent "Turn On" toggle behind an explicit irreversibility-acceptance modal (source-confirmed verbatim, label industries-fundraising.xml|FundraisingSettings|fundraisingSettingsModalBodyText: "After enabling Nonprofit Cloud for Fundraising, it can't be disabled. We recommend that you try Fundraising in a sandbox before turning it on in your Salesforce org."). A caller MUST obtain an explicit, dedicated confirmation of that irreversibility from the requesting admin before dispatching this step -- distinct from any general confirm-to-write checkpoint. navigate-fundraising-turn-on remains available as a human-driven alternative for an admin who'd rather accept that modal themselves. Verify with verify-set-fundraising-org-preference (re-reads get-settings-view-model and asserts orgPreferenceEnabled=true). Requires View Setup and System Administrator access.
|
|
89
|
-
|
|
90
|
-
**Call:** `PATCH /headless/invoke/platform/fundraising-settings/set-fundraising-org-preference` — status: `implemented`
|
|
91
|
-
|
|
92
|
-
**Output:** No response body (controller method return type is void; PATCH returns 204 No Content on success). Verify by re-reading get-settings-view-model and asserting orgPreferenceEnabled=true.
|
|
93
|
-
|
|
94
|
-
#### `save-fundraising-settings`
|
|
95
|
-
|
|
96
|
-
Persists user-supplied values into the singleton FundraisingConfig row: failed-transaction auto-status threshold (failedTransCount, field-level validated 0-15), lapsed-unpaid threshold (lapsedUnpaidTransCount, field-level validated 0-15), installment grace days (installmentExtDayCount, field-level validated 0-365), donorMatchingMethod (Duplicate_Management_Rules | No_Matching -- source-confirmed exactly these 2 members exist; Duplicate_Management_Rules is the default value, not a separate third enum constant), donorExternalIdField (CustomFieldDefinition restricted by SupportedFundraisingDonorExternalFields), createRecurringScheduleTransaction + autoCloseRecurringCommitment flags, and NextGen Commitment Processing batch size (nextGenCmtPrcsBatchSize, NOT range-validated -- see notes) / max threads (nextGenCmtPrcsMaxThreads, field-level validated 0-5) / parallel toggle. See notes.validation_enforcement_layer for how the range checks behave and notes.error_fidelity_gap for the out-of-range failure mode. No public alternative. Requires View Setup and System Administrator access.
|
|
97
|
-
|
|
98
|
-
**Call:** `PATCH /headless/invoke/platform/fundraising-settings/save-fundraising-settings` — status: `implemented`
|
|
99
|
-
|
|
100
|
-
**Inputs:**
|
|
101
|
-
|
|
102
|
-
- `inboundModel` *(`FundraisingSettingsInboundModel`)* — Value for inbound model.
|
|
103
|
-
- schema: `#/components/schemas/FundraisingSettingsInboundModel`
|
|
104
|
-
|
|
105
|
-
**Depends on:** `set-fundraising-org-preference`
|
|
106
|
-
|
|
107
|
-
**Output:** No response body (controller method return type is void; PATCH returns 204 No Content on success). Verify by re-reading get-settings-view-model.settingsFields and comparing to the inboundModel that was sent.
|
|
108
|
-
|
|
109
|
-
**Notes:** metadata_api_alternative: Documented partial-coverage sibling write surface: Metadata API type `FundraisingConfig` (directory `fundraisingConfigs/`, suffix `.fundraisingConfig`) deploys 6 of 10 inboundModel fields via source-controlled XML, per its documented Fields table.
|
|
110
|
-
|
|
111
|
-
Field-name map (inboundModel → FundraisingConfig): donorMatchingMethod → donorMatchingMethod; failedTransCount → failedTransactionCount; installmentExtDayCount → installmentExtDayCount; lapsedUnpaidTransCount → lapsedUnpaidTrxnCount; createRecurringScheduleTransaction → shouldCreateRcrSchdTrxn; autoCloseRecurringCommitment → shouldClosePaidRcrCmt.
|
|
112
|
-
|
|
113
|
-
Unconfirmed 7th field: donorExternalIdField → donorExternalIdField appears in the type's sample XML but is not in its documented Fields table — treat as unverified, not a confirmed sibling mapping.
|
|
114
|
-
|
|
115
|
-
Not covered by FundraisingConfig (Aura-only): isNextGenCmtPrcsParallel, nextGenCmtPrcsBatchSize, nextGenCmtPrcsMaxThreads. Use Aura when any NextGen knob is set or when donorExternalIdField needs a confirmed write path; use FundraisingConfig for source-controlled deployment of the 6 documented fields.; validation_enforcement_layer: The 0-15 (failed/lapsed), 0-365 (installment), and 0-5 (max threads) ranges are enforced as a hard rejection with no partial write (live-confirmed: an out-of-range 999 write was rejected outright). nextGenCmtPrcsBatchSize has no equivalent range enforcement -- out-of-range values are silently accepted with no cap, unlike the other four fields. There is no public (non-Aura) write path that reproduces this same enforcement behavior, which is why this step has no substitution alternative.; error_fidelity_gap: Out-of-range writes fail as a bare 500 INTERNAL_ERROR, not a 400 or a validation-shaped error message (live-confirmed on the 999 negative-range probe). The guard works -- the value is rejected and no partial write occurs -- but an agent cannot distinguish "bad input I should retry with a corrected value" from "server fault, retrying won't help."
|
|
116
|
-
|
|
117
|
-
#### `update-data-cloud-perm-set`
|
|
118
|
-
|
|
119
|
-
Assigns the Data Cloud permission set required for the Fundraising / Data Cloud integration to the calling user. Returns boolean (true on success). Gated by Fundraising Admin role (server-enforced -- not duplicated by sObject CRUD). The target permission set is fixed, not admin-configurable; substituting with a raw PermissionSetAssignment Tooling create would force the agent to discover the permission-set name out-of-band and drop the admin-role gate this step enforces.
|
|
120
|
-
|
|
121
|
-
**Call:** `PATCH /headless/invoke/platform/fundraising-settings/update-data-cloud-perm-set` — status: `implemented`
|
|
122
|
-
|
|
123
|
-
**Output:** Boolean — true when the Data Cloud permission-set assignment succeeded. The boolean is itself the verify signal; no separate read-back endpoint is exposed by this controller.
|
|
124
|
-
|
|
125
|
-
**Notes:** access_guard_detail: Source-confirmed: this is the most tightly gated of the 4 steps. It carries the same View Setup and System Administrator access gate as all 4 methods, AND an additional controller-level Fundraising Admin role check none of the other 3 methods have.; cross_skill_grant_inconsistency: This step directly and unconditionally grants the Data Cloud Salesforce Connector permission set to the calling admin on every successful call. It is admin-gated and self-scoped -- it grants permissions to the calling admin only, not an org-wide or package consent grant.
|
|
126
|
-
|
|
127
|
-
### Verify operations
|
|
128
|
-
|
|
129
|
-
#### `verify-set-fundraising-org-preference`
|
|
130
|
-
|
|
131
|
-
Read get-settings-view-model and assert orgPreferenceEnabled=true to confirm set-fundraising-org-preference took effect. Same controller method as the get-settings-view-model read step; getSettingsViewModel returns the org-pref flag the enable just flipped.
|
|
132
|
-
|
|
133
|
-
**Call:** `GET /headless/invoke/platform/fundraising-settings/get-settings-view-model` — status: `implemented`
|
|
134
|
-
|
|
135
|
-
**Depends on:** `set-fundraising-org-preference`
|
|
136
|
-
|
|
137
|
-
**Notes:** role_as_confirmation_support: Useful both before and after set-fundraising-org-preference: pre-check whether the org preference is already enabled (the normal steady-state case) before deciding whether the dedicated irreversibility confirmation and dispatch are even needed, and post-write to confirm the enable landed (orgPreferenceEnabled=true).
|
|
138
|
-
|
|
139
|
-
#### `verify-save-fundraising-settings`
|
|
140
|
-
|
|
141
|
-
Read get-settings-view-model and compare settingsFields against the inboundModel sent to save-fundraising-settings to confirm the FundraisingConfig values persisted. Same controller method as the get-settings-view-model read step; getSettingsViewModel returns the persisted FundraisingConfig wrapped in settingsFields. Note the failedTransCount/failingTransCount naming asymmetry documented on get-settings-view-model's output -- comparison logic must map failedTransCount to failingTransCount, not compare field names literally.
|
|
142
|
-
|
|
143
|
-
**Call:** `GET /headless/invoke/platform/fundraising-settings/get-settings-view-model` — status: `implemented`
|
|
144
|
-
|
|
145
|
-
**Depends on:** `save-fundraising-settings`
|