@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,597 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: flow.shared.server-functions
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# Connect API catalog — Flow Builder (`/services/data/vXX.0/flowbuilder/*`)
|
|
6
|
+
|
|
7
|
+
This catalog is keyed by **Connect API path**. Read paths (GET) are dispatched via
|
|
8
|
+
the `dispatch_readonly` tool
|
|
9
|
+
(e.g. `dispatch_readonly(method: "GET", url: "/services/data/vXX.0/flowbuilder/schema/flow-capabilities")`);
|
|
10
|
+
the WRITE paths in Phase 4c use `dispatch`. The
|
|
11
|
+
`salesforce-flow` MCP tool names are retired from this catalog in favor of the
|
|
12
|
+
Connect paths they wrap — where a table below has a "Wraps `operationId`" column,
|
|
13
|
+
that operationId documents the backing op and is fine to cite. A small set of
|
|
14
|
+
salesforce-flow tools have no verified Connect path; those are kept as bare tool
|
|
15
|
+
names and marked **(salesforce-flow tool — no Connect path)** — call them by name,
|
|
16
|
+
not via `dispatch` or `dispatch_readonly`. Sizes are measured against
|
|
17
|
+
a clean dev sandbox; production orgs are larger. **Always prefer
|
|
18
|
+
Phase 4a drill-downs over Phase 3 bulk calls when the target is
|
|
19
|
+
known.**
|
|
20
|
+
|
|
21
|
+
## Version segment — REQUIRED on every dispatch
|
|
22
|
+
|
|
23
|
+
Every Connect API path below is dispatched against `/services/data/vXX.0/...`.
|
|
24
|
+
**Always send the full, version-qualified path — never the bare `/flowbuilder/...`
|
|
25
|
+
form.** A bare path (no `/services/data/vXX.0` prefix) returns `ROUTE_NOT_FOUND` in
|
|
26
|
+
production (it may appear to work locally, which masks the bug).
|
|
27
|
+
|
|
28
|
+
`vXX.0` is the org's current REST API version. **Resolve it once per session and reuse
|
|
29
|
+
it** for every dispatch — do **not** hardcode a release (e.g. `v68.0`) into your calls.
|
|
30
|
+
Two equivalent in-session sources (both currently resolve to `v68.0`):
|
|
31
|
+
- the version segment already present in any `describe` result's returned `path`, or
|
|
32
|
+
- `max(apiVersionsList)` from `dispatch_readonly(method: "GET", url: "/services/data/vXX.0/flowbuilder/flow/version-info")`.
|
|
33
|
+
|
|
34
|
+
This REST path segment is **distinct** from the Flow's `apiVersion` **metadata** field
|
|
35
|
+
(see `flow-properties.md`) — they are numerically related but different concepts; do not
|
|
36
|
+
conflate them.
|
|
37
|
+
|
|
38
|
+
## Calling `describe` / `discover` — use real ids, never invent them
|
|
39
|
+
|
|
40
|
+
`describe`'s `id` **must be an exact `operationId` or `sor_id`** — passing a
|
|
41
|
+
made-up camelCase verb (e.g. `getAccountFields`) fails with
|
|
42
|
+
`No operation or SOR found for id: …`. Use the operationId from a table's
|
|
43
|
+
"Wraps `operationId`" column (e.g. the entity-fields op is **`listFieldsForEntity`**,
|
|
44
|
+
not `getAccountFields`). If you don't have a valid id, call `discover` first and use an
|
|
45
|
+
id it returns.
|
|
46
|
+
|
|
47
|
+
For the pre-baked operations in this catalog, **prefer dispatching the documented
|
|
48
|
+
(version-qualified) path directly** — a `describe` round-trip is only needed when you
|
|
49
|
+
lack the contract; it is not a prerequisite for the paths listed here.
|
|
50
|
+
|
|
51
|
+
**Authoritative no-Connect-path tool surface**: for tools marked "no Connect path",
|
|
52
|
+
the registered set is `src/tools/register.ts` — trust the live `tools/list` response
|
|
53
|
+
over any count in this file.
|
|
54
|
+
|
|
55
|
+
Several tool names described in older sections of this catalog are NOT
|
|
56
|
+
registered by the MCP server (they were considered, then dropped, or
|
|
57
|
+
their HARs were captured but never wired). Those are flagged
|
|
58
|
+
**[NOT REGISTERED]** in the tables below and kept as bare names — an
|
|
59
|
+
unregistered tool has no backing operation, so there is no path to give it.
|
|
60
|
+
Calling them will fail. They are kept in this catalog only so
|
|
61
|
+
references in older HARs / docs / model training data resolve to a
|
|
62
|
+
known-bad note rather than a hallucinated success.
|
|
63
|
+
|
|
64
|
+
If a live `tools/list` response from the MCP server contradicts the
|
|
65
|
+
no-Connect-path portion of this catalog, trust the live response and note the
|
|
66
|
+
discrepancy.
|
|
67
|
+
|
|
68
|
+
## Platform family — exact contracts (10)
|
|
69
|
+
|
|
70
|
+
All inputs below are top-level properties — queryParams for `dispatch_readonly`
|
|
71
|
+
(path params go in the URL). A trailing `?` means optional.
|
|
72
|
+
|
|
73
|
+
| Tool / path | Wraps `operationId` | Inputs |
|
|
74
|
+
|---|---|---|
|
|
75
|
+
| `GET /services/data/vXX.0/flowbuilder/platform/entities` | `listEntities` | `crudType?`, `builderType?`, `namePattern?`, `customOnly?`, `limit?`, `offset?` |
|
|
76
|
+
| `GET /services/data/vXX.0/flowbuilder/platform/entity/{apiName}` | `getEntity` | `apiName` (required, path), `builderType?` |
|
|
77
|
+
| `GET /services/data/vXX.0/flowbuilder/platform/entity/{apiName}/fields` | `listFieldsForEntity` | `apiName` (required), `builderType?`, `fieldType?`, `customOnly?`, `nameableOnly?`, `namePattern?` |
|
|
78
|
+
| `GET /services/data/vXX.0/flowbuilder/platform/entity/{apiName}/related-record-fields` | `listRelatedRecordFieldsForEntity` | `apiName` (required), `crudType?`, `builderType?` |
|
|
79
|
+
| `GET /services/data/vXX.0/flowbuilder/platform/associated-record-entity` | `getAssociatedRecordEntity` | `processType` (required), `triggerType?` |
|
|
80
|
+
| `GET /services/data/vXX.0/flowbuilder/platform/event-types` | `listEventTypes` | `eventType` (required: `Runtime`, `Setup`, or `ManagedSetup`), `builderType?` |
|
|
81
|
+
| `GET /services/data/vXX.0/flowbuilder/platform/event-types/{apiName}/parameters` | `listEventTypeParameters` | `apiName` (required) |
|
|
82
|
+
| `GET /services/data/vXX.0/flowbuilder/platform/record-id` | `getRecordIdByDevName` | `devName` (required), `entity` (required: `User`, `Group`, or `Queue`) |
|
|
83
|
+
| `GET /services/data/vXX.0/flowbuilder/platform/user-access` | `getUserAccess` | `builderType?` |
|
|
84
|
+
| `GET /services/data/vXX.0/flowbuilder/platform/permission-set/{name}` | `checkPermissionSetAssignment` | `name` (required, path) |
|
|
85
|
+
|
|
86
|
+
For `crudType`, use `CREATABLE`, `UPDATABLE`, `DELETABLE`, `QUERYABLE`, or `ALL`
|
|
87
|
+
(`ALL` is the default). A `GET /services/data/vXX.0/flowbuilder/platform/entities` call with omitted or
|
|
88
|
+
non-positive `limit`
|
|
89
|
+
returns at most 100 rows; target by `namePattern` when the object is known, or page
|
|
90
|
+
with `limit`/`offset` until all `pagination.totalSize` matches are collected.
|
|
91
|
+
`builderType` defaults to `FlowBuilder`; other valid values are `JourneyBuilder`,
|
|
92
|
+
`OrchestrationBuilder`, and `AutolaunchedFlowApprovalProcessBuilder`.
|
|
93
|
+
|
|
94
|
+
---
|
|
95
|
+
|
|
96
|
+
## Marketing Journey discovery
|
|
97
|
+
|
|
98
|
+
Call `dispatch_readonly(method: "GET", url: "/services/data/vXX.0/flowbuilder/mce/journeys", queryParams: { mceBuSelector: "<EID>-<MID>", status: "Published", entrySource: "API_EVENT" })`. Load
|
|
99
|
+
`elements/action-call/send-to-journey-discovery.md` for selection and schema
|
|
100
|
+
resolution. Load `elements/action-call/send-to-journey-recovery.md` only after
|
|
101
|
+
Journey-not-found validation.
|
|
102
|
+
|
|
103
|
+
---
|
|
104
|
+
|
|
105
|
+
## Phase 1 — describe flow types (3)
|
|
106
|
+
|
|
107
|
+
Cheap. Required for any new-flow conversation.
|
|
108
|
+
|
|
109
|
+
| Tool / path | Wraps `operationId` | When to call |
|
|
110
|
+
|---|---|---|
|
|
111
|
+
| `GET /services/data/vXX.0/flowbuilder/schema/process-types` | `getProcessTypes` | First call when picking a flow type. Returns the org's allowed process types as `{ name, label }` **only** — no `iconName` / `isPauseSupported` / `associatedRecordEntity` (pause support and per-trigger metadata live on `GET /services/data/vXX.0/flowbuilder/schema/trigger-types` detail mode). |
|
|
112
|
+
| `flowbuilder_get_flow_entries` (salesforce-flow tool — no Connect path) | `getFlowEntries` | Most LLM-friendly "describe" payload. Returns the New Flow modal tile grid with `label`, `description`, `recommended`, `categoryTags`. |
|
|
113
|
+
| `GET /services/data/vXX.0/flowbuilder/schema/flow-capabilities` | `getFlowCapabilities` | **Composite.** One call for a `(processType, triggerType)` returns all 7 capability sections — `.elements`, `.resourceTypes`, `.features`, `.flowFeatures`, `.operators`, `.runInModes`, `.debugAsUser`. Replaces the old per-section calls (`getSupportedElements`, `getResourceTypes`, `getSupportedFeaturesList`, `getSupportedFlowFeaturesList`, `getOperators`, `getRunInModes`). Design-experience feature tokens (StoreOutputAutomatically, FlowTesting, TestModeExperience, …) are in **`.flowFeatures`** (NOT `.features`). Cache once, keyed by the full argument set (`processType, triggerType, recordTriggerType, apiVersion`) — see the composite section below for why the pair alone is insufficient — and read every section from that one result. |
|
|
114
|
+
|
|
115
|
+
---
|
|
116
|
+
|
|
117
|
+
## `GET /services/data/vXX.0/flowbuilder/schema/flow-capabilities` — the composite
|
|
118
|
+
|
|
119
|
+
One Connect operation (`getFlowCapabilities`) that replaces five older per-section
|
|
120
|
+
tools. **It always returns all 7 sections**, so five previously-independent cheap
|
|
121
|
+
calls are now one heavier call — fire it once, cache the result **keyed by the full
|
|
122
|
+
argument set** (`processType, triggerType, recordTriggerType, apiVersion`), and read
|
|
123
|
+
each section as needed.
|
|
124
|
+
|
|
125
|
+
**Params:** `processType` (required), `triggerType?`, `recordTriggerType?`,
|
|
126
|
+
`builderType?`, `apiVersion?`.
|
|
127
|
+
|
|
128
|
+
> **Cache by the full args, not just `(processType, triggerType)`.** `recordTriggerType`
|
|
129
|
+
> changes `.operators` and `apiVersion` filters `.flowFeatures`, so a result cached before
|
|
130
|
+
> either is known must be **refreshed** once it is (e.g. after `GET /services/data/vXX.0/flowbuilder/flow/version-info` supplies
|
|
131
|
+
> `apiVersion`). Reusing a pair-keyed result across a differing `recordTriggerType`/`apiVersion`
|
|
132
|
+
> can serve stale operators/features. `.elements`/`.resourceTypes`/`.runInModes` are safe to
|
|
133
|
+
> reuse for the same `(processType, triggerType)`.
|
|
134
|
+
|
|
135
|
+
**Sections (all always present):**
|
|
136
|
+
|
|
137
|
+
| Section | Was (old tool) | Contents |
|
|
138
|
+
|---|---|---|
|
|
139
|
+
| `.elements` | `getSupportedElements` | Allowed element node types for the pair. **Mandatory before drafting any element.** Listed ≠ canvas-authorable — emit only palette-authorable entries (carrying a `configComponent`); see `shared/anti-patterns.md` item 29. |
|
|
140
|
+
| `.resourceTypes` | `getResourceTypes` | Resource types the user can create (Variable, Constant, …) with attribute schemas. |
|
|
141
|
+
| `.features` | `getSupportedFeaturesList` | Process-type-scoped feature list (no trigger dimension). **Does NOT carry the design-experience/testing tokens.** |
|
|
142
|
+
| `.flowFeatures` | `getSupportedFlowFeaturesList` | **Trigger-scoped design-experience feature tokens** — `FlowTesting`, `FlowTestingWithDataSilo`, `TestModeExperience`, `StoreOutputAutomatically`, `SupportHierarchicalQuery`, pause-related opt-ins, etc. **This is the section every feature probe reads.** |
|
|
143
|
+
| `.operators` | `getOperators` | Operator `{name: label}` dictionary for the flow context (keyed by trigger type + `recordTriggerType`) — **NOT** field-type specific. To validate an operator against a field's data type, use `GET /services/data/vXX.0/flowbuilder/schema/operator-rules`. For **formula** operators use `GET /services/data/vXX.0/flowbuilder/resource/formula-operators` instead. |
|
|
144
|
+
| `.runInModes` | `getRunInModes` | `DefaultMode` / `SystemModeWithSharing` / `SystemModeWithoutSharing` with help text. Org-global. Required input to every flow's `runInMode`. |
|
|
145
|
+
| `.debugAsUser` | (new) | `{ showIsDebugAsUserAllowed, showIsDebugAsUserAllowedInNonPrd }`. |
|
|
146
|
+
|
|
147
|
+
> **Pause support** is **not** a token in `.features`/`.flowFeatures`. For whether a **Wait
|
|
148
|
+
> element is authorable** for a `(processType, triggerType)` pair, check `.elements` (filtered
|
|
149
|
+
> by both) — that is the authoritative signal. `GET /services/data/vXX.0/flowbuilder/schema/trigger-types` detail-mode `.isPauseSupported`
|
|
150
|
+
> is a related **trigger-level** hint keyed by `triggerType` alone (see Phase 4a), not the
|
|
151
|
+
> dual-keyed element-availability check.
|
|
152
|
+
|
|
153
|
+
---
|
|
154
|
+
|
|
155
|
+
## Phase 2 — New Flow modal extras (5 registered)
|
|
156
|
+
|
|
157
|
+
Mostly debugging. Skip unless explicitly relevant.
|
|
158
|
+
|
|
159
|
+
| Tool / path | When to call |
|
|
160
|
+
|---|---|
|
|
161
|
+
| `flowbuilder_get_context` (salesforce-flow tool — no Connect path) | **Heavy (~36 KB).** Org-level Flow Builder UI context: `orgId`, `devMode`, `testMode`, `canVAD`, `builderConfig`. Mostly debugging. |
|
|
162
|
+
| `GET /services/data/vXX.0/flowbuilder/resource/apex-types` | Apex-defined types usable in flows. Often `[]` in orgs without custom Apex invocables. |
|
|
163
|
+
| `flowbuilder_is_flow_automation_agent_enabled` (salesforce-flow tool — no Connect path) | Is the Flow Automation Agent (Agentforce-style AI authoring) enabled. |
|
|
164
|
+
| `GET /services/data/vXX.0/flowbuilder/platform/permission-set/{name}` | Checks whether the current user has a named permission set. Required path param: `name` (bare or namespace-qualified developer name). |
|
|
165
|
+
| `flowbuilder_get_templates` (salesforce-flow tool — no Connect path) | **Heavy (~126 KB).** Org-wide template library. (Single source — `flowbuilder_get_modal_templates` is **[NOT REGISTERED]**.) |
|
|
166
|
+
| `flowbuilder_get_frequently_used_types` **[NOT REGISTERED]** | use `GET /services/data/vXX.0/flowbuilder/schema/process-types` instead. |
|
|
167
|
+
| `flowbuilder_get_modal_templates` **[NOT REGISTERED]** | use `flowbuilder_get_templates` instead (salesforce-flow tool — no Connect path). |
|
|
168
|
+
|
|
169
|
+
---
|
|
170
|
+
|
|
171
|
+
## Phase 3 — canvas hydration (18 registered)
|
|
172
|
+
|
|
173
|
+
### Editor primitives (5 registered)
|
|
174
|
+
|
|
175
|
+
| Tool / path | When to call |
|
|
176
|
+
|---|---|
|
|
177
|
+
| `GET /services/data/vXX.0/flowbuilder/schema/flow-capabilities` (`.elements`) | Allowed element node types for `(processType, triggerType)`. **Mandatory before drafting any element.** Listed ≠ canvas-authorable: emit only palette-authorable entries (carrying a `configComponent`) — see `shared/anti-patterns.md` item 29. Section of the composite (was `getSupportedElements`) — one call also yields resource types, operators, features, run-in-modes. |
|
|
178
|
+
| `GET /services/data/vXX.0/flowbuilder/schema/flow-capabilities` (`.resourceTypes`) | Resource types user can create (Variable, Constant, …) with attribute schemas. Section of the composite (was `getResourceTypes`). |
|
|
179
|
+
| `GET /services/data/vXX.0/flowbuilder/schema/flow-capabilities` (`.operators`) | Operator `{name: label}` dictionary for the flow context (keyed by trigger type + `recordTriggerType`) — **NOT** field-type specific; use `GET /services/data/vXX.0/flowbuilder/schema/operator-rules` to validate a field/operator pairing. For **formula** operators (`+ - * / ^ & = <> < > <= >= && \|\|`) use `GET /services/data/vXX.0/flowbuilder/resource/formula-operators` instead — formula syntax is its own vocabulary. Section of the composite (was `getOperators`). |
|
|
180
|
+
| `GET /services/data/vXX.0/flowbuilder/schema/operator-rules` | **Heavy (~470 KB).** Assignment/decision rule matrix. **Default-caps at 100 rules when `limit` is omitted or non-positive** — an explicit positive `limit` overrides it (even >100), and `pagination.totalSize` reports the true post-filter count. A bare call is NOT the full matrix: filter with `operator`/`ruleType` or page with `limit`/`offset`. |
|
|
181
|
+
| `GET /services/data/vXX.0/flowbuilder/resource/formula-functions` | Formula functions grouped by category (Logical, Text, Math, Date & Time, Advanced), scoped to `(processType, triggerType)`. ~90 functions on a standard flow. **Discover here rather than hardcoding — availability is context-specific.** See [[flow.shared.formula-expression]]. |
|
|
182
|
+
| `GET /services/data/vXX.0/flowbuilder/resource/formula-operators` | Formula operator vocabulary for the context. Note equality is `=` / `<>` (not `==` / `!=`). |
|
|
183
|
+
| `flowbuilder_validate_formula_syntax` (salesforce-flow tool — no Connect path) | On-demand syntax check for one formula expression (Check Syntax button). Returns `{ isValidSyntax, validationMessage }`. **Requires `validationOptions.flowMetadata` (a JSON string of the surrounding flow) + `elementType: "Formula"` + `dataType` — omitting `flowMetadata` 500s.** Only resolves field/resource refs present in that flowMetadata; for a formula in a flow you're building, `POST /services/data/vXX.0/flowbuilder/flow/actions/save` checks it in full context. |
|
|
184
|
+
| `flowbuilder_get_palette` **[NOT REGISTERED]** | element data lives in `GET /services/data/vXX.0/flowbuilder/schema/flow-capabilities` (`.elements`). |
|
|
185
|
+
|
|
186
|
+
### Org schema (4 registered)
|
|
187
|
+
|
|
188
|
+
| Tool / path | When to call |
|
|
189
|
+
|---|---|
|
|
190
|
+
| `GET /services/data/vXX.0/flowbuilder/platform/entities` | **Heavy at org scale (~355 KB).** Defaults to at most 100 rows. Target with `namePattern`, or page with `limit`/`offset`; optional filters include `crudType`, `builderType`, and `customOnly`. Prefer `GET /services/data/vXX.0/flowbuilder/platform/entity/{apiName}/fields` when you know the target. |
|
|
191
|
+
| `flowbuilder_get_data_cloud_entities` (salesforce-flow tool — no Connect path) | Data Cloud DLM/DMO entities with capabilities. |
|
|
192
|
+
| `GET /services/data/vXX.0/flowbuilder/platform/event-types` | Platform events. Requires `eventType` (`Runtime`, `Setup`, or `ManagedSetup`) with no default; optional `builderType`. Query all three categories when the intent is broad. |
|
|
193
|
+
| `GET /services/data/vXX.0/flowbuilder/flow/version-info` | Per-process-type API version lists/defaults. Accepts optional `builderType` only; it does not accept `processType`. Select the current flow type from `processTypes[]`, then pick from that row's `apiVersionsList`. **Required before save** to pick `apiVersion`. |
|
|
194
|
+
| `flowbuilder_get_workflow_enabled_entities` **[NOT REGISTERED]** | `GET /services/data/vXX.0/flowbuilder/platform/entities` can verify object existence and CRUD capability, but its current response cannot prove record-trigger eligibility. |
|
|
195
|
+
| `flowbuilder_get_feature_configurations_for_flow_type` **[NOT REGISTERED]** | feature config lives in `GET /services/data/vXX.0/flowbuilder/schema/flow-capabilities` (`.flowFeatures`). |
|
|
196
|
+
|
|
197
|
+
### Globals / runtime context (3 registered)
|
|
198
|
+
|
|
199
|
+
| Tool / path | When to call |
|
|
200
|
+
|---|---|
|
|
201
|
+
| `GET /services/data/vXX.0/flowbuilder/resource/system-variables` | `$Flow.*` system variables. |
|
|
202
|
+
| `GET /services/data/vXX.0/flowbuilder/resource/global-variables` | Global variables (`$Api`, `$Organization`, `$User`, `$Profile`, `$Label`, …). Core consolidated the former split `get_all_but_label_global_variables` + `get_label_global_variables` tools into this one op. Requires `processType`. **Unscoped it is heavy (~73 KB)** — narrow with `section` (`user`, `organization`, `system`, `api`, `profile`, `setup`, `permission`, `labels`); for the high-cardinality `labels` section, further filter with `namePattern` (case-insensitive substring; ignored for other sections). |
|
|
203
|
+
| `GET /services/data/vXX.0/flowbuilder/platform/associated-record-entity` | Requires `processType`; optional `triggerType` (defaults to `None`). Returns `{associatedRecordEntity: string \| null}`. |
|
|
204
|
+
| `flowbuilder_get_frp_quick_access` **[NOT REGISTERED]** | hardcode `['Account', 'Contact', 'Opportunity']` if you need a quick-access list. |
|
|
205
|
+
|
|
206
|
+
### Invocables / subflows / extensions (6)
|
|
207
|
+
|
|
208
|
+
| Tool / path | When to call |
|
|
209
|
+
|---|---|
|
|
210
|
+
| `GET /services/data/vXX.0/flowbuilder/action/invocable-actions` | **Heavy on integration-rich orgs (multiple MB).** Single combined catalog of standard invocable actions (platform built-ins) AND dynamic actions (managed/custom/External Connector/External Service/ESR). Core collapsed the former separate standard/dynamic catalogs into this one op. **Excludes transform actions** — the server filters those out, and no Connect path exposes them. Required `processType`; narrow with `actionType`/`namePattern`/`limit`; `dataSpace`/`flowDefinitionId` scope the **dynamic portion** of the combined result (they don't split it — Core always calls `getAllowedActions` with `includeStandard=true, includeDynamic=true`, so there is no standard-only or dynamic-only variant). Prefer `GET /services/data/vXX.0/flowbuilder/action/invocable-action-details` for one action. |
|
|
211
|
+
| `GET /services/data/vXX.0/flowbuilder/action/invocable-events` | Engagement/automation events a WaitUntilEvent element can bind to (email-open, SMS-response, etc.). Required `processType`; optional `triggerType`, `builderType`, `dataSpace`, `actionType`, `namePattern`, `limit`. Response: `invocableActions[]`; each entry's `type` = `automationEventType`, `name` = `automationEventName`. Call before authoring a WaitUntilEvent to confirm provisioned event types and their exact spellings. |
|
|
212
|
+
| `flowbuilder_get_apex_plugins` (salesforce-flow tool — no Connect path) | Legacy `Process.Plugin` Apex plugins. Often `[]`. |
|
|
213
|
+
| `GET /services/data/vXX.0/flowbuilder/flow/subflows` | Autolaunched flows callable as subflows. Can be large. **Required for any subflow element.** Optional server-side filters: `flowDefinitionId`, `dataSpace`, `subflowFilterType` (e.g. `MARKETING`), `namePattern`, `builderType` — all optional, so a bare call to this path with no query params returns the full callable set. |
|
|
214
|
+
| `GET /services/data/vXX.0/flowbuilder/screen-component` | LWC/Aura extension LIST usable on Screens. **Required `processType`** (the available set varies by process type). Optional server-side filters: `builderType`, `namePattern`, `type` (case-insensitive extension-type filter, e.g. `lightning__component`), `limit`. Returns each component's API name + metadata; pass `expand=parameters` to fold each component's input/output params into the list result (same data `GET /services/data/vXX.0/flowbuilder/screen-component/{apiName}` returns, in one call) — but `expand=parameters` requires at least one of `namePattern`/`type`/`limit` (a bare `expand=parameters` returns 400, to prevent expanding every component in the org). Without `expand`, drill into one component's schema with `GET /services/data/vXX.0/flowbuilder/screen-component/{apiName}`. |
|
|
215
|
+
| `flowbuilder_get_auto_generated_required_variables` (salesforce-flow tool — no Connect path) | Auto-bound input variables. Often `[]`. Until a Connect path exists, the per-processType required variables come from the interim hardcoded `../shared/required-variables/required-variables.json`; switch to the probe once available. |
|
|
216
|
+
|
|
217
|
+
---
|
|
218
|
+
|
|
219
|
+
## Phase 4a — read-only drill-downs
|
|
220
|
+
|
|
221
|
+
Targeted single-item lookups. **Always prefer these over Phase 3 bulk
|
|
222
|
+
calls when you know the target.**
|
|
223
|
+
|
|
224
|
+
| Tool / path | When to call |
|
|
225
|
+
|---|---|
|
|
226
|
+
| `GET /services/data/vXX.0/flowbuilder/platform/entity/{apiName}/fields` | Field schema for ONE sObject. Requires `apiName`; optional `builderType`, `fieldType`, `customOnly`, `nameableOnly`, `namePattern`. ~53 KB for Account. **Mandatory for any element referencing a sObject field.** **FLS-filtered by the MCP session's authenticated Salesforce user, and the response is authoritative** — the returned list *is* the field inventory the skill may reference for this sObject. A field not in the response is inaccessible: it may not exist on this org, or the user is FLS-blocked. In either case, the skill MUST NOT reference the field in flow metadata (filter conditions, `leftValueReference`, `assignToReference`, `queriedFields`, output mappings) even if the field name is a well-known standard field like `DoNotCall`, `HasOptedOutOfEmail`, or `HasOptedOutOfFax`. When the user's request depends on a field not in the response, either build without it or halt and refer the user to their Salesforce admin — see `../shared/anti-patterns.md` item 40. A `namePattern` filter that returns `{"fields":[]}` for a well-known standard field is the same signal — an FLS-hidden field, not a broken filter. |
|
|
227
|
+
| `GET /services/data/vXX.0/flowbuilder/mce/journeys` | Discover Marketing Cloud Journeys for one required `mceBuSelector`. Optional `categoryId`, `nameSearch`, `status`, and `entrySource`; no `flowDefinitionId`. Follow the dedicated section above and `elements/action-call/send-to-journey.md`. |
|
|
228
|
+
| `GET /services/data/vXX.0/flowbuilder/action/invocable-events` | Discover engagement and automation events for `WaitUntilEvent`. Require `processType`; optionally pass `triggerType`, `builderType`, `dataSpace`, `actionType`, `namePattern`, or `limit`. Read descriptors from `invocableActions[]`: bind each row's `type` to `automationEventType` and `name` to `automationEventName`. Do not use `GET /services/data/vXX.0/flowbuilder/platform/event-types`, which lists classic platform events. |
|
|
229
|
+
| `GET /services/data/vXX.0/flowbuilder/action/invocable-action-details` | Full schema for ONE invocable action. ~38 KB for `emailSimple`. **Mandatory for any `actionCalls[]` element.** Inspect the response for a non-empty `genericTypes[]` — if present, the action has placeholder types (`U__input`/`U__output`) that need `GET /services/data/vXX.0/flowbuilder/action/invocable-action-generic-type-enum-values` once the user has picked the driving input. |
|
|
230
|
+
| `GET /services/data/vXX.0/flowbuilder/action/invocable-action-generic-type-enum-values` | Resolve generic-type placeholders. For `sendToJourney`, pass `builderType: "JourneyBuilder"`, `processType: "AutoLaunchedFlow"`, `requestedGenericTypes: ["JourneyDataExtensionSchema"]`, and JSON-string `inputParamsJson` containing both selectors. Require `ALL_VALUES_PROVIDED`; read the sole `typeProviders.values[0].value` URI and require it to end in the selected Journey ID. |
|
|
231
|
+
| `GET /services/data/vXX.0/flowbuilder/action/schema-uri-parameters` | Resolve fields behind one schema URI. For `sendToJourney`, pass `schemaUri` and `builderType: "JourneyBuilder"`. Stop when any returned field lacks `isRequired`. |
|
|
232
|
+
| `GET /services/data/vXX.0/flowbuilder/screen-component/{apiName}` | Full parameter schema for ONE LWC/Aura screen extension, identified by a singular `apiName` (path) — **not batched**; one component per call. Also requires `processType` (the returned schema varies by process type — pass the same value used for the list call). Optional: `builderType`. **Mandatory for any Screen field with `fieldType: ComponentInstance` / `ComponentChoice` / `ComponentMultiChoice`.** Drill-down companion to `GET /services/data/vXX.0/flowbuilder/screen-component` (Phase 3 list): use that to discover API names, then call this per component (or skip it by passing `expand=parameters` to a *filtered* list call — `expand` needs at least one of `namePattern`/`type`/`limit`). |
|
|
233
|
+
| `flowbuilder_get_connector_details` (salesforce-flow tool — no Connect path) | Configuration for ONE external connector by developer name. **Mandatory when configuring an HTTP Callout action or any action backed by a Named Credential** — validates the connector exists and exposes its config. Lives on `ExternalConnectivityController` (not `FlowBuilderController`), same cross-controller pattern as `flowbuilder_get_templates`. Can return an ERROR state if the name is not a valid external connector; treat that as a Probe failure, not a transient error. |
|
|
234
|
+
| `GET /services/data/vXX.0/flowbuilder/flow/{flowDefinitionId}/versions` | Version list for one flow definition. **Required before any save with `saveAsNewVersion`, before `POST /services/data/vXX.0/flowbuilder/flow/{flowId}/actions/deactivate`, and before handing UI activation to the user.** |
|
|
235
|
+
| `GET /services/data/vXX.0/flowbuilder/schema/trigger-types` (detail mode) | **Heavy (~45 KB).** Comprehensive metadata for ONE trigger type. Required when picking record/event/schedule trigger. Detail mode = pass `processType` (**required**) **and** `triggerType`; the response wraps the single descriptor as `{ triggerTypes: [ <descriptor> ] }` — unwrap `triggerTypes[0]`. The descriptor carries `.isPauseSupported`. (Was `getTriggerTypeInfo`, which took only `triggerType`; the new contract adds the required `processType`.) A bare call to this path with `processType` and no `triggerType` is list mode — all trigger types for the process type. |
|
|
236
|
+
| `GET /services/data/vXX.0/flowbuilder/platform/event-types/{apiName}/parameters` | Field schema for ONE platform event. Requires its `apiName`. **Mandatory for `triggerType=PlatformEvent`.** |
|
|
237
|
+
| `flowbuilder_get_log_metrics_in_data_cloud_supported` (salesforce-flow tool — no Connect path) | Boolean. |
|
|
238
|
+
| `flowbuilder_is_flow_run_setup_in_data_cloud` (salesforce-flow tool — no Connect path) | Boolean (org-wide). |
|
|
239
|
+
| `GET /services/data/vXX.0/flowbuilder/action/org-wide-email-addresses` | Org-wide email addresses for Send Email actions, as address strings without Ids. Often `[]`. To bind `senderId`, look the Id up with SOQL (see [`../elements/action-call/action-call.md`](../elements/action-call/action-call.md) § Resolve names to Ids). |
|
|
240
|
+
| `GET /services/data/vXX.0/flowbuilder/messaging/sender-sms-codes` | Discover active SMS senders before authoring `sendSmsMessage`. Omit `businessUnitId` unless you have a verified 15- or 18-character Salesforce record ID. A direct Business Unit ID starts with `1QO`; accept another prefix only after verifying that the record is related to that Business Unit. Never pass an MCE `mid` or `<EID>-<MID>` selector. Read `senderSmsCodes[]`, then bind a selected row's `id` to `senderId`, never its `messagingPlatformKey`. |
|
|
241
|
+
| `GET /services/data/vXX.0/flowbuilder/messaging/sender-rcs-agents` | Discover RCS sender agents whose Flow capability is active. Omit `businessUnitId` unless you have a verified 15- or 18-character Salesforce record ID. A direct Business Unit ID starts with `1QO`; accept another prefix only after verifying that the record is related to that Business Unit. Never pass an MCE `mid` or `<EID>-<MID>` selector. Bind a selected row's `id` to `senderAgentId`, never its `messagingPlatformKey`. |
|
|
242
|
+
| `GET /services/data/vXX.0/flowbuilder/messaging/content-fqn` | Resolve a `managedContentId` (discovered via SOQL over `ManagedContent` or the CMS Connect API `GET /connect/cms/delivery/channels/{channelId}/contents` — see [`../elements/action-call/action-call.md`](../elements/action-call/action-call.md) § `contentId` Rule) to the FQN required by messaging `contentId`. Bind only the returned `contentFqn`; never bind the CMS content key, `9Ps` variant ID, title, URL name, or raw managed-content ID. |
|
|
243
|
+
| `GET /services/data/vXX.0/flowbuilder/messaging/communication-subscriptions` | Discover consent subscriptions for SMS, RCS or email. For SMS and RCS, pass `contactPointType`, `messagingChannelId` (the sender's `id`), and `channel`. For email (`sendEmailMessage`), pass `channel: "email"` and `contactPointType: "Email"` and omit `messagingChannelId`. Omit `businessUnitRelatedId` unless you have a verified 15- or 18-character Salesforce record ID. A direct Business Unit ID starts with `1QO`; accept another prefix only after verifying that the record is related to that Business Unit. Never pass an MCE `mid` or `<EID>-<MID>` selector. Read `communicationSubscriptions[]`, then bind one row's `id` and `channelTypeId` together. |
|
|
244
|
+
| `flowbuilder_get_overridable_flows` **[NOT REGISTERED]** | use `GET /services/data/vXX.0/flowbuilder/flow/{flowDefinitionId}/versions` and inspect `isOverridable`. |
|
|
245
|
+
| `flowbuilder_get_action_creation_data` **[NOT REGISTERED]** | action builder is out of scope for this PoC. |
|
|
246
|
+
| `flowbuilder_get_is_pause_supported` **[NOT REGISTERED]** | read `.isPauseSupported` from `GET /services/data/vXX.0/flowbuilder/schema/trigger-types` detail mode (pass `processType` + `triggerType`). It is **not** a feature-list token. |
|
|
247
|
+
|
|
248
|
+
---
|
|
249
|
+
|
|
250
|
+
## Phase 4a — messaging send-action discovery (4 registered)
|
|
251
|
+
|
|
252
|
+
Org-configuration reads for authoring the E360 messaging send actions
|
|
253
|
+
(`sendSmsMessage`, `sendRcsMessage`). Wrap the `flow-builder-messaging`
|
|
254
|
+
Connect operations; builder-agnostic (no `processType`/`builderType`).
|
|
255
|
+
Both the RCS and SMS discovery workflows use these — see
|
|
256
|
+
[`../elements/action-call/action-call.md`](../elements/action-call/action-call.md)
|
|
257
|
+
§§ Send RCS Message Action / Send SMS Message Action. RCS binds
|
|
258
|
+
discovered Ids via `elementReference`; SMS binds them as design-time
|
|
259
|
+
`stringValue` literals (it rejects element references).
|
|
260
|
+
|
|
261
|
+
| Path | Wraps `operationId` | When to call |
|
|
262
|
+
|---|---|---|
|
|
263
|
+
| `GET /services/data/vXX.0/flowbuilder/messaging/sender-rcs-agents` | `listSenderRcsAgents` | Lists RCS sender agents for `senderAgentId`. Optional `businessUnitId` (reuse the same value as `businessUnitRelatedId` on `GET /services/data/vXX.0/flowbuilder/messaging/communication-subscriptions`). Returns `senderRcsAgents[] { id, messagingPlatformKey, masterLabel, useCase }` — bind `id`, never `messagingPlatformKey`. |
|
|
264
|
+
| `GET /services/data/vXX.0/flowbuilder/messaging/communication-subscriptions` | `listCommunicationSubscriptions` | Lists consent subscriptions for a messaging channel. **Required `contactPointType`, `messagingChannelId`, `channel`** (`channel:"rcs"` for RCS, `channel:"sms"` for SMS; `contactPointType:"Phone"` and `messagingChannelId` = the sender's `id` for both); optional `businessUnitRelatedId`. Returns `communicationSubscriptions[] { id, name, channelTypeId }` — bind one row's `id` → `communicationSubscriptionId` and that same row's `channelTypeId` → `commSubscriptionChannelTypeId`. |
|
|
265
|
+
| `GET /services/data/vXX.0/flowbuilder/messaging/content-fqn` | `describeContentFqn` | Resolves a managed-content Id to its FQN for `contentId`. **Required `managedContentId`** (a real Id — a name/slug hard-fails). Returns `{ managedContentId, contentFqn }` — bind `contentFqn`. |
|
|
266
|
+
| `GET /services/data/vXX.0/flowbuilder/messaging/sender-sms-codes` | `listSenderSmsCodes` | Lists SMS sender codes for `sendSmsMessage`'s `senderId`. Optional `businessUnitId`. Returns `senderSmsCodes[] { id, messagingPlatformKey, isoCountryCode }` — bind the chosen row's `id` (a MessagingChannel Id) to `senderId` as a literal, never `messagingPlatformKey`. |
|
|
267
|
+
|
|
268
|
+
---
|
|
269
|
+
|
|
270
|
+
## Phase 4b — read-only data lookup (1)
|
|
271
|
+
|
|
272
|
+
| Tool | When to call |
|
|
273
|
+
|---|---|
|
|
274
|
+
| `flowbuilder_fetch_records` (salesforce-flow tool — no Connect path) | **Returns USER DATA, not metadata.** Searches actual records (Documents, Attachments, …) by string. Different cognitive bucket. Use sparingly. |
|
|
275
|
+
|
|
276
|
+
---
|
|
277
|
+
|
|
278
|
+
## Phase 4d — full flow body reads (2 registered)
|
|
279
|
+
|
|
280
|
+
| Path | When to call |
|
|
281
|
+
|---|---|
|
|
282
|
+
| `GET /services/data/vXX.0/flowbuilder/flow/{id}` | Wraps `retrieveFlow` — returns the raw Flow element graph without validation results. Prefer this lighter read for flow and element summarization. Its `id` accepts four forms: (1) a `301xxx` FlowVersion id (exact version, used as-is); (2) a `300xxx` FlowDefinition id (resolved server-side to the Active version, else the latest when none is active); (3) a custom flow's API/developer name — either bare (`My_Flow`) or namespace-qualified (`namespace__My_Flow`) — resolved server-side to Active-else-latest; or (4) a standard / managed-package flow's version durable id of the form `namespace__ApiName-N` (e.g. `omnichannel_chat__QueuesChat-1`, used as-is — a standard flow must be addressed by this versioned durable id, not its bare `namespace__ApiName` definition name). For forms (2) and (3) the response echoes `resolvedFlowVersionId` and `resolvedFrom` (`definitionId` or `apiName`). Never pass display labels, and do not make a separate `GET /services/data/vXX.0/flowbuilder/flow/{flowDefinitionId}/versions` call for summarization. |
|
|
283
|
+
| `GET /services/data/vXX.0/flowbuilder/flow/{id}/validation-results` | Wraps `retrieveFlowWithValidationResults` — returns the entire element graph plus `validationResults` for an existing flow version. Params: path `id` (a `301xxx` FlowVersion id, or a `300xxx` FlowDefinition id to resolve+read its Active version) + optional `builderType` — same id contract as `GET /services/data/vXX.0/flowbuilder/flow/{id}`; there is no `flowVersionId` param. NOT to be confused with `GET /services/data/vXX.0/flowbuilder/flow/{flowDefinitionId}/versions` (version metadata only) or `GET /services/data/vXX.0/flowbuilder/schema/operator-rules` (org-wide rule catalog). Note: SKILL.md still says "no round-trip read"; this path is the exception, but the element graph it returns is large — use only when editing requires the existing shape. |
|
|
284
|
+
|
|
285
|
+
---
|
|
286
|
+
|
|
287
|
+
## Phase 4c — WRITE actions (mutate org state)
|
|
288
|
+
|
|
289
|
+
Give every callable WRITE a one-line confirmation summary first: path (or tool
|
|
290
|
+
name for no-Connect-path tools), target, and org host. Apply the tool-specific
|
|
291
|
+
restrictions below.
|
|
292
|
+
|
|
293
|
+
| Tool / path | When to call |
|
|
294
|
+
|---|---|
|
|
295
|
+
| `POST /services/data/vXX.0/flowbuilder/flow/actions/validate` | **Not a WRITE** (POST via `dispatch`) — never persists; no confirmation summary. Use only where save is DISABLED (save already validates). Body `{flow: {fullName, metadata}}`; returns `isSuccess`, `errors[]`, `warnings[]`. |
|
|
296
|
+
| `POST /services/data/vXX.0/flowbuilder/flow/actions/save` `[WRITE]` | Creates new flow, saves a new version, or updates the current draft in place. `saveType` (case-sensitive): `createNewFlow` / `saveAsNewVersion` / `saveAsNewDefinition` / `saveDraft`. Optional `currentFlowId` (the currently open Flow Version ID) and `builderType`. **Returns `errors[]` and `warnings[]`; treat both as the validation source of truth.** (Cloning to a brand-new definition is a distinct path, `POST /services/data/vXX.0/flowbuilder/flow/actions/clone`, not this one.) |
|
|
297
|
+
| `POST /services/data/vXX.0/flowbuilder/flow/{flowId}/actions/activate` (`activateFlow`) `[WRITE]` | **Disabled; do not dispatch it.** MCP does not expose it; direct Connect returns 404. Prompt the user to activate the flow in Flow Builder UI through the post-save "Open in Salesforce" deep link instead; see `preview-renderer.md`. |
|
|
298
|
+
| `POST /services/data/vXX.0/flowbuilder/flow/{flowId}/actions/deactivate` `[WRITE]` | Call only after confirming that `id` identifies the Active `301…` version. Stop before the call when no Active version exists; Core rejects it with HTTP 400. **This stops a production flow.** Pass optional `cancelOnDeactivate` to cancel paused interviews. |
|
|
299
|
+
| `POST /services/data/vXX.0/flowbuilder/flow/{flowId}/actions/submit-for-activation` `[WRITE]` | Submits an activation-approval request through the server's hard-coded `OrchestrationBuilder` service. Call only when an Orchestration activation-approval workflow explicitly requires submission. Never call it after `POST /services/data/vXX.0/flowbuilder/flow/{flowId}/actions/activate` returns 404, and never use it to activate an ordinary or Segment flow. A 404 does not indicate the flow has the wrong `processType`; it means this approval route did not resolve the target. |
|
|
300
|
+
| `POST /services/data/vXX.0/flowbuilder/flow-test/actions/copy-to-version` `[WRITE]` | Copies FlowTestFieldValue records between versions. Required body: `sourceVersionId`, `targetVersionId`. Report completion only when the optional response field is explicitly `isSuccess === true`; otherwise the copy outcome is failed or unproven. **Mandatory after `saveAsNewVersion` when the source version has saved FlowTests**, regardless of trigger type; the operation has no effect when versioned FlowTest support is disabled. |
|
|
301
|
+
|
|
302
|
+
---
|
|
303
|
+
|
|
304
|
+
## Heavy-tool budget (cumulative tokens, rough)
|
|
305
|
+
|
|
306
|
+
If the agent fires every Phase 2 + Phase 3 bulk path/tool once, that's
|
|
307
|
+
roughly:
|
|
308
|
+
- `GET /services/data/vXX.0/flowbuilder/schema/operator-rules` — 470 KB
|
|
309
|
+
- `GET /services/data/vXX.0/flowbuilder/platform/entities` — 355 KB
|
|
310
|
+
- `flowbuilder_get_templates` (no Connect path) — 126 KB
|
|
311
|
+
- `GET /services/data/vXX.0/flowbuilder/action/invocable-actions` — 92 KB+ (unfiltered; multiple MB on integration-rich orgs)
|
|
312
|
+
- `GET /services/data/vXX.0/flowbuilder/resource/global-variables` — 73 KB (unscoped; narrow with `section` to shrink)
|
|
313
|
+
- `GET /services/data/vXX.0/flowbuilder/schema/trigger-types` (detail mode) — 45 KB
|
|
314
|
+
|
|
315
|
+
Together ≈ **1.16 MB** of bulk JSON before the agent has even drafted
|
|
316
|
+
the plan. `author.md` Phase 2 prevents this: probe only what a concrete
|
|
317
|
+
user assertion requires, ask for exact names before enumerating, cap at
|
|
318
|
+
~10 probe calls, prefer drill-downs (Phase 4a), and reuse the
|
|
319
|
+
conversation-history probe cache.
|
|
320
|
+
|
|
321
|
+
---
|
|
322
|
+
|
|
323
|
+
## Phase 5 — Flow Testing and debug runtime
|
|
324
|
+
|
|
325
|
+
Read operations below are dispatched via `dispatch_readonly`; WRITE operations
|
|
326
|
+
(flagged `[WRITE]`) use `dispatch`. The no-Connect-path
|
|
327
|
+
tools among them (flagged inline) are still called by their bare
|
|
328
|
+
`snake_case(operationId)` name, with no server prefix (`AGENT_NAME_PREFIX` and
|
|
329
|
+
`NAME_OVERRIDES` are empty).
|
|
330
|
+
Historical UI helpers that are not onboarded are labeled separately and must
|
|
331
|
+
never be called.
|
|
332
|
+
|
|
333
|
+
If a live `tools/list` response from the MCP server contradicts the
|
|
334
|
+
no-Connect-path portion of this catalog, **trust the live response** and
|
|
335
|
+
update the catalog.
|
|
336
|
+
|
|
337
|
+
---
|
|
338
|
+
|
|
339
|
+
### Debug & runtime (6)
|
|
340
|
+
|
|
341
|
+
Inspect the flow runtime: discover what inputs the flow accepts, build
|
|
342
|
+
sample inputs, run the flow with those inputs (DML on or off), resume a
|
|
343
|
+
paused run, and read past interview traces.
|
|
344
|
+
|
|
345
|
+
| Tool / path | When to call |
|
|
346
|
+
|---|---|
|
|
347
|
+
| `GET /services/data/vXX.0/flowbuilder/flow-test/debug-component-config` | Returns the per-element debug-input config for a flow version — what variables the flow accepts, which are required, sample shape per type. **Mandatory** before any debug run on a flow you have not seen the inputs for. Query param: `flowVersionId` (`301xxx`). |
|
|
348
|
+
| `POST /services/data/vXX.0/flowbuilder/flow-test/debug-data` | Queries any object you name (`objectName`) for the fields you list (`columns`) and returns field schema plus matching records. Required body: `objectName`, `columns`; optional `limit`, `dataSpaceName`, `debugRecordId`, `debugRecordType`, `builderType`. Use it to find a real trigger record for a record-triggered debug run. |
|
|
349
|
+
| `POST /services/data/vXX.0/flowbuilder/flow-test/debug-interview-test-mode` | Payload-driven debug run for flow types whose capability probe reports `TestModeExperience` support (see the routing probe in [[flow.recipes.testing.workflows.debug]]). Rolls back when the test's `doesCommitChanges` is `false` (default), commits when `true`. Required body: `flowVersionId`, `flowTestJson` (a JSON-encoded string of the same FlowTest definition used by `POST /services/data/vXX.0/flowbuilder/flow-test`/`PATCH /services/data/vXX.0/flowbuilder/flow-test/{id}`); optional `enableTrace`, `showGovernorLimit`. To pause at Wait elements, set `doesTestWaitElement: true` inside `flowTestJson` (autolaunched flows with no trigger only; a Wait the test mocks never pauses). Returns `results[]`, one entry per debugged record. Neither run endpoint is a global default — the debug workflow probes and picks; see the routing probe in [[flow.recipes.testing.workflows.debug]]. |
|
|
350
|
+
| `POST /services/data/vXX.0/flowbuilder/flow-test/debug-interview` | Argument-driven debug run for flow types whose capability probe does NOT report `TestModeExperience` support (see the routing probe in [[flow.recipes.testing.workflows.debug]]). Commits when `enableRollbackMode` is `false` (default), rolls back when `true`. Required body: `flowVersionId`; optional `flowDevName`, `arguments` (input vars as a JSON **string**, not a nested object), and run knobs (`enableTrace`, `useLatestSubflow`, `debugWaits`, `scheduledPathSelection`, `debugAsUserId`, …). Returns `results[]`, one entry per debugged record. NEVER commit real DML against production records without explicit user confirmation that quotes the org host. Also used for a final sanity check on a sandbox you're about to promote. |
|
|
351
|
+
| `POST /services/data/vXX.0/flowbuilder/flow-test/debug-interview-resume` | Continues a debug interview paused at a Wait element (`interviewStatus` `WAITING` / `ASYNC_WAITING`). Required body: `flowVersionId` plus the four state fields fed back VERBATIM from the prior run's result — `serializedInterview`, `resolvedContext`, `serializedCumulativeDebugInfo`, `waitEvent`; `waitEvent` is the `name` of one `waitEvents[]` entry (never its `value`), and a blank one makes the resume fail. The server does not compare settings with the original run, so pass the same `enableRollbackMode` / `debugAsUserId` / `enableTrace` / `showGovernorLimit`; `useLatestSubflow` is ignored; optional `arguments`, `enableTrace`, `enableRollbackMode`, `showGovernorLimit`, `debugAsUserId`, `useLatestSubflow`. Returns a single `{runInterviewResult, canvasDecorator}` (not the list wrapper). |
|
|
352
|
+
| `GET /services/data/vXX.0/flowbuilder/flow-test/debug-run-as-validation` | Pre-flight guard for **debug-as-another-user**: returns `{ showIsDebugAsUserAllowed, showIsDebugAsUserAllowedInNonPrd }` (prod + non-prod). Query `flowVersionId` OR `flowDevName` (supply one). Cheap. Call this **before** passing a `debugAsUserId` to `POST /services/data/vXX.0/flowbuilder/flow-test/debug-interview` — it validates run-as-user permission, not whether a flow is debuggable in general. |
|
|
353
|
+
|
|
354
|
+
---
|
|
355
|
+
|
|
356
|
+
### Interview history (2)
|
|
357
|
+
|
|
358
|
+
| Path | When to call |
|
|
359
|
+
|---|---|
|
|
360
|
+
| `GET /services/data/vXX.0/flowbuilder/flow-test/interview-history` | Pulls the full element-by-element execution trace for one interview. Required query params: `interviewGUID` (the run's interview identifier — **not** a generic `interviewId`) and `flowVersionId`; the history is returned only when its captured version matches `flowVersionId`. Produced by an earlier `POST /services/data/vXX.0/flowbuilder/flow-test/debug-interview` / `POST /services/data/vXX.0/flowbuilder/flow-test/debug-interview-test-mode` call. **Per-flow-version only — no inter-org / cross-session forensic queries.** Use when investigating "why did the flow do X?" after the fact. |
|
|
361
|
+
| `GET /services/data/vXX.0/flowbuilder/flow-test/record-run-data` | Drills into ONE record's execution after a multi-record (high-scale) debug run. Required query params: `flowRunId` (the record's run id / interview GUID) and `flowVersionId`. Returns a single `{runInterviewResult, canvasDecorator}` — use instead of re-running the whole interview when the run produced several records. |
|
|
362
|
+
|
|
363
|
+
---
|
|
364
|
+
|
|
365
|
+
### Saved-test management (8)
|
|
366
|
+
|
|
367
|
+
Persist debug runs as `FlowTest` records (`320xxx` IDs), list them,
|
|
368
|
+
load them, delete them, and convert a debug interview into a draft
|
|
369
|
+
test definition.
|
|
370
|
+
|
|
371
|
+
| Tool / path | When to call |
|
|
372
|
+
|---|---|
|
|
373
|
+
| `POST /services/data/vXX.0/flowbuilder/flow-test` `[WRITE]` | First-time save of a flow test. Required body: `flowTestJson`, a JSON-encoded **string** of the FlowTest definition (`JSON.stringify(flowTest)`). Continue only when the response has `isSuccess === true` and a non-empty string `flowTestId`; other response shapes do not prove a usable test was created. There is no `saveType` switch — use this path only for first save. **Mutates org state — confirm with user first.** Definition shape: [[flow.recipes.testing.shape]]. |
|
|
374
|
+
| `PATCH /services/data/vXX.0/flowbuilder/flow-test/{id}` `[WRITE]` | Re-save an existing test. Required path: `id` (the `320xxx` ID); required body: `flowTestJson`, the complete updated definition as a JSON-encoded **string** (`JSON.stringify(completeDefinition)`). There is no partial patch. Re-run or report the update only when `isSuccess === true`. **Mutates org state — confirm with user first.** |
|
|
375
|
+
| `GET /services/data/vXX.0/flowbuilder/flow-test/{id}` | Round-trip a saved test. Required path: `id`. Returns `{flowTestJson: string}`; parse that JSON-encoded string before inspecting `fullName`, `metadata.testPoints`, assertions, or `doesCommitChanges`. Unknown IDs return HTTP 404. |
|
|
376
|
+
| `GET /services/data/vXX.0/flowbuilder/flow-test` | Lists a flow's tests with their latest run summaries — the single listing path. Query params: `flowDefinitionId?`, `flowVersionId?` (scope to one version), `offset?`, `limit?` (paginated), `includeDebugRunTest?`. When requested, an available auto-generated debug-run test is returned separately as `debugRunFlowTest`; parse it only when `typeof debugRunFlowTest === "string"`. Absent/null means no debug-run payload, and it is never inserted into `flowTests[]`. |
|
|
377
|
+
| `GET /services/data/vXX.0/flowbuilder/flow-test/debug-run-result` | Returns the auto-generated test saved from the **most recent debug run** of the given flow version (the `WithoutAssertion` debug-run test) — **not** a saved `320xxx` test selected by id. Returns an **empty result** when that version has no debug-run test. Query param: `flowVersionId` (required). Use it to inspect what a prior debug run exercised before re-running or building a formal test from it. |
|
|
378
|
+
| `DELETE /services/data/vXX.0/flowbuilder/flow-test/{id}` `[WRITE]` | Delete a single test. Path: `id` (required — one `320xxx` test per call; there is no bulk `flowTestIds[]` form). Report deletion only when `isSuccess === true`; on `false`, surface `errorMessage` when present, and treat missing status as unproven. **Mutates org state — confirm with user first.** Note: this removes the test, not the parent flow. |
|
|
379
|
+
| `POST /services/data/vXX.0/flowbuilder/flow-test/actions/generate-from-debug-run` | Required body: `serializedInterview`. Its response fields are optional: continue only when `isSuccess === true` and `flowTestJson` is a string, then parse the JSON-encoded FlowTest; on missing/null/malformed output, surface the raw response or use Route A. |
|
|
380
|
+
| `POST /services/data/vXX.0/flowbuilder/flow-test/actions/generate-test-detail` | Required body: `serializedInterview`. Returns an optionally populated structured FlowTest detail; inspect only fields that are present (`id`, `apiName`, `label`, `description`, `flowApiName`, `testType`, `testPoints[]` are all optional), and handle an empty representation. It is distinct from `POST /services/data/vXX.0/flowbuilder/flow-test/actions/generate-from-debug-run`, which returns `flowTestJson`. |
|
|
381
|
+
|
|
382
|
+
---
|
|
383
|
+
|
|
384
|
+
### Test execution (1)
|
|
385
|
+
|
|
386
|
+
Run the saved tests; `POST /services/data/vXX.0/flowbuilder/flow-test/actions/run` honours each
|
|
387
|
+
test's `doesCommitChanges` setting (false → DML rolled back, true → committed).
|
|
388
|
+
|
|
389
|
+
| Path | When to call |
|
|
390
|
+
|---|---|
|
|
391
|
+
| `POST /services/data/vXX.0/flowbuilder/flow-test/actions/run` | Run saved tests. Body: `flowVersionId` (required); `testIds?` (a subset — omit or pass an empty array to run the flow's whole suite); `flowDefinitionId?` (supply for a whole-suite run); `showTrace?: bool = false`. This one path covers both subset and full-suite runs. Single-test debugging → set `showTrace=true` for heavier execution-trace detail. Large runs (20+ tests) → leave `showTrace=false` for compact pass/fail. When present, the response's `results` field is an array of per-test descriptors with status/errors/timestamps — see [[flow.recipes.testing.run-results]]. |
|
|
392
|
+
|
|
393
|
+
---
|
|
394
|
+
|
|
395
|
+
### Coverage data unavailable through MCP
|
|
396
|
+
|
|
397
|
+
| Tool | When to call |
|
|
398
|
+
|---|---|
|
|
399
|
+
| `flowbuilder_get_flow_test_coverage_results_and_decorators` — **[not callable]** | Historical Flow Builder UI operation; no MCP server operation exists. Do not attempt the call. Interpret externally supplied coverage data with [[flow.recipes.testing.coverage-interpretation]]. |
|
|
400
|
+
|
|
401
|
+
---
|
|
402
|
+
|
|
403
|
+
### Apex test-setup discovery unavailable through MCP
|
|
404
|
+
|
|
405
|
+
The "Apex Test Setup Class" dropdown in the Save Flow Test dialog,
|
|
406
|
+
plus its two preview helpers. Together these populate
|
|
407
|
+
`flowTestDataSources[]` and `isolatedObjectExternalKeys[]` on the
|
|
408
|
+
saved test — see [[flow.recipes.testing.flowtest-elements.silo-config]].
|
|
409
|
+
|
|
410
|
+
| Tool | When to call |
|
|
411
|
+
|---|---|
|
|
412
|
+
| `flowbuilder_get_available_apex_classes_with_set_up` — **[not available as an MCP tool — no server operation exists]** | Conceptually: lists global/public Apex classes with at least one `@testSetup` method (the "Apex Test Setup Class" dropdown candidates). **Not onboarded to the MCP server** — no callable tool exists today; do not attempt the call. |
|
|
413
|
+
| `flowbuilder_retrieve_silo_records` — **[not available as an MCP tool — no server operation exists]** | Conceptually: previews the records a candidate `@testSetup` class would create inside the test silo (`{orgData, siloData}` — `siloData[<SObject>]` in-silo fixtures, `orgData[<SObject>]` the running user's org records). **Not onboarded to the MCP server** — no callable tool exists today; do not attempt the call. |
|
|
414
|
+
| `flowbuilder_get_apex_class_details` — **[not available as an MCP tool — no server operation exists]** | Conceptually: provenance metadata for a single Apex class (`createdBy`, `name`, `namespace`, `methodName`, `apexClassId`, …), powering the "Class details" panel in the Save Flow Test dialog. **Not onboarded to the MCP server** — no callable tool exists today; do not attempt the call. |
|
|
415
|
+
|
|
416
|
+
---
|
|
417
|
+
|
|
418
|
+
### Quick rule of thumb
|
|
419
|
+
|
|
420
|
+
- "Run my flow with these inputs" → `POST /services/data/vXX.0/flowbuilder/flow-test/debug-interview-test-mode`.
|
|
421
|
+
Switch to `POST /services/data/vXX.0/flowbuilder/flow-test/debug-interview` only when the user explicitly asked
|
|
422
|
+
for committed DML AND has confirmed the org host.
|
|
423
|
+
- "Save this run" → `POST /services/data/vXX.0/flowbuilder/flow-test` (first save) or `PATCH /services/data/vXX.0/flowbuilder/flow-test/{id}`
|
|
424
|
+
(re-save an existing `320xxx` test); shortcut route:
|
|
425
|
+
`POST /services/data/vXX.0/flowbuilder/flow-test/actions/generate-from-debug-run` → `POST /services/data/vXX.0/flowbuilder/flow-test`.
|
|
426
|
+
- "Show me the tests" → `GET /services/data/vXX.0/flowbuilder/flow-test` (paginated, version-scopable — the
|
|
427
|
+
single listing path).
|
|
428
|
+
- "Re-run my tests" → `POST /services/data/vXX.0/flowbuilder/flow-test/actions/run`: pass `testIds` for a subset, or omit
|
|
429
|
+
them (set `flowDefinitionId`) to run the whole suite. There is no separate
|
|
430
|
+
coverage path onboarded to Connect today.
|
|
431
|
+
|
|
432
|
+
---
|
|
433
|
+
|
|
434
|
+
## Token cost reference
|
|
435
|
+
|
|
436
|
+
These are the numbers cited throughout this file. They are
|
|
437
|
+
measured against a clean dev sandbox; production orgs are larger.
|
|
438
|
+
|
|
439
|
+
| Path / tool | Approx tokens | Tier |
|
|
440
|
+
|---|---|---|
|
|
441
|
+
| `GET /services/data/vXX.0/flowbuilder/schema/operator-rules` | ~120K (≈470 KB raw) | 3 |
|
|
442
|
+
| `GET /services/data/vXX.0/flowbuilder/platform/entities` | ~30K–90K (≈355 KB max) | 3 |
|
|
443
|
+
| `flowbuilder_get_templates` (no Connect path) | ~32K–126K | 3 |
|
|
444
|
+
| `GET /services/data/vXX.0/flowbuilder/action/invocable-actions` | ~23K–92K+ (multiple MB unfiltered on integration-rich orgs) | 3 |
|
|
445
|
+
| `GET /services/data/vXX.0/flowbuilder/resource/apex-types` | ~15K–80K | 3 |
|
|
446
|
+
| `flowbuilder_get_data_cloud_entities` (no Connect path) | ~50K–100K | 3 |
|
|
447
|
+
| `GET /services/data/vXX.0/flowbuilder/resource/global-variables` (unscoped) | ~73K | 2 |
|
|
448
|
+
| `GET /services/data/vXX.0/flowbuilder/resource/global-variables` (`section=labels`) | ~20K–50K | 2 |
|
|
449
|
+
| `GET /services/data/vXX.0/flowbuilder/platform/entity/{apiName}/fields` | ~13K–50K | 2 |
|
|
450
|
+
| `GET /services/data/vXX.0/flowbuilder/schema/trigger-types` (detail mode) | ~45K | 2 |
|
|
451
|
+
| `GET /services/data/vXX.0/flowbuilder/action/invocable-action-details` | ~10K–38K | 2 |
|
|
452
|
+
| `GET /services/data/vXX.0/flowbuilder/flow/subflows` | ~30K | 2 |
|
|
453
|
+
| `GET /services/data/vXX.0/flowbuilder/screen-component/{apiName}` | ~5K–10K | 2 |
|
|
454
|
+
| `GET /services/data/vXX.0/flowbuilder/schema/flow-capabilities` (composite — all 7 sections) | ~12K+ | 1 |
|
|
455
|
+
| Most other paths / tools | <5K | 0 / 1 |
|
|
456
|
+
|
|
457
|
+
These token costs inform reuse decisions. Before calling any Tier 2-3 path or tool, check conversation history for an existing result with the same `(path or tool, args)` — a single duplicate of a heavy call (30K-120K) can consume the entire context window.
|
|
458
|
+
|
|
459
|
+
---
|
|
460
|
+
|
|
461
|
+
## Unregistered tool names (use the alternative)
|
|
462
|
+
|
|
463
|
+
These names appear in older Flow Builder HARs, training data, and
|
|
464
|
+
draft docs, but **the agentic-flow-poc MCP server does not expose
|
|
465
|
+
them**. Calling `flowbuilder_<name>` for any of these will fail with
|
|
466
|
+
"unknown tool". They are listed here only so the agent stops
|
|
467
|
+
hallucinating them; pick the alternative immediately, do not
|
|
468
|
+
attempt the call.
|
|
469
|
+
|
|
470
|
+
| Unregistered name | Why missing | Use instead |
|
|
471
|
+
|---|---|---|
|
|
472
|
+
| `flowbuilder_get_frequently_used_types` | UI-curated subset, not exposed | `GET /services/data/vXX.0/flowbuilder/schema/process-types` (returns the full canonical set) |
|
|
473
|
+
| `flowbuilder_get_modal_templates` | UI-curated subset, not exposed | `flowbuilder_get_templates` (no Connect path; filter client-side) |
|
|
474
|
+
| `flowbuilder_get_palette` | UI-only, not exposed | `GET /services/data/vXX.0/flowbuilder/schema/flow-capabilities` (`.elements`) |
|
|
475
|
+
| `flowbuilder_get_workflow_enabled_entities` | Not exposed | No exact replacement. `GET /services/data/vXX.0/flowbuilder/platform/entities` proves existence/CRUD capability, not record-trigger eligibility |
|
|
476
|
+
| `flowbuilder_get_feature_configurations_for_flow_type` | Redundant, not exposed | `GET /services/data/vXX.0/flowbuilder/schema/flow-capabilities` (`.flowFeatures`) |
|
|
477
|
+
| `flowbuilder_get_is_pause_supported` | Single-feature check, not exposed | `GET /services/data/vXX.0/flowbuilder/schema/trigger-types` detail mode `.isPauseSupported` |
|
|
478
|
+
| `flowbuilder_get_frp_quick_access` | Not exposed | Hardcode `['Account', 'Contact', 'Opportunity']` |
|
|
479
|
+
| `flowbuilder_get_overridable_flows` | Not exposed | `GET /services/data/vXX.0/flowbuilder/flow/{flowDefinitionId}/versions` and check `isOverridable` |
|
|
480
|
+
| `flowbuilder_get_action_creation_data` | Not exposed (action builder out of scope) | Ask the user; do not generate |
|
|
481
|
+
|
|
482
|
+
**Note**: `flowbuilder_get_log_metrics_in_data_cloud_supported` and
|
|
483
|
+
`flowbuilder_is_flow_run_setup_in_data_cloud` ARE registered — they
|
|
484
|
+
are not in this table. They are lightweight Data Cloud booleans (no Connect
|
|
485
|
+
path) the agent may call directly by name.
|
|
486
|
+
|
|
487
|
+
The authoritative list of no-Connect-path (registered) tools is
|
|
488
|
+
`src/tools/register.ts` in this repo. If the live `tools/list` response
|
|
489
|
+
disagrees with this file, trust the live response.
|
|
490
|
+
|
|
491
|
+
---
|
|
492
|
+
|
|
493
|
+
## Phase 4a drill-down paths
|
|
494
|
+
|
|
495
|
+
Three new drill-down operations were added for advanced configuration scenarios. Use these AFTER their corresponding discovery calls.
|
|
496
|
+
|
|
497
|
+
### 1. `GET /services/data/vXX.0/flowbuilder/screen-component/{apiName}` (query: `processType`)
|
|
498
|
+
|
|
499
|
+
**Purpose**: Get the parameter schema for ONE LWC/Aura screen extension
|
|
500
|
+
|
|
501
|
+
**Contract**: `apiName` (required, path — the qualified API name of a single component) and `processType` (required, query — the returned schema varies by process type; pass the same value used for the list call). Optional: `builderType`. It is **not batched** — one component per call; there is no `names[]` parameter.
|
|
502
|
+
|
|
503
|
+
**Use AFTER**: `GET /services/data/vXX.0/flowbuilder/screen-component` (which returns the available extensions for the process type)
|
|
504
|
+
|
|
505
|
+
**Use when**: Configuring Screen fields with `fieldType='ComponentInstance'`, `'ComponentChoice'`, or `'ComponentMultiChoice'`
|
|
506
|
+
|
|
507
|
+
**Returns**: Parameter schema for the extension: `{ parameters[], configurationEditor, stylingHooks[] }`
|
|
508
|
+
|
|
509
|
+
**Token Cost**: ~5-10K per component
|
|
510
|
+
|
|
511
|
+
**Example workflow**:
|
|
512
|
+
```text
|
|
513
|
+
1. User: "I want to add a datatable to my screen"
|
|
514
|
+
2. Agent calls: dispatch_readonly(method: "GET", url: "/services/data/vXX.0/flowbuilder/screen-component", queryParams: { processType: "Flow" }) → Gets list including 'flowruntime:datatable'
|
|
515
|
+
3. Agent calls: dispatch_readonly(method: "GET", url: "/services/data/vXX.0/flowbuilder/screen-component/flowruntime:datatable", queryParams: { processType: "Flow" }) → Gets parameter schema
|
|
516
|
+
4. Agent configures: Screen field with correct input/output parameters
|
|
517
|
+
```
|
|
518
|
+
|
|
519
|
+
> **Batch shortcut**: to avoid a per-component call, pass `expand=parameters` on a *filtered* `GET /services/data/vXX.0/flowbuilder/screen-component` call — the list then folds each component's `parameters[]` inline (the same data this path returns). `expand=parameters` requires at least one of `namePattern`/`type`/`limit`; a bare `expand=parameters` returns 400 (guard against expanding every component in the org).
|
|
520
|
+
|
|
521
|
+
---
|
|
522
|
+
|
|
523
|
+
### 2. `GET /services/data/vXX.0/flowbuilder/action/invocable-action-generic-type-enum-values`
|
|
524
|
+
|
|
525
|
+
**Purpose**: Resolve action generic-type placeholders (`U__*`, `T__*`) whose concrete type depends on other input parameter values.
|
|
526
|
+
|
|
527
|
+
**Prefixes**:
|
|
528
|
+
- `U__<name>` — uniform generic (same type used across multiple params).
|
|
529
|
+
- `T__<name>` — per-parameter typed placeholder (often used for external-connector request bodies like `T__body`).
|
|
530
|
+
|
|
531
|
+
Both prefixes resolve through this same path.
|
|
532
|
+
|
|
533
|
+
**Use AFTER**: `GET /services/data/vXX.0/flowbuilder/action/invocable-action-details` returns a non-empty `genericTypes[]` that has a `typeProvider` field in the values in the array.
|
|
534
|
+
|
|
535
|
+
**Use when**: Action has generic type placeholders that depend on user's input selections. Required for every `genericTypes[]` entry before save — unresolved `U__*` / `T__*` strings in saved metadata are rejected.
|
|
536
|
+
|
|
537
|
+
**Required inputs** (matching the Connect OAS contract): `actionType`, `actionName`, `requestedGenericTypes` — a **JSON array of placeholder-name strings** (e.g. `["T__body"]`); the OAS schema is `type: array, items: {type: string}`, so the caller must send an array even for a single placeholder, not a bare string — and `inputParamsJson` — a **JSON-encoded string** whose decoded form is `[{path, value}, ...]` covering every path listed in each placeholder's `typeProviders.dependsOn`. Optional: `processType`, `triggerType`, `builderType` (note: `processType`/`triggerType`, NOT `flowProcessType`/`flowTriggerType`).
|
|
538
|
+
|
|
539
|
+
**`value` shape inside `inputParamsJson`**: an OBJECT, never a bare string. Use `{stringValue: "..."}` or `{numberValue: 1}` — a **literal**. This path's server-side resolver reads only `stringValue`/`numberValue`; other FEROV variants (`elementReference`, etc.) resolve to null and are dropped, so a type-provider dependency pointed at a variable reference won't resolve. Resolve the driving input to a concrete literal first. Passing a bare string returns `400 Expected object, received string`.
|
|
540
|
+
|
|
541
|
+
**Returns**: Resolved type descriptors with enumerated values + dependency metadata.
|
|
542
|
+
|
|
543
|
+
**Token Cost**: ~3-8K per call.
|
|
544
|
+
|
|
545
|
+
**Example scenario (U__ placeholder)**:
|
|
546
|
+
```text
|
|
547
|
+
1. Agent calls: dispatch_readonly(method: "GET", url: "/services/data/vXX.0/flowbuilder/action/invocable-action-details", queryParams: { actionType: "component", actionName: "extractDataFromDocument" })
|
|
548
|
+
2. Response includes: genericTypes: [{name: 'U__output', typeProviders: {dependsOn: [['documentProcessingConfiguration']]}}]
|
|
549
|
+
3. User selects: documentProcessingConfiguration = 'SampleInvoiceConfiguration'
|
|
550
|
+
4. Agent calls: dispatch_readonly(method: "GET", url: "/services/data/vXX.0/flowbuilder/action/invocable-action-generic-type-enum-values", queryParams: {
|
|
551
|
+
actionType: 'component',
|
|
552
|
+
actionName: 'extractDataFromDocument',
|
|
553
|
+
requestedGenericTypes: ['U__output'], // JSON array of placeholder names (string[])
|
|
554
|
+
inputParamsJson: '[{"path":["documentProcessingConfiguration"],"value":{"stringValue":"SampleInvoiceConfiguration"}}]' // JSON-encoded string
|
|
555
|
+
})
|
|
556
|
+
5. Response: Concrete output type based on selected configuration.
|
|
557
|
+
6. Agent emits dataTypeMappings: [{typeName: 'U__output', apexClass: '<resolved>'}] on the action call.
|
|
558
|
+
```
|
|
559
|
+
|
|
560
|
+
**Example scenario (T__ placeholder, External Connector)**:
|
|
561
|
+
```text
|
|
562
|
+
1. Agent calls: dispatch_readonly(method: "GET", url: "/services/data/vXX.0/flowbuilder/action/invocable-action-details", queryParams: { actionType: "externalConnector", actionName: "JiraV2.createIssue" })
|
|
563
|
+
2. Response includes: genericTypes: [{name: 'T__body', superType: 'APEXTYPE',
|
|
564
|
+
typeProviders: {dependsOn: [['issueType'],['project'],['connection']]}}]
|
|
565
|
+
and parameters[].body.apexClass: 'T__body'
|
|
566
|
+
3. User picks: connection='JiraV21leads', project='10000', issueType='10003' (Epic)
|
|
567
|
+
4. Agent calls dispatch_readonly(method: "GET", url: "/services/data/vXX.0/flowbuilder/action/invocable-action-generic-type-enum-values", queryParams: {...}) with all three inside `inputParamsJson` (a JSON-encoded string; each value wrapped as {stringValue}), `requestedGenericTypes: ['T__body']` (a JSON array), and `actionType: 'externalConnector'`.
|
|
568
|
+
5. Resolved apex class returned, e.g.
|
|
569
|
+
ExternalConnect.JiraV21leads_createIssueMetadataProvidercreatex5f10000x5f10003
|
|
570
|
+
6. Agent emits dataTypeMappings: [{typeName: 'T__body', apexClass: '<resolved>'}] on the action call.
|
|
571
|
+
```
|
|
572
|
+
|
|
573
|
+
**Note**: This is required, not optional, when `genericTypes[]` is non-empty. The action will not save otherwise.
|
|
574
|
+
|
|
575
|
+
---
|
|
576
|
+
|
|
577
|
+
### 3. flowbuilder_get_connector_details(connectorDeveloperName)
|
|
578
|
+
|
|
579
|
+
**Purpose**: Get external connector details for HTTP Callout / named-credential integrations
|
|
580
|
+
|
|
581
|
+
**Controller**: Uses `ExternalConnectivityController` (not FlowBuilderController)
|
|
582
|
+
|
|
583
|
+
**Use when**: User is configuring HTTP Callout action or named-credential-backed integration
|
|
584
|
+
|
|
585
|
+
**Returns**: Connector configuration object
|
|
586
|
+
|
|
587
|
+
**Token Cost**: ~3-5K per connector
|
|
588
|
+
|
|
589
|
+
**Example workflow**:
|
|
590
|
+
```text
|
|
591
|
+
1. User: "I want to call an external API using MyConnector"
|
|
592
|
+
2. Agent calls: flowbuilder_get_connector_details('MyConnector')
|
|
593
|
+
3. Response: Connector configuration (or ERROR if connector doesn't exist)
|
|
594
|
+
4. Agent validates: Connector exists and is properly configured
|
|
595
|
+
```
|
|
596
|
+
|
|
597
|
+
**Note**: This tool has a narrower scope than general action lookups (salesforce-flow tool — no Connect path). Use only for external connectors.
|