Skip to main content
Back to all posts
7 minAI GovernanceMay 29, 2026

Your AI Agent Needs an Action Approval Matrix Before It Gets More Tools

Before an AI agent gets more tools, decide which actions are allowed, which need human review, and which are blocked.

RM

Ryan Macomber

Founder, VibeSec Advisory

A tool-connected AI agent should not get more access until the team knows exactly which actions it is allowed to take.

Short answer

An agent action approval matrix is a simple table that defines which AI agent actions are allowed, which need human review, and which are blocked. It should separate reading and drafting from sending, updating records, changing permissions, spending money, deleting data, publishing, or deploying. Build the matrix before adding tools, not after the first bad action.

Tool access changes the risk

A chat assistant that summarizes a document is one thing.

An AI agent that can open tools, read records, send messages, update systems, call APIs, or change permissions is different.

That is where a lot of AI governance gets too vague. The team says there is a human in the loop. The vendor says the workflow has guardrails. The policy says employees should use judgment.

None of that answers the operational question:

What is this agent actually allowed to do?

If nobody has written that down, the boundary usually gets decided by tool permissions, default settings, and whoever connected the integration. That is not governance. That is hoping the demo stays well behaved.

The matrix is not paperwork

An agent action approval matrix is a practical guardrail.

It lists the agent's possible actions and classifies each one:

Action statusMeaning
AllowedThe agent can do it inside the approved workflow and data boundary.
Review-requiredThe agent can prepare it, but a named human must approve before the action happens.
BlockedThe agent cannot do it unless the workflow is separately scoped and approved.

This sounds basic because it should be basic. Most teams do not need a 40-page AI policy before they can improve a workflow. They need to know whether the agent can only draft the customer email or whether it can send the customer email.

Those are not the same control.

Start with action classes

Do not start by asking whether the agent is safe. That question is too broad.

Start by asking what class of action the agent can take.

Action classDefault statusExample
ReadAllowed with data boundarySearch approved docs or approved records.
DraftAllowed with reviewDraft an email, ticket note, recap, or report.
ClassifyAllowed with sampled reviewLabel tickets, leads, claims, or handoff status.
RecommendReview-requiredSuggest a next step, exception, or risk flag.
PrepareReview-requiredPrepare a CRM update, queue item, or change packet.
SendReview-required by defaultSend customer email, partner notes, support replies, or social posts.
UpdateReview-required by defaultChange CRM, billing, helpdesk, forecast, access, or knowledge base records.
Buy or approveBlocked unless separately scopedApprove discounts, terms, purchases, access, or policy exceptions.
DeleteBlockedDelete files, tickets, records, accounts, contacts, or permissions.
Commit, publish, or deployBlocked unless separately scopedCommit code, publish content, merge changes, deploy, or change production config.
Change permissionsBlocked unless separately scopedAdd users, change roles, grant scopes, or alter tool access.

That table will not cover every edge case. It does force the right conversation.

Reading is not sending. Drafting is not updating. Preparing a change is not applying a change. Recommending an exception is not approving an exception.

That separation is the point.

Why this matters for prompt injection and excessive agency

OWASP's LLM Top 10 calls out excessive agency as a major risk for LLM applications. Their guidance describes LLM systems that can use tools, skills, plugins, or other system interfaces. The risk increases when those systems have excessive functionality, excessive permissions, or excessive autonomy.

In plain English: an agent with too much access can do real damage when it gets confused, manipulated, or overconfident.

Want examples you can inspect?

The VibeSec Advisory Skill Library gives you inspectable GTM workflow examples with review gates, data boundaries, and eval scenarios. Use it to see how workflow guardrails look before you build your own.

OWASP's prompt injection guidance makes the same problem sharper. Direct or indirect prompt injection can alter model behavior. Indirect injection matters because an agent may read untrusted content from websites, files, tickets, emails, docs, or records. If that content can influence a tool-connected agent, it may push the agent toward unauthorized function use, arbitrary connected-system actions, or bad decisions.

