Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, email [email protected] and we’ll put it right.

io.github.semwalajay83-sem/salesforce-metadata-mcp

NPM · SALESFORCE-METADATA-MCP · SCANNED AUG 3

The only Salesforce MCP with Agentforce, OmniStudio & DevOps Center tools — 222 total.

+22 this week 65 Trust /100
Trust breakdown (6 categories)

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score →

Supply Chain Security83
  • No malware found by supply-chain analysis.Pass
  • CVE check failed: a known medium-severity CVE affects @hono/node-server 1.19.17, reached via @modelcontextprotocol/sdk > @hono/node-server. A fixed version is available. View diagnostics → Fail
  • No install/post-install scripts declared.Pass
  • Only part of the dependency tree could be resolved (107 of 111), so this covers what we could see, not the whole tree. View diagnostics → Partial
Provenance & Transparency45
Schema Quality & AI Usability65
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 38003 tokens (~171/item across 222 items; 222 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management23
  • Stability check failed: the tool surface changed between 2.7.0 and 2.8.7: 0 tool removals, 1 breaking changes, 3 additions. See how to fix → Fail
Tool Coverage98
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 94% of tool parameters carry a description.Partial
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Install

Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.

npm · salesforce-metadata-mcp

# add to Claude Code
claude mcp add semwalajay83-sem-salesforce-metadata-mcp -- npx -y salesforce-metadata-mcp
# add to Codex CLI
codex mcp add semwalajay83-sem-salesforce-metadata-mcp -- npx -y salesforce-metadata-mcp
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "semwalajay83-sem-salesforce-metadata-mcp": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "salesforce-metadata-mcp"
      ],
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add semwalajay83-sem-salesforce-metadata-mcp --command npx --arg -y --arg salesforce-metadata-mcp
# ~/.hermes/config.yaml
mcp_servers:
  semwalajay83-sem-salesforce-metadata-mcp:
    command: "npx"
    args: ["-y", "salesforce-metadata-mcp"]
// mcp.json
{
  "mcpServers": {
    "semwalajay83-sem-salesforce-metadata-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "salesforce-metadata-mcp"
      ]
    }
  }
}
Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 2 Aug 26 +39
    • Known CVEs: unverified → fail security
    • Stability: unverified → fail security
    • Malware scan: unverified → pass security
    • Schema quality: unverified → excellent functional
    • MCP protocol: unverified → pass functional
    • Dependency health: unverified → partial functional
  • 1 Aug 26 −9
    • Known CVEs: fail → unverified security
    • Dependency health: partial → unverified functional
  • 31 Jul 26 +20
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 30 Jul 26 +7
    • Provenance: unverified → fail security
    • Install scripts: unverified → pass security
    • Security disclosure: unverified → fail functional
    • Dependency health: partial → unverified functional
    • Maintenance: unverified → pass functional
    • License: unverified → pass functional
    • Licence: MIT functional
  • 29 Jul 26 −16
    • Malware scan: pass → unverified security
    • Security disclosure: fail → unverified functional
    • Dependency health: unverified → partial functional
    • Package version: 2.7.0 → 2.8.0 functional
  • 28 Jul 26 −19
    • Tool coverage: 100 → unverified functional
    • First check of Schema quality: unverified functional
  • 27 Jul 26 43

    First indexed and scored.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 3 Aug 2026 · Analysed npm/[email protected]

Provenance none

Ecosystem: npm · Outcome: none

Vulnerabilities 1 finding
ID CVE Severity Vector Fix available
GHSA-frvp-7c67-39w9 medium CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N yes
Dependencies 107 packages

107 packages in the resolved dependency tree · 107 deprecated · 39 stale.

The dependency tree was only partially resolved, so these counts may be incomplete.

MCP tools — 222 exposed · ~38,003 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability.

Tool Tokens
sf_create_custom_metadata_record ~125

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., 'Config__mdt'), a record name, and field values.

NameTypeReqDescription
labelstringyesRecord label
recordNamestringyesRecord developer name, e.g. 'Default_Config'
typeNamestringyesCustom Metadata Type API name, e.g. 'Config__mdt'
valuesarrayyesField values for this record

No output schema declared.

No examples provided.

sf_create_custom_metadata_type ~138

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 custom objects.

NameTypeReqDescription
descriptionstringDescription of the type
fieldsarrayCustom fields to add to this type
fullNamestringyesAPI name of the Custom Metadata Type, e.g. 'Config__mdt'
labelstringyesSingular label, e.g. 'Config'
pluralLabelstringyesPlural label, e.g. 'Configs'

No output schema declared.

No examples provided.

sf_create_custom_notification_type ~121

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 in-app alerts for important business events.

