How to stop an AI agent deleting CRM records
Route every delete and merge through an approval step, scope the token, and keep a kill switch you own.

The short answer
- An AI agent stops deleting CRM records when every delete and merge needs a person's approval. A careful prompt is not enough.
- SalesCrew sends every contact merge or delete and every stage change to one approval queue by default, and every agent ships in review mode.
- A scoped token limits which records an agent can reach at all. SalesCrew scopes each MCP token on 3 axes (channel, profile and area), the same way it scopes a user.
- One kill switch on the SalesCrew Agents page stops every agent at once, and the audit log shows which actor made each call.
A prompt is not a permission
Telling an agent "never delete anything" feels like a control. It isn't one. A model follows instructions most of the time, and most of the time is not good enough for your contact list. One bad reading of a vague request, like "clean up the duplicates", can remove hundreds of records before anyone looks.
The fix sits outside the model. You decide which actions the agent may run alone and which ones wait for a person. Deletes and merges belong in the second group, always. A delete is cheap to ask for and expensive to undo, so it should cost one click from a human before it happens.
Four controls that hold deletes in place
Put destructive actions in review. SalesCrew seeds a default policy table in every instance. Research, tagging, logging and scoring run on auto. Stage changes and any contact merge or delete run in review, so they land in the approval queue and wait. You can edit that table in Agents, Guardrails.
Pick the agent's mode. Each SalesCrew agent runs in one of four modes: off, draft, review or auto. Draft writes the artefact and does nothing else. Review queues it for a person. Auto runs and logs it, and falls back to review below a confidence threshold.
Scope the token. An agent that connects over MCP uses a token, and that token should reach only the records its job needs. In SalesCrew you issue and revoke tokens in Settings or with mcp_token_issue and mcp_token_revoke. Row-level security applies the same scope to the UI and to MCP.
Keep the off switch in your hands. The kill switch stops every agent, and its MCP twin is agent_set_mode. The manual path never breaks when automation is off, so your team keeps working while you look into what went wrong.
SalesCrew's default policy for agent actions
Seeded in every instance and editable per action class.
| Action class | Default mode | Why |
|---|---|---|
| Research, enrichment, tagging, logging, scoring, summaries | Auto | Internal work that is easy to redo |
| Classify a reply, pause a cadence on reply, suppress on unsubscribe | Auto | Protects contacts and lists |
| Stage changes, contact merge or delete | Review | Hard to undo; a person approves each one |
| Any external send (email, LinkedIn message, proposal) | Review | The customer sees it |
| Any spend, and anything outside the CRM | Human only | Money and outside accounts stay with a person |
From SalesCrew's seeded guardrail policy, September 2026.
Soft deletes do not fix a loose policy
Questions
- Can an AI agent delete records through MCP?
- Yes, if the CRM exposes a delete tool and the token allows it. SalesCrew has 140+ MCP tools, and delete and merge calls go to the approval queue by default. A person approves or rejects each one before it runs.
- What is the fastest way to stop an agent that is doing damage?
- Hit the kill switch. In SalesCrew it's one control on the Agents page that stops every agent at once. The MCP tool agent_set_mode does the same from a chat client. Then revoke the token the agent used and read the audit log.
- Should a merge be treated like a delete?
- Yes. A merge removes one record and folds it into another, so a wrong merge loses data just like a delete. SalesCrew puts contact merges and deletes in the same review class for that reason.
- How do I find out what an agent already deleted?
- Read the audit log for the agent's actor. SalesCrew writes every tool call with who made it: a user, a token or an agent. Filter by that actor and the time window, then restore from your export or backup.