# Salesforce Metadata Mcp MCP server

Agent View of the PolicyLayer registry record for Salesforce Metadata Mcp: identity, probed posture, risk grade, and all 213 tools classified. HTML page: https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp

## Facts

- Server id: `salesforce-metadata-mcp`
- Install: `npx -y salesforce-metadata-mcp`
- Homepage: https://github.com/semwalajay83-sem/salesforce-metadata-mcp
- Registry record: grade F, identity unverified
- Lifecycle: active
- Rate-limited: no
- Tools: 213
- Tool categories present: Destructive, Execute, Read, Write
- Tags: io github semwalajay83 sem salesforce metadata mcp, admin, automation
- Record last modified: 2026-07-09T23:19:22.205Z

## Tools (213)

| Tool | Category | Risk | Record |
| --- | --- | --- | --- |
| `sf_bulk_delete_records` | Destructive | Critical | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-bulk-delete-records.md |
| `sf_delete_record` | Destructive | Critical | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-delete-record.md |
| `sf_delete_scratch_org` | Destructive | Critical | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-delete-scratch-org.md |
| `sf_activate_omniscript` | Execute | High | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-activate-omniscript.md |
| `sf_create_apex_class` | Execute | High | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-create-apex-class.md |
| `sf_create_apex_test_class` | Execute | High | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-create-apex-test-class.md |
| `sf_create_apex_trigger` | Execute | High | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-create-apex-trigger.md |
| `sf_create_flow` | Execute | High | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-create-flow.md |
| `sf_create_scheduled_job` | Execute | High | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-create-scheduled-job.md |
| `sf_create_scratch_org` | Execute | High | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-create-scratch-org.md |
| `sf_deactivate_flow` | Execute | High | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-deactivate-flow.md |
| `sf_deploy_metadata` | Execute | High | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-deploy-metadata.md |
| `sf_devops_promote_work_item` | Execute | High | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-devops-promote-work-item.md |
| `sf_execute_anonymous_apex` | Execute | High | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-execute-anonymous-apex.md |
| `sf_install_package` | Execute | High | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-install-package.md |
| `sf_promote_devops_work_item` | Execute | High | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-promote-devops-work-item.md |
| `sf_run_apex_tests` | Execute | High | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-run-apex-tests.md |
| `sf_send_email` | Execute | High | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-send-email.md |
| `sf_check_code_coverage` | Read | Low | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-check-code-coverage.md |
| `sf_check_deploy_status` | Read | Low | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-check-deploy-status.md |
| `sf_check_devops_commit_status` | Read | Low | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-check-devops-commit-status.md |
| `sf_detect_devops_merge_conflict` | Read | Low | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-detect-devops-merge-conflict.md |
| `sf_explore_slds_blueprints` | Read | Low | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-explore-slds-blueprints.md |
| `sf_export_omnistudio_component` | Read | Low | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-export-omnistudio-component.md |
| `sf_export_records` | Read | Low | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-export-records.md |
| `sf_get_apex_test_results` | Read | Low | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-get-apex-test-results.md |
| `sf_get_dataraptor` | Read | Low | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-get-dataraptor.md |
| `sf_get_deployment_history` | Read | Low | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-get-deployment-history.md |
| `sf_get_event_logs` | Read | Low | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-get-event-logs.md |
| `sf_get_field_history` | Read | Low | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-get-field-history.md |
| `sf_get_flexcard` | Read | Low | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-get-flexcard.md |
| `sf_get_flow_errors` | Read | Low | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-get-flow-errors.md |
| `sf_get_integration_procedure` | Read | Low | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-get-integration-procedure.md |
| `sf_get_login_history` | Read | Low | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-get-login-history.md |
| `sf_get_omniscript` | Read | Low | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-get-omniscript.md |
| `sf_get_org_limits` | Read | Low | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-get-org-limits.md |
| `sf_get_record` | Read | Low | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-get-record.md |
| `sf_get_setup_audit_trail` | Read | Low | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-get-setup-audit-trail.md |
| `sf_guide_lwc_accessibility` | Read | Low | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-guide-lwc-accessibility.md |
| `sf_list_devops_projects` | Read | Low | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-list-devops-projects.md |
| `sf_list_devops_work_items` | Read | Low | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-list-devops-work-items.md |
| `sf_list_flow_versions` | Read | Low | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-list-flow-versions.md |
| `sf_list_mcp_tools` | Read | Low | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-list-mcp-tools.md |
| `sf_list_sandboxes` | Read | Low | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-list-sandboxes.md |
| `sf_migrate_aura_to_lwc` | Read | Low | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-migrate-aura-to-lwc.md |
| `sf_query_records` | Read | Low | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-query-records.md |
| `sf_retrieve_metadata` | Read | Low | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-retrieve-metadata.md |
| `sf_scan_apex_antipatterns` | Read | Low | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-scan-apex-antipatterns.md |
| `sf_search_records` | Read | Low | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-search-records.md |
| `hello_world` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/hello-world.md |
| `sf_activate_flexcard` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-activate-flexcard.md |
| `sf_activate_flow` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-activate-flow.md |
| `sf_activate_integration_procedure` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-activate-integration-procedure.md |
| `sf_add_picklist_values` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-add-picklist-values.md |
| `sf_add_to_change_set` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-add-to-change-set.md |
| `sf_assign_layout_to_record_type` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-assign-layout-to-record-type.md |
| `sf_assign_presence_status` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-assign-presence-status.md |
| `sf_assign_queue_member` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-assign-queue-member.md |
| `sf_assign_skill_to_agent` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-assign-skill-to-agent.md |
| `sf_assign_territory_to_user` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-assign-territory-to-user.md |
| `sf_bulk_import_records` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-bulk-import-records.md |
| `sf_bulk_insert_records` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-bulk-insert-records.md |
| `sf_bulk_update_records` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-bulk-update-records.md |
| `sf_checkout_devops_work_item` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-checkout-devops-work-item.md |
| `sf_commit_devops_work_item` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-commit-devops-work-item.md |
| `sf_configure_change_data_capture` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-configure-change-data-capture.md |
| `sf_create_agent` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-create-agent.md |
| `sf_create_agent_action` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-create-agent-action.md |
| `sf_create_agent_planner` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-create-agent-planner.md |
| `sf_create_agent_topic` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-create-agent-topic.md |
| `sf_create_apex_email_service` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-create-apex-email-service.md |
| `sf_create_approval_process` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-create-approval-process.md |
| `sf_create_assignment_rule` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-create-assignment-rule.md |
| `sf_create_aura_app` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-create-aura-app.md |
| `sf_create_aura_component` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-create-aura-component.md |
| `sf_create_aura_event` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-create-aura-event.md |
| `sf_create_auth_provider` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-create-auth-provider.md |
| `sf_create_auto_response_rule` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-create-auto-response-rule.md |
| `sf_create_bot_routing` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-create-bot-routing.md |
| `sf_create_business_hours` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-create-business-hours.md |
| `sf_create_business_process` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-create-business-process.md |
| `sf_create_calculation_matrix` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-create-calculation-matrix.md |
| `sf_create_calculation_procedure` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-create-calculation-procedure.md |
| `sf_create_chat_button` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-create-chat-button.md |
| `sf_create_compact_layout` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-create-compact-layout.md |
| `sf_create_connected_app` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-create-connected-app.md |
| `sf_create_connected_app_oauth_policy` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-create-connected-app-oauth-policy.md |
| `sf_create_csp_setting` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-create-csp-setting.md |
| `sf_create_custom_application` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-create-custom-application.md |
| `sf_create_custom_button` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-create-custom-button.md |
| `sf_create_custom_field` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-create-custom-field.md |
| `sf_create_custom_label` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-create-custom-label.md |
| `sf_create_custom_metadata_record` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-create-custom-metadata-record.md |
| `sf_create_custom_metadata_type` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-create-custom-metadata-type.md |
| `sf_create_custom_notification_type` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-create-custom-notification-type.md |
| `sf_create_custom_object` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-create-custom-object.md |
| `sf_create_custom_permission` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-create-custom-permission.md |
| `sf_create_custom_setting` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-create-custom-setting.md |
| `sf_create_custom_tab` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-create-custom-tab.md |
| `sf_create_dashboard` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-create-dashboard.md |
| `sf_create_data_category` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-create-data-category.md |
| `sf_create_dataraptor` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-create-dataraptor.md |
| `sf_create_devops_pull_request` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-create-devops-pull-request.md |
| `sf_create_document_generation` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-create-document-generation.md |
| `sf_create_duplicate_rule` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-create-duplicate-rule.md |
| `sf_create_einstein_bot` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-create-einstein-bot.md |
| `sf_create_einstein_prediction` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-create-einstein-prediction.md |
| `sf_create_email_alert` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-create-email-alert.md |
| `sf_create_email_template` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-create-email-template.md |
| `sf_create_embedded_service` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-create-embedded-service.md |
| `sf_create_entitlement_process` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-create-entitlement-process.md |
| `sf_create_escalation_rule` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-create-escalation-rule.md |
| `sf_create_experience_page` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-create-experience-page.md |
| `sf_create_experience_site` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-create-experience-site.md |
| `sf_create_external_data_source` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-create-external-data-source.md |
| `sf_create_external_id_field` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-create-external-id-field.md |
| `sf_create_external_object` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-create-external-object.md |
| `sf_create_field_dependency` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-create-field-dependency.md |
| `sf_create_field_level_security` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-create-field-level-security.md |
| `sf_create_field_set` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-create-field-set.md |
| `sf_create_field_update` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-create-field-update.md |
| `sf_create_flexcard` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-create-flexcard.md |
| `sf_create_flexipage` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-create-flexipage.md |
| `sf_create_flow_from_xml` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-create-flow-from-xml.md |
| `sf_create_forecast_hierarchy` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-create-forecast-hierarchy.md |
| `sf_create_formula_field` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-create-formula-field.md |
| `sf_create_global_action` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-create-global-action.md |
| `sf_create_global_value_set` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-create-global-value-set.md |
| `sf_create_holiday` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-create-holiday.md |
| `sf_create_integration_procedure` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-create-integration-procedure.md |
| `sf_create_knowledge_article_type` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-create-knowledge-article-type.md |
| `sf_create_letterhead` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-create-letterhead.md |
| `sf_create_lightning_app` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-create-lightning-app.md |
| `sf_create_list_view` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-create-list-view.md |
| `sf_create_lwc` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-create-lwc.md |
| `sf_create_lwc_from_requirements` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-create-lwc-from-requirements.md |
| `sf_create_lwc_jest_test` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-create-lwc-jest-test.md |
| `sf_create_matching_rule` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-create-matching-rule.md |
| `sf_create_mcp_server` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-create-mcp-server.md |
| `sf_create_mcp_tool` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-create-mcp-tool.md |
| `sf_create_messaging_channel` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-create-messaging-channel.md |
| `sf_create_milestone` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-create-milestone.md |
| `sf_create_muting_permission_set` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-create-muting-permission-set.md |
| `sf_create_named_credential` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-create-named-credential.md |
| `sf_create_next_best_action` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-create-next-best-action.md |
| `sf_create_notification_type` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-create-notification-type.md |
| `sf_create_omniscript` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-create-omniscript.md |
| `sf_create_outbound_change_set` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-create-outbound-change-set.md |
| `sf_create_outbound_message` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-create-outbound-message.md |
| `sf_create_package` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-create-package.md |
| `sf_create_package_version` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-create-package-version.md |
| `sf_create_page_layout` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-create-page-layout.md |
| `sf_create_path_assistant` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-create-path-assistant.md |
| `sf_create_permission_set` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-create-permission-set.md |
| `sf_create_permission_set_group` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-create-permission-set-group.md |
| `sf_create_platform_cache_partition` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-create-platform-cache-partition.md |
| `sf_create_platform_event` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-create-platform-event.md |
| `sf_create_platform_event_trigger` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-create-platform-event-trigger.md |
| `sf_create_presence_configuration` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-create-presence-configuration.md |
| `sf_create_presence_status` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-create-presence-status.md |
| `sf_create_price_book` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-create-price-book.md |
| `sf_create_product` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-create-product.md |
| `sf_create_public_group` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-create-public-group.md |
| `sf_create_push_topic` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-create-push-topic.md |
| `sf_create_queue` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-create-queue.md |
| `sf_create_queue_routing_config` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-create-queue-routing-config.md |
| `sf_create_quick_action` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-create-quick-action.md |
| `sf_create_record` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-create-record.md |
| `sf_create_record_type` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-create-record-type.md |
| `sf_create_remote_site_setting` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-create-remote-site-setting.md |
| `sf_create_report` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-create-report.md |
| `sf_create_report_folder` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-create-report-folder.md |
| `sf_create_report_type` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-create-report-type.md |
| `sf_create_role` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-create-role.md |
| `sf_create_role_hierarchy` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-create-role-hierarchy.md |
| `sf_create_routing_configuration` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-create-routing-configuration.md |
| `sf_create_saml_sso_config` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-create-saml-sso-config.md |
| `sf_create_sandbox` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-create-sandbox.md |
| `sf_create_scheduled_flow` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-create-scheduled-flow.md |
| `sf_create_search_layout` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-create-search-layout.md |
| `sf_create_service_channel` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-create-service-channel.md |
| `sf_create_service_territory` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-create-service-territory.md |
| `sf_create_sharing_rule` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-create-sharing-rule.md |
| `sf_create_skill` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-create-skill.md |
| `sf_create_static_resource` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-create-static-resource.md |
| `sf_create_tab` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-create-tab.md |
| `sf_create_territory` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-create-territory.md |
| `sf_create_user` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-create-user.md |
| `sf_create_user_role_hierarchy` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-create-user-role-hierarchy.md |
| `sf_create_validation_rule` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-create-validation-rule.md |
| `sf_create_visualforce_component` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-create-visualforce-component.md |
| `sf_create_visualforce_email_template` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-create-visualforce-email-template.md |
| `sf_create_visualforce_page` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-create-visualforce-page.md |
| `sf_create_work_type` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-create-work-type.md |
| `sf_create_workflow_field_update` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-create-workflow-field-update.md |
| `sf_create_workflow_rule` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-create-workflow-rule.md |
| `sf_devops_create_work_item` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-devops-create-work-item.md |
| `sf_freeze_user` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-freeze-user.md |
| `sf_import_omnistudio_component` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-import-omnistudio-component.md |
| `sf_refresh_sandbox` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-refresh-sandbox.md |
| `sf_reset_user_password` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-reset-user-password.md |
| `sf_resolve_devops_merge_conflict` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-resolve-devops-merge-conflict.md |
| `sf_share_report_folder` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-share-report-folder.md |
| `sf_translate_custom_label` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-translate-custom-label.md |
| `sf_translate_field_label` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-translate-field-label.md |
| `sf_update_dashboard` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-update-dashboard.md |
| `sf_update_flexcard` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-update-flexcard.md |
| `sf_update_integration_procedure` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-update-integration-procedure.md |
| `sf_update_lwc` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-update-lwc.md |
| `sf_update_omniscript` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-update-omniscript.md |
| `sf_update_record` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-update-record.md |
| `sf_update_user` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-update-user.md |
| `sf_upsert_record` | Write | Medium | https://policylayer.com/tools/io-github-semwalajay83-sem-salesforce-metadata-mcp/sf-upsert-record.md |

