@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,375 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: fsc-digital-origination-pricing-setup-procedure-create
|
|
3
|
+
parent: "digital-origination-pricing-setup"
|
|
4
|
+
purpose: "Create and verify the lending pricing context, procedure, elements, and recipe binding."
|
|
5
|
+
description: "Create or repair the LendingProductConfigContext and the selected Digital Lending pricing procedure after ProductListRateDT, CreditScoreBasedAdjustmentDT, and TermBasedAdjustmentDT are active. Supports the Product Configurator procedure digital_lending_AppFormProductProposalConfigProc and the Salesforce Pricing alternative, using approved Context Service and Industries Pricing Expression Set APIs where the schema is explicit and a precise Pricing Designer checkpoint where per-element write payloads remain unresolved. Verifies context mappings, ordered pricing elements, variables, recipe binding, and active procedure state."
|
|
6
|
+
metadata:
|
|
7
|
+
version: "1.0"
|
|
8
|
+
cliTools:
|
|
9
|
+
- tool:
|
|
10
|
+
- "sf"
|
|
11
|
+
semver: ">=2.0.0"
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
# Digital Origination pricing procedure
|
|
15
|
+
|
|
16
|
+
Create the context and ordered pricing procedure for one selected engine. This sibling does not create
|
|
17
|
+
source data, decision tables, or engine prerequisite configuration.
|
|
18
|
+
|
|
19
|
+
## Required inputs
|
|
20
|
+
|
|
21
|
+
- Target-org alias
|
|
22
|
+
- Engine: Product Configurator or Salesforce Pricing
|
|
23
|
+
- Exact procedure API name. Product Configurator defaults to
|
|
24
|
+
`digital_lending_AppFormProductProposalConfigProc`; Salesforce Pricing requires an explicit name
|
|
25
|
+
from the user or one uniquely resolved from the target org.
|
|
26
|
+
- Active IDs for `ProductListRateDT`, `CreditScoreBasedAdjustmentDT`, `TermBasedAdjustmentDT`
|
|
27
|
+
- `NGPDefaultRecipe` ID and verified mapping
|
|
28
|
+
- Product/attribute/source field API names
|
|
29
|
+
- Product Configurator attribute verification or Salesforce Pricing OmniStudio verification
|
|
30
|
+
|
|
31
|
+
`ProductListRateDT` (List Price) must be Active and registered in `NGPDefaultRecipe` before authoring
|
|
32
|
+
the ListPrice element. If `CreditScoreBasedAdjustmentDT` / `TermBasedAdjustmentDT` are blocked (the
|
|
33
|
+
source-object resolution limit documented in `decision-tables`), do NOT stop the whole procedure —
|
|
34
|
+
author a **ListPrice-only procedure** (Pricing Setting + List Price elements) that prices correctly,
|
|
35
|
+
OMIT the Credit Score (element 3) and Loan Term (element 4) Price Adjustment Matrix containers, and
|
|
36
|
+
report them as DEFERRED. Only stop if `ProductListRateDT` itself is inactive or the recipe has no
|
|
37
|
+
List Price mapping.
|
|
38
|
+
|
|
39
|
+
## Connect feature gates — hard prerequisites for this sibling (org-verified)
|
|
40
|
+
|
|
41
|
+
This sibling depends on **one** org feature gate: Context Service. It returns HTTP 403
|
|
42
|
+
`FUNCTIONALITY_NOT_ENABLED` (`This feature is not currently enabled for this user type or org:
|
|
43
|
+
[<Family>]`) until its **org feature toggle** is on. The gate is separate from licenses and permission
|
|
44
|
+
sets — assigning entitlements populates the sObjects/data model but does **not** open the gate.
|
|
45
|
+
|
|
46
|
+
- **Context Service** (`ContextResourceFamily`, flag `IndustriesContext.orgHasIndustriesContextService`)
|
|
47
|
+
gates every `/connect/context-definitions*` call in Step 1. **Enable headlessly via API** (no UI step
|
|
48
|
+
required, org-verified): `PUT /connect/contextservice/access/contextServiceEnabled/{orgId}`
|
|
49
|
+
body `{isEnabled:true}` → 200. The `preferenceName` segment **must be `contextServiceEnabled`**; the
|
|
50
|
+
value `ContextService` 404s on PUT (see the `permissions` sibling for the details).
|
|
51
|
+
After enabling, verify with a live `GET /connect/context-definitions` (200), not the
|
|
52
|
+
`getContextServiceAccess` read (which can still report `isEnabled:false`). The Setup UI toggle
|
|
53
|
+
(**Context Service Settings** -> **Context Definitions**, `/lightning/setup/ContextServiceSettings/home`)
|
|
54
|
+
is an equivalent fallback.
|
|
55
|
+
|
|
56
|
+
**The pricing procedure itself is NOT gate-blocked (org-verified).** Build it via
|
|
57
|
+
the **BRE** endpoint `POST /connect/business-rules/expression-set`, which is open on a Digital Lending
|
|
58
|
+
org and needs no extra permission set (a pricing-procedure expression set was created here directly,
|
|
59
|
+
`201 Created`). Do **not** route through `/connect/core-pricing/expression-set` — that separate
|
|
60
|
+
Salesforce-Pricing surface is fronted by `IExpressionSetResourceFamily` and 403s, but it is not
|
|
61
|
+
required to create the procedure. See "Reusable procedure operations" below for the verified field
|
|
62
|
+
recipe. Confirm the Context Service gate is open (a live 200 from `GET /connect/context-definitions`)
|
|
63
|
+
before Step 1; if it is closed, stop at that toggle as a manual checkpoint and resume after the user
|
|
64
|
+
confirms.
|
|
65
|
+
|
|
66
|
+
## Reusable Context Service operations
|
|
67
|
+
|
|
68
|
+
Use approved SOR
|
|
69
|
+
`connect-api/cs-context-service/industries-context-connect-api__industries.context.connect.api_oas_67.0`:
|
|
70
|
+
|
|
71
|
+
| Purpose | Operation | Endpoint |
|
|
72
|
+
|---|---|---|
|
|
73
|
+
| Create definition | `post-context-definitions` (`postContextDefinitions`) | `POST /connect/context-definitions` |
|
|
74
|
+
| Read definition | `get-context-definition` (`getContextDefinition`) | `GET /connect/context-definitions/{contextDefinitionId}` |
|
|
75
|
+
| Add nodes | `post-context-nodes` (`postContextNodes`) | `POST /connect/context-definitions/{contextDefinitionId}/context-nodes` |
|
|
76
|
+
| Add attributes | `post-context-attributes` (`postContextAttributes`) | `POST /connect/context-nodes/{contextNodeId}/context-attributes` |
|
|
77
|
+
| Create mapping | `post-context-mappings` (`postContextMappings`) | `POST /connect/context-definitions/{contextDefinitionId}/context-mappings` |
|
|
78
|
+
| Map nodes/attributes | `post-context-node-mappings`, `post-context-attribute-mappings` | Context mapping endpoints |
|
|
79
|
+
| Build context | `post-build-context` (`postBuildContext`) | `POST /connect/contexts` |
|
|
80
|
+
|
|
81
|
+
## Step 1 - Resolve or create LendingProductConfigContext
|
|
82
|
+
|
|
83
|
+
**Reuse-first (org-verified).** `LendingProductConfigContext` ships as a
|
|
84
|
+
**standard** context definition and was found already present and **active** on the target org once the
|
|
85
|
+
Context Service gate was enabled — `contextDefinitionId: LendingProductConfigContext__stdctx`,
|
|
86
|
+
`isActive: true`, with the full ApplicationForm -> product node/attribute mappings already populated.
|
|
87
|
+
Treat Step 1 as a **resolve-and-verify (reuse)**, not a create, unless the definition is genuinely
|
|
88
|
+
absent. Do not create a new definition when the standard one resolves.
|
|
89
|
+
|
|
90
|
+
1. Search context definitions by developer/display name `LendingProductConfigContext`.
|
|
91
|
+
2. If present, read nodes, attributes, mappings, effective dates, active version, and TTL. Reuse only
|
|
92
|
+
an equivalent lending product configuration context.
|
|
93
|
+
3. If absent, do not infer a graph from object describe alone. Retrieve the standard
|
|
94
|
+
`LendingProductConfigContext` definition from the installed release's setup template, sample
|
|
95
|
+
metadata, or documented context-definition source. Creation requires an explicit node hierarchy,
|
|
96
|
+
attribute names/types/tags, source objects/fields, node mappings, and attribute mappings. If that
|
|
97
|
+
canonical definition is unavailable, stop at the Business Rules Engine **Create Context
|
|
98
|
+
Definition** UI checkpoint and capture the resulting graph; do not create a guessed minimal context.
|
|
99
|
+
4. Create definition, nodes, attributes, context mapping, node mappings, and attribute mappings in
|
|
100
|
+
dependency order.
|
|
101
|
+
5. Build a test context and query it. The definition is not ready until the expected tags/attributes
|
|
102
|
+
resolve from representative input.
|
|
103
|
+
|
|
104
|
+
Do not copy `LendingProductDiscoveryContext`; qualification and pricing configuration contexts serve
|
|
105
|
+
different purposes.
|
|
106
|
+
|
|
107
|
+
Before any context write, save the complete existing definition, active version, nodes, attributes,
|
|
108
|
+
and mappings. If an incompatible same-name context exists, stop with a field-level diff; do not patch
|
|
109
|
+
it into a different semantic shape. On partial create failure, delete only artifacts created by this
|
|
110
|
+
run and only when no existing mapping references them.
|
|
111
|
+
|
|
112
|
+
## Reusable procedure operations
|
|
113
|
+
|
|
114
|
+
A Pricing Procedure is an Expression Set. **Build it through the BRE Orion endpoint**
|
|
115
|
+
(`industries-interaction-rule-connect-api`), which is un-gated on a Digital Lending org
|
|
116
|
+
(org-verified, `201 Created`):
|
|
117
|
+
|
|
118
|
+
- `postExpressionSetCreate` - `POST /connect/business-rules/expression-set` (create the procedure shell)
|
|
119
|
+
- `patchExpressionSet` - `PATCH /connect/business-rules/expression-set/{expressionSetId}` (add versions/steps)
|
|
120
|
+
- `getExpressionSet` - `GET /connect/business-rules/expression-set/{expressionSetId}` (read/verify)
|
|
121
|
+
- `deleteExpressionSet` - `DELETE /connect/business-rules/expression-set/{expressionSetId}` (rollback)
|
|
122
|
+
|
|
123
|
+
**Verified minimal create body for a pricing-procedure expression set (201):**
|
|
124
|
+
|
|
125
|
+
```json
|
|
126
|
+
{
|
|
127
|
+
"name": "<display name>",
|
|
128
|
+
"apiName": "<developer_api_name>",
|
|
129
|
+
"description": "<optional>",
|
|
130
|
+
"interfaceSourceType": "PricingProcedure",
|
|
131
|
+
"usageType": "DefaultPricing",
|
|
132
|
+
"usageSubtype": "RevenueCloud",
|
|
133
|
+
"type": "Custom",
|
|
134
|
+
"executionMode": "Cloud",
|
|
135
|
+
"executionScale": "Low",
|
|
136
|
+
"resourceInitializationType": "Off"
|
|
137
|
+
}
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
Field notes learned from the org's own validation errors (each was a 400 that walked to the fix):
|
|
141
|
+
`name` is required (distinct from `apiName`); `usageType: DefaultPricing` is the "Pricing" usage type
|
|
142
|
+
(its default `usageSubtype` is `RevenueCloud`); and `DefaultPricing` **requires**
|
|
143
|
+
`resourceInitializationType: Off` (`"...doesn't allow you to turn on defaulting..."`). Create returns
|
|
144
|
+
`id` plus an auto-created `versions[0]` (V1, `enabled:false`, empty `steps`/`variables`).
|
|
145
|
+
|
|
146
|
+
Do **not** use `/connect/core-pricing/expression-set` (Industries Pricing SOR
|
|
147
|
+
`connect-api/cme-core-veda/...`) as the build target — it is a separate Salesforce-Pricing surface
|
|
148
|
+
gated by `IExpressionSetResourceFamily` (403) and is not required here. Its read ops
|
|
149
|
+
(`get-industries-pricing-element-metadata-get`, `post-industries-pricing-metadata`) may still be used
|
|
150
|
+
to read valid element criteria/limits **if** that gate is open, but never block procedure creation on it.
|
|
151
|
+
|
|
152
|
+
The underlying schema exposes `ExpressionSetInputRepresentation.versions[].steps[]`. A version item
|
|
153
|
+
requires `apiName`, `name`, `versionNumber`, and `enabled`; pricing steps use
|
|
154
|
+
`stepType: "BusinessKnowledgeModel"` with an `actionType` (`ListPrice`, `PriceAdjustmentMatrix`,
|
|
155
|
+
`PricingSettings`, `FormulaBasedPricing`, …), and a `lookupTable` `{type:"DecisionTable",
|
|
156
|
+
lookupTableName, mappings[]}` to bind a decision table (e.g. `ProductListRateDT`). Variables must be
|
|
157
|
+
declared in `versions[].variables[]` (each `{name, dataType, type}`) before steps reference them.
|
|
158
|
+
|
|
159
|
+
**BLOCKER (org-verified): writing version *content* via this Connect API fails server-side.**
|
|
160
|
+
Creating the procedure shell works (`201`), but any write that includes `versions[]` content fails
|
|
161
|
+
server-side with `INTERNAL_ERROR` — reproduced across **every** variant:
|
|
162
|
+
`PATCH` with a full version+variables+step, `PATCH` with an empty-`steps` version, `PATCH` with a
|
|
163
|
+
bare version envelope, **and** inline `versions` at `POST` create time (each a distinct server-side
|
|
164
|
+
stacktrace). Even a base `PATCH` with **no** `versions` fails. So on this org the expression-set
|
|
165
|
+
*update* path and the *version-authoring* path are non-functional through the Connect API; only the
|
|
166
|
+
create-shell path is usable. The underlying server-side error detail was not retrievable through the
|
|
167
|
+
API. **Do not keep retrying step-payload permutations** — this is a server-side
|
|
168
|
+
defect, not a payload error. Author the version/steps at the **Pricing Designer UI checkpoint** below
|
|
169
|
+
and verify through `getExpressionSet` reads. Re-test the API path on a different org / release before
|
|
170
|
+
assuming it is fixed.
|
|
171
|
+
|
|
172
|
+
The corpus does not fully resolve every element-specific inner write payload, and — per the blocker
|
|
173
|
+
above — the version-write path itself fails here. Do not invent property names from UI labels. Use API
|
|
174
|
+
writes only when the target spec/metadata supplies an explicit contract **and** the org accepts a
|
|
175
|
+
version write; otherwise use the Metadata-API deploy channel below (preferred) or the Pricing Designer
|
|
176
|
+
checkpoint, and verify through reads afterward.
|
|
177
|
+
|
|
178
|
+
## Author version content via the Metadata API deploy channel (preferred, org-verified)
|
|
179
|
+
|
|
180
|
+
Both Connect write paths fail (above), but the **`ExpressionSetDefinition` Metadata type** authors the
|
|
181
|
+
ordered pricing ELEMENTS reliably. Retrieve the def into a DX project
|
|
182
|
+
(`sf project retrieve start --metadata "ExpressionSetDefinition:<devname>"`), edit the
|
|
183
|
+
`.expressionSetDefinition-meta.xml`, and `sf project deploy start`. Key rules learned from the org's
|
|
184
|
+
own deploy errors:
|
|
185
|
+
|
|
186
|
+
- **API version floor is 67.0 (org-verified).** Deploy with `--api-version 67.0`
|
|
187
|
+
(and set the DX project's `sourceApiVersion` to `67.0`). API **66.0 rejects** the `<type>` and
|
|
188
|
+
`<usageSubtype>` properties on the `ExpressionSetDefinition` — these RevenueCloud pricing fields only
|
|
189
|
+
exist in the 67.0 metadata schema. A 66.0 deploy fails on those properties before any element is authored.
|
|
190
|
+
- **Context-tag mode:** with `<contextDefinitions>LendingProductConfigContext__stdctx</contextDefinitions>`
|
|
191
|
+
bound, the aliasMap is empty — only `Constant`-type `<variables>` are allowed and context inputs are
|
|
192
|
+
referenced by their tag name (e.g. `AFPPInterestRate`). `<type>Custom</type>`,
|
|
193
|
+
`<processType>DefaultPricing</processType>`, `<interfaceSourceType>PricingProcedure</interfaceSourceType>`,
|
|
194
|
+
`<usageSubtype>RevenueCloud</usageSubtype>`.
|
|
195
|
+
- **RevenueCloud element order:** the **Pricing Setting** element MUST be `sequenceNumber` 1 (first);
|
|
196
|
+
List Price and adjustments follow.
|
|
197
|
+
- **PREREQUISITE — register `ProductListRateDT` in `NGPDefaultRecipe` as the List Price component
|
|
198
|
+
BEFORE deploying the ListPrice element (org-verified root cause).** If the DT is not yet mapped into
|
|
199
|
+
the recipe as pricing component **List Price** (via the `decision-tables` recipe phase,
|
|
200
|
+
`POST /connect/core-pricing/recipe/mapping`), the Metadata-API deploy of the ListPrice element fails
|
|
201
|
+
with the verbatim error **"Ensure that the lookup table in the ListPrice step is valid and try
|
|
202
|
+
again."** This is a *recipe-registration* gap, NOT a DT-materialization problem — the DT can be fully
|
|
203
|
+
Active + `ExecutionType=HBASE` and this deploy still fails until the recipe registration exists. Fix:
|
|
204
|
+
run the `decision-tables` recipe phase to register `ProductListRateDT` → List Price first, then deploy
|
|
205
|
+
the procedure.
|
|
206
|
+
- **A ListPrice element's `ListPriceField` input references a Constant whose value is the DT OUTPUT
|
|
207
|
+
COLUMN name** (e.g. `ListRate` for `ProductListRateDT`) — NOT a context output tag. Getting this
|
|
208
|
+
wrong yields the runtime error `SF-Pricing-00011 "Select an input parameter <X> from the lookup
|
|
209
|
+
table"` at simulation, not at deploy.
|
|
210
|
+
- **Active versions are IMMUTABLE — never edit V1 in place.** The Metadata channel refuses ANY update
|
|
211
|
+
to an Active `ExpressionSetDefinitionVersion`, including a pure `<status>Active→Draft</status>` flip,
|
|
212
|
+
and there is no headless deactivate API (BRE Orion PATCH fails server-side; the calc-proc activate endpoint wants
|
|
213
|
+
a `0k1` omnistudio id, not a `9QB`; a raw `sf data update ExpressionSetDefinitionVersion Status=Draft`
|
|
214
|
+
is a business-logic bypass). To correct an active procedure, **append a NEW `<versions>` block**
|
|
215
|
+
(`versionNumber` 2, higher `<rank>`, `status=Active`) with the fixed content and deploy — this leaves
|
|
216
|
+
V1 untouched (no immutability conflict), keeps the `9QA` def id stable (recipe binding survives), and
|
|
217
|
+
the higher-rank version wins at runtime.
|
|
218
|
+
- Activate a fresh version by deploying it with `<status>Active</status>` (rank ≥1 + ≥1 step gates).
|
|
219
|
+
|
|
220
|
+
Resolve an existing pricing procedure by API name through the pricing/expression-set metadata search
|
|
221
|
+
available in the org (for example `post-expression-set-metadata` / `postExpressionSetMetadata` with
|
|
222
|
+
the exact name or the Setup ExpressionSet query used by Pricing Recipe list). Capture its ID before
|
|
223
|
+
calling GET-by-ID. If the
|
|
224
|
+
same-name procedure has an incompatible context, usage type, or element graph, stop and present a diff;
|
|
225
|
+
do not create a suffixed duplicate or overwrite it.
|
|
226
|
+
|
|
227
|
+
## Product Configurator procedure (default)
|
|
228
|
+
|
|
229
|
+
Create or reuse:
|
|
230
|
+
|
|
231
|
+
- Name/API name: `digital_lending_AppFormProductProposalConfigProc`
|
|
232
|
+
- Usage Type: Pricing
|
|
233
|
+
- Interface/source type: Pricing Procedure
|
|
234
|
+
- Context definition: `LendingProductConfigContext`
|
|
235
|
+
|
|
236
|
+
Configure ordered elements:
|
|
237
|
+
|
|
238
|
+
### 1. Pricing Setting
|
|
239
|
+
|
|
240
|
+
| Field | Value |
|
|
241
|
+
|---|---|
|
|
242
|
+
| Line Item | `ProductId` |
|
|
243
|
+
| Net Unit Price | no value unless target metadata requires one |
|
|
244
|
+
| Subtotal | `AFPPInterestRate` |
|
|
245
|
+
|
|
246
|
+
### 2. List Price
|
|
247
|
+
|
|
248
|
+
| Field | Value |
|
|
249
|
+
|---|---|
|
|
250
|
+
| Lookup Table | `ProductListRateDT` |
|
|
251
|
+
| Product | `ProductId` |
|
|
252
|
+
| List Price Field | `Constant_UnitPrice_ProductListRateDT_LP` |
|
|
253
|
+
| List Price | `AFPPInterestRate` |
|
|
254
|
+
| Subtotal | `AFPPInterestRate` |
|
|
255
|
+
|
|
256
|
+
### 3. Credit Score list container
|
|
257
|
+
|
|
258
|
+
1. List Operation: all conditions met; resource `AttributeName`; operator Equals; value
|
|
259
|
+
`CreditScoreConstant`.
|
|
260
|
+
2. Formula Based Pricing: `VALUE(AttributeValue)` -> `AttributeValueAsNumber`.
|
|
261
|
+
3. Price Adjustment Matrix:
|
|
262
|
+
- Lookup table `CreditScoreBasedAdjustmentDT`
|
|
263
|
+
- Product `ProductId`
|
|
264
|
+
- Lower and upper input `AttributeValueAsNumber`
|
|
265
|
+
- Adjustment type field `Constant_AdjustmentType_CreditScoreBaseAdjustment_PAM`
|
|
266
|
+
- Adjustment value field `Constant_AdjustmentValue_CreditScoreBaseAdjustment_PAM`
|
|
267
|
+
- Net Unit Price `AFPPInterestRate`
|
|
268
|
+
- Subtotal `AFPPInterestRate`
|
|
269
|
+
|
|
270
|
+
### 4. Loan Term list container
|
|
271
|
+
|
|
272
|
+
1. List Operation: resource `AttributeName`; Equals; value `LoanTermConstant`.
|
|
273
|
+
2. Formula Based Pricing: `VALUE(AttributeValue)` -> `AttributeValueAsNumber`.
|
|
274
|
+
3. Price Adjustment Matrix:
|
|
275
|
+
- Lookup table `TermBasedAdjustmentDT`
|
|
276
|
+
- Product `ProductId`
|
|
277
|
+
- Term `AttributeValueAsNumber`
|
|
278
|
+
- Adjustment type field `Constant_AdjustmentType_TermBasedAdjustmentDT_PAM`
|
|
279
|
+
- Adjustment value field `Constant_AdjustmentValue_TermBasedAdjustmentDT_PAM`
|
|
280
|
+
- Net Unit Price/Subtotal `AFPPInterestRate`
|
|
281
|
+
|
|
282
|
+
## Salesforce Pricing procedure (explicit alternative)
|
|
283
|
+
|
|
284
|
+
Create or reuse the explicitly named procedure with `LendingProductConfigContext`. If the user did not
|
|
285
|
+
supply a Salesforce Pricing API name and discovery finds no unique existing procedure, ask for the
|
|
286
|
+
name before writes. Configure:
|
|
287
|
+
|
|
288
|
+
1. Pricing Setting: Line Item `UniqueId`, Subtotal `InterestRate`.
|
|
289
|
+
2. List Price: `ProductListRateDT`, Product `ProductId`, list rate -> `InterestRate`, subtotal
|
|
290
|
+
`InterestRate`.
|
|
291
|
+
3. Price Adjustment Matrix: `CreditScoreBasedAdjustmentDT`, Product `ProductId`, Lower/Upper input
|
|
292
|
+
`CreditScore`, Tier Type/Tier Value outputs, Input/Net/Subtotal `InterestRate` where supported.
|
|
293
|
+
4. Price Adjustment Matrix: `TermBasedAdjustmentDT`, Product `ProductId`, Term `Term`, Tier Type/Tier
|
|
294
|
+
Value outputs, Input/Net/Subtotal `InterestRate` where supported.
|
|
295
|
+
|
|
296
|
+
Some Salesforce documentation incorrectly displays `CreditScoreBasedAdjustmentDT` for the term
|
|
297
|
+
element. Use `TermBasedAdjustmentDT`; verify its parameters before binding.
|
|
298
|
+
|
|
299
|
+
## Guided Pricing Designer checkpoint
|
|
300
|
+
|
|
301
|
+
When the element-specific input representation cannot be resolved:
|
|
302
|
+
|
|
303
|
+
1. Create the procedure shell through Connect API if safe.
|
|
304
|
+
2. Direct the admin to Pricing Procedures -> target procedure -> new/edit version.
|
|
305
|
+
3. Set Usage Type and `LendingProductConfigContext`.
|
|
306
|
+
4. Add the exact ordered elements and values for the selected engine from this skill.
|
|
307
|
+
5. Save and activate.
|
|
308
|
+
6. Resume by reading the expression set and pricing metadata. Never accept "I clicked Save" as final
|
|
309
|
+
verification without a read-back.
|
|
310
|
+
|
|
311
|
+
## Bind and activate
|
|
312
|
+
|
|
313
|
+
Use `POST /connect/core-pricing/pricing-action` only when the setup requires binding a supported
|
|
314
|
+
standard object to this context/mapping/procedure. Resolve the expression-set ID directly; the
|
|
315
|
+
procedure-by-context picker is LDS GraphQL only and must not be treated as a Connect API.
|
|
316
|
+
|
|
317
|
+
After the procedure has an ID, read `NGPDefaultRecipe` again and call
|
|
318
|
+
`post-industries-pricing-recipe-post` (`POST /connect/core-pricing/recipe/mapping`) with a full
|
|
319
|
+
read-modify-write `PricingRecipeInputRepresentation` whose
|
|
320
|
+
`pricingRecipeProcedureInputRepresentation.procedureId` is the new/verified procedure. **Send
|
|
321
|
+
`procedureChanged=false` (NOT `true`) to BIND — org-verified on the target org.** `procedureChanged:true`
|
|
322
|
+
unconditionally nulls `procedureId` *before* the non-empty check that gates the only write
|
|
323
|
+
path, so `true` silently dissociates while still returning `isSuccess:true`; the id only survives to
|
|
324
|
+
the write when `procedureChanged` is false/omitted. `procedureId` must be the **`ExpressionSetDefinition`
|
|
325
|
+
id (key prefix `9QA`)** — not the ExpressionSet `9QL`, version `9QB`, or Connect version `9QM`, and the
|
|
326
|
+
bound procedure version must be Active + near-core-compatible. Preserve all three decision-table
|
|
327
|
+
mappings (the lookup-table array is a **full replace** — re-send every existing custom/non-internal DT
|
|
328
|
+
mapping or they are wiped), unrelated lookup-table mappings, pricing usage subtype, and active state.
|
|
329
|
+
Re-read the recipe and require its procedure ID to match — do NOT trust `isSuccess`.
|
|
330
|
+
|
|
331
|
+
Preserve existing pricing action entries. Activate the intended expression-set version using the
|
|
332
|
+
verified target-org lifecycle. Before PATCH, save the complete prior expression-set version and recipe
|
|
333
|
+
procedure mapping. Rollback restores the prior full expression set and then restores the prior recipe
|
|
334
|
+
procedure mapping; never delete a pre-existing procedure. If this run created a new procedure and
|
|
335
|
+
later activation or recipe binding fails, leave it inactive and report the orphaned ID by default. On
|
|
336
|
+
explicit rollback approval, delete only that newly created procedure after restoring the prior recipe
|
|
337
|
+
mapping and confirming no recipe/action references it. A procedure shell without an active version or
|
|
338
|
+
without verified recipe binding is partial.
|
|
339
|
+
|
|
340
|
+
## Verification
|
|
341
|
+
|
|
342
|
+
Fresh reads must confirm:
|
|
343
|
+
|
|
344
|
+
- Context definition ID, active version, nodes, attributes, and mappings
|
|
345
|
+
- Procedure ID/API name, usage/interface type, context definition
|
|
346
|
+
- Active procedure version
|
|
347
|
+
- Element count, order, step types, lookup-table IDs, variables, constants, and outputs
|
|
348
|
+
- Engine-specific line-item and interest-rate variables
|
|
349
|
+
- Recipe/procedure association when applicable
|
|
350
|
+
- `NGPDefaultRecipe.pricingRecipeProcedureInputRepresentation.procedureId` matches this procedure
|
|
351
|
+
|
|
352
|
+
Run a non-mutating pricing simulation with representative product, score, and term inputs when the
|
|
353
|
+
API is available. Compare the returned base rate and adjustments with the source rows; do not merely
|
|
354
|
+
assert that the procedure executed.
|
|
355
|
+
|
|
356
|
+
**Working simulation path (org-verified, returned the expected ListRate).**
|
|
357
|
+
`POST /connect/core-pricing/pricing` (Evaluate Price) requires all four of `pricingProcedureId` (the
|
|
358
|
+
`9QA` def id), `contextDefinitionId`, `contextMappingId`, and `jsonDataString` (procedure-only 400s
|
|
359
|
+
`SF-Pricing-00002`). Use the **bare** mapping name for `contextMappingId` (e.g.
|
|
360
|
+
`LendingProductConfigMapping`, contextDefinitionId `LendingProductConfigContext__stdctx`) — a
|
|
361
|
+
slash-path value like `…/version/LendingProductConfigMapping` fails `SF-CTX-00001` name-regex. **Do not
|
|
362
|
+
hand-guess the `jsonDataString`** — generate the canonical shape with
|
|
363
|
+
`GET /connect/core-pricing/simulationInputVariablesWithData?contextDefinitionId=…&contextMappingId=…&expressionSetVersionId=<9QM>&entityId=<root record id>`.
|
|
364
|
+
That helper needs a seeded entity graph: create an `ApplicationForm` (its `Name` is not writable;
|
|
365
|
+
supply `UsageType='LoanOrigination'`) → `ApplicationFormProduct` (`ApplicationFormId`, `ProductId`) →
|
|
366
|
+
`ApplicationFormProductProposal` (`Amount`, `Term`, `InterestRate`). The emitted shape nests child
|
|
367
|
+
nodes as arrays keyed by node name, e.g.
|
|
368
|
+
`{"ApplicationForm":[{"ApplicationFormProduct":[{"ProductId":"<01t…>","ApplicationFormProductProposal":[{"AFPPInterestRate":0.0}]}]}]}`.
|
|
369
|
+
A successful run returns `pricingResult.<outputTag>[].value` with `status:"Completed"` — assert that
|
|
370
|
+
value equals the source rate.
|
|
371
|
+
|
|
372
|
+
## Definition of done
|
|
373
|
+
|
|
374
|
+
The correct context and one engine-specific procedure are active and read back with the exact ordered
|
|
375
|
+
elements and mappings. Any unresolved element payload or activation checkpoint is explicitly partial.
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: fsc-digital-origination-product-setup-act1-permissions-assign
|
|
3
|
+
description: "Sub-skill of digital-origination-product-setup. Act 1 — assign the Product Catalog Management Designer permission set (and the two companion perm sets: Digital Lending, PCM Viewer) to users who configure Digital Lending. Check → report → confirm → THEN assign. Never auto-assign."
|
|
4
|
+
metadata:
|
|
5
|
+
version: "1.0"
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Act 1 — Permissions
|
|
9
|
+
|
|
10
|
+
Source: [Assign Product Catalog Permissions for Digital Lending](https://help.salesforce.com/s/articleView?id=ind.fsc_lending_catalogs_products_assign_permission.htm&type=5)
|
|
11
|
+
|
|
12
|
+
## Purpose
|
|
13
|
+
|
|
14
|
+
Grant admins + users the permission sets required to configure Digital Lending products
|
|
15
|
+
and product catalogs.
|
|
16
|
+
|
|
17
|
+
## Perm sets required
|
|
18
|
+
|
|
19
|
+
See [`../../references/permission-sets.md`](../../references/permission-sets.md) for the
|
|
20
|
+
full matrix.
|
|
21
|
+
|
|
22
|
+
| Perm set | Unlocks |
|
|
23
|
+
|---|---|
|
|
24
|
+
| Digital Lending | Setting up Digital Lending |
|
|
25
|
+
| Product Catalog Management Designer | Setting up Product Catalog Management features + objects |
|
|
26
|
+
| Product Catalog Management Viewer | Viewing Product Catalog Management features + objects |
|
|
27
|
+
|
|
28
|
+
## Policy — check → report → confirm → THEN assign
|
|
29
|
+
|
|
30
|
+
1. **Check.** Query `PermissionSetAssignment` for the target user(s). List which of the three perm sets are already assigned vs missing.
|
|
31
|
+
2. **Report.** Present the missing list to the admin with what each perm set unlocks.
|
|
32
|
+
3. **Confirm.** Wait for explicit admin confirmation on which perm sets to assign, and to which users.
|
|
33
|
+
4. **Assign.** Insert `PermissionSetAssignment` records only for confirmed (perm-set, user) pairs.
|
|
34
|
+
5. **Verify.** Re-query `PermissionSetAssignment` to confirm the insert.
|
|
35
|
+
|
|
36
|
+
`DUPLICATE_VALUE` = already assigned = success, not error.
|
|
37
|
+
|
|
38
|
+
## Steps (help-doc verbatim, for Product Catalog Management Designer)
|
|
39
|
+
|
|
40
|
+
1. From Setup, in the Quick Find box, enter **Permission Sets**, and then click **Permission Sets**.
|
|
41
|
+
2. Click the **Product Catalog Management Designer** permission set.
|
|
42
|
+
3. Click **Manage Assignments**, and then click **Add Assignments**.
|
|
43
|
+
4. Select the checkbox for each user who needs the permission set, and then click **Assign**.
|
|
44
|
+
|
|
45
|
+
Repeat for **Digital Lending** and **Product Catalog Management Viewer**.
|
|
46
|
+
|
|
47
|
+
## Programmatic equivalent
|
|
48
|
+
|
|
49
|
+
For scripted setup, insert `PermissionSetAssignment` records via the Data API. First
|
|
50
|
+
resolve `PermissionSet.Id` by `Name` (org-verified 2026-07-29):
|
|
51
|
+
|
|
52
|
+
| UI label | API `Name` |
|
|
53
|
+
|---|---|
|
|
54
|
+
| Digital Lending | `DigitalLending` |
|
|
55
|
+
| Product Catalog Management Designer | `ProductCatalogManagementAdministrator` |
|
|
56
|
+
| Product Catalog Management Viewer | `ProductCatalogManagementViewer` |
|
|
57
|
+
|
|
58
|
+
```text
|
|
59
|
+
PermissionSetAssignment:
|
|
60
|
+
AssigneeId: <User.Id>
|
|
61
|
+
PermissionSetId: <PermissionSet.Id where Name = 'ProductCatalogManagementAdministrator'>
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
**Important.** UI label says "Product Catalog Management Designer" but the API `Name` is
|
|
65
|
+
`ProductCatalogManagementAdministrator`. Do NOT use `ProductCatalogManagementDesigner` —
|
|
66
|
+
returns 0 rows. Always confirm names against the target org (managed-package prefixes
|
|
67
|
+
vary):
|
|
68
|
+
|
|
69
|
+
```text
|
|
70
|
+
SELECT Id, Name, Label FROM PermissionSet
|
|
71
|
+
WHERE Label IN ('Digital Lending', 'Product Catalog Management Designer', 'Product Catalog Management Viewer')
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
## End state
|
|
75
|
+
|
|
76
|
+
- All three perm sets assigned to the admin doing the setup.
|
|
77
|
+
- All three perm sets assigned to any additional users the admin identified.
|
|
78
|
+
- `PermissionSetAssignment` re-query confirms.
|
|
79
|
+
|
|
80
|
+
## See also
|
|
81
|
+
|
|
82
|
+
- Salesforce Help: Set Up Product Catalog Management
|
|
83
|
+
- Article 9 (Create Omniscript Name Attribute) lists broader Digital Lending perm sets (Rule Engine Designer/Runtime, OmniStudio Admin/User, Compliant Data Sharing Manager, Document Checklist, PCM Designer/Viewer, Product Discovery Admin/User, Salesforce Pricing Admin/Design Time/Runtime). See [`../../references/permission-sets.md`](../../references/permission-sets.md).
|