Your AI agent has keys. Can it read, write, delete, send or spend?
Once an AI agent can use company credentials, the production question is no longer only whether it gives a plausible answer. It is which personal data it can read, which records it can write or delete, which messages it can send, and whether it can spend without a human stopping it.

By Reynier RiveroSoftware engineer
At 08:42 on a Tuesday, the operations manager at a Leeds-based commercial maintenance firm typed one sentence:
“Clear the overdue follow-ups, find the next engineer slot and let each customer know.”
The agent was connected to the shared inbox, job-management system, calendar and payment provider. It could read customer records, write notes, delete duplicate tickets, send emails and create refunds within a configured limit.
In the demo, each permission had looked small.
Composite hypothetical scenario: This is a constructed UK business example, not a reported incident.
At 08:49, the first job was updated. The agent found the right appointment, copied a phone number into the CRM and drafted a message. It also opened a PDF from an older email thread, selected the wrong customer record and sent an attachment externally.
The message went out. The refund did not, because the payment provider requested another approval.
The team had tested whether the agent answered accurately. They had not tested what it was authorised to do when accuracy failed.
The first question is not which model
That changes the design conversation.
An agent is not just a model producing text. It is a model operating through identities, tools and systems. The useful question is not simply whether it can reason; it is what its credentials allow it to do.
If your agent touches a CRM, inbox or support desk, the integration boundary deserves the same attention as the model. The practical difference is explained in our guide to connecting AI to your CRM, WhatsApp and the rest of your business.
Map the five actions before granting the key
“Finance access” is not a useful production permission. Reading an invoice, changing an invoice, deleting a record, sending a message and releasing money have different consequences.
A workable map looks like this:
| Action | Narrow example | Sensible production boundary |
|---|---|---|
| Read | Open the active customer’s job, appointment and approved service history | No whole-mailbox access, unrelated customer records or HR data |
| Write | Add a case note, propose an appointment or create a draft | Allow only named fields; do not overwrite contracts, mandates or payment details |
| Delete | Mark a duplicate ticket for removal | Default deny; require approval, recovery and an audit record |
| Send | Send a confirmed appointment update | Draft first; restrict recipients, templates and bulk sending |
| Spend | Prepare a refund recommendation or purchase request | No direct payment release by default; use limits and separate approval |
This is not a universal configuration. A low-risk internal assistant may need more autonomy than a customer-facing agent handling financial information.
The point is to make each permission deliberate.
Production risk is more than a wrong answer
Purpose sets the data boundary
For a UK business, that means defining the task before choosing the data path:
- Which customer or tenant does the agent need?
- Which fields are necessary?
- Which information can be masked or redacted?
- Which systems are completely unrelated?
- How long does the access need to last?
Autonomy sets the approval boundary
For most businesses, the five-action map gives a useful starting point:
- Read can often be automated when the data scope is narrow.
- Write should be limited to specific fields and reversible changes.
- Delete should usually be proposed, not executed.
- Send should require approval when it is external, sensitive or high-volume.
- Spend should use a separate approval path, amount limit or both.
An approval request should show the exact action, recipient, record and amount. “The AI wants to continue” is not an approval control.
Credentials set the blast radius
That matters because an agent should not be able to discover a secret and decide where else to use it.
A system prompt can explain the rules. It cannot replace a tool layer that enforces them.
The strongest design usually separates the model from the credentials. The model requests create_refund; a controlled service checks the customer, amount, approval and account before using a short-lived credential.
Monitoring sets the detection boundary
A transcript alone is not enough.
You need to know which identity accessed which record, which tool was called, what approval existed, what the external system returned and whether the intended final state was actually reached.
That is the difference between “the agent said it succeeded” and “the refund was confirmed by the payment system”.
Stopping sets the recovery boundary
For agents with meaningful external actions, having an owner, an alert path and a tested stop mechanism is a sensible recommendation.
If nobody knows who can revoke the credential at 18:30 on a Friday, the stop button is theoretical.
DPIA is a risk assessment, not a universal launch approval
So the right question is not “Do all AI agents need the same approval?”
It is:
“What risks does this particular agent create for people, what data and actions create those risks, and how will we reduce and monitor them?”
What to check before adding another integration
Run the map
Before production, write down every tool the agent can call and assign it one of five verbs:
- read;
- write;
- delete;
- send;
- spend.
For each verb, record the data required, the credential used, the approval rule, the owner, the expiry time and the recovery action.
If those answers are spread across five consoles, the architecture is already telling you something.
Test the failure path
Do not test only successful prompts. Test:
- the wrong customer with the right surname;
- an attachment containing hostile instructions;
- a missing approval;
- a duplicate request;
- a payment above the limit;
- a revoked credential;
- a service outage;
- a request to delete information that must be retained.
The goal is not to prove that the agent never fails. It is to prove that a failure cannot quietly become an unauthorised action.
Build the control layer around the workflow
Some businesses need a tightly scoped AI agent and chatbot implementation. Others need an automation and integration layer that separates data access from action execution.
The implementation choice depends on the workflow, systems and risk tolerance. It should not be decided by which model produced the most impressive demo.
Your agent has keys now.
The important question is whether each key opens one necessary door—or the whole building.
If you cannot explain exactly what the agent can read, write, delete, send or spend, and where a human must intervene, the next integration should probably wait. Prontavel helps teams design and build that control layer around real business systems.
The service this article is about: AI agents and chatbots that actually know your organisation