NameTypeReqDescription
customNotifTypeNamestringyesDisplay name for the notification type
descriptionstringDescription
desktopbooleanEnable for desktop (web browser)
fullNamestringyesCustom notification type API name
mobilebooleanEnable for mobile app

No output schema declared.

No examples provided.

sf_create_custom_object ~288

Creates a new Salesforce Custom Object using the Metadata API. The object name must end with '__c'. Use this when a user asks to create a new object, entity, or table in Salesforce.

NameTypeReqDescription
autoNumberFormatstringFormat for AutoNumber name field, e.g. 'INV-{0000}'. Required when nameFieldType is AutoNumber.
deploymentStatusstringDeployment status of the object
descriptionstringOptional description for the object
enableActivitiesbooleanAllow activities (tasks/events) on this object
enableHistorybooleanEnable field history tracking
enableReportsbooleanMake the object available for reports
enableSearchbooleanEnable search on this object
fullNamestringyesAPI name of the custom object, e.g. 'Invoice__c'
labelstringyesSingular label shown in the UI, e.g. 'Invoice'
nameFieldLabelstringLabel for the standard Name field, e.g. 'Invoice Name'
nameFieldTypestringType of Name field: 'Text' (free-form) or 'AutoNumber' (auto-increment)
pluralLabelstringyesPlural label, e.g. 'Invoices'
sharingModelstringOWD sharing model for the object

No output schema declared.

No examples provided.

sf_create_custom_permission ~154

Creates a Custom Permission that can be checked in formulas with $Permission.MyPerm or in Apex with FeatureManagement.checkPermission('MyPerm'). Assign custom permissions to users via Permission Sets. Use for feature flags, conditional UI rendering, or access gates. fullName: permission API name (e.g. 'Can_Approve_Discounts') label: display label description: optional description requiredPermissions: other custom permissions required before this one can be granted

NameTypeReqDescription
descriptionstringDescription
fullNamestringyesCustom permission API name, e.g. 'Can_Approve_Discounts'
labelstringyesDisplay label
requiredPermissionsarrayOther custom permissions required by this one

No output schema declared.

No examples provided.

sf_create_custom_setting ~171

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, or configurable constants.

NameTypeReqDescription
descriptionstringDescription of this custom setting
fieldsarrayCustom fields to add to this setting
fullNamestringyesAPI name of the custom setting, e.g. 'OrgPreferences__c'
labelstringyesLabel for the custom setting object
settingTypestringHierarchy: overridable at org/profile/user level. List: simple key-value list.
visibilitystringPublic: accessible to all Apex/VF. Protected: only accessible within the namespace.

No output schema declared.

No examples provided.

sf_create_custom_tab ~213

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 website, an internal Visualforce page by URL, or a custom web app. fullName: API name for the tab (no spaces, e.g. 'My_Web_Tab') label: display label shown in the tab bar url: the URL the tab points to, e.g. 'https://example.com' description: optional description hasSidebar: whether to show the Salesforce sidebar alongside the tab content

NameTypeReqDescription
descriptionstringTab description
fullNamestringyesTab API name, e.g. 'My_Web_Tab'
hasSidebarbooleanWhether the tab shows the Salesforce sidebar
labelstringyesTab display label
urlstringyesURL the tab points to, e.g. 'https://example.com'

No output schema declared.

No examples provided.

sf_create_dashboard ~130

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 'FolderName/DashboardName' and add components linked to existing reports. Use when a team needs a visual summary of their metrics.

NameTypeReqDescription
componentsarrayDashboard components
descriptionstringDescription
fullNamestringyesDashboard full name including folder: 'FolderName/DashboardName'
runningUserstringUsername to run the dashboard as
titlestringyesDashboard title

No output schema declared.

No examples provided.

sf_create_data_category ~139

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 label: display label objectUsage: object type to categorize (e.g. 'KnowledgeArticle') categories: top-level categories with optional sub-categories

NameTypeReqDescription
categoriesarrayTop-level categories
descriptionstringGroup description
fullNamestringyesData category group API name
labelstringyesGroup display label
objectUsagestringObject to categorize, e.g. 'KnowledgeArticle'

No output schema declared.

No examples provided.

sf_create_dataraptor ~278

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 Salesforce objects using SOQL-like field mappings - Transform: converts/maps data between formats (JSON path transformations) - Load: writes data to Salesforce objects Each field mapping defines: - sourceField: source JSON path or Salesforce field API name - targetField: target JSON path or Salesforce field API name - dataType: data type (Text, Number, Boolean, Date, etc.) - formula: optional transformation formula filterCriteria: SOQL WHERE clause for Extract DataRaptors (e.g. "Id = ':AccountId'")