Least privilege helps. Human approval helps. Neither one works well if the team has not defined which actions need approval.

That is what the matrix does.

A simple approval matrix example

Here is a practical version for a small business AI workflow.

Agent actionData classDefault statusReviewerEvidence required
Summarize approved internal notesInternalAllowedWorkflow owner confirms source listSource labels
Draft a customer follow-up emailCustomerReview-requiredAccount ownerDraft, source note, approval
Update a CRM next-step fieldCustomer and revenueReview-requiredCRM owner or account ownerProposed change and rollback note
Send a support replyCustomerReview-requiredSupport ownerFinal reply and approval record
Approve a discountFinancialBlockedFinance or executive ownerSeparate approval path
Grant tool accessSecurityBlockedIT or security ownerAccess request and audit log
Delete a customer recordCustomer and legalBlockedLegal, privacy, and system ownerDeletion request and recovery plan
Deploy production configSecurity and operationsBlockedEngineering ownerChange plan and rollback path

The exact rows will change by workflow. A recruiting workflow, sales workflow, support workflow, finance workflow, and engineering workflow should not share the same default action boundary.

But the pattern should be the same.

Name the action. Name the data class. Name the reviewer. Name the evidence. Decide whether the agent is allowed to act, prepare, or stop.

The review has to happen before the side effect

A human approval gate is only useful if it lets the person stop the risky action before it happens.

A log entry after the agent sends the wrong customer email is evidence. It is not approval.

A weekly review of accidental permission changes is monitoring. It is not a gate.

A manager clicking approve without seeing the source, proposed action, and rollback path is theater.

For review-required actions, the reviewer should see:

  1. The proposed action.
  2. The source records or source labels.
  3. The data class involved.
  4. The destination system.
  5. The reason the agent recommends the action.
  6. The rollback or correction path.
  7. The decision options: approve, revise, block, or escalate.

If the workflow cannot show those items, the agent should stay in draft mode.

Where this fits in FORGE

This is a FORGE Guardrails problem.

Baseline identifies the workflow, connected tools, source systems, owners, data classes, and business metric.

Skills document how the team reviews drafts, recommendations, exceptions, and logs.

Agents define what automation can read, prepare, and attempt.

Guardrails classify each action as allowed, review-required, or blocked.

Schedule keeps the matrix current after tool changes, role changes, model changes, vendor changes, data migrations, and workflow changes.

Capture records approvals, blocked actions, exceptions, misses, and fixes.

That turns agent governance from a policy statement into a workflow habit.

What not to delegate by default

For most small and mid-market teams, these should be blocked unless separately scoped:

  • Changing permissions or access.
  • Deleting records or files.
  • Spending money.
  • Approving discounts, terms, refunds, exceptions, or contracts.
  • Sending sensitive customer, employee, legal, financial, security, or compliance messages.
  • Updating systems of record without a proposed change and rollback path.
  • Publishing public content without final human review.
  • Deploying or changing production systems.
  • Making rights-affecting, regulated, legal, medical, employment, credit, insurance, safety, or disciplinary decisions.

This is not anti-automation. It is how automation gets permission to survive contact with the business.

A practical next step

Pick one agent or planned automation. Write down the ten actions it could take.

Then mark each action as allowed, review-required, or blocked.

If the team cannot agree, do not add more tools yet. Map the workflow first. Clarify the data boundary. Name the reviewer. Decide what evidence must be kept.

If you want a simple starting point, VibeSec's free FORGE AI Workflow Starter Kit helps map the workflow, identify data boundaries, and decide where approval gates belong before automation gets more access.

Related reading:

Sources

AI Workflows Weekly

Read the archive

Practical notes on governed AI workflows, guardrails, and safer automation. No spam, unsubscribe anytime.

First-party signup with double opt-in. No embedded newsletter iframe, no analytics cookies, and unsubscribe anytime.

Ready to adapt this into a team manual?

If one workflow keeps showing up in your team, start with the free Starter Kit. When it needs your tools, data boundaries, review owners, and team language, use the Company-Specific Skill Library Manual.