AI-audit

Table of Contents

tag-icon AI Audit - B.R.A.I.N.S.™ Guide
Switch mode

How to Audit AI in Your Business: The B.R.A.I.N.S.™ Guide

You built it.

You ran it.

Now comes one of the most important questions in operational AI:

What is it actually doing?

Set aside what you intended, what the demo showed and what the prompt says.

What is the AI actually doing when it runs inside your business?

That is the purpose of Audit, the third stage of the B.R.A.I.N.S.™ framework:

Build → Run → Audit → Improve → Normalize → Scale

Audit is where AI becomes something you can observe.

You should be able to answer questions like:

  • What AI systems are running?
  • What triggered them?
  • Which agent ran?
  • Which model was used?
  • Which process or SOP was being performed?
  • What information did the AI receive?
  • Which tools did it use?
  • What did it plan to do?
  • What actually happened?
  • Did the execution succeed?
  • Did a human review it?
  • How many tokens did it use?
  • What did the execution cost?
  • How long did it take?
  • Did it save time?
  • Did it follow your business rules?
  • Is its performance improving or deteriorating?

If you can't answer those questions, you do not have meaningful visibility into the AI operating inside your business.

And as AI moves from generating output to taking action, that visibility becomes increasingly important.

A useful rule is:

If AI can act in your business, every execution should leave a receipt.

01 -What Does It Mean to Audit AI?

An AI audit is a structured review of how an AI system is configured, what happens when it runs and whether its behavior produces acceptable business outcomes.

There are two layers of Audit.

System-Level Audit

A system-level audit looks at the AI implementation itself.

That may include:

  • Business purpose
  • Agent architecture
  • Prompt or instruction set
  • Model selection
  • Data sources
  • Knowledge bases
  • Connected applications
  • Tools
  • APIs
  • Permissions
  • Authentication
  • Human approval requirements
  • Error handling
  • Escalation logic
  • Data retention
  • Security controls
  • Ownership
  • Versioning
  • Cost
  • Logging
  • Performance metrics

This answers:

Is this AI system designed appropriately?

System-level auditing covers the design.

You also need to know what happened every time the AI actually ran.

02 -Execution-Level Audit

Execution-level auditing records the behavior of an AI system one run at a time.

This is where Audit becomes operational.

If an AI system analyzed a sales meeting at 2:41 PM on Tuesday, you should be able to find that execution and understand what happened.

If it updated a deal incorrectly, you should be able to trace the action back to the AI run that caused it.

If costs suddenly increase, you should be able to determine which agent, process, model or workflow is responsible.

Think of execution-level auditing as an AI execution ledger.

Each meaningful AI run creates a record.

That record is the receipt.

03 -Track Every Meaningful AI Run

Aggregate provider dashboards are a starting point.

Knowing:

We used 14 million AI tokens this month.

still leaves the question:

What business work did those tokens perform?

You want to be able to move from aggregate usage to operational traceability.

For example:

We ran our Customer Risk Agent 3,842 times this month.
97.4% completed successfully.
4.6% required human correction.
The average run cost $0.08.
One particular SOP generated 61% of all corrections.

That is actionable.

It requires you to track executions individually.

04 -Give Every Execution an ID

The first requirement is simple:

Every meaningful AI execution should have a unique identifier.

For example:

ai_exec_483f20f9

That identifier should follow the run across your systems.

Imagine this flow:

HubSpot task

n8n workflow

AI agent

OpenAI API request

HubSpot update

Slack alert

Those five systems should all be traceable back to one identifier:

Execution ID: ai_exec_483f20f9

This is particularly important once AI systems begin calling other agents, tools and workflows.

05 -Build an AI Execution Ledger

An AI execution ledger is the centralized record of what your AI systems are doing.

A ledger can stay lean. It needs enough information to answer:

What ran?

Why did it run?

What did it use?

What did it do?

What did it cost?

And did it work?

We use a custom AI Executions object in HubSpot for this purpose.

That lets us make AI activity visible inside the same operational system where much of the underlying business work already lives.

The object currently contains more than 80 properties because it supports multiple agent architectures, n8n workflows, OpenClaw sessions, HubSpot workflows, human review and historical migration.

A business recreating the model can start with a subset of those properties.

The important part is the underlying structure.

06 - The Core AI Execution Schema

These are some of the most important properties we currently track in our HubSpot AI Executions object.