NameTypeReqDescription
dataRaptorNamestringyesAPI name of the DataRaptor
descriptionstring
fieldsarrayField mappings
filterCriteriastringSOQL WHERE clause for Extract, e.g. 'Id = :recordId'
interfaceTypestringyesDataRaptor type: Extract reads from SF, Transform maps data, Load writes to SF
labelstringyes
objectApiNamestringPrimary SObject for Extract or Load (e.g. 'Account')

No output schema declared.

No examples provided.

sf_create_devops_pull_request ~101

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 description: optional pull request description

NameTypeReqDescription
descriptionstringPull request description
titlestringyesPull request title
workItemIdstringyesDevOps Center work item ID

No output schema declared.

No examples provided.

sf_create_document_generation ~217

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 generation config label: display label objectApiName: the Salesforce object this template generates documents for templateType: Word, PDF, or Excel (default: Word) dataSourceType: DataRaptor or IntegrationProcedure (default: DataRaptor) dataSourceName: API name of the DataRaptor or Integration Procedure to use for data description: optional description

NameTypeReqDescription
dataSourceNamestringyesDataRaptor or Integration Procedure API name to feed data
dataSourceTypestringData source type
descriptionstringTemplate description
labelstringyesTemplate display label
objectApiNamestringyesContext object API name, e.g. 'Account'
templateNamestringyesTemplate API name
templateTypestringOutput document format

No output schema declared.

No examples provided.

sf_create_duplicate_rule ~190

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 existing Matching Rules.

NameTypeReqDescription
actionOnInsertstringWhat to do when a duplicate is found on insert
actionOnUpdatestringWhat to do when a duplicate is found on update
alertMessagestringCustom message shown when duplicate is detected
descriptionstringDescription
isActivebooleanWhether this rule is active
labelstringyesDisplay label
matchingRulesarrayyesMatching rules to use for duplicate detection
objectNamestringyesObject API name, e.g. 'Lead', 'Contact', 'Account'
ruleNamestringyesDuplicate rule developer name

No output schema declared.

No examples provided.

sf_create_einstein_bot ~276

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 using large language models, use sf_create_agent (Agentforce/Einstein Service Agent) instead. Classic Einstein Bots are best suited for: - Structured FAQ automation - Simple data collection workflows - Channels that don't support Agentforce (SMS, WhatsApp via classic routing) Each dialog defines: - name/label: the dialog identifier - utterances: training phrases that trigger this dialog - messages: bot responses shown to the user - type: Main (user-facing), System (internal), Rule (condition-based) The bot is created with an ML domain for intent classification. After creation: 1. Train the bot in Setup → Einstein Bots → {BotName} → Train 2. Activate the bot 3. Connect it to a messaging channel or chat button

NameTypeReqDescription
botNamestringyesBot API name
defaultLocalestringDefault language/locale, e.g. 'en_US', 'fr', 'de'
descriptionstringBot description
dialogsarrayBot dialogs
labelstringyesBot display label

No output schema declared.

No examples provided.

sf_create_einstein_prediction ~419

Creates an Einstein Prediction Builder prediction definition (MLPredictionDefinition metadata type). Predictions analyze historical Salesforce data to score or classify records automatically. predictionType: - BinaryClassification: predict a yes/no outcome (e.g. Will this opportunity close? Is this lead likely to convert?) - Regression: predict a numeric value (e.g. Expected revenue, likelihood score) targetField: the field the prediction is based on (e.g. 'IsWon' for BinaryClassification on Opportunity) pushbackField: an existing custom field to write the prediction score to automatically IMPORTANT: Einstein Prediction Builder requires an Einstein Analytics license or the Einstein Platform add-on. If the org lacks this license, the metadata deployment will succeed but the prediction cannot be trained or activated. This tool creates the definition — training happens in Setup → Einstein → Prediction Builder. The prediction is created in Draft status. Activate it from Setup after training is complete.

NameTypeReqDescription
aiApplicationDeveloperNamestringyesREQUIRED by Salesforce. API name of an existing AIApplication that owns this prediction — Einstein Prediction Builder creates one per app. The deploy fails with 'Required field is missing: aiApplicat…
descriptionstringPrediction description
labelstringyesPrediction display label
negativeLabelstringLabel for negative outcome (BinaryClassification only)
objectApiNamestringSalesforce object to run predictions on, e.g. 'Opportunity'
objectNamestringAlias for objectApiName
positiveLabelstringLabel for positive outcome (BinaryClassification only)
predictionNamestringyesPrediction API name
predictionTypestringyesBinaryClassification/Classification for yes/no, Regression for numeric
pushbackFieldstringField to write the prediction score to, e.g. 'Win_Score__c'
targetFieldstringyesField API name to predict, e.g. 'IsWon'. Deployed as <predictionField> together with objectApiName.

