BlogFeature Guide

How to Give an AI Agent Safe Access to Your Business Data (Permissions & Guardrails)

AI agent permissions and guardrails explained: the per-tool grid, autonomy levels, the high-risk approval floor, and how to let an agent act on your data safely.

Davaughn White·Founder
7 min read

The fear that stops most people from using an AI agent is simple and correct: what if it does something dumb with my real data? Deletes the wrong record, emails the wrong customer, refunds an order it should not have. The answer is not to trust the agent. It is to scope it, so that trust is never the thing standing between the agent and your money.

AI agent permissions and guardrails are the control layer that makes an agent safe to let loose. In Deelo it has four parts: a per-tool permission grid where you set exactly what the agent can do with each app, an autonomy level that sets how freely it moves, a hard high-risk floor that keeps dangerous actions requiring human approval no matter what, and defer-and-report, which guarantees a stranger can never approve a risky action. This guide walks all four, because getting them right is what turns 'terrifying' into 'unattended.'

The per-tool permission grid: the core control

The foundation is a grid, not a single on/off switch. For every tool an agent can reach -- each app, each integration, broken down by the thing it acts on -- you set permissions by verb: read, write, delete, send, receive. And each of those gets one of three settings.

Off: the agent cannot do this at all. Allow: the agent does it freely, no check. Allow-with-approval: the agent prepares the action and waits for a human to approve before it happens. This is the same role-based model your human staff get -- a junior can view invoices but not delete them -- extended with send and receive for the messaging an agent does on its own. Because it is per-tool and per-verb, you are never stuck choosing between 'no access' and 'total access.' You grant exactly the slice the job needs.

Read, write, delete, send, receive -- what each verb governs

  • Read -- the agent can look at records: view a contact, check availability, pull an order. The safest verb, and where you start any new agent.
  • Write -- the agent can create or change records: add a lead, update a deal stage, draft an invoice. Useful and usually where the value is.
  • Delete -- the agent can remove records. The verb to keep off or approval-only for almost every agent; deletion is rarely reversible.
  • Send -- the agent can push something outward: an email, a text, a notification to a customer. Set to approval when the audience is external; external sends sit on the high-risk floor, so they stay human-approved no matter how much autonomy the agent has.
  • Receive -- the agent can take in inbound messages or events and act on them, the basis for an agent that responds to what comes in rather than only what you ask.

Autonomy levels: how freely the agent moves

The grid says what an agent *may* touch. Autonomy sets how much it checks in while doing it, as one overall dial.

Assisted means the agent confirms every action before it takes it -- slow, but the right setting for a brand-new agent you are still learning to trust. Semi-autonomous means it handles routine, low-risk actions on its own and stops to confirm anything destructive. Autonomous means it runs freely up to its limits, which is where you land once an agent has proven itself on a well-scoped job. A separate destructive-action policy (deny / confirm / allow) and a max-iterations cap (1 to 100, a circuit breaker on any single run) round out the guardrails. The pattern that works: start assisted, watch the runs, and loosen deliberately as the agent earns it -- never the reverse.

The high-risk floor: the line you can't cross even at full autonomy

Here is the part that should let you sleep. Some actions are dangerous enough that Deelo keeps them requiring human approval *regardless of how much autonomy you grant*. You cannot switch this floor off, and that is the point -- it means you cannot accidentally build an agent that does the truly irreversible thing on its own. The floor covers:

  • Moving money -- payments, refunds, payouts, anything that touches funds.
  • Writing financial records -- the books, the ledger, the numbers your accountant relies on.
  • Employee PII -- staff personal data, kept behind a human every time.
  • Healthcare PHI -- protected health information, non-negotiable.
  • Security and credentials -- keys, passwords, access settings.
  • Integration writes -- changes pushed out to connected third-party systems.
  • Bulk mutations -- mass edits or deletes that could wreck a lot of records at once.
  • External sends -- messages leaving your business to the outside world.