Property
Internal Name
Purpose
Execution Name
execution_name
Human-readable name for the run
Execution ID
execution_id
External or orchestration execution identifier
Execution Platform
execution_platform
Where the execution ran
Execution Source
execution_source
What triggered it
Agent
agent
Agent responsible for the run
Agent Role
agent_role
Role or function performed
Job To Be Done
jbtd
Business outcome the AI was performing
SOP Name
sop_name
Standard operating procedure being executed
Model Used
model_used
AI model used
Workflow Status
workflow_status
Success, error, waiting or unknown
Workflow Started At
workflow_started_at
Start timestamp
Workflow Stopped At
workflow_stopped_at
End timestamp
Runtime
runtime_seconds
Wall-clock runtime
Tokens Input
tokens_input
Input tokens consumed
Tokens Output
tokens_output
Output tokens consumed
Tokens Total
tokens_total
Total tokens consumed
Execution Cost
execution_cost_usd
Estimated dollar cost
Plan Summary
plan_summary
What the agent intended to do
Plan Outcome
plan_outcome
Completed, failed or rejected
Outcome Summary
outcome_summary
What actually happened
Execution Grade
execution_grade
Human Good/Bad assessment
Execution Grade Notes
execution_grade_notes
Reason for the grade
Human Feedback Notes
human_feedback_notes
Reviewer feedback for improvement
Skills Used
skills_used
Skills/tools used during the run
SOPs Executed
sops_executed
SOPs used during the session
Transcript URL
transcript_url
Link to detailed execution transcript
Test Mode
test_mode
Whether the run was production or testing

We also track properties specific to particular architectures, including:

  • n8n_workflow_id
  • n8n_workflow_name
  • hubspot_workflow_id
  • trigger_task_id
  • workflow_version_id
  • workflow_version_counter
  • openclaw_agent_id
  • openclaw_install
  • session_id
  • session_key
  • session_started_at
  • session_ended_at
  • session_duration_seconds
  • skills_count
  • sops_count

Those are useful when you need deeper traceability, and optional otherwise.

 

Join the B.R.A.I.N.S Framework founding cohort to get the full AI Execution Object Schema.

Members of the first public cohort will receive an exclusive, one-time discounted rate of $350/month for our 90-day engagement. Virtual sessions begin October 2nd at 9am Eastern.

07 -Use Human Review as Part of the Audit Model

Our HubSpot AI Executions object also has its own pipeline:

AI Agent Tasks

with stages:

Human Review Necessary

In Review

Human Review Not Necessary

That reflects an important principle.

Different AI executions need different levels of oversight.

Some executions can be safely logged and sampled.

Others should require explicit review.

The decision should be based on risk and consequence.

08 -Separate Observation From Action

A useful way to think about AI risk is:

Observe → Recommend → Prepare → Execute

Observe

AI reads or analyzes information.

Example:

Summarize a customer meeting.

Recommend

AI proposes an action.

Example:

Recommend changing a deal stage.

Prepare

AI creates the action but does not execute it.

Example:

Draft the customer email.

Execute

AI changes the business environment.

Example:

Send the email.

Update the deal.

Create a task.

Modify a file.

The farther an AI system moves toward Execute, the stronger your audit requirements should generally become.

09 -Audit the Plan and the Outcome

One feature of our AI Executions schema that I think is particularly important is that we distinguish between:

what the agent planned to do

and:

what actually happened.

That is why we track both:

plan_summary

and:

outcome_summary

along with:

plan_outcome

Plan → Approve → Execute

For any execution with real consequences, our agents work in three steps. The agent writes a plan. A person approves it. Then the agent executes.

The approval happens where people already work. Our agents post the plan in Slack, and the deal owner or reviewer replies in the thread to approve it, change it, or turn it down. Microsoft Teams, Google Chat or a HubSpot task can play the same role. What matters is that the approval becomes a recorded event with a name and a timestamp, stored next to the plan it refers to.

That is why plan_outcome has three values:

  • Completed: the plan was approved and carried out.
  • Failed: the plan was approved, and the execution broke.
  • Rejected: a person read the plan and said no.

A rejection is a finding in its own right. A rising rejection rate tells you the SOP, the prompt or the model is producing plans people distrust, long before anything goes wrong in the CRM.

An agent can also make a perfectly reasonable plan, get it approved, and still fail operationally.

For example:

Plan: Create a follow-up task for the deal owner.

But perhaps:

  • The HubSpot API failed
  • The owner was missing
  • Authentication expired
  • The task was duplicated
  • The workflow stopped midway through execution

If you only save the AI's reasoning or final response, you may never know the operational action failed.

One caveat. The outcome summary is written from what the agent could observe. A failed API call or an expired token shows up because the agent sees the error. A duplicated task only shows up if the agent checks its own work, so build that check into the SOP.

Audit both.

10 -Audit the Tool Calls

As AI becomes agentic, the model response is only one part of the execution.

An agent may:

  1. Read a HubSpot record.
  2. Search a knowledge base.
  3. Query another API.
  4. Call another agent.
  5. Update a CRM property.
  6. Create a task.
  7. Write a document.
  8. Send a Slack notification.
  9. Schedule another workflow.

The natural-language response may say:

Done.