No output schema declared.

No examples provided.

sf_create_email_alert ~215

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 send notification emails as part of automation.

NameTypeReqDescription
alertNamestringyesAPI name of the email alert, e.g. 'Notify_Owner_On_Close'
descriptionstringDescription
labelstringyesDisplay label
objectNamestringyesObject API name, e.g. 'Opportunity', 'Case'
protectedbooleanProtected email alert
recipientsarrayyesWho receives the email
senderAddressstringOrg-wide email address (required if senderType is OrgWideEmailAddress)
senderTypestringWho the email appears to come from
templatestringyesEmail template full name, e.g. 'unfiled$public/MyTemplate' or 'MyFolder/MyTemplate'

No output schema declared.

No examples provided.

sf_create_email_template ~265

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., 'unfiled$public/MyTemplate') or 'MyFolder/MyTemplate'. Use relatedEntityType to enable object-specific merge fields.

NameTypeReqDescription
availablebooleanMake template available for use
bodystringyesPlain text body of the email
descriptionstringDescription
encodingstringCharacter encoding
fullNamestringyesFull name including folder: 'FolderName/TemplateName' or 'unfiled$public/TemplateName'
htmlValuestringHTML body of the email (for html type templates)
labelstringyesDisplay label
namestringyesTemplate developer name (no spaces)
relatedEntityTypestringRelated object API name, e.g. 'Opportunity', 'Contact'
replyTostringReply-to email address
senderNamestringSender display name
subjectstringyesEmail subject line (can include merge fields like {!Account.Name})
typestringTemplate type

No output schema declared.

No examples provided.

sf_create_embedded_service ~324

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 (uses a MessagingChannel) chatButtonName: required for Chat type — the LiveChatButton API name messagingChannelName: required for Messaging type — the MessagingChannel API name site: the Experience Cloud site or Salesforce Site API name to associate with Branding: - primaryColor: main brand color (hex, e.g. "#0070D2") - secondaryColor: secondary/header color - fontName: web font name (e.g. "Salesforce Sans") After creation, get the deployment code snippet from Setup → Embedded Service Deployments.

NameTypeReqDescription
channelTypestring
chatButtonNamestringLiveChatButton API name (for LiveAgent)
deploymentNamestringAPI name of the Embedded Service deployment
descriptionstring
fontNamestringFont family name, e.g. 'Salesforce Sans'
labelstringyes
messagingChannelNamestringMessagingChannel API name (for MessagingChannel)
primaryColorstringPrimary brand color hex, e.g. '#0070D2'
secondaryColorstringSecondary color hex
serviceNamestringAlias for deploymentName
sitestringyesExperience Cloud site name or 'none' for non-community deployment

No output schema declared.

No examples provided.

sf_create_entitlement_process ~180

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: display name businessHoursName: optional business hours to apply entryStartDateField: field that starts the SLA clock milestones: array of milestone definitions to include

NameTypeReqDescription
businessHoursNamestringBusiness hours name (optional)
descriptionstringDescription
entryStartDateFieldstringStart date field API name
exitCriteriaBooleanFilterstringBoolean filter for exit criteria
fullNamestringyesEntitlement process API name
milestonesarrayMilestones to include in the process
namestringyesDisplay name

No output schema declared.

No examples provided.

sf_create_escalation_rule ~113

Creates an Escalation Rule for Cases. Escalation rules automatically escalate cases that haven't been closed within a specified time, reassigning them to other users or queues and optionally sending notifications. Based on business hours and a configurable start date (creation time or last modification).

NameTypeReqDescription
activebooleanSet as the active escalation rule
labelstringyesDisplay label
ruleEntriesarrayyesRule entries
ruleNamestringyesEscalation rule developer name

No output schema declared.

No examples provided.

sf_create_experience_page ~126

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's URL prefix. Use after creating the site to add additional pages for different content sections.

NameTypeReqDescription
labelstringyesPage display label
pageNamestringyesPage developer name
siteNamestringyesExperience site API name
typestringPage type
urlstringPage URL path, e.g. '/my-page'

No output schema declared.

No examples provided.

sf_create_experience_site ~208

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), Microsites (standalone pages). The urlPathPrefix appears in the site URL (e.g., 'customers' → org.force.com/customers). Site starts in UnderConstruction status by default.

NameTypeReqDescription
descriptionstringSite description
guestUserProfilestringGuest user profile API name (default: '<SiteName> Profile')
labelstringyesSite display label
siteNamestringyesSite API name, e.g. 'CustomerPortal'
statusstringInitial site status
templatestringExperience Cloud template to use
urlPathPrefixstringyesURL path prefix, e.g. 'customers' → https://org.force.com/customers