## Tool descriptions

- `sf_bulk_delete_records` — Deletes multiple records by ID asynchronously using Salesforce Bulk API 2.0. Returns a job ID to track status. Use with caution — deleted records go to the Recycle Bin. objectApiName: Salesforce object API name ids: array of Salesforce r…
- `sf_delete_record` — Deletes a single SObject record by record ID via the Salesforce REST API. The deletion is permanent and cannot be undone (the record goes to the Recycle Bin for objects that support it, from where it can be undeleted within 15 days). Pro…
- `sf_delete_scratch_org` — Deletes a Salesforce scratch org by alias. This permanently removes the org and all its data. Use when finished with development or testing to free up scratch org allocations. alias: alias of the scratch org to delete noPrompt: skip the …
- `sf_activate_omniscript` — Activates an OmniScript so it can be launched from FlexCards, Experience Cloud, or standalone pages. Identified by Type + SubType + Language.
- `sf_create_apex_class` — Creates and deploys an Apex class to the Salesforce org using the Metadata API. Accepts the full Apex source code including the class declaration. Use for any type of Apex class: service classes, controllers, batch classes, schedulable c…
- `sf_create_apex_test_class` — Creates and deploys an Apex Test Class (annotated with @isTest). Provide the full test class source code. Optionally run the tests immediately after deployment. Test classes are required for Salesforce deployments to production (minimum …
- `sf_create_apex_trigger` — Creates and deploys an Apex Trigger on any Salesforce object. Specify the trigger events (before insert, after update, etc.) and the trigger body code. The trigger declaration (trigger Name on Object (events)) is auto-generated — just pr…
- `sf_create_flow` — Creates or updates a Salesforce Flow via the Metadata API. Supports AutoLaunchedFlow (required for Agentforce actions), Screen Flow, RecordTriggeredFlow, and ScheduledFlow. Supports advanced elements: Decision, GetRecords, CreateRecords,…
- `sf_create_scheduled_job` — Schedules an Apex class that implements the Schedulable interface to run on a cron schedule. Use for batch processing, nightly data cleanup, report generation, or any periodic automation. The Apex class must already exist in the org. Exa…
- `sf_create_scratch_org` — Creates a Salesforce scratch org using the SF CLI. Scratch orgs are temporary, configurable environments for development and testing. Requires a Dev Hub org to be authorized. definitionFile: path to project-scratch-def.json (optional, de…
- `sf_deactivate_flow` — Deactivates the currently active version of a Flow via the Tooling API, setting its status to Draft. This stops the flow from being triggered. Use sf_activate_flow to re-activate a specific version. Note: deactivating a flow does not del…
- `sf_deploy_metadata` — Deploys a set of metadata components directly to the org using the Metadata API SOAP deploy operation. Builds a package.xml and deployment zip in memory. Supports validate-only (checkOnly:true) for pre-deployment validation without makin…
- `sf_devops_promote_work_item` — Promotes a DevOps Center work item to the next pipeline stage. Moving work items through the pipeline represents the progression of changes from development environments toward production. workItemId: the DevOps Center work item record ID
- `sf_execute_anonymous_apex` — Executes anonymous Apex code in the Salesforce org using the Tooling API executeAnonymous endpoint. Returns compile errors, runtime exceptions, and debug log output. Use for one-off data fixes, testing Apex snippets, creating test data, …
- `sf_install_package` — Installs a package version into a target org using the SF CLI. Supports both managed and unlocked packages. Requires the package version ID (04t...) or an alias. packageId: package version ID (04t...) or alias targetOrg: target org alias…
- `sf_promote_devops_work_item` — Promotes a DevOps Center work item to a specific pipeline stage by ID. Use to move work items forward in the pipeline when you know the exact target stage. workItemId: DevOps Center work item ID targetStageId: ID of the target pipeline s…
- `sf_run_apex_tests` — Runs one or more Apex test classes and returns pass/fail results with any error messages. Uses the Salesforce Tooling API runTestsAsynchronous endpoint and polls for results. Use after deploying Apex code to verify test coverage, or to r…
- `sf_send_email` — Sends an email from Salesforce using the emailSimple invocable action. The email is sent from the running user
- `sf_check_code_coverage` — Retrieves Apex code coverage statistics from the org using the Tooling API. Shows which classes meet or fail the 75% coverage threshold required for deployment. Use after running Apex tests to assess coverage. className: optional filter …
- `sf_check_deploy_status` — Checks the status of an in-progress or recently completed metadata deployment by async job ID. Returns the status (Pending, InProgress, Succeeded, Failed, Canceled), component successes, failures, and test results. Use with the deploy ID…
- `sf_check_devops_commit_status` — Retrieves the commit and deployment status for a DevOps Center work item. Shows recent commits and their deployment outcomes. workItemId: DevOps Center work item ID
- `sf_detect_devops_merge_conflict` — Checks a DevOps Center work item for merge conflicts. Returns the work item details and any associated merge conflict records. Use before promoting a work item to identify conflicts that need resolution. workItemId: DevOps Center work it…
- `sf_explore_slds_blueprints` — Returns Salesforce Lightning Design System (SLDS) component examples, best practices, and usage guidance for a given UI pattern. A read-only reference tool — does not modify the org. componentType: SLDS component type, e.g.
- `sf_export_omnistudio_component` — Exports an OmniStudio component
- `sf_export_records` — Exports Salesforce records as CSV data using a SOQL query. Useful for data extraction, backup, or analysis. soql: the SOQL query to run (SELECT fields FROM Object WHERE ...) includeHeader: include column headers in the CSV output (defaul…
- `sf_get_apex_test_results` — Retrieves Apex test results from the most recent test runs via the Tooling API. Returns pass/fail status, error messages, stack traces, and code coverage for each test method. className: filter to a specific test class name (optional) ou…
- `sf_get_dataraptor` — Retrieves the configuration of a DataRaptor interface including its type, field mappings, and filter criteria.
- `sf_get_deployment_history` — Retrieves the history of recent metadata deployments using the Tooling API DeployRequest object. Shows deployment status, component counts, test results, and error messages. limit: number of recent deployments to return (default: 20, max…
- `sf_get_event_logs` — Queries EventLogFile for detailed activity logs. Event logs capture granular org activity for security monitoring and performance analysis. Common eventType values: - Login — login attempts and results - API — SOAP/REST API calls - Repor…
- `sf_get_field_history` — Queries the {Object}History object to retrieve a field-level change history for a specific record. Shows what changed, when, the old and new values, and who made the change. Returns records with: date, field, oldValue, newValue, changedB…
- `sf_get_flexcard` — Retrieves the configuration of an OmniStudio FlexCard including its data source, fields, actions, states, and activation status.
- `sf_get_flow_errors` — Retrieves Flow interview fault records from the FlowRecordRelation and FlowInterview objects. Shows flows that have errored in runtime with their fault message and the record that triggered the error. flowApiName: filter to a specific fl…
- `sf_get_integration_procedure` — Retrieves the configuration of an Integration Procedure including its elements and activation status. Identified by procedureName + subType.
- `sf_get_login_history` — Queries LoginHistory to see user login activity — who logged in, from where, and whether they succeeded. Returns records with: loginTime, username, sourceIp, browser, platform, status, loginType status values:
- `sf_get_omniscript` — Retrieves the configuration of an OmniScript including its elements, activation status, and LWC settings. Identified by Type + SubType + Language.
- `sf_get_org_limits` — Retrieves current API and governor limit usage for the org via the Salesforce Limits REST API. Returns all limits with their current usage and maximum allowed values. Useful for: - Checking API call usage before running bulk operations -…
- `sf_get_record` — Retrieves a single Salesforce record by its 15 or 18 character record ID. Returns all or specified fields. objectApiName: the SObject API name (e.g.
- `sf_get_setup_audit_trail` — Queries the SetupAuditTrail object to see who made what configuration changes to the org, and when. Covers the last 6 months of setup activity. Returns records with: date, username, section, action, display (human-readable description) s…
- `sf_guide_lwc_accessibility` — Returns guidance and a checklist for LWC accessibility best practices covering ARIA attributes, keyboard navigation, focus management, and screen reader support. A read-only advisory tool — does not modify the org. componentName: optiona…
- `sf_list_devops_projects` — Lists all DevOps Center projects in the org. Returns project names, IDs, and associated pipeline information. Use to discover project IDs needed for other DevOps Center operations.
- `sf_list_devops_work_items` — Lists DevOps Center work items, optionally filtered by project or pipeline stage. Use to get an overview of work in progress. projectId: optional filter by DevOps Center project ID stageId: optional filter by pipeline stage ID limit: max…
- `sf_list_flow_versions` — Lists all versions of a specific Flow, or all Flows in the org, via the Tooling API. Returns version number, status (Active, Draft, Obsolete), description, and creation date for each version. Optionally filter to exclude deactivated (Obs…
- `sf_list_mcp_tools` — Lists all tools currently registered in a given MCP server project by reading and parsing its src/index.ts file. Returns the tool names in the order they are registered. Use to audit what tools exist before adding new ones.
- `sf_list_sandboxes` — Lists all sandbox orgs associated with the production org, including their status, license type, and dates. Returns data from the SandboxInfo Tooling API object. Use this to monitor sandbox creation and refresh status. Must be called fro…
- `sf_migrate_aura_to_lwc` — Analyzes an Aura component and returns a comprehensive migration guide with Aura-to-LWC concept mappings, key differences, and an optional LWC scaffold. A read-only advisory tool — does not modify the org. auraComponentName: the Aura com…
- `sf_query_records` — Executes a SOQL query against the org and returns matching records. Provide either a full SOQL string (soql param) or individual parameters (objectApiName, fields, whereClause, orderBy, limit). Use for reading data, checking existing rec…
- `sf_retrieve_metadata` — Retrieves metadata components from the org by initiating a SOAP retrieve operation. Returns an async job ID. The org will package the requested components — use this to read existing configuration before making changes, back up metadata,…
- `sf_scan_apex_antipatterns` — Scans Apex classes in the org for common anti-patterns using the Tooling API. Detects SOQL/DML in loops, hardcoded Salesforce IDs, and debug statements left in production code. Use before deploying to catch performance and quality issues…
- `sf_search_records` — Searches across multiple Salesforce objects using SOSL (Salesforce Object Search Language). SOSL uses the search index and is faster than SOQL for cross-object text searches. searchTerm: the text to search for objects: array of objects t…
- `hello_world` — A sample tool that returns a greeting
- `sf_activate_flexcard` — Activates an OmniStudio FlexCard so it is visible on Lightning pages and Experience Cloud sites. Reads the existing FlexCard definition and redeploys it with isActive=true. The card must already exist (created with sf_create_flexcard).
- `sf_activate_flow` — Activates a specific Flow version (or the latest version) via the Tooling API. Only one version of a flow can be active at a time — activating a new version automatically deactivates the previous active version. Use sf_list_flow_versions…
- `sf_activate_integration_procedure` — Activates an Integration Procedure so it can be invoked from OmniScripts, FlexCards, and APIs. Identified by procedureName + subType.
- `sf_add_picklist_values` — Adds new picklist values to an existing Picklist or MultiselectPicklist field without removing existing values. Use when a user wants to add new options to a dropdown.
- `sf_add_to_change_set` — Adds one or more metadata components to an existing Outbound Change Set by change set name. Supports all metadata types: CustomObject, CustomField, ApexClass, ApexTrigger, Flow, ValidationRule, PermissionSet, etc. Use after creating a ch…
- `sf_assign_layout_to_record_type` — Assigns an existing page layout to a specific record type on an object by updating the Profile metadata. Controls which page layout users see when viewing records of a given record type. objectName: the API name of the object recordTypeN…
- `sf_assign_presence_status` — Grants access to a Presence Status for the specified Profiles and/or Permission Sets. Agents can only select presence statuses that are assigned to their profile or permission set. profiles: list of Profile names (e.g. [
- `sf_assign_queue_member` — Adds a user to an existing Queue (GroupMember SObject) by username and queue DeveloperName. The queue must already exist (create via sf_create_queue). Users in queues can be assigned records and receive queue notification emails.
- `sf_assign_skill_to_agent` — Assigns a Skill to a Salesforce user (service agent) with a skill level rating. Creates a ServiceResource for the user if one does not already exist, then creates a ServiceResourceSkill record. skillName: the API name (DeveloperName) of …
- `sf_assign_territory_to_user` — Assigns a user to an Enterprise Territory Management territory via the UserTerritory2Association SObject. Users assigned to a territory get visibility into accounts in that territory. username or userId: identify the user territoryName: …
- `sf_bulk_import_records` — Bulk imports records using the Salesforce Bulk API 2.0. Supports insert, upsert, update, and delete operations on large datasets (thousands to millions of records). Provide CSV data with a header row. For upsert, set externalIdField to t…
- `sf_bulk_insert_records` — Inserts multiple records of the same object type asynchronously using Salesforce Bulk API 2.0. More efficient than individual REST calls for large volumes. Returns a job ID to track status. objectApiName: Salesforce object API name recor…
- `sf_bulk_update_records` — Updates multiple records of the same object type asynchronously using Salesforce Bulk API 2.0. Each record must include its Salesforce Id field. Returns a job ID to track status. objectApiName: Salesforce object API name records: array o…
- `sf_checkout_devops_work_item` — Checks out a DevOps Center work item, moving it to
- `sf_commit_devops_work_item` — Commits changes for a DevOps Center work item by creating a commit record associated with the work item. Records the commit message for audit tracking. workItemId: DevOps Center work item ID message: commit message describing the changes
- `sf_configure_change_data_capture` — Enables Change Data Capture (CDC) for the specified Salesforce objects via the Metadata API. CDC publishes change events to the /data/ChangeEvents channel when records are created, updated, deleted, or undeleted. Provide an array of obje…
- `sf_create_agent` — Creates an Agentforce Agent (Einstein Copilot) shell in Salesforce. THIS IS STEP 1 OF A 5-STEP SEQUENCE — calling this tool alone produces a non-functional agent shell. You MUST continue calling tools in this exact order without stopping…
- `sf_create_agent_action` — Creates an Agentforce Action (GenAiFunction) — step 2 of the agent setup sequence. Call this once per capability (once per flow, once per Apex class). IMPORTANT by type: For Flow — the flow must already exist as an Active AutoLaunchedFlo…
- `sf_create_agent_planner` — Creates a GenAiPlanner that connects an Agentforce Agent (Bot) to its Topics — STEP 4 (FINAL) of the agent setup sequence. Without this step the agent cannot route ANY request regardless of how many topics and actions were created. Also …
- `sf_create_agent_topic` — Creates a Topic (GenAiPlugin) for an Agentforce Agent — step 3 of the agent setup sequence. Call this AFTER all actions have been created with sf_create_agent_action. CRITICAL: pass ALL action API names in the
- `sf_create_apex_email_service` — Creates an Apex Email Service that processes inbound emails via an Apex class implementing Messaging.InboundEmailHandler. Useful for creating support cases from emails, parsing email content, or triggering workflows from inbound messages…
- `sf_create_approval_process` — Creates or updates a Salesforce Approval Process via the Metadata API. Define who can submit, approval steps with approvers, entry criteria, and what happens on approval or rejection.
- `sf_create_assignment_rule` — Creates an Assignment Rule for Leads or Cases. Assignment rules automatically route new records to the appropriate owner (user or queue) based on matching criteria. Only one rule can be active at a time per object. Rule entries are evalu…
- `sf_create_aura_app` — Generates an Aura Application bundle scaffold. Returns the .app file content with the specified access level, optional parent app extension (e.g. force:slds for SLDS styling), included components, and body content. Aura Apps are standalo…
- `sf_create_aura_component` — Generates an Aura (Lightning Component Framework) component scaffold. Returns the complete bundle file contents: .cmp markup, JavaScript controller, CSS stylesheet, design resource, and metadata XML. Specify interfaces the component impl…
- `sf_create_aura_event` — Generates an Aura Event scaffold (.evt file content). Supports COMPONENT events (propagate up the component hierarchy) and APPLICATION events (broadcast to all subscribed components). Define event attributes with names and types. Compone…
- `sf_create_auth_provider` — Creates an Auth Provider in Salesforce for SSO or social login via the Metadata API. Supports OpenID Connect, Facebook, Google, GitHub, Salesforce, and Custom providers. Provide the consumer key and secret from the external identity prov…
- `sf_create_auto_response_rule` — Creates an Auto-Response Rule for Web-to-Lead or Web-to-Case. When a lead or case is created via a web form, this rule automatically sends a confirmation email using the specified template. Rule entries define which template to use based…
- `sf_create_bot_routing` — Configures an Einstein Bot to transfer conversations to a human agent queue when escalation conditions are met. Updates the BotVersion with a Transfer dialog. botName: the Bot API name (DeveloperName) transferToQueueName: the Queue API n…
- `sf_create_business_hours` — Creates Business Hours in Salesforce via the Metadata API. Define working hours for each day of the week, specify the time zone, and mark days as active or inactive. Business Hours are used with Entitlement Processes, Escalation Rules, a…
- `sf_create_business_process` — Creates a Business Process for Opportunity (Stage values), Lead (Status values), Case (Status values), or Solution (Status values). Business Processes define which picklist values are available for a given Record Type. Must be created be…
- `sf_create_calculation_matrix` — Creates a Calculation Matrix for rule-based lookups and calculations. Matrices map input combinations to output values — useful for pricing, eligibility, scoring, and decision tables. inputVariables: list of input variable names (columns…
- `sf_create_calculation_procedure` — Creates a Calculation Procedure that orchestrates multi-step calculations using Calculation Matrices, formulas, and logic steps. steps array — each step has: - name: step identifier - type: MatrixLookup (call a matrix), Formula (expressi…
- `sf_create_chat_button` — Creates a Live Chat button (LiveChatButton) that can be embedded on websites to start chat sessions with agents. routingType: Choice (skills-based) or Queue (queue-based routing) queueName: the Queue to route chats to (for Queue routing)…
- `sf_create_compact_layout` — Creates a Compact Layout for a Salesforce object. Compact Layouts define which fields appear in the highlights panel at the top of a record page (up to 10 fields), in Salesforce Mobile, and in related list cards. Use when you want to sur…
- `sf_create_connected_app` — Creates a Connected App in Salesforce to enable OAuth authentication for external applications. Connected Apps are required for any external system that wants to connect to Salesforce via OAuth 2.0. Specify callback URLs for the OAuth fl…
- `sf_create_connected_app_oauth_policy` — Updates the OAuth policies on an existing Connected App in Salesforce via the Metadata API. Configure the refresh token policy (infinite, specific duration, or expire on password change), single logout URL, session timeout, and IP relaxa…
- `sf_create_csp_setting` — Creates a Content Security Policy trusted site, allowing LWC components and Visualforce pages to load resources from external URLs. CSP settings are needed when your LWC uses external JavaScript libraries, fonts, images, or APIs. Specify…
- `sf_create_custom_application` — Creates a Lightning Application (App) in the Salesforce org via the Metadata API. Supports Standard and Console navigation types. Specify tabs to include, form factor (desktop or mobile), and optional utility bar components. The app appe…
- `sf_create_custom_button` — Creates a custom button or link on a Salesforce object via the Metadata API (WebLink). Supports list buttons, detail page buttons, and mass action buttons. Content can be a URL, JavaScript, or a Visualforce page reference. Specify how th…
- `sf_create_custom_field` — Creates a new custom field on an existing Salesforce object. The field API name must end with
- `sf_create_custom_label` — Creates or updates a Salesforce Custom Label. Custom Labels are text values accessible in Apex, Visualforce, LWC, and Flows, with support for translation. Use for internationalizable text strings, error messages, or UI labels.
- `sf_create_custom_metadata_record` — Creates a record within an existing Custom Metadata Type (__mdt). Custom metadata records store configuration values that can be read in Apex, Flows, and formulas. Provide typeName (e.g.,
- `sf_create_custom_metadata_type` — Creates a new Custom Metadata Type (ending in __mdt) with optional custom fields. Custom Metadata Types store configuration data that can be packaged and deployed. Use when a user wants to store configuration in metadata rather than cust…
- `sf_create_custom_notification_type` — Creates a Custom Notification Type that can be sent from Flows, Apex, or Process Builder using the Send Custom Notification action. Custom Notifications appear in Salesforce notification bell (and optionally mobile push). Use to create i…
- `sf_create_custom_object` — Creates a new Salesforce Custom Object using the Metadata API. The object name must end with
- `sf_create_custom_permission` — Creates a Custom Permission that can be checked in formulas with $Permission.MyPerm or in Apex with FeatureManagement.checkPermission(
- `sf_create_custom_setting` — Creates a Custom Setting object (ending in __c) with Hierarchy or List type. Custom Settings store data accessible via Apex without SOQL queries. Hierarchy type supports org/profile/user level overrides. Use for feature flags, thresholds…
- `sf_create_custom_tab` — Creates a Custom Web Tab (URL-based tab) that opens an external URL or web page within the Salesforce UI. Different from sf_create_tab which creates object-based tabs. Use when you need a navigation item that points to an external websit…
- `sf_create_dashboard` — Creates a Salesforce Dashboard with components (charts, metrics, tables, gauges) powered by reports. Dashboards provide visual summaries of key business data. Specify the folder path as
- `sf_create_data_category` — Creates a Data Category Group with categories for classifying Salesforce Knowledge articles, solutions, or cases. Data categories enable hierarchical content classification and visibility controls. fullName: data category group API name …
- `sf_create_dataraptor` — Creates a DataRaptor interface for OmniStudio data transformation. DataRaptors handle Extract (read from Salesforce), Transform (convert data formats), and Load (write to Salesforce) operations. interfaceType: - Extract: reads data from …
- `sf_create_devops_pull_request` — Creates a pull request record for a DevOps Center work item. Pull requests represent code review requests before merging changes to a target branch or pipeline stage. workItemId: DevOps Center work item ID title: pull request title descr…
- `sf_create_document_generation` — Creates an OmniStudio Document Generation configuration (OmniDocumentGenerationConfig metadata type) that links a document template to a data source for automated document creation. templateName: unique API name for the document generati…
- `sf_create_duplicate_rule` — Creates a Duplicate Rule that uses Matching Rules to detect potential duplicates when records are saved. Can block duplicates, allow with a warning, or allow silently. Works for Leads, Contacts, Accounts, and custom objects. Requires exi…
- `sf_create_einstein_bot` — Creates a classic Einstein Bot (Bot + BotVersion metadata types) with one or more conversation dialogs. Classic Einstein Bots handle chat and messaging channels via rule-based and ML-powered conversation flows. Note: For AI-first agents …
- `sf_create_einstein_prediction` — Creates an Einstein Prediction Builder prediction definition (MLPredictionDefinition metadata type). Predictions analyze historical Salesforce data to score or classify records automatically. predictionType: - BinaryClassification: predi…
- `sf_create_email_alert` — Creates a Workflow Email Alert action that can be triggered by Flows, Approval Processes, or Workflow Rules. Specify the email template to use and recipients (owner, creator, users, roles, or custom email addresses). Use when you need to…
- `sf_create_email_template` — Creates an HTML or text email template that can be used in Workflow Email Alerts, Approval Processes, or sent manually. Templates support merge fields like {!Account.Name} for personalization. Specify a folder path (e.g.,
- `sf_create_embedded_service` — Creates an Embedded Service deployment (EmbeddedServiceConfig) that bundles a chat button or messaging channel into a web snippet for embedding on websites or Experience Cloud sites. channelType: Chat (uses a LiveChatButton) or Messaging…
- `sf_create_entitlement_process` — Creates an Entitlement Process (SLA policy) that defines the time-based steps and milestones required to resolve cases. Entitlement processes automate service level agreement (SLA) enforcement. fullName: entitlement process API name name…
- `sf_create_escalation_rule` — Creates an Escalation Rule for Cases. Escalation rules automatically escalate cases that haven
- `sf_create_experience_page` — Creates a page within an existing Experience Cloud site. Pages can be standard (home, login, profile, object detail, object list) or custom. The page URL path is relative to the site
- `sf_create_experience_site` — Creates an Experience Cloud site (formerly Community) using a specified template. Supported templates: CustomerService (B2C self-service), Partner (B2B partner portal), LWR (Lightning Web Runtime — high performance), Aloha (App Launcher)…
- `sf_create_external_data_source` — Creates an External Data Source for Salesforce Connect, enabling read-write access to data stored outside Salesforce without importing it. Supports OData 2.0/4.0 for standard REST services, SimpleURL for basic access, Apex for custom ada…
- `sf_create_external_id_field` — Creates a custom field with externalId=true on a Salesforce object. External ID fields can be used for upsert operations and integration matching. The field is also automatically marked as unique. objectName: object API name fullName: fi…
- `sf_create_external_object` — Creates an External Object (ending in __x) linked to an External Data Source. External Objects look like regular Salesforce objects but their data lives in an external system. They support lookups from standard/custom objects, appear in …
- `sf_create_field_dependency` — Creates a field dependency between a controlling picklist and a dependent picklist on the same object. When a user selects a value in the controlling field, only the relevant dependent field values appear. Example: when Country =
- `sf_create_field_level_security` — Sets field-level security (FLS) for a field across one or more profiles, controlling whether each profile can read and/or edit the field. Use after creating a custom field to make it visible and editable to the right profiles. objectName…
- `sf_create_field_set` — Creates a field set on a Salesforce object via the Metadata API. Field sets are named groupings of fields used in dynamic forms, Apex code, and LWC. Specify the displayed fields (in the field set) and optionally additional available fiel…
- `sf_create_field_update` — Creates a standalone Workflow Field Update action that sets a field to a formula, literal value, or null when triggered. Can be associated with Workflow Rules, Approval Process steps, or used independently. objectName: object the field u…
- `sf_create_flexcard` — Creates an OmniStudio FlexCard (OmniUiCard metadata type). FlexCards display contextual data on Lightning pages and Experience Cloud sites. A FlexCard defines: - A data source (SOQL query, DataRaptor, Integration Procedure, Apex, or None…
- `sf_create_flexipage` — Creates a Lightning App Builder page (FlexiPage) in the Salesforce org via the Metadata API. Supports AppPage, RecordPage, and HomePage types. Specify the page template (e.g. header_and_right_rail, header_and_three_regions) and for Recor…
- `sf_create_flow_from_xml` — Deploys a Salesforce Flow directly from raw XML using the Metadata API zip deploy. Use this for complex flows that are too advanced for sf_create_flow
- `sf_create_forecast_hierarchy` — Configures a Collaborative Forecasting hierarchy entry by assigning a user as a forecast manager for another user. Forecast managers can view and adjust forecasts for their reports. managerUsername: username of the forecast manager repor…
- `sf_create_formula_field` — Creates a formula field on any Salesforce object. Supports all return types (Text, Number, Currency, Date, DateTime, Checkbox, Percent) and the full Salesforce formula language: IF/AND/OR/NOT, BLANKVALUE, TEXT, VALUE, DATE, DATEVALUE, TO…
- `sf_create_global_action` — Creates a global quick action accessible from the global navigation bar in Salesforce. Supports Create, LogACall, SendEmail, and Canvas action types. Global actions are not tied to a specific object and appear in the global quick actions…
- `sf_create_global_value_set` — Creates a Global Value Set — a shared picklist definition that can be referenced by multiple Picklist fields across different objects. Any change to the Global Value Set is reflected in all fields that use it. Use when the same set of va…
- `sf_create_holiday` — Creates a Holiday record in Salesforce via the Metadata API. Holidays are used with Business Hours to exclude specific days from SLA calculations. Supports both one-time and recurring holidays (e.g. yearly). Optionally associate the holi…
- `sf_create_integration_procedure` — Creates an OmniStudio Integration Procedure — a server-side process that orchestrates data integration without UI. Integration Procedures run in Apex context and can be invoked from OmniScripts, FlexCards, or APIs. Integration Procedures…
- `sf_create_knowledge_article_type` — Creates a Knowledge Article Type (a custom object for Salesforce Knowledge) via the Metadata API. The article type name must end in __kav. Optionally define custom fields for the article type such as text or long text area fields. Requir…
- `sf_create_letterhead` — Creates a Letterhead that provides a consistent visual wrapper for HTML email templates. Letterheads define header, body, and footer colors and can be referenced by email templates to ensure brand consistency across automated emails. ful…
- `sf_create_lightning_app` — Creates a Lightning App in Salesforce — a branded navigation container with a custom navigation bar, utility bar, and logo. Choose between Standard (tabs) and Console (split view) navigation. Specify navItems to populate the navigation b…
- `sf_create_list_view` — Creates a List View for any Salesforce object. List Views are saved filters that display a subset of records with specific columns, filters, and sorting. Use to create shared views like
- `sf_create_lwc` — Creates and deploys a new Lightning Web Component (LWC) to the Salesforce org. Provide the HTML template, JavaScript controller, optional CSS, and component metadata. The component is packaged into a deployment zip and deployed via the M…
- `sf_create_lwc_from_requirements` — Generates a complete LWC component scaffold (HTML template, JS controller, CSS, and meta XML) from a plain-English requirements description. Returns the generated code for review before deploying with sf_create_lwc. componentName: LWC co…
- `sf_create_lwc_jest_test` — Creates a Jest test file for an existing LWC component using @salesforce/lwc-jest conventions. The test file is placed in the __tests__ subfolder of the component bundle and deployed via the Metadata API. componentName: LWC component nam…
- `sf_create_matching_rule` — Creates a Matching Rule used by Duplicate Rules to detect potential duplicate records. Define which fields to match on and which matching algorithm to use (Exact, FirstName, LastName, Company, Email, Phone, etc.). Must be created before …
- `sf_create_mcp_server` — Generates a complete, working MCP server project structure on disk targeting a Salesforce org. Creates package.json, tsconfig.json, src/index.ts entry point, .env.example, and README.md. The generated server uses the MCP SDK and includes…
- `sf_create_mcp_tool` — Adds a new tool definition to an existing MCP server project by reading the src/index.ts file and appending the tool registration. Provide the tool name, description, input schema as a JSON object (field names to {type, description}), an…
- `sf_create_messaging_channel` — Creates a Messaging Channel for Salesforce digital engagement (SMS, WhatsApp, Facebook Messenger, Apple Messages for Business, etc.). channelType options: SMS, WhatsApp, Facebook, AppleBusinessChat, Line, GoogleBusinessMessages, Einstein…
- `sf_create_milestone` — Creates a Milestone Type that can be referenced in Entitlement Processes to define SLA checkpoints. Milestones represent required steps (e.g.,
- `sf_create_muting_permission_set` — Creates a Muting Permission Set that removes specific permissions from users in a Permission Set Group. Use to create exceptions — e.g., a Permission Set Group grants broad access, and a Muting Permission Set removes a subset of that acc…
- `sf_create_named_credential` — Creates a Named Credential for making authenticated callouts to external systems from Apex or Flows. Named Credentials store the endpoint URL and authentication details securely, so developers don
- `sf_create_next_best_action` — Creates a Next Best Action (NBA) recommendation strategy (RecommendationStrategy metadata type). NBA strategies surface contextual recommendations to agents and customers on record pages, communities, and chatbots. A strategy defines: - …
- `sf_create_notification_type` — Creates a Custom Notification Type for sending in-app and mobile push notifications. Custom notification types can be triggered from Flows, Apex, or Process Builder. Users receive notifications in the Salesforce Bell icon (desktop) and o…
- `sf_create_omniscript` — Creates an OmniStudio OmniScript — a guided interaction flow for collecting data or performing processes. OmniScripts are identified by Type + SubType + Language (e.g. AccountOpening / Personal / English). The fullName becomes Type_SubTy…
- `sf_create_outbound_change_set` — Creates an Outbound Change Set in the org — a container for metadata components that can be deployed to connected orgs (sandbox → production). Optionally adds specified components immediately. Returns the change set ID and a link to view…
- `sf_create_outbound_message` — Creates a Workflow Outbound Message that sends a SOAP XML payload to an external endpoint when triggered by a Workflow Rule or Approval Process. Use for real-time integration with external systems that need to be notified of record chang…
- `sf_create_package` — Creates a second-generation managed or unlocked package using the SF CLI. Packages bundle metadata for distribution. Managed packages support namespacing and AppExchange listing; unlocked packages support source-tracking without namespac…
- `sf_create_package_version` — Creates a new version of an existing second-generation package. Each version captures the current state of the package source. Package versions can be promoted and installed in target orgs. packageId: Package ID (0Ho...) or package alias…
- `sf_create_page_layout` — Creates a Page Layout for a Salesforce object. Page Layouts control what fields, related lists, and buttons appear on record detail and edit pages. Layouts are assigned to user profiles and record types. Define sections with fields and t…
- `sf_create_path_assistant` — Creates a Path Assistant (Sales Path or Kanban path) for a Salesforce object picklist field via the Metadata API. Define path items for each picklist value with optional guidance text, info titles, and key fields to highlight at each sta…
- `sf_create_permission_set` — Creates a Permission Set with object permissions, field permissions, Apex class access, and user permissions. Permission Sets extend a user
- `sf_create_permission_set_group` — Creates a Permission Set Group that aggregates multiple Permission Sets into a single assignable unit. Users assigned the group receive all permissions from all included permission sets. Simplifies administration when users need a combin…
- `sf_create_platform_cache_partition` — Creates a Platform Cache partition in the Salesforce org via the Metadata API. Platform Cache improves app performance by storing data server-side close to Apex code. Allocate capacity for session cache (per-user, per-session) and org ca…
- `sf_create_platform_event` — Creates a Platform Event object (ending in __e) for event-driven architecture. Platform Events enable real-time publish/subscribe communication between systems. Publishers fire events and subscribers (Flows, Apex triggers, external syste…
- `sf_create_platform_event_trigger` — Creates an Apex trigger that fires when a Platform Event message is received (after insert). Use to process incoming platform events with Apex logic — e.g., creating records, sending notifications, or calling external APIs when an event …
- `sf_create_presence_configuration` — Creates a Presence Configuration (PresenceUserConfig) that controls which Service Channels agents can handle and their total work capacity. capacity: total capacity units available to agents with this configuration serviceChannels: list …
- `sf_create_presence_status` — Creates a Presence Status that agents can set to indicate their availability. statusType: - Online: agent is available for all assigned channels - Busy: agent is limited to specific channels - Offline: agent receives no work items servic…
- `sf_create_price_book` — Creates a Pricebook2 record and optionally adds products with pricing via PricebookEntry records. Price books define the prices for your products. Each org has one standard price book; additional custom price books can be used for differ…
- `sf_create_product` — Creates a Salesforce Product2 record. Products represent items or services that can be added to Opportunities and Quotes via Opportunity Line Items. Use with sf_create_price_book to set pricing. name: product name productCode: optional S…
- `sf_create_public_group` — Creates a Public Group (Group SObject with Type=Regular) for sharing rules, email distribution, or queue membership. Public groups can include users, roles, and other groups. Use as a sharing target in sf_create_sharing_rule.
- `sf_create_push_topic` — Creates a Streaming API PushTopic for real-time record change notifications via the SObject API. Clients subscribe to /topic/TopicName using the CometD protocol. Specify the SOQL query that filters which records trigger events, and confi…
- `sf_create_queue` — Creates a Queue in Salesforce. Queues are groups of users that can be assigned records (Cases, Leads, etc.). When a record is assigned to a queue, any queue member can work on it. Use for support teams, sales teams, or any scenario where…
- `sf_create_queue_routing_config` — Associates a Routing Configuration with an existing Queue, enabling OmniChannel routing for that queue. After creating a Routing Configuration (sf_create_routing_configuration), use this tool to link it to the Queue that holds the work i…
- `sf_create_quick_action` — Creates an object-specific quick action on a Salesforce object via the Metadata API. Supports Create, Update, LogACall, and SendEmail action types. Optionally specify a target object (for Create type) and the fields to include in the act…
- `sf_create_record` — Creates a single SObject record via the Salesforce REST API. Provide the object API name and a fields object with field API names and values. For bulk creation (100+ records), use sf_bulk_import_records instead.
- `sf_create_record_type` — Creates a Record Type on a Salesforce object. Record Types allow different page layouts, picklist values, and business processes for different types of records on the same object. For example, create
- `sf_create_remote_site_setting` — Creates a Remote Site Setting to allow an external URL for Apex callouts. Salesforce blocks outbound HTTP calls by default — adding a Remote Site Setting allows Apex code to call that URL. Required for any external API callout from Apex …
- `sf_create_report` — Creates a Salesforce Report using the Report metadata type. Supports Tabular, Summary, Matrix, and Joined formats. Specify the report type (e.g., Accounts, Opportunities), columns to display, and optional filters. Reports are created in …
- `sf_create_report_folder` — Creates a folder for organizing Reports or Dashboards. Folder access types: Hidden (only owner), Shared (explicit sharing), Public (all users). After creating, use sf_share_report_folder to grant access to specific users, roles, or groups.
- `sf_create_report_type` — Creates a Custom Report Type that defines what objects and fields are available when building reports. A report type specifies a primary object and optionally related objects (joined via relationships). Use when the standard report types…
- `sf_create_role` — Creates a Role in the Salesforce role hierarchy. Roles control record visibility through role-based sharing. Users in higher roles can see records owned by users in subordinate roles. Specify a parentRole to place this role in the hierar…
- `sf_create_role_hierarchy` — Creates multiple Salesforce roles in the role hierarchy in a single call. Roles control record visibility — users in higher roles see records owned by subordinate-role users (depending on OWD settings). Use to set up an entire hierarchy …
- `sf_create_routing_configuration` — Creates a Routing Configuration that defines how work items are assigned to agents. routingModel options: - LeastActive: routes to the agent with the fewest active work items - MostAvailable: routes to the agent with the most available c…
- `sf_create_saml_sso_config` — Creates a SAML Single Sign-On (SSO) configuration in Salesforce via the Metadata API. Provide the identity provider issuer URL, base64-encoded IdP certificate, login URL, and user identity mapping settings. Supports username, federation …
- `sf_create_sandbox` — Creates a new sandbox org via the Tooling API (SandboxInfo object). Supports Developer, Developer Pro, Partial Copy, and Full sandbox types. Optionally specify an Apex class to run after the sandbox copy completes. The sandbox creation i…
- `sf_create_scheduled_flow` — Creates a Schedule-Triggered Flow that runs automatically on a recurring schedule (e.g., daily, weekly) against a batch of matching records. Use for nightly batch processing, periodic data updates, or scheduled notifications. fullName: F…
- `sf_create_search_layout` — Creates or updates a SearchLayout for a Salesforce object, defining which fields appear in search results, lookup dialogs, and lookup filter fields. Use to customize what columns users see when they search for records or open a lookup di…
- `sf_create_service_channel` — Creates an OmniChannel Service Channel that connects work items from a Salesforce object to the OmniChannel routing engine. channelType options: Case, Chat, Messaging, Voice, Email, SocialPost, Custom relatedObjectApiName: the Salesforce…
- `sf_create_service_territory` — Creates a Service Territory for Field Service Lightning. Territories define the geographic areas or organizational divisions where field service resources operate. isActive: set true to make the territory immediately available for schedu…
- `sf_create_sharing_rule` — Creates a Sharing Rule for a Salesforce object. Sharing Rules extend the OWD by automatically sharing records with users who meet criteria (criteria-based) or who own records (ownership-based). Use to give specific roles/groups access to…
- `sf_create_skill` — Creates a Skill that can be assigned to service agents. Skills are used for: - OmniChannel skill-based routing (route work to agents with required skills) - Field Service Lightning (assign skills to resources, skills to work types) After…
- `sf_create_static_resource` — Creates a Static Resource from text/JSON/JS/CSS content. Static Resources are files stored in Salesforce and served via a CDN URL — ideal for JavaScript libraries, CSS stylesheets, JSON configuration, or any other file that needs to be s…
- `sf_create_tab` — Creates a Custom Tab for a custom object so it appears in the navigation bar and App Launcher. Tabs are required to make custom objects accessible from the UI. Specify the object API name and choose a motif/icon from Salesforce
- `sf_create_territory` — Creates a Territory in Enterprise Territory Management (ETM). Territories define logical sales regions or account groupings. Requires ETM to be enabled in the org. territoryName: API name (DeveloperName) of the territory label: display n…
- `sf_create_user` — Creates a new Salesforce user via the REST API. Requires username (must be unique and email-like), lastName, email, and profileName. The profile must already exist. Optionally assign a role by roleApiName (DeveloperName of the UserRole).…
- `sf_create_user_role_hierarchy` — Creates a new UserRole in the Salesforce Role Hierarchy. Roles control record visibility — users in higher roles can see records owned by users in lower roles (depending on OWD). Optionally set a parentRoleName to place this role beneath…
- `sf_create_validation_rule` — Creates or updates a Salesforce Validation Rule on any object via the Metadata API. The errorConditionFormula returns TRUE when data is INVALID. Use for data quality enforcement.
- `sf_create_visualforce_component` — Creates a reusable Visualforce component (ApexComponent) in the Salesforce org via the Metadata API. Provide the component API name, label, and Visualforce markup (must include an <apex:component> tag). Components can be included in Visu…
- `sf_create_visualforce_email_template` — Creates a Visualforce email template in the Salesforce org. Provide the template name, subject, recipient type (Contact, Lead, or User), related entity type, and the HTML body with Visualforce markup. A plain-text body is also required f…
- `sf_create_visualforce_page` — Creates a Visualforce page in the Salesforce org via the Metadata API. Provide the page API name, label, and Visualforce markup content (must include an <apex:page> tag). Optionally specify a standard controller, extensions, and whether …
- `sf_create_work_type` — Creates a Work Type that defines a category of field service job. Work Types set default durations, block times, and skill requirements for work orders. estimatedDuration: expected time to complete the work durationType: Minutes, Hours, …
- `sf_create_workflow_field_update` — Creates a Workflow Field Update action that can be referenced by Approval Processes, Workflow Rules, or Flows. Sets a field to a literal value, formula result, or null.
- `sf_create_workflow_rule` — Creates a Workflow Rule (legacy automation) that evaluates criteria and triggers actions. Use for simple automations that don
- `sf_devops_create_work_item` — Creates a work item in Salesforce DevOps Center. Work items represent units of work (features, bug fixes, etc.) that move through pipeline stages from development to production. name: work item name/title description: optional descriptio…
- `sf_freeze_user` — Freezes or unfreezes a Salesforce user account. A frozen user cannot log in but the license is retained (unlike deactivation). Useful for temporarily blocking access without losing data ownership. username or userId: identify the user fr…
- `sf_import_omnistudio_component` — Imports an OmniStudio component into the org from previously exported JSON (from sf_export_omnistudio_component). Optionally renames the component on import. componentType: FlexCard, OmniScript, DataRaptor, IntegrationProcedure, Calculat…
- `sf_refresh_sandbox` — Refreshes an existing sandbox org by re-copying it from production via the Tooling API. The sandbox must already exist (use sf_create_sandbox for new sandboxes). Refreshing resets the sandbox to the current state of the production org. T…
- `sf_reset_user_password` — Resets a Salesforce user
- `sf_resolve_devops_merge_conflict` — Marks a merge conflict in DevOps Center as resolved with a specified resolution strategy. Use after manually resolving conflicts in the source control system. conflictId: merge conflict record ID resolution: resolution strategy —
- `sf_share_report_folder` — Shares a Report or Dashboard folder with users, roles, groups, or territories. Sets access levels (View, Edit, Manage) per share recipient. Use after creating a folder to grant team members access.
- `sf_translate_custom_label` — Adds or updates a translation for a Salesforce Custom Label via the Metadata API (Translations type). Provide the label API name, the target language code (e.g.
- `sf_translate_field_label` — Adds or updates a translation for a field label (and optionally help text) on a Salesforce object via the Metadata API (CustomObjectTranslation type). Provide the object API name, field API name, language code (e.g.
- `sf_update_dashboard` — Updates an existing Dashboard
- `sf_update_flexcard` — Updates an existing OmniStudio FlexCard (OmniUiCard). Reads the current definition, merges the provided changes, and redeploys. Provide only the fields you want to change. The card will be deactivated automatically if active — use sf_act…
- `sf_update_integration_procedure` — Updates an existing Integration Procedure
- `sf_update_lwc` — Updates an existing Lightning Web Component by redeploying it with updated HTML, JavaScript, or CSS. Provide only the files you want to update — any files omitted will use empty placeholders (so you should provide all files you want to k…
- `sf_update_omniscript` — Updates an existing OmniScript
- `sf_update_record` — Updates an existing SObject record by record ID via the Salesforce REST API. Provide the object API name, the 15 or 18 character record ID, and the fields to update. Only provided fields are changed — omitted fields retain their current …
- `sf_update_user` — Updates an existing Salesforce user
- `sf_upsert_record` — Creates or updates a Salesforce record using an External ID field for matching. If a record with the given external ID value exists, it is updated; otherwise a new record is created. objectApiName: the SObject API name (e.g.

## Related servers

- UnClick (1658 tools) — https://policylayer.com/tools/io-github-malamutemayhem-unclick-mcp-server.md
- Nodebench (824 tools) — https://policylayer.com/tools/io-github-homenshum-nodebench.md
- Yaver (812 tools) — https://policylayer.com/tools/io-github-kivanccakmak-yaver.md
- Binance MCP Server (734 tools) — https://policylayer.com/tools/nirholas-binance-mcp.md
- Crow (587 tools) — https://policylayer.com/tools/kh0pper-crow.md
- Fortimanager (584 tools) — https://policylayer.com/tools/jmpijll-fortimanager-mcp.md
- TinyFn (572 tools) — https://policylayer.com/tools/io-tinyfn-tinyfn.md
- Mcp (571 tools) — https://policylayer.com/tools/io-github-2s-io-mcp.md

## For agents

This record is a snapshot. Live verdicts and the full registry:

- Check every server in your MCP config at once: `npx -y policylayer stack`
- Vet a server before you add it: install the mcp-precheck skill — `npx skills add https://policylayer.com` (skill text: https://policylayer.com/skill.md)
- Query the registry over MCP: endpoint `https://api.policylayer.com/mcp` — tools `check_mcp_server`, `check_mcp_stack`, `check_tool`, `search_registry`, `get_change_events`

---

Source: the PolicyLayer MCP registry — one continuously verified record per MCP server. Full record: https://policylayer.com/registry?q=io-github-semwalajay83-sem-salesforce-metadata-mcp · API: https://policylayer.com/registry/api · Recommended policies for every tool: https://policylayer.com/policies/io-github-semwalajay83-sem-salesforce-metadata-mcp