An audit trail needs the actual tool activity.

For important tool calls, consider capturing:

  • Tool name
  • Action
  • Input
  • Result
  • Timestamp
  • Status
  • Error
  • Record accessed
  • Record changed
  • Authorization used
  • Approval requirement

The question that matters most:

What did the AI do?

11 -Track the Business Purpose Behind Each Run

Technical logs naturally focus on things like:

  • Model
  • Request
  • Tokens
  • Latency
  • Error code

Those are useful, and businesses also need to understand why the AI ran.

That is why our schema includes fields such as:

jbtd

agent_role

sop_name

and:

sops_executed

These make it possible to analyze AI activity by business process.

Provider logs say:

GPT-5 consumed 4 million tokens.

Your ledger can eventually say:

Customer onboarding consumed 4 million tokens.

or:

Sales call classification is costing $0.11 per successful call.

That is a much more useful level of analysis.

12 -Track the Model Used

Every execution should identify the model that ran it.

Our schema stores it in one field, ai_model_used, as free text. Store the exact identifier the provider returns, including the version or snapshot date. A marketing name such as "GPT-5" is too coarse to diagnose anything.

Model identity matters because AI behavior changes.

A prompt may perform well on one model and poorly on another.

Model providers also retire and replace models.

OpenAI explicitly notes that prompting behavior can vary between model snapshots and recommends pinned model versions and evaluations where consistency matters.

If an agent suddenly behaves differently, you want to know whether:

  • The prompt changed
  • The workflow changed
  • The data changed
  • The model changed

Without version tracking, those changes become very difficult to diagnose.

13 -Track Prompt and Configuration Versions

The current Mind & Metrics schema has extensive workflow version tracking, including:

  • workflow_version_id
  • workflow_version_counter
  • workflowupdatedat
  • workflowcreatedat

For a generalized AI execution schema, I would extend the same idea to explicitly include:

Prompt Version

That gives you:

Agent version

Prompt version

Workflow version

Model version

Tool version

Pick the ones that fit each system, with enough version information to identify what changed when AI performance shifts.

14 -Track Token Usage Per Execution

Token usage should be recorded at the individual-run level.

Our HubSpot AI Executions object currently tracks:

tokens_input

tokens_output

tokens_total

This gives us a provider-neutral base.

OpenAI, Gemini and Claude expose more detailed usage data, so you may choose to extend the object with additional fields such as:

  • Cached Input Tokens
  • Reasoning / Thinking Tokens
  • Tool-Use Tokens

Those sit outside our core properties today, and they can provide useful detail as AI architectures become more complex.

15 -How to Track OpenAI Runs

OpenAI's Responses API returns structured usage information including:

  • input_tokens
  • input_tokens_details.cached_tokens
  • output_tokens
  • output_tokens_details.reasoning_tokens
  • total_tokens

A straightforward mapping into a provider-neutral execution ledger looks like this:

OpenAIAI Execution
response.modelModel Used
usage.input_tokensTokens Input
usage.output_tokensTokens Output
usage.total_tokensTokens Total
usage.input_tokens_details.cached_tokensCached Input Tokens
usage.output_tokens_details.reasoning_tokensReasoning Tokens

You should also capture request identifiers.

OpenAI returns an x-request-id response header and explicitly recommends logging request IDs in production. OpenAI also lets developers supply their own X-Client-Request-Id, making it possible to send your internal execution ID with the request.

That means your trace can look like:

Internal Execution ID
ai_exec_483f20f9

X-Client-Request-Id
ai_exec_483f20f9

OpenAI x-request-id
req_xyz123

Now your internal system and the provider request are linked.

OpenAI also provides organization-level Usage and Costs APIs. Those are valuable for financial reconciliation, and they answer a different question from your execution ledger.

Provider usage reporting tells you how much OpenAI you used.

Your execution ledger tells you what that usage accomplished.

16 -How to Track Gemini Runs

Google Gemini returns detailed usageMetadata with generation responses.

Current fields include:

  • promptTokenCount
  • cachedContentTokenCount
  • candidatesTokenCount
  • toolUsePromptTokenCount
  • thoughtsTokenCount
  • totalTokenCount

A normalized mapping could be:

GeminiAI Execution
Model identifierModel Used
promptTokenCountTokens Input
candidatesTokenCountTokens Output
totalTokenCountTokens Total
cachedContentTokenCountCached Input Tokens
thoughtsTokenCountThinking Tokens
toolUsePromptTokenCountTool-Use Tokens

Google also supports counting tokens before generation, which can be useful when evaluating context size or preventing unexpectedly large requests.

This becomes especially important with Gemini because tool use, multimodal inputs and large context windows can cause total execution usage to be much larger than the visible prompt.

17 -How to Track Claude Runs