No output schema declared.

No examples provided.

sf_create_external_client_app ~599

Creates an External Client App (ECA), Salesforce's newer replacement for Connected Apps, for OAuth authentication and server-to-server integrations. Prefer this over sf_create_connected_app: on ECAs, Client Credentials Flow — including which user it runs as — is fully configurable via this tool (enableClientCredentialsFlow + clientCredentialsFlowUser), whereas on classic Connected Apps that same setting can only be picked in Setup UI. Deploys all 3 underlying metadata records (ExternalClientApplication, ExtlClntAppOauthSettings, ExtlClntAppOauthConfigurablePolicies) in one call. Use 'Chatbot' and/or 'SFApiPlatform' scopes for any app that needs to call the Salesforce Agent API (e.g. testing an Agentforce agent's conversation flow) or a bot's Messaging API. NOTE: the Consumer Key/Secret this app needs to actually mint a token can still only be viewed once in Setup → External Client Apps → [name] → Settings → OAuth Settings — no Salesforce API exposes it, for either app type.

NameTypeReqDescription
clientCredentialsFlowUserstringUsername to run Client Credentials Flow requests as (e.g. '[email protected]'). Required by Salesforce if enableClientCredentialsFlow is true. This IS settable via the Metadata API for External Client…
contactEmailstringyesContact email for the app
descriptionstringDescription
enableClientCredentialsFlowbooleanSets isClientCredentialsFlowEnabled=true on ExtlClntAppOauthConfigurablePolicies.
fullNamestringyesExternal Client App API name, e.g. 'My_External_App'. Used for all three underlying metadata records (ExternalClientApplication, ExtlClntAppOauthSettings, ExtlClntAppOauthConfigurablePolicies) — this…
ipRelaxationPolicyTypestringIP restriction enforcement for this app's OAuth tokens.
labelstringyesDisplay label
permittedUsersPolicyTypestringWho can authorize this app. AdminApprovedPreAuthorized (recommended for Client Credentials Flow) restricts use to explicitly pre-authorized profiles/permission sets. Defaults to Salesforce's own defa…
refreshTokenPolicyTypestringRefresh token expiry strategy.
scopesarrayyesOAuth scopes to request, using Salesforce's exact enum literals (PascalCase — this is the ExtlClntAppOauthSettings.commaSeparatedOauthScopes enum, unrelated to the lowercase OAuth2 scope-string conve…

No output schema declared.

No examples provided.

sf_create_external_data_source ~183

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 adapters. The external data then appears as External Objects (__x) in Salesforce.

NameTypeReqDescription
descriptionstringDescription
endpointstringyesEndpoint URL
fullNamestringyesExternal data source API name
labelstringyesDisplay label
passwordstringPassword for Password protocol
principalTypestringAuthentication principal type
protocolstringAuthentication protocol
typestringConnection type: SimpleURL for basic, OData2/OData4 for OData, Apex for custom
usernamestringUsername for Password protocol

No output schema declared.

No examples provided.

sf_create_external_id_field ~165

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: field API name ending in __c label: display label type: field type (Text, Number, Email, or AutoNumber) length: max length for Text fields

NameTypeReqDescription
descriptionstringField description
fullNamestringyesField API name ending in __c
labelstringyesField display label
lengthintegerLength for Text fields
objectNamestringyesObject API name, e.g. 'Account'
typestringyesField data type

No output schema declared.

No examples provided.

sf_create_external_object ~164

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 related lists, and can be used in reports. Requires an existing External Data Source.

NameTypeReqDescription
descriptionstringDescription
externalDataSourcestringyesExternal data source API name to link to
externalNamestringName in the external system (table/entity name)
fieldsarrayCustom fields to add
fullNamestringyesExternal object API name, e.g. 'Product__x'
labelstringyesSingular label
pluralLabelstringyesPlural label

No output schema declared.

No examples provided.

sf_create_field_dependency ~114

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 = 'USA', State shows only US states.

NameTypeReqDescription
controllingFieldstringyesControlling picklist field API name
dependentFieldstringyesDependent picklist field API name
objectNamestringyesObject API name
valueSettingsarrayyesValue dependency mappings

No output schema declared.

No examples provided.

sf_create_field_level_security ~139

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: object API name fieldName: field API name (e.g. 'Revenue__c') profiles: array of {profileName, readable, editable}

NameTypeReqDescription
fieldNamestringyesField API name, e.g. 'Revenue__c'
objectNamestringyesObject API name, e.g. 'Account'
profilesarrayyesProfile-level field access settings

No output schema declared.

No examples provided.

sf_create_field_set ~140

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 fields that users can add.

