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.
Available components
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
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
- Clear OSI-approved license (MIT).Pass
- Actively maintained (last published 2 days ago).Pass
- Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
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
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
claude mcp add semwalajay83-sem-salesforce-metadata-mcp -- npx -y salesforce-metadata-mcp
codex mcp add semwalajay83-sem-salesforce-metadata-mcp -- npx -y salesforce-metadata-mcp
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"semwalajay83-sem-salesforce-metadata-mcp": {
"type": "local",
"command": [
"npx",
"-y",
"salesforce-metadata-mcp"
],
"enabled": true
}
}
} openclaw mcp add semwalajay83-sem-salesforce-metadata-mcp --command npx --arg -y --arg salesforce-metadata-mcp
mcp_servers:
semwalajay83-sem-salesforce-metadata-mcp:
command: "npx"
args: ["-y", "salesforce-metadata-mcp"] {
"mcpServers": {
"semwalajay83-sem-salesforce-metadata-mcp": {
"command": "npx",
"args": [
"-y",
"salesforce-metadata-mcp"
]
}
}
} 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.
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.
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.
sf_create_matching_rule Create Matching Rule ~132
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 creating a Duplicate Rule that references it.
| Name | Type | Req | Description |
|---|---|---|---|
| description | string | — | Description |
| label | string | yes | Display label |
| matchingRuleItems | array | yes | Fields and methods used for matching |
| objectName | string | yes | Object API name, e.g. 'Lead', 'Contact', 'Account' |
| ruleName | string | yes | Matching rule developer name |
No output schema declared.
No examples provided.
sf_create_mcp_server Create Salesforce MCP Server ~187
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 a sample 'hello_world' tool. Provide an outputDirectory (absolute path) where the files will be written. After generation, run 'npm install' then 'npm run build' in that directory.
| Name | Type | Req | Description |
|---|---|---|---|
| description | string | — | Server description |
| outputDirectory | string | yes | Absolute path to directory where files will be created, e.g. 'C:/projects/my-server' |
| salesforceInstanceUrl | string | — | Salesforce instance URL to pre-configure, e.g. 'https://myorg.salesforce.com' |
| serverName | string | yes | Name for the new MCP server, e.g. 'my-salesforce-server' |
No output schema declared.
No examples provided.
sf_create_mcp_tool Add Tool to MCP Server ~165
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}), and handler code. The tool code is inserted before the 'Start server' section. Run 'npm run build' after adding tools.
| Name | Type | Req | Description |
|---|---|---|---|
| handlerCode | string | yes | TypeScript handler function body code |
| inputSchema | object | yes | JSON Schema for the tool's input parameters |
| projectDirectory | string | yes | Absolute path to the MCP server project directory |
| toolDescription | string | yes | Detailed description of what the tool does |
| toolName | string | yes | Tool API name, e.g. 'get_account_data' |
No output schema declared.
No examples provided.
sf_create_messaging_channel Create Messaging Channel ~272
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, EinsteinBotChannel, WebChat phoneNumber: E.164 format phone number for SMS/WhatsApp channels (e.g. +15551234567) pageId: Facebook Page ID or equivalent external platform identifier routingType: Queue (route to a queue) or Bot (route to an Einstein Bot first) queueName: required when routingType=Queue botName: required when routingType=Bot (bot handles initial messages) After creating, configure the channel with sf_create_embedded_service to add it to a site.
| Name | Type | Req | Description |
|---|---|---|---|
| botName | string | — | Bot API name for bot-first routing |
| channelName | string | yes | API name / MasterLabel for the Messaging Channel |
| channelType | string | yes | — |
| description | string | — | — |
| label | string | yes | — |
| pageId | string | — | Facebook Page ID for Facebook Messenger |
| phoneNumber | string | — | Phone number for SMS/WhatsApp channels |
| queueName | string | — | Queue DeveloperName to route work items to |
| routingType | string | — | — |
No output schema declared.
No examples provided.
sf_create_milestone Create Milestone Type ~134
Creates a Milestone Type that can be referenced in Entitlement Processes to define SLA checkpoints. Milestones represent required steps (e.g., 'First Response', 'Resolution') with time-based targets. fullName: milestone type API name name: display name description: optional description recurrenceType: how the milestone repeats — recursIndependently, recursChained, or noRecurrence
| Name | Type | Req | Description |
|---|---|---|---|
| description | string | — | Description |
| fullName | string | yes | Milestone type API name |
| name | string | yes | Display name |
| recurrenceType | string | — | Recurrence behaviour |
No output schema declared.
No examples provided.
sf_create_muting_permission_set Create Muting Permission Set ~113
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 access for specific users. fullName: muting permission set API name label: display label description: optional description
| Name | Type | Req | Description |
|---|---|---|---|
| description | string | — | Description |
| fullName | string | yes | Muting permission set API name |
| label | string | yes | Display label |
No output schema declared.
No examples provided.
sf_create_named_credential Create Named Credential ~217
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't hardcode credentials. Supports NoAuthentication, Basic (username/password), OAuth, and more. Use with sf_create_remote_site_setting to also allow the URL.
| Name | Type | Req | Description |
|---|---|---|---|
| allowCallout | boolean | — | Allow callouts using this credential |
| allowFormula | boolean | — | Allow formulas in HTTP body (enables merge fields) |
| endpoint | string | yes | Endpoint URL, e.g. 'https://api.example.com' |
| fullName | string | yes | Named credential API name, e.g. 'My_External_API' |
| label | string | yes | Display label |
| password | string | — | Password for Password protocol (encrypted at rest) |
| principalType | string | — | NamedUser: shared credentials. PerUserPrincipal: per-user OAuth. Anonymous: no auth. |
| protocol | string | — | Authentication protocol |
| username | string | — | Username for Password protocol |
No output schema declared.
No examples provided.
sf_create_next_best_action Create Next Best Action Strategy ~221
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: - contextObjectApiName: the record type that provides context (e.g. 'Account', 'Case', 'Opportunity') - recommendations: a list of actions the agent can offer, each with Accept/Decline buttons and an optional Flow to execute on acceptance NBA strategies can be displayed via: - Einstein Next Best Action component on a Lightning Record Page - OmniScripts and FlexCards - Service Console After creating, add the "Einstein Next Best Action" Lightning component to a record page and configure it to use this strategy.
| Name | Type | Req | Description |
|---|---|---|---|
| contextObjectApiName | string | — | Object that provides context, e.g. 'Account', 'Case' |
| description | string | — | Strategy description |
| label | string | yes | Strategy display label |
| recommendations | array | — | Recommendation definitions |
| strategyName | string | yes | Strategy API name |
No output schema declared.
No examples provided.
sf_create_notification_type Create Custom Notification Type ~136
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 on the Salesforce mobile app. fullName: notification type API name masterLabel: display label customNotifTypeName: developer name for the notification type description: optional description
| Name | Type | Req | Description |
|---|---|---|---|
| customNotifTypeName | string | yes | Developer name for the notification type |
| description | string | — | Description |
| fullName | string | yes | Custom notification type API name |
| masterLabel | string | yes | Master label |
No output schema declared.
No examples provided.
sf_create_omniscript Create OmniStudio OmniScript ~293
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_SubType_Language. The script is created inactive with the specified elements. Complex element configuration (branching logic, custom LWC overrides, remote actions) should be finalized in the OmniScript Designer after creation. isLwcEnabled: true deploys the script as a Lightning Web Component (recommended for performance). isOmniScriptEmbeddable: true allows embedding this script inside other OmniScripts. Use sf_activate_omniscript to activate after creation.
| Name | Type | Req | Description |
|---|---|---|---|
| description | string | — | — |
| elements | array | — | Script elements; complex structures are set via the OmniScript designer |
| isLwcEnabled | boolean | — | Use LWC runtime (recommended for new scripts) |
| isOmniScriptEmbeddable | boolean | — | Allow embedding in OmniStudio cards |
| label | string | yes | — |
| language | string | — | Language label, default English |
| scriptName | string | — | Ignored — fullName is derived from type_subType_language |
| subType | string | yes | OmniScript sub-type, e.g. 'Create', 'Edit' |
| type | string | yes | OmniScript type, e.g. 'Account', 'Claims' |
No output schema declared.
No examples provided.
sf_create_outbound_change_set Create Outbound Change Set ~119
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 it in Setup. Use this before deploying to production when using the change set deployment model.
| Name | Type | Req | Description |
|---|---|---|---|
| changeSetName | string | yes | Name for the outbound change set |
| components | array | — | Metadata components to add to the change set |
| description | string | — | Description of what this change set contains |
No output schema declared.
No examples provided.
sf_create_outbound_message Create Workflow Outbound Message ~196
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 changes. objectName: object the message is for fullName: developer name for the outbound message name: display name endpointUrl: external SOAP endpoint URL fields: field API names to include in the message integrationUser: optional username to authenticate the callout
| Name | Type | Req | Description |
|---|---|---|---|
| description | string | — | Description |
| endpointUrl | string | yes | SOAP endpoint URL |
| fields | array | yes | Field API names to include in the message |
| fullName | string | yes | Outbound message developer name |
| integrationUser | string | — | Username of the integration user (optional) |
| name | string | yes | Display name |
| objectName | string | yes | Object API name, e.g. 'Opportunity' |
No output schema declared.
No examples provided.
sf_create_package Create Second-Generation Package ~161
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 namespacing. name: package name packageType: Managed or Unlocked path: source path for the package, e.g. 'force-app' description: optional description noNamespace: create without a namespace (Unlocked packages only)
| Name | Type | Req | Description |
|---|---|---|---|
| description | string | — | Package description |
| name | string | yes | Package name |
| noNamespace | boolean | — | Create without a namespace (Unlocked only) |
| packageType | string | yes | Package type: Managed or Unlocked |
| path | string | yes | Path to package source, e.g. 'force-app' |
No output schema declared.
No examples provided.
sf_create_package_version Create Package Version ~162
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 installationKey: optional key to protect the version codeVersion: version number, e.g. '1.0.0.NEXT' wait: minutes to wait for version creation to complete
| Name | Type | Req | Description |
|---|---|---|---|
| codeVersion | string | — | Version number, e.g. '1.0.0.NEXT' |
| installationKey | string | — | Installation key for the package version |
| packageId | string | yes | Package ID (0Ho...) or package alias |
| wait | integer | — | Minutes to wait for version creation |
No output schema declared.
No examples provided.
sf_create_page_layout Create Page Layout ~138
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 the related lists to include.
| Name | Type | Req | Description |
|---|---|---|---|
| label | string | yes | Layout display label |
| layoutName | string | yes | Layout developer name, e.g. 'Account_Layout' |
| objectName | string | yes | Object API name, e.g. 'Account' or 'Case__c' |
| relatedLists | array | — | Related list API names to include |
| sections | array | — | Layout sections with fields |
No output schema declared.
No examples provided.
sf_create_path_assistant Create Path Assistant (Sales Path) ~156
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 stage. Activate the path to make it visible to users.
| Name | Type | Req | Description |
|---|---|---|---|
| fieldName | string | yes | Picklist field API name, e.g. 'StageName' |
| isActive | boolean | — | Whether the path is active |
| label | string | yes | Display label |
| objectName | string | yes | Object API name, e.g. 'Opportunity' |
| pathItems | array | yes | Path items for each picklist value |
| pathName | string | yes | Path assistant API name |
No output schema declared.
No examples provided.
sf_create_permission_set Create Permission Set ~173
Creates a Permission Set with object permissions, field permissions, Apex class access, and user permissions. Permission Sets extend a user's access without changing their profile. Use when you need to grant specific permissions to a subset of users (e.g., a 'Sales Manager' permission set that allows deleting opportunities).
| Name | Type | Req | Description |
|---|---|---|---|
| apexClassAccesses | array | — | Apex class access permissions |
| description | string | — | Description of this permission set |
| fieldPermissions | array | — | Field-level permissions to grant |
| fullName | string | yes | Permission set API name, e.g. 'Sales_Manager_Perms' |
| label | string | yes | Display label |
| objectPermissions | array | — | Object-level permissions to grant |
| tabSettings | array | — | Tab visibility settings |
| userPermissions | array | — | User-level permissions |
No output schema declared.
No examples provided.
sf_create_permission_set_group Create Permission Set Group ~123
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 combination of permissions. fullName: Permission Set Group API name label: display label permissionSets: array of Permission Set API names to include
| Name | Type | Req | Description |
|---|---|---|---|
| description | string | — | Description |
| fullName | string | yes | Permission Set Group API name |
| label | string | yes | Display label |
| permissionSets | array | yes | API names of permission sets to include |
No output schema declared.
No examples provided.
sf_create_platform_cache_partition Create Platform Cache Partition ~132
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 cache (shared across all users). Optionally mark as the default partition.
| Name | Type | Req | Description |
|---|---|---|---|
| description | string | — | Description |
| isDefaultPartition | boolean | — | Whether this is the default partition |
| orgCacheSize | integer | — | Org cache size in MB |
| partitionName | string | yes | Cache partition API name |
| sessionCacheSize | integer | — | Session cache size in MB |
No output schema declared.
No examples provided.
sf_create_platform_event Create Platform Event ~164
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 systems) react to them. PublishAfterCommit waits for DML to commit; PublishImmediately fires right away.
| Name | Type | Req | Description |
|---|---|---|---|
| description | string | — | Description of the event |
| fields | array | — | Custom fields on the platform event |
| fullName | string | yes | Platform event API name, e.g. 'Order_Created__e' |
| label | string | yes | Singular label |
| pluralLabel | string | yes | Plural label |
| publishBehavior | string | — | PublishAfterCommit: published when DML transaction commits. PublishImmediately: published regardless of transaction. |
No output schema declared.
No examples provided.
sf_create_platform_event_trigger Create Platform Event Apex Trigger ~168
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 is published. triggerName: Apex trigger name eventApiName: Platform event API name, e.g. 'MyEvent__e' body: Apex code body for the trigger apiVersion: Salesforce API version
| Name | Type | Req | Description |
|---|---|---|---|
| apiVersion | string | — | API version, e.g. '62.0' |
| body | string | yes | Apex trigger body code |
| eventApiName | string | yes | Platform event API name, e.g. 'MyEvent__e' |
| triggerName | string | yes | Apex trigger name, e.g. 'HandleMyEvent' |
No output schema declared.
No examples provided.
sf_create_presence_configuration Create OmniChannel Presence Configuration ~148
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 of Service Channel API names the agents can work on allowAgentsToChangeStatus: whether agents can manually change their presence status Assign this configuration to agents via their Profile or Permission Set.
| Name | Type | Req | Description |
|---|---|---|---|
| allowAgentsToChangeStatus | boolean | — | — |
| capacity | integer | — | Maximum concurrent work items per agent |
| configName | string | yes | API name of the PresenceUserConfig |
| description | string | — | — |
| label | string | yes | — |
| serviceChannels | array | — | — |
No output schema declared.
No examples provided.
sf_create_presence_status Create OmniChannel Presence Status ~132
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 serviceChannels: for Busy status, list which channels remain active. After creating, assign the status to profiles/permission sets with sf_assign_presence_status.
| Name | Type | Req | Description |
|---|---|---|---|
| label | string | yes | — |
| serviceChannels | array | — | ServiceChannel API names to associate |
| statusName | string | yes | API name / DeveloperName of the Presence Status |
| statusType | string | — | — |
No output schema declared.
No examples provided.
sf_create_price_book Create Price Book ~203
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 different customer segments or regions. name: price book name isActive: whether the price book is active isStandard: true only for the standard price book currencyIsoCode: ISO currency code (e.g. 'USD') products: optional array of {productId, unitPrice, useStandardPrice?} to add to the price book
| Name | Type | Req | Description |
|---|---|---|---|
| currencyIsoCode | string | — | Currency ISO code, e.g. 'USD' |
| description | string | — | Description |
| isActive | boolean | — | Whether the price book is active |
| isStandard | boolean | — | Whether this is the standard price book |
| name | string | yes | Price book name |
| products | array | — | Products to add to this price book |
No output schema declared.
No examples provided.
sf_create_product Create Product ~185
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 SKU or product code description: optional description isActive: whether the product is available for use (default: true) family: product family/category, e.g. 'Hardware' quantityUnitOfMeasure: unit of measure, e.g. 'Each', 'Hour'
| Name | Type | Req | Description |
|---|---|---|---|
| description | string | — | Product description |
| family | string | — | Product family, e.g. 'Hardware' |
| isActive | boolean | — | Whether the product is active |
| name | string | yes | Product name |
| productCode | string | — | Product code / SKU |
| quantityUnitOfMeasure | string | — | Unit of measure, e.g. 'Each' |
No output schema declared.
No examples provided.
sf_create_public_group Create Public Group ~92
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.
| Name | Type | Req | Description |
|---|---|---|---|
| groupName | string | yes | Group developer name (no spaces) |
| label | string | yes | Group display name |
| members | array | — | Initial group members |
No output schema declared.
No examples provided.
sf_create_push_topic Create Streaming API PushTopic ~193
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 configure which operations (create, update, delete, undelete) and fields trigger notifications.
| Name | Type | Req | Description |
|---|---|---|---|
| apiVersion | number | — | API version number (e.g. 62) |
| notifyForFields | string | — | Which fields trigger notifications |
| notifyForOperationCreate | boolean | — | Notify on record create |
| notifyForOperationDelete | boolean | — | Notify on record delete |
| notifyForOperationUndelete | boolean | — | Notify on record undelete |
| notifyForOperationUpdate | boolean | — | Notify on record update |
| query | string | yes | SOQL query for the PushTopic |
| topicName | string | yes | PushTopic name (max 25 chars) |
No output schema declared.
No examples provided.
sf_create_queue Create Queue ~168
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 multiple people share a pool of records to process.
| Name | Type | Req | Description |
|---|---|---|---|
| doesSendEmailToMembers | boolean | — | Send email to all queue members when record is added |
| string | — | Queue email address for notifications | |
| fullName | string | yes | Queue API name, e.g. 'Support_Level_1' |
| name | string | yes | Queue display name |
| queueMembers | object | — | Queue members |
| supportedObjects | array | yes | Object API names this queue supports, e.g. ['Case', 'Lead'] |
No output schema declared.
No examples provided.
sf_create_queue_routing_config Link Routing Configuration to Queue ~137
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 items. Work items assigned to the queue will then be routed to agents using the specified routing model. queueDeveloperName: the API name of the Queue (DeveloperName, not label) routingConfigName: the API name of the Routing Configuration to link
| Name | Type | Req | Description |
|---|---|---|---|
| queueDeveloperName | string | yes | DeveloperName of the existing queue |
| routingConfigName | string | yes | API name of the RoutingConfiguration to link |
No output schema declared.
No examples provided.
sf_create_quick_action Create Quick Action ~160
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 action layout.
| Name | Type | Req | Description |
|---|---|---|---|
| actionName | string | yes | Quick action API name |
| actionType | string | yes | Type of quick action |
| description | string | — | Description of the quick action |
| fields | array | — | Fields to include in the quick action layout |
| label | string | yes | Display label for the quick action |
| objectName | string | yes | Object API name, e.g. 'Account' |
| targetObject | string | — | Target object API name (required for Create type) |
No output schema declared.
No examples provided.
sf_create_record Create SObject Record ~111
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.
| Name | Type | Req | Description |
|---|---|---|---|
| fields | object | yes | Key-value pairs of field API names to values, e.g. {Name: 'Acme', Industry: 'Technology'} |
| objectApiName | string | yes | SObject API name, e.g. 'Account', 'Contact', 'My_Object__c' |
No output schema declared.
No examples provided.
sf_create_record_type Create Record Type ~179
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 'Enterprise' and 'SMB' record types on Opportunity with different Stage values.
| Name | Type | Req | Description |
|---|---|---|---|
| businessProcess | string | — | Business process API name to associate (for Opportunity/Lead/Case/Solution) |
| description | string | — | Description |
| fullName | string | yes | Record type developer name, e.g. 'Enterprise_Deal' |
| isActive | boolean | — | Whether this record type is active |
| label | string | yes | Record type label |
| objectName | string | yes | Object API name, e.g. 'Opportunity' or 'Case__c' |
| picklistValues | array | — | Restrict picklist values per record type |
No output schema declared.
No examples provided.
sf_create_remote_site_setting Create Remote Site Setting ~161
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 or Flows. Use with sf_create_named_credential for authenticated callouts.
| Name | Type | Req | Description |
|---|---|---|---|
| description | string | — | Description of why this site is trusted |
| disableProtocolSecurity | boolean | — | Disable protocol security (not recommended) |
| fullName | string | yes | Remote site setting API name |
| isActive | boolean | — | Whether this remote site setting is active |
| name | string | yes | Display name |
| url | string | yes | URL to allow for callouts, e.g. 'https://api.example.com' |
No output schema declared.
No examples provided.
sf_create_report Create Salesforce Report ~199
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 the specified folder or your personal folder by default.
| Name | Type | Req | Description |
|---|---|---|---|
| columns | array | yes | Field API names to include as columns, e.g. ['ACCOUNT_NAME', 'ANNUAL_REVENUE'] |
| description | string | — | Report description |
| filters | array | — | Report filters |
| folderName | string | — | Folder API name for the report |
| format | string | — | Report format |
| groupByField | string | — | Field to group by (Summary/Matrix formats) |
| label | string | yes | Report display name |
| reportName | string | yes | Report API name |
| reportType | string | yes | Report type API name, e.g. 'Account', 'Opportunity', 'AccountList' |
No output schema declared.
No examples provided.
sf_create_report_folder Create Report or Dashboard Folder ~107
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.
| Name | Type | Req | Description |
|---|---|---|---|
| accessType | string | — | Folder access type |
| folderName | string | yes | Folder API name |
| folderType | string | — | Whether this is a report or dashboard folder |
| label | string | yes | Folder display name |
No output schema declared.
No examples provided.
sf_create_report_type Create Custom Report Type ~150
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 don't include the data you need, or when you want to create a specialized reporting structure.
| Name | Type | Req | Description |
|---|---|---|---|
| baseObject | string | yes | Primary object API name, e.g. 'Account', 'Opportunity' |
| category | string | — | Report category for organization |
| deployed | boolean | — | Deploy this report type immediately |
| description | string | — | Description |
| fullName | string | yes | Report type developer name |
| label | string | yes | Display label |
| relationships | array | — | Related object joins |
No output schema declared.
No examples provided.
sf_create_role Create Role ~204
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 hierarchy, or omit it for a top-level role.
| Name | Type | Req | Description |
|---|---|---|---|
| accountAccessLevel | string | — | Account and contact access level for subordinates |
| caseAccessLevel | string | — | Case access level for subordinates |
| contactAccessLevel | string | — | Contact access level for subordinates |
| description | string | — | Description of this role |
| fullName | string | yes | Role API name, e.g. 'VP_Sales' |
| mayForecastManagerShare | boolean | — | Grant manager forecast sharing |
| name | string | yes | Role display name, e.g. 'VP of Sales' |
| opportunityAccessLevel | string | — | Opportunity access level for subordinates |
| parentRole | string | — | Parent role API name (omit for top-level role) |
No output schema declared.
No examples provided.
sf_create_role_hierarchy Create Role Hierarchy (Bulk) ~126
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 at once. roles: array of {fullName, name, parentRole?, description?} - fullName: role API name (e.g. 'VP_Sales') - name: display label - parentRole: API name of parent role (omit for top-level)
| Name | Type | Req | Description |
|---|---|---|---|
| roles | array | yes | Roles to create in the hierarchy |
No output schema declared.
No examples provided.
sf_create_routing_configuration Create OmniChannel Routing Configuration ~261
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 capacity - ExternalRouting: custom routing via Apex or external system capacity: agent capacity consumed per work item (1–100) priority: routing priority (lower number = higher priority, range 1–10) unitType: Percentage or Throughput (how capacity is measured) pushTimeout: seconds before a declined/unanswered item is re-queued (optional) After creating, link it to a queue with sf_create_queue_routing_config.
| Name | Type | Req | Description |
|---|---|---|---|
| capacity | number | — | Capacity percentage or item count |
| configName | string | — | API name of the RoutingConfiguration |
| description | string | — | — |
| label | string | yes | — |
| priority | integer | — | Routing priority (lower number = higher priority) |
| pushTimeout | integer | — | Seconds before push routing times out (0 = no timeout) |
| routingConfigName | string | — | Alias for configName |
| routingModel | string | — | — |
| routingPriority | integer | — | Alias for priority |
| unitType | string | — | — |
No output schema declared.
No examples provided.
sf_create_saml_sso_config Create SAML SSO Configuration ~210
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 ID, and user ID identity types. Used to enable SAML 2.0 federation with external identity providers.
| Name | Type | Req | Description |
|---|---|---|---|
| attributeName | string | — | SAML attribute name (for Attribute identity location) |
| identityLocation | string | — | Where user identity is stored |
| identityProviderCertificate | string | yes | Base64-encoded IdP certificate |
| identityType | string | — | User identity type |
| issuer | string | yes | Identity provider issuer URL |
| loginUrl | string | yes | Identity provider login URL |
| logoutUrl | string | — | Identity provider logout URL |
| name | string | yes | SSO configuration API name |
| requestSignatureMethod | string | — | Signature method |
| samlVersion | string | — | SAML version |
No output schema declared.
No examples provided.
sf_create_sandbox Create Sandbox ~138
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 is asynchronous — use sf_list_sandboxes to monitor the status.
| Name | Type | Req | Description |
|---|---|---|---|
| apexClassId | string | — | Apex class ID to run after sandbox copy |
| autoActivate | boolean | — | Automatically activate the sandbox after creation |
| description | string | — | Description |
| licenseType | string | yes | Sandbox license type |
| sandboxName | string | yes | Sandbox name (max 10 chars, alphanumeric) |
No output schema declared.
No examples provided.
sf_create_scheduled_flow Create Schedule-Triggered Flow ~173
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: Flow API name label: Flow display label objectApiName: object whose records to process scheduledPaths: array defining when the flow runs (offsetNumber, offsetUnit, timeSource) description: optional description
| Name | Type | Req | Description |
|---|---|---|---|
| description | string | — | Flow description |
| fullName | string | yes | Flow API name, e.g. 'Nightly_Account_Update' |
| label | string | yes | Flow display label |
| objectApiName | string | yes | Object API name to process records from, e.g. 'Account' |
| scheduledPaths | array | yes | Scheduled path definitions |
No output schema declared.
No examples provided.
sf_create_scheduled_job Create Scheduled Apex Job ~138
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. Example cron: '0 0 2 * * ?' = daily at 2 AM.
| Name | Type | Req | Description |
|---|---|---|---|
| className | string | yes | Apex class that implements Schedulable interface |
| cronExpression | string | yes | Cron expression, e.g. '0 0 2 * * ?' for daily at 2 AM |
| jobName | string | yes | Name for the scheduled job |
No output schema declared.
No examples provided.
sf_create_scratch_org Create Scratch Org ~148
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, defaults to CLI default) alias: alias for the scratch org duration: number of days before expiry (1–30) devHubAlias: Dev Hub org alias
| Name | Type | Req | Description |
|---|---|---|---|
| alias | string | — | Alias for the scratch org |
| definitionFile | string | — | Path to project-scratch-def.json (optional) |
| devHubAlias | string | — | Dev Hub org alias |
| duration | integer | — | Scratch org duration in days (1-30) |
No output schema declared.
No examples provided.
sf_create_search_layout Create Search Layout ~202
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 dialog. objectName: the API name of the object, e.g. 'Account' or 'Invoice__c' searchResultsAdditionalFields: field API names to show as columns in global search results lookupDialogsAdditionalFields: field API names to show in lookup dialog results lookupFilterFields: field API names used as filterable columns in lookups
| Name | Type | Req | Description |
|---|---|---|---|
| lookupDialogsAdditionalFields | array | — | Field API names to show in lookup dialogs |
| lookupFilterFields | array | — | Field API names used as filter fields in lookup |
| objectName | string | yes | Object API name, e.g. 'Account' or 'Invoice__c' |
| searchResultsAdditionalFields | array | — | Field API names to show in search results |
No output schema declared.
No examples provided.
sf_create_service_channel Create OmniChannel Service Channel ~193
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 object this channel routes (e.g. "Case", "LiveChatTranscript", "MessagingSession"). Required for Custom type. capacity: maximum number of simultaneous work items an agent can handle on this channel (default 1). Service Channels are referenced by Routing Configurations and Presence Configurations.
| Name | Type | Req | Description |
|---|---|---|---|
| capacity | integer | — | Capacity weight for this channel |
| channelName | string | yes | API name / DeveloperName of the Service Channel |
| channelType | string | — | — |
| label | string | yes | — |
| relatedObject | string | — | Alias for relatedObjectApiName |
| relatedObjectApiName | string | — | SObject routed via this channel, default 'Case' |
No output schema declared.
No examples provided.
sf_create_service_territory Create Field Service Service Territory ~169
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 scheduling operatingHoursName: API name of an existing OperatingHours record to set business hours Address fields (street, city, state, country, postalCode): optional location for the territory center
| Name | Type | Req | Description |
|---|---|---|---|
| city | string | — | — |
| country | string | — | — |
| isActive | boolean | — | — |
| label | string | yes | — |
| operatingHoursName | string | — | Name of the OperatingHours record to link |
| postalCode | string | — | — |
| state | string | — | — |
| street | string | — | — |
| territoryName | string | yes | Name of the Service Territory |
No output schema declared.
No examples provided.
sf_create_sharing_rule Create Sharing Rule ~186
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 records they wouldn't normally see based on OWD.
| Name | Type | Req | Description |
|---|---|---|---|
| accessLevel | string | — | Access level granted |
| criteriaItems | array | — | For criteria-based rules: conditions that trigger sharing |
| label | string | yes | Display label |
| objectName | string | yes | Object API name, e.g. 'Account', 'Opportunity' |
| ruleName | string | yes | Sharing rule developer name |
| ruleType | string | — | criteria: share based on field values. ownership: share based on record owner. |
| sharedFrom | object | — | For ownership-based rules: whose records are shared |
| sharedTo | object | yes | Who receives the sharing |
No output schema declared.
No examples provided.
sf_create_skill Create OmniChannel / Field Service Skill ~101
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 creating a skill, assign it to agents with sf_assign_skill_to_agent.
| Name | Type | Req | Description |
|---|---|---|---|
| description | string | — | — |
| label | string | yes | — |
| skillName | string | yes | DeveloperName / API name of the skill |
No output schema declared.
No examples provided.
sf_create_static_resource Create Static Resource ~165
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 served from Salesforce. Content is provided as a string and deployed via the Metadata API.
| Name | Type | Req | Description |
|---|---|---|---|
| cacheControl | string | — | Cache control setting |
| content | string | yes | The file content as a string (text, JSON, JS, CSS, etc.) |
| contentType | string | — | MIME type, e.g. 'application/json', 'text/css', 'application/javascript' |
| description | string | — | Description of this resource |
| fullName | string | yes | Static resource API name, e.g. 'MyLibrary' |
No output schema declared.
No examples provided.