One more rule inside the floor: an unknown tool defaults to require-approval. If the agent encounters a capability the system does not recognize as safe, it does not guess in your favor -- it asks. Safe-by-default, not permissive-by-default.

Defer-and-report: why a stranger can never approve a risky action

The floor raises an obvious question for customer-facing agents: if a high-risk action needs approval, and the person talking to the agent is an anonymous caller or a website visitor, who approves it? Not them -- ever. That is the rule that makes a public agent safe.

When an outside user asks for something that crosses the floor -- 'refund my order,' 'cancel that other booking,' 'delete my account' -- the agent does not turn to the stranger for a yes. It defers: it does whatever safe part it can, gathers the details, and reports the request to your team for a human to approve. A public web agent also defaults to read-only until you deliberately open it up. So the worst a bad actor can do is generate a task in your queue, never trigger the destructive action itself. Frame this as the feature it is -- the reason you can safely hand a shareable agent link to people you have never met.

A worked example: a safe CRM agent

Make it concrete with an agent that works your CRM. You want it to qualify inbound leads and keep records tidy, so you set: read on contacts and deals (allow), write on contacts and deals (allow -- it can create and update), delete (off -- it never removes anyone), and send email to a lead (allow-with-approval, so the first outreach lands in your drafts before it goes out). Autonomy starts assisted for a week while you read its work, then moves to semi-autonomous once it is reliable.

What can go wrong? Almost nothing irreversible. The agent can enrich and organize leads all day, but it cannot delete a contact, cannot fire off an external email you have not seen, and -- because of the floor -- cannot touch money or bulk-edit your database even if you got sloppy with the autonomy dial. That is a scoped agent: maximum usefulness, minimum blast radius. Build it in the AI Assistant, and the how-to-build guide walks the same setup step by step.

Give your agent exactly the access it needs -- and no more

Deelo's per-tool permission grid, autonomy levels, and hard high-risk floor let you hand an AI agent real work without handing it real risk. Scope each app to read, write, or ask-first, and rely on a floor that keeps money, deletions, and external sends behind a human every time. Build a safely-scoped agent in the Deelo AI Assistant. Start free, no credit card required.

Start Free — No Credit Card

Frequently Asked Questions

How do AI agent permissions work?
Permissions are set on a per-tool grid rather than a single switch. For each app an agent can reach, you set what it may do by verb -- read, write, delete, send, receive -- and each verb is set to off, allow, or allow-with-approval. This lets you grant exactly the access a job needs, like letting an agent read and update CRM records but never delete them, instead of choosing between no access and full access.
What are AI agent guardrails?
Guardrails are the safety settings layered over permissions. They include an autonomy level that decides how often the agent confirms actions, a destructive-action policy for dangerous verbs, a max-iterations cap that stops any single run from looping out of control, and a hard high-risk floor that keeps sensitive actions requiring human approval no matter what. Together they let an agent act usefully while making irreversible mistakes structurally hard.
Can an AI agent move money or delete records on its own?
Not on Deelo. Moving money, writing financial records, deleting in bulk, sending external messages, and touching employee or health data all sit on a high-risk floor that keeps them requiring human approval even when the agent is set to full autonomy. You cannot switch that floor off, so you cannot accidentally build an agent that wires a refund or wipes your database by itself.
What is defer-and-report?
Defer-and-report is how customer-facing agents handle risky requests from people who cannot be allowed to approve them. When an anonymous caller or website visitor asks for something high-risk -- a refund, a cancellation, a deletion -- the agent does not ask the stranger for approval. It does any safe part, gathers the details, and reports the request to your team for a human to decide. It guarantees an outside user can generate a task but never trigger a destructive action.
Is it safe to put an AI agent on a public website?
Yes, when the platform scopes public access correctly. A public web agent should default to read-only and only expose more if you deliberately open it up, and the high-risk floor plus defer-and-report ensure an anonymous visitor can never approve a dangerous action. That means the worst outcome from a bad actor is an item in your approval queue, not an actual refund, deletion, or data leak.

Explore More

Related Articles