NameTypeReqDescription
availableFieldsarrayAdditional available fields not in the field set
descriptionstringDescription
fieldSetNamestringyesField set API name
fieldsarrayyesArray of field API names to include
labelstringyesDisplay label
objectNamestringyesObject API name, e.g. 'Account'

No output schema declared.

No examples provided.

sf_create_field_update ~225

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 update applies to fullName: developer name of the field update name: display name field: field API name to update operation: Formula, Literal, LiteralBlank, or Null formula: Apex formula (for Formula operation) literalValue: static value to set (for Literal operation)

NameTypeReqDescription
descriptionstringDescription
fieldstringyesField API name to update, e.g. 'StageName'
formulastringFormula expression (when operation=Formula)
fullNamestringyesField update developer name
literalValuestringLiteral value to set (when operation=Literal)
namestringyesDisplay name for the field update
objectNamestringyesObject API name, e.g. 'Opportunity'
operationstringyesType of update operation

No output schema declared.

No examples provided.

sf_create_flexcard ~305

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) - Fields to display from the data source - Actions the user can take (navigate, launch OmniScript, open URL, start Flow) - States (card variations based on data conditions) The card is created in inactive state. Use sf_activate_flexcard to activate it after creation. dataSourceType options: - SOQL: provide a dataSourceName with a SOQL query string - DataRaptor: provide the DataRaptor interface name - IntegrationProcedure: provide the Integration Procedure key (Type_SubType) - Apex: provide the Apex class name - None: no data source (static card)

NameTypeReqDescription
actionsarrayCard actions
cardNamestringyesAPI name of the FlexCard (OmniUiCard)
dataSourceNamestringSOQL query, DataRaptor name, or Integration Procedure name
dataSourceTypestring
descriptionstring
fieldsarrayFields to display on the card
labelstringyesHuman-readable label
objectApiNamestringPrimary SObject, e.g. 'Account'
statesarrayConditional states

No output schema declared.

No examples provided.

sf_create_flexipage ~180

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 RecordPage provide the object API name. The page can then be activated and assigned via Setup > Lightning App Builder.

NameTypeReqDescription
descriptionstringDescription
labelstringyesDisplay label
masterLabelstringyesMaster label for the page
objectApiNamestringObject API name (required for RecordPage)
pageNamestringyesFlexiPage API name
pageTypestringyesType of Lightning page
templatestringPage template name, e.g. 'header_and_right_rail'

No output schema declared.

No examples provided.

sf_create_flow ~743

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, DeleteRecords, SendEmailAlert, ApexAction, Subflow, Loop, Assignment, Screen via the 'elements' array. GetRecords filter operators supported: EqualTo, NotEqualTo, GreaterThan, LessThan, GreaterThanOrEqualTo, LessThanOrEqualTo, IsNull, StartsWith, EndsWith. Contains is NOT supported by Salesforce Flow record lookups and will return an error. IMPORTANT for Agentforce: set flowType to 'AutoLaunchedFlow' and status to 'Active' — Draft flows and Screen flows cannot be invoked by agents.

NameTypeReqDescription
apiNamestringyesAPI name for the flow, e.g. 'New_Lead_Onboarding'
constantsarrayConstant resources — fixed values that never change during the flow run.
descriptionstringDescription of what this flow does
elementsarrayAdvanced flow elements: Decision, GetRecords, CreateRecords, UpdateRecords, DeleteRecords, SendEmailAlert, ApexAction, Subflow, Loop, Assignment, Screen. (Wait and PlatformEvent are not supported — t…
fieldUpdatesarraySimple field updates on the triggering record (for RecordTriggeredFlow)
flowTypestringFlow type: 'AutoLaunchedFlow' (required for Agentforce actions — agents can ONLY invoke AutoLaunchedFlow, not Screen flows), 'Flow' (Screen flow for guided UI), 'RecordTriggeredFlow' (fires on record…
formulasarrayFormula resources — recalculated every time they are referenced. Use for derived values instead of an Assignment when the value should always reflect current data.
labelstringyesHuman-readable flow label, e.g. 'New Lead Onboarding'
recordTriggerTypestringWhich record changes fire the flow: 'Create' (new records only), 'Update' (edits only), 'CreateAndUpdate' (default), 'Delete'. Ignored for RecordBeforeDelete, which is already delete-only.
scheduleFrequencystringHow often a ScheduledFlow runs. Defaults to Daily.
scheduleStartDatestringDate a ScheduledFlow starts running, YYYY-MM-DD. Defaults to today.
scheduleStartTimestringTime of day a ScheduledFlow runs, e.g. '13:00:00.000Z'. Defaults to midnight UTC.
statusstringFlow activation status. IMPORTANT: Agentforce agents can ONLY invoke Active flows — Draft flows are invisible to agents and will cause silent failures. Set to 'Active' when creating flows for agent a…
submitForApprovalProcessNamestringAPI name of the Approval Process to automatically submit the record into. Works with any approval process — just pass its API name.
textTemplatesarrayText template resources — reusable text blocks with merge fields, typically for email bodies.
triggerFilterFormulastringFormula to filter which records trigger the flow, e.g. "ISPICKVAL(StageName,'Closed Won')"
triggerObjectstringObject API name for record-triggered flows, e.g. 'Opportunity'
triggerTypestringWhen to trigger: RecordBeforeSave, RecordAfterSave, RecordBeforeDelete
variablesarrayInput/output variables

No output schema declared.

No examples provided.

sf_create_flow_from_xml ~156

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's parameter-based builder — paste the full Flow XML and it deploys it directly. Optionally activates the flow after deployment. The flowXml must be a complete Flow metadata XML document.

NameTypeReqDescription
activatebooleanActivate the flow after deployment (default: true). Set to false to deploy as inactive draft.
flowApiNamestringyesAPI name of the flow to deploy, e.g. 'My_Flow'
flowXmlstringyesComplete Flow XML content (the full metadata file, starting with <?xml version...> or <Flow xmlns...>)

No output schema declared.

No examples provided.

sf_create_forecast_hierarchy ~137

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 reporteeUsername: username of the user being managed forecastingType: the forecasting type DeveloperName (e.g. 'OpportunityRevenue')

NameTypeReqDescription
displayCurrencystringCurrency code for display (e.g. 'USD', 'EUR')
forecastingTypestringForecasting type
isActivebooleanEnable this forecasting type
roleNamestringRole name (informational)

No output schema declared.

No examples provided.

sf_create_formula_field ~399

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, TODAY, NOW, date functions (MONTH/YEAR/DAY), math (FLOOR/CEILING/MOD), string functions (LEN/LEFT/RIGHT/MID/TRIM/UPPER/LOWER/CONTAINS/BEGINS), record type and picklist functions (ISPICKVAL, ISNULL, ISBLANK), cross-object field references (e.g. Account.Owner.Name), and VLOOKUP. Complex multi-line formulas are fully supported.

NameTypeReqDescription
descriptionstringField description
fieldNamestringyesField name without __c suffix
formulastringyesSalesforce formula expression. Supports all Salesforce formula functions: IF, AND, OR, NOT, BLANKVALUE, TEXT, VALUE, DATE, DATEVALUE, TODAY, NOW, MONTH, YEAR, DAY, FLOOR, CEILING, MOD, LEN, LEFT, RIG…
formulaTreatBlanksAsstringHow to treat blank fields in the formula. Defaults to BlankAsZero for numeric types, BlankAsLogicalFalse for Checkbox.
labelstringyesField label
objectApiNamestringyesObject API name, e.g. 'Opportunity'
precisionintegerTotal number of digits for Number/Currency/Percent return types (default 18)
returnTypestringyesFormula return type
scaleintegerDecimal places for Number/Currency/Percent return types

No output schema declared.

No examples provided.

sf_create_global_action ~114

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 menu.

NameTypeReqDescription
actionNamestringyesGlobal action API name
actionTypestringyesType of global action
descriptionstringDescription
labelstringyesDisplay label
targetObjectstringTarget object API name (for Create type)

No output schema declared.

No examples provided.

sf_create_global_value_set ~167

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 values (like Status, Priority, Region) should be shared and kept in sync across multiple objects. fullName must end with __gvs, e.g. 'Industry_Types__gvs'.

NameTypeReqDescription
descriptionstringDescription
fullNamestringyesAPI name of the global value set, e.g. 'Industry_Types__gvs'
masterLabelstringyesLabel for the global value set
sortedbooleanAuto-sort values alphabetically
valuesarrayyesPicklist values

No output schema declared.

No examples provided.

sf_create_holiday ~175

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 holiday with specific Business Hours.

NameTypeReqDescription
activityDatestringDate for non-recurring holiday (YYYY-MM-DD)
businessHoursNamestringAssociated business hours name
descriptionstringDescription
isRecurringbooleanWhether this holiday recurs annually
namestringyesHoliday name
recurrenceEndDateOnlystringRecurrence end date (YYYY-MM-DD)
recurrenceStartDatestringRecurrence start date (YYYY-MM-DD)
recurrenceTypestringRecurrence type, e.g. 'RecursYearly'

No output schema declared.

No examples provided.

sf_create_integration_procedure ~272

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 use the OmniScript metadata type with omniProcessType=IntegrationProcedure. The fullName is ProcedureName_SubType. Element types: - DataRaptor: call a DataRaptor for Salesforce CRUD - HTTPAction: call an external REST/SOAP API - Response: return data to the caller - Loop: iterate over a collection - Conditional: branch based on conditions - SetValues: set variables - ExceptionBlock: handle errors - Matrix: call a Calculation Matrix - OmniScript: call a nested OmniScript - Aggregate: combine multiple data sources Set isActive: true to activate immediately after creation.

NameTypeReqDescription
descriptionstring
elementsarrayProcedure elements (DataRaptor, HTTP calls, conditionals)
isActivebooleanActivate immediately after creation
labelstringyes
procedureNamestringyesType portion of procedure key, e.g. 'Account'
subTypestringyesSub-type portion, e.g. 'GetDetails' — fullName = type_subType

No output schema declared.

No examples provided.

sf_create_knowledge_article_type ~129

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. Requires Knowledge to be enabled in the org.

NameTypeReqDescription
articleTypeNamestringyesArticle type API name (must end in __kav)
descriptionstringDescription
fieldsarrayCustom fields for the article type
labelstringyesSingular label
pluralLabelstringyesPlural label

No output schema declared.

No examples provided.

sf_create_letterhead ~170

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. fullName: letterhead API name name: display name backgroundColor: page background color hex, e.g. '#FFFFFF' bodyColor: body area background color hex headerColor: header section background color hex description: optional description

NameTypeReqDescription
backgroundColorstringBackground color hex, e.g. '#FFFFFF'
bodyColorstringBody background color hex
descriptionstringDescription
fullNamestringyesLetterhead API name
headerColorstringHeader background color hex
namestringyesDisplay name

No output schema declared.

No examples provided.

sf_create_lightning_app ~202

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 bar with objects, home, reports, etc. Use when a user wants a custom app experience for a specific team or use case.

NameTypeReqDescription
descriptionstringDescription
fullNamestringyesApp API name, e.g. 'Sales_Console'
isNavAutoTempTabsDisabledboolean
isNavPersonalizationDisabledboolean
labelstringyesApp display label
navItemsarrayNavigation bar items
navTypestringStandard: tabs. Console: split view.
setupExperiencestring
uiTypestringMust be Lightning for modern apps
utilityItemsarrayUtility bar items

No output schema declared.

No examples provided.

sf_create_list_view ~198

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 'My Open Cases', 'High Priority Leads', or 'Deals Closing This Month' that appear in the object's list view selector.

NameTypeReqDescription
booleanFilterstringBoolean filter expression, e.g. '1 AND 2 OR 3'
columnsarrayColumn field API names, e.g. ['Name', 'Account.Name', 'Status__c']
filterScopestringBase scope filter
filtersarrayFilter criteria
fullNamestringyesList view developer name
labelstringyesDisplay label
objectNamestringyesObject API name, e.g. 'Account', 'Lead', 'Opportunity'
sharedToobjectWho can see this list view

No output schema declared.

No examples provided.

sf_create_lwc ~248

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 Metadata API. Specify targets to make the component available in Lightning App Builder (AppPage, RecordPage, HomePage), Flow Screen, Utility Bar, or Experience Cloud. Use isExposed:true to make it drag-and-drop in App Builder.

NameTypeReqDescription
apiVersionstringAPI version for this component
componentNamestringyesLWC component name in camelCase, e.g. 'accountCard', 'opportunityList'
cssstringOptional CSS styles content
descriptionstringDescription of the component
htmlstringyesHTML template content (the content of the .html file, including <template> tags)
isExposedbooleanMake the component available in Lightning App Builder
javascriptstringyesJavaScript controller content (the content of the .js file, including import statements and class)
targetsarrayWhere this component can be placed in Lightning

No output schema declared.

No examples provided.

sf_create_lwc_from_requirements ~173

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 component name in camelCase requirements: plain-English description of what the component should do includeWireAdapters: include @wire adapter examples for data fetching targetObject: optional Salesforce object to bind to

NameTypeReqDescription
componentNamestringyesLWC component name in camelCase, e.g. 'accountTile'
includeWireAdaptersbooleanInclude wire adapter examples in the component
requirementsstringyesPlain-English description of what the component should do
targetObjectstringSalesforce object to bind to, e.g. 'Account'

No output schema declared.

No examples provided.

sf_create_lwc_jest_test ~148

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 name in camelCase, e.g. 'myButton' testContent: Jest test file content (JavaScript) apiVersion: Salesforce API version

NameTypeReqDescription
apiVersionstringAPI version, e.g. '62.0'
componentNamestringyesLWC component name (camelCase), e.g. 'myButton'
testContentstringyesJest test file content (JavaScript)

No output schema declared.

No examples provided.