Anthropic exposes model usage information including:

  • Input tokens
  • Output tokens
  • Cache-read input tokens
  • Cache-creation input tokens

and provider tool usage can also appear in usage metadata.

A normalized mapping can therefore look like:

AnthropicAI Execution
ModelModel Used
input_tokensTokens Input
output_tokensTokens Output
Input + output + relevant usageTokens Total
cache_read_input_tokensCached Input Tokens
cache_creation_input_tokensCache Creation Tokens
Server tool usageTool Activity

Anthropic also returns a unique request-id for API responses, and its SDKs expose that identifier for traceability and support.

Again, connect that provider identifier to your own internal execution ID.

18 -Claude Code Changes the Oversight Model

Claude Code deserves special attention because it creates a different governance pattern from centrally hosted business automations.

This is often described casually as:

Claude runs locally.

That description is incomplete.

Claude Code itself runs in the user's local working environment, and the Claude model is generally still accessed through Anthropic or another supported provider.

The important audit difference is where the execution environment lives.

Claude Code can work inside an employee's local development environment and interact with things such as:

  • Source code
  • Local files
  • Shell commands
  • Repositories
  • Development tools
  • MCP servers
  • APIs
  • Connected systems

Claude Code is explicitly designed as a command-line development tool and supports MCP and other integrations.

That means a company may have less centralized operational visibility than it would with an AI agent running through a centrally managed workflow platform.

That is an architectural tradeoff that needs to be considered.

19 -Less Centralization Means You Need More Intentional Observability

Imagine ten developers using Claude Code independently on ten laptops.

Each developer may be productive.

But what can the organization answer?

  • Who is using Claude?
  • Which projects are using it?
  • Which repositories can it access?
  • Which models are being used?
  • Which MCP servers are configured?
  • Which tools can it call?
  • What actions has it performed?
  • How much does each project cost?
  • Can security investigate an execution afterward?
  • Can usage be attributed to a team?
  • Can permissions be centrally changed?
  • Can access be revoked?

This is fundamentally different from a centrally orchestrated agent where every execution naturally passes through one controlled environment.

The lesson:

Local execution changes where your controls and evidence need to live.

20 -Claude Code Can Still Be Centrally Audited

Local tooling can still be observable. How much the business sees depends on two decisions: which plan the seat runs on, and whether you route and export the traffic yourself.

The plan decides what Anthropic shows you

Claude Code is included in the Pro, Max, Team and Enterprise plans, and it also runs on an API key through the Claude Console, Amazon Bedrock or Google Vertex AI. Each of those gives the company a different view.

  • Pro and Max (individual plans): these are consumer accounts. The company gets no dashboard, no usage export and no audit log. The only record of a session is the transcript file on the employee's laptop, kept for 30 days by default. Consumer accounts can also be used for model training unless the user turns that setting off. For a business, this is the blind spot: an employee on a personal Max plan can run agents against company systems and the company holds no record of it. Anthropic itself keeps consumer session data for 30 days, or five years when the user allows training, but that copy lives under the user's personal account. The employer can neither see it nor export it, so for audit purposes it does not exist.
  • Team and Enterprise: commercial terms, so your prompts and code are excluded from training. Admins get a Claude Code analytics dashboard with daily active users, sessions, accepted lines of code and a per-user spend report. Enterprise adds audit logs and an Analytics API.
  • API key through the Claude Console: usage and spend appear per user in the Console dashboard and through the Claude Code Analytics API. On Bedrock or Vertex AI, usage lands in your cloud provider's own billing and logging instead.

Two controls work on every plan

1. Telemetry export. Claude Code speaks OpenTelemetry. One environment variable turns on export of metrics (sessions, tokens, cost, lines changed) and events (each prompt, response, API call, tool call and permission decision) to a collector you run. An administrator can force those settings through the managed settings file, and Claude Code discards conflicting developer settings at startup. This is how a Max seat becomes observable: the company manages the machine, so the company owns the log.

2. An LLM gateway. Anthropic documents routing Claude Code through a gateway, either its own self-hosted Claude apps gateway or a third-party product, to centralize:

  • Credentials
  • Usage tracking
  • Cost controls
  • Audit logging
  • Provider switching

Conceptually:

Developer laptop / Claude Code

Central AI gateway

Anthropic / Bedrock / Vertex AI

With a gateway credential in place, the developer's personal subscription is bypassed. Every request is billed per token to the company's Console, Bedrock or Vertex AI account, attributed to the developer who sent it, and logged at the gateway. Offboarding means revoking one credential.

Now the organization has a centralized observation point even though the execution tool itself lives on an employee's machine.

The architectural principle is:

Convenience and observability are separate decisions.

You can allow local AI tooling.

You still need to deliberately decide how the business will see what it is doing.

21 -Vendor Dashboards Are Only One Layer

OpenAI, Google, Anthropic, HubSpot and your orchestration platforms all provide useful logs and usage data.

Use them.

None of them sees the complete business process.

OpenAI may know:

Request req_abc consumed 3,500 tokens.

Gemini may know:

Generation X used 900 thinking tokens.

Anthropic may know:

Request Y used 5,000 cached tokens.

n8n may know:

Workflow execution 82915 completed.

HubSpot may know:

Deal 12345 changed stage.

Each system logs its own slice, in its own format, under its own ID, inside its own login. Nobody joins them. The token count sits in the OpenAI dashboard, the workflow status sits in n8n, the record change sits in HubSpot's property history, and the reason the run happened sits in no system at all.

Why that matters

  • When something goes wrong, someone reconstructs the story by hand across four logins.
  • When leadership asks what the AI spend bought, the answer comes back in tokens. The question was asked in deals, tickets and hours.
  • When a vendor shortens its retention window, part of your history disappears with it.
  • When a model is retired, you cannot tell which runs it affected.

Your business needs to know:

The Sales Follow-Up Agent ran SOP v4 against Deal 12345, used model X, cost $0.09, called three tools, updated two records, required no human intervention and produced the intended outcome.

That requires your own audit layer.

What an audit layer is

One record per execution, in a system you own, that holds three kinds of information:

  • Business context: which agent ran, which SOP, what triggered it, and which record it acted on.
  • Technical facts copied from the vendors: model, tokens, cost, the provider request ID and the workflow ID.
  • Outcome: workflow status, plan outcome, human review, corrections and time saved.

The vendor logs stay where they are. Your record carries their IDs, so you can drill down to the raw detail when you need it. The audit layer is the summary you can report on, join to business results, and keep for as long as the business decides.

In our case the audit layer is a custom object in HubSpot, sitting next to the deals and contacts the agents act on. A single report can join AI activity to pipeline results with no export in between.

22 - Normalize Provider Data Into Your Own Schema

Different AI vendors use different names.

Your reporting layer needs one common internal vocabulary.

For example:

Internal Metric
OpenAI
Gemini
Claude
Input Tokens
input_tokens
promptTokenCount
input_tokens
Output Tokens
output_tokens
candidatesTokenCount
output_tokens
Cached Tokens
cached_tokens
cachedContentTokenCount
cache_read_input_tokens
Thinking / Reasoning
reasoning_tokens
thoughtsTokenCount
Provider/model dependent
Tool Usage
Tool calls
toolUsePromptTokenCount + tools
Tool-use metadata
Provider Request ID
x-request-id
Provider request identifiers
request-id
Model
model
Model identifier
model

Providers change.

Your reporting model stays the same.

23 -Capture What Triggered the Execution

Your schema should record why the AI ran.

Our execution_source field currently supports values including:

  • AskElephant Webhook
  • HubSpot Webhook
  • Other Webhook
  • Cron
  • Slack Channel
  • Slack DM
  • Telegram
  • Inter-Agent
  • Direct Message
  • Legacy
  • Other

We also track execution platform separately, with values currently including:

  • OpenClaw
  • n8n
  • Manual

The exact options will differ by business.

The principle is what matters:

Trigger and execution environment are two separate things.

A HubSpot workflow may trigger an n8n workflow that calls OpenAI.

Knowing only "OpenAI" tells you very little about why the business activity occurred.

24 -Track Workflow Status

Our AI Executions object currently uses these workflow statuses:

  • Success
  • Error
  • Waiting
  • Unknown

We separately track plan outcomes:

  • Completed
  • Failed
  • Rejected

That separation is useful because the two fields answer different questions.

Workflow status answers: did the machinery run? It comes from the orchestrator. n8n, OpenClaw or a HubSpot workflow reports whether every step executed without an error.

Plan outcome answers: did the business get what it wanted? It comes from the plan, the approval and the result.

They diverge in both directions.

Technical success, business failure

The workflow runs end to end. The agent drafts a follow-up plan, posts it to Slack, and the deal owner rejects it because the deal closed yesterday. n8n logs a success. The business outcome is rejected.

Or every step succeeds and the agent updates the wrong deal, because two records shared a company name. Success in the orchestrator. Failure for the business.

Business success, technical failure

The model reads the transcript, correctly decides the deal should move to Proposal Sent, and the HubSpot API call times out. The plan was right. Nothing changed in the CRM. Reading the model's answer alone, the run looks complete.

If you only track workflow status, the first case counts as a win and the second as a loss. Both readings are wrong.

Why this matters beyond the engineering team

Counting successful business outcomes is what lets you put a number on the initiative that leadership recognizes. Efficiency figures such as "the agent runs in 40 seconds" or "we cut tokens per run by 30%" land poorly with executives who manage to revenue and headcount.

A count of completed outcomes, multiplied by the time a person would have spent on each, becomes hours, and hours become salary.

This agent completed 3,100 follow-ups this quarter, which is the workload of one full-time coordinator.

That is a sentence a CFO can act on. You can only say it when the ledger tells you which runs produced the intended outcome, and which merely ran without an error.

Technical success and business success can diverge.

Audit both.

25 -Track Human Feedback

Our execution object has three fields specifically designed to feed Audit into Improve:

execution_grade

execution_grade_notes

human_feedback_notes

The grade is intentionally simple:

Good

or:

Bad

Why?

Because a simple verdict is often enough.

Sometimes the most useful signal is:

Did this work?

A bad grade can then include:

  • What went wrong
  • What should have happened
  • What the reviewer changed

Those corrections become extremely valuable during Improve.

26 -Human Corrections Are Training Data for the Business Process

If humans repeatedly change the same type of output, that is evidence.

Perhaps:

  • The prompt is unclear
  • An SOP is incomplete
  • The knowledge source is wrong
  • One edge case isn't covered
  • The model is unsuitable
  • A tool is missing
  • The business rule itself is ambiguous

Human review tends to disappear into Slack conversations or silent manual edits.

Capture it.

That is why execution feedback belongs in the audit ledger.

27 -Track Time Saved

Audit covers more than cost.

AI is often deployed to create business efficiency.

Our schema currently includes:

  • time_saved
  • estimated_time_saved
  • calculated_time_saved

This gives us a way to ask:

What did we spend?

and:

What did we gain?

Those figures are estimates, and even reasonable estimates can help identify which AI processes create meaningful operational gains and which create novelty.

28 -Audit Cost Per Successful Outcome

Total AI spend is a weak performance metric.

Even cost per execution can be misleading.

A better question is:

What does a successful business outcome cost?

Consider:

Agent A

Average AI cost: $0.04

Success rate: 78%

Human review required: 29%

Agent B

Average AI cost: $0.08

Success rate: 98%

Human review required: 4%

Agent A looks cheaper if you only evaluate API cost.

It may be much more expensive once you include:

  • Retries
  • Employee correction
  • Failed actions
  • Customer impact
  • Support time

A better efficiency measure is:

Total operating cost ÷ successful outcomes

That is much closer to the true economics of AI.

29 -Audit Inputs

When an AI response is wrong, start by asking what the model received.

Was:

  • The CRM record correct?
  • The information current?
  • The right document retrieved?
  • Important context missing?
  • Too much irrelevant context included?
  • The wrong conversation history included?
  • A tool result inaccurate?
  • Conflicting instructions present?
  • A required field empty?

A bad result caused by stale CRM data is a data problem.

A hallucination caused by retrieving the wrong knowledge document is a retrieval problem.

Audit gives you the evidence to diagnose the right layer.

30 -Audit Outputs

Different AI activities require different definitions of quality.

You might evaluate:

  • Accuracy
  • Completeness
  • Relevance
  • Classification correctness
  • Business-rule compliance
  • Citation correctness
  • Format compliance
  • Tone
  • Hallucination rate
  • Recommendation quality
  • Escalation accuracy

A single generic "AI quality score" hides the differences between processes.

A good customer email and a good lead classification are different things.

31 -Audit Actions

Once AI takes actions, output evaluation alone becomes insufficient.

Suppose the agent correctly concludes:

Create a follow-up task.

Now Audit needs to answer:

  • Was the task created?
  • Was it created once?
  • Was it attached to the correct record?
  • Was the correct owner assigned?
  • Was the due date correct?
  • Were the task instructions correct?

A model can be right while the automation fails.

And an automation can succeed technically while performing the wrong business action.

Your execution record should let you distinguish those situations.

32 -Audit Failures

Failures are some of the most useful data your AI system produces.

Categorize them.

Model Failure

Examples:

  • Incorrect interpretation
  • Hallucination
  • Refusal
  • Poor reasoning

Prompt Failure

Examples:

  • Ambiguous instructions
  • Missing boundary
  • Conflicting rules

Data Failure

Examples:

  • Missing CRM property
  • Stale information
  • Incorrect record

Retrieval Failure

Examples:

  • Wrong knowledge document
  • Insufficient retrieval
  • No relevant result

Tool Failure

Examples:

  • API timeout
  • Authentication problem
  • Rate limit
  • Tool error

Workflow Failure

Examples:

  • Incorrect branch
  • Duplicate execution
  • Workflow stopped

Permission Failure

Examples:

  • Agent attempted unauthorized action
  • Required access missing

Human Process Failure

Examples:

  • Approval not completed
  • Reviewer ignored escalation

Once failures are categorized, recurring patterns can feed directly into the Improve stage.

33 -Review by Exception

The goal should increasingly become:

Capture everything. Review exceptions.

For example, alert when:

  • Failure rate exceeds a threshold
  • Human correction rate increases
  • Input tokens suddenly spike
  • Cost per run changes materially
  • An agent executes multiple times against the same record
  • A high-risk property is changed
  • A prohibited tool is attempted
  • Runtime changes dramatically
  • Output is empty
  • Confidence is below an acceptable level
  • A required source was unavailable

This creates scalable oversight.

34 -Audit Daily, Weekly, Monthly and Quarterly

Different review cadences answer different questions.

Continuously

Automatically capture every meaningful execution.

Daily

Focus on:

  • Failed executions
  • Required human reviews
  • High-risk exceptions
  • Tool errors
  • Unauthorized actions

Weekly

Look for patterns:

  • Failure rate
  • Correction rate
  • Token anomalies
  • Cost anomalies
  • Repeated tool failures
  • Outlier executions
  • Sampled output quality

Monthly

Evaluate operational performance:

  • Cost by agent
  • Cost by process
  • Success rates
  • Human intervention
  • Time saved
  • Model usage
  • Prompt performance
  • Repeated failure categories

Quarterly

Audit the system itself:

  • Does the use case still make sense?
  • Are permissions appropriate?
  • Are models still appropriate?
  • Is the knowledge current?
  • Are there unnecessary tools?
  • Should autonomy increase?
  • Should autonomy decrease?
  • Should this workflow be retired?
  • Is it ready to Normalize or Scale?

35 -Build an AI Audit Dashboard

Once run-level execution data exists, reporting becomes much more valuable.

Useful dashboard categories include:

Volume

  • Total executions
  • Executions by agent
  • Executions by SOP
  • Executions by business function
  • Executions by client

Reliability

  • Success rate
  • Failure rate
  • Retry rate
  • Tool error rate

Human Oversight

  • Review rate
  • Approval rate
  • Good/Bad grades
  • Correction rate
  • Escalation rate

Usage

  • Input tokens
  • Output tokens
  • Total tokens
  • Cached tokens
  • Thinking/reasoning tokens
  • Tool usage

Cost

  • Cost per run
  • Cost by agent
  • Cost by model
  • Cost by business function
  • Cost per successful outcome

Efficiency

  • Runtime
  • Time saved
  • Estimated value
  • Human intervention required

That turns AI from something employees "use" into something the business can actually manage.

36 -Match Audit Depth to Consequence

Audit should be proportional to consequence.

Low Risk

Example:

AI summarizes an internal meeting.

You may only need:

  • Execution record
  • Model
  • Cost
  • Failure tracking
  • Periodic quality sampling

Medium Risk

Example:

AI classifies a sales opportunity and updates CRM properties.

You probably need:

  • Run-level execution tracking
  • Property-change traceability
  • Prompt/model version
  • Cost
  • Human correction tracking
  • Error monitoring

Higher Risk

Example:

AI communicates externally, modifies sensitive data, creates financial commitments or executes hard-to-reverse actions.

You may need:

  • Stronger approvals
  • Detailed traces
  • Permission controls
  • Durable logs
  • Regular evaluations
  • Escalation procedures
  • Security review
  • More restrictive autonomy

Audit the consequence.

37 -Be Careful What You Log

A receipt for every execution can be far leaner than storing every prompt and every response forever.

Audit logs can themselves create privacy and security risk.

Consider:

  • Customer data
  • Employee information
  • Personally identifiable information
  • Credentials
  • Financial information
  • Health information
  • Confidential commercial data

For some workflows, storing the complete transcript is appropriate.

For others you may store:

  • Structured metadata
  • A redacted transcript
  • A summary
  • A hash
  • A secure external reference

Audit requires traceability.

Traceability rarely requires duplicating all the data.

38 -A Practical Auditable AI Architecture

A production AI process might look like:

Business Trigger

Create Execution ID

Create AI Execution Record

Capture agent + SOP + workflow version

Send model request

Capture provider request ID + model + token usage

Capture tool calls

Capture plan

Execute business actions

Capture outcome

Capture errors

Calculate runtime + cost

Request human review where needed

Record grade + feedback

Analyze patterns

Improve

HubSpot is our choice of tool.

The important thing is that a normalized execution record exists somewhere.

39 -You Can Recreate Our HubSpot AI Executions Schema

We've published the structure of the AI Execution object we currently use inside Mind & Metrics so businesses using HubSpot can recreate the same general architecture.

The downloadable workbook includes:

  • Our complete property schema
  • Core Audit properties
  • Enumeration options
  • Pipeline and stages
  • Suggested provider mappings
  • OpenAI mappings
  • Gemini mappings
  • Claude mappings
  • Recommended schema extensions
  • Recreation checklist

You can adapt the fields to your own setup.

The objective is to create a record that answers the fundamental audit questions:

What ran?

Why did it run?

What did it use?

What did it do?

What did it cost?

And did it work?

40 -Audit Creates the Evidence for Improve

This is why Audit sits directly before Improve in B.R.A.I.N.S.™.

During Build, you make assumptions.

During Run, the AI starts doing real work.

During Audit, you collect evidence.

Only then can you meaningfully Improve.

You may discover:

  • A shorter prompt performs equally well
  • Another prompt structure produces better results
  • A cheaper model performs the task reliably
  • A more expensive model reduces human corrections enough to justify the cost
  • Retrieval is sending thousands of unnecessary tokens
  • One tool causes most failures
  • Human reviewers repeatedly correct the same output
  • A business rule needs clarification
  • A deterministic workflow should replace an AI decision
  • Autonomy can safely increase
  • Autonomy should decrease
  • A process should not use AI at all

Those are evidence-based decisions.

Without Audit, they are guesses.

41 -Audit Before You Normalize

An AI process may work beautifully because one person understands all of its quirks.

A standard business process has to work without that person.

Before you Normalize, Audit should establish:

  • Reliable performance
  • Known failure modes
  • Acceptable cost
  • Appropriate oversight
  • Defined ownership
  • Stable configuration
  • Clear business rules
  • Repeatable outcomes

Only then should the process become the accepted way work gets done.

42 -Audit Before You Scale

Problems that happen 1% of the time are easy to ignore when an AI workflow runs ten times.

At 100,000 executions, that is:

1,000 failures.

Scaling multiplies success.

It also multiplies failure.

Before you Scale, you need to understand:

  • How often it fails
  • Why it fails
  • Whether you can detect failure
  • Whether failure is reversible
  • What failure costs
  • Whether humans need to intervene
  • Whether the system remains economically worthwhile at volume

That is what Audit makes visible.

43 -AI Audit Checklist

Before you consider an AI system meaningfully auditable, ask:

Inventory and Ownership

  • Do we know which production AI systems are running?
  • Does each system have an owner?
  • Does every meaningful run have an execution ID?

Purpose

  • Do we know the Job To Be Done?
  • Can the execution be tied to a business process or SOP?

Configuration

  • Do we know which agent ran?
  • Do we know which model ran?
  • Do we know which prompt or workflow version ran?
  • Do we know which tools were available?

Trigger

  • Do we know why the execution started?
  • Do we know which system triggered it?
  • Can we associate it with the relevant business record?

Usage and Cost

  • Do we track input tokens?
  • Output tokens?
  • Total tokens?
  • Cached or reasoning tokens where useful?
  • Runtime?
  • Execution cost?
  • Cost per successful outcome?

Behavior

  • Can we see what the agent planned?
  • Can we see what actually happened?
  • Do we know which tools it used?
  • Can we trace changes back to the execution?

Human Oversight

  • Do we know whether human review was required?
  • Do we capture human approval or rejection?
  • Do we record corrections?
  • Do those corrections feed improvement?

Failures

  • Are errors captured?
  • Are failures categorized?
  • Are recurring failure patterns visible?
  • Are important failures automatically surfaced?

Local Agentic AI

  • Do we know who is using local tools such as Claude Code?
  • Can we identify connected MCP servers and tools?
  • Do we have centralized usage visibility where necessary?
  • Can security investigate execution activity?
  • Can access and permissions be centrally controlled where appropriate?

Improvement

  • Can we compare versions?
  • Can we test proposed changes against the current system?
  • Can we prove that a change improved quality, cost or efficiency?

If the answer is yes, you have observable AI.

44 -Audit Earns Autonomy

Good auditing gives businesses enough evidence to decide confidently:

where AI can operate autonomously,

where a human should remain involved,

where controls are necessary,

where the system is underperforming,

and:

where autonomy can safely increase.

The more mature the audit layer becomes, the more oversight can be driven by exceptions.

45 -If AI Can Act, Every Execution Should Leave a Receipt

AI increasingly sits between business systems.

It reads the meeting.

Interprets the conversation.

Queries the CRM.

Chooses a process.

Calls a tool.

Makes a recommendation.

Changes the record.

Creates a task.

Writes the email.

Triggers the next system.

That can create extraordinary efficiency.

It can also create an operational black box if those actions disappear into disconnected platforms, laptops, logs and vendor dashboards.

Audit prevents that.

It creates a record of:

what ran,

why it ran,

what it used,

what it planned,

what it did,

what it cost,

whether a human intervened,

and:

whether it worked.

That evidence is what makes the rest of B.R.A.I.N.S.™ possible.

Build. Run. Audit. Improve. Normalize. Scale.

Because before you improve AI, standardize it or scale it across the business, you need to be able to see what it is actually doing.

Ready to Make Your AI Observable?

Build, run, audit and improve AI processes with evidence, and give every execution a receipt.