Critical Risk →

delete_record

Delete a Salesforce record (WRITE ACCESS REQUIRED)

How to control delete_record ↓

What delete_record does on Salesforce

AI agents call delete_record to permanently remove resources in Salesforce — typically in cleanup and lifecycle workflows. It does its job in a single call, and there is no undo.

Critical Risk

Why delete_record needs a policy

This tool permanently removes records from a Salesforce CRM system. Deletion is irreversible and cannot be undone through normal operations. In a business context, CRM records often represent critical customer relationships, sales opportunities, contracts, or historical data. Misuse by an AI agent (e.g., deleting production customer records, opportunities, or account histories) would cause severe business harm.

From the tool's definition Tool name 'delete_record' combined with description stating it 'Delete[s] a Salesforce record' indicates irreversible data removal. The parenthetical note '(WRITE ACCESS REQUIRED)' acknowledges elevated permissions.

Documented attack patterns abuse exactly the kind of access delete_record gives an agent:

How to control delete_record

PolicyLayer is an MCP gateway — it sits between your AI agents and Salesforce, and nothing reaches the server without passing your rules. This is the rule we recommend for delete_record:

policy.json
{
  "version": "1",
  "default": "deny",
  "hide": [
    "delete_record"
  ]
}

delete_record disappears from the agent's tool list entirely, and any attempt to call it is denied. The rest of the server keeps working.

  1. Create a free account and register Salesforce — nothing to install.
  2. Add this policy — paste it, or build it visually.
  3. Point your MCP client (Claude, Cursor, anything) at your gateway URL.
RESTRICT THIS TOOL →

Free to start. No card required.

Related tools and policies

Go deeper

Questions about delete_record

What does the delete_record tool do? +

Delete a Salesforce record (WRITE ACCESS REQUIRED). It is categorised as a Destructive tool in the Salesforce MCP Server, which means it can permanently delete or destroy data. Block by default and require explicit approval.

How do I enforce a policy on delete_record? +

Register the Salesforce MCP server in PolicyLayer and add a rule for delete_record: allow, deny, rate-limit, or require approval. Point your MCP client at the PolicyLayer proxy URL and the rule is enforced on every call, before it reaches Salesforce. Nothing to install.

What risk level is delete_record? +

delete_record is a Destructive tool with critical risk. Critical-risk tools should be blocked by default and only enabled with explicit human approval.

Can I rate-limit delete_record? +

Yes. Add a rate_limit block to the delete_record rule in your PolicyLayer policy. For example, setting max: 10 and window: 60 limits the tool to 10 calls per minute. Rate limits are tracked per agent session and reset automatically.

How do I block delete_record completely? +

Set action: deny in the PolicyLayer policy for delete_record. The AI agent will receive a policy violation error and cannot call the tool. You can also include a reason field to explain why the tool is blocked.

What MCP server provides delete_record? +

delete_record is provided by the Salesforce MCP server (tomnagengast/mcp-server-salesforce). PolicyLayer sits as a proxy in front of this server to enforce policies before tool calls reach the server.

Enforce policy on every Salesforce tool call.

Start from Salesforce, add the rest of your stack, and see everything your agents can call. Then put policy on all of it.

Free to start. No card required.

9 Salesforce tools catalogued and risk-classified — across an index of 43,000+ MCP servers.

// GET IN TOUCH

Have a question or want to learn more? Send us a message.

Message sent.

We'll get back to you soon.