checklist

AI chatbot tool action approval checklist for small teams

A practical approval checklist for AI chatbots that can call tools, create tickets, update CRM records, send messages, issue refunds, change access, or trigger automations.

Audience: Founders, support leads, customer success teams, product owners, operations owners, security owners, privacy owners, engineering owners, and admins approving AI chatbot tool actions Risk: High Evidence: NIST AI RMF Core, NIST Generative AI Profile, OWASP LLM06 Excessive Agency, OWASP Agentic AI threats and mitigations, OWASP Top 10 for Agentic Applications 2026, CISA AI deployment security guidance, and Cybergiz chatbot operations templates

Use this checklist before a customer-facing AI chatbot can create tickets, update CRM fields, send emails, issue refunds, change plans, modify permissions, retrieve account data, open support cases, write to a database, call internal APIs, or trigger automations.

The risk changes when a chatbot moves from “answering” to “acting.” A wrong answer can confuse a customer. A wrong action can change money, access, records, messages, permissions, account status, or evidence. Before approving tool actions, run the AI Tool Risk Checker and keep the result with the action approval packet.

Bottom line

Do not give a chatbot broad action permissions because the workflow feels convenient. Each action needs a written approval record that defines:

  1. What the bot can do.
  2. Which user, account, and data boundaries apply.
  3. Which actions require human review.
  4. Which actions are read-only, draft-only, or write-capable.
  5. Which downstream system permissions are actually granted.
  6. How prompt injection, wrong answers, customer disputes, and tool failures are handled.
  7. When the action should be paused, rolled back, or removed.

Use the Small Team AI Security Checklist for baseline tool approval, access control, logging, incident response, and owner review. This page focuses on chatbot tool actions.

When to use this checklist

ScenarioUse this checklist?Why
Bot creates support ticketsYesBad categorization can delay urgent issues or expose sensitive context.
Bot updates ticket priority, status, owner, or tagsYesRouting and service level decisions affect customers.
Bot drafts customer emails or chat repliesYesDrafts can still create unsupported promises if sent by agents.
Bot sends customer messages automaticallyEscalateExternal communication requires tight review and rollback paths.
Bot updates CRM, account notes, renewal risk, or churn statusYesWrong records can affect sales, support, and account treatment.
Bot reads customer account dataYesLeast-privilege data access and transcript handling matter.
Bot issues credits, refunds, cancellations, plan changes, or access changesEscalateMoney and account actions need human approval by default.
Bot can call an internal API or automation platformEscalateBroad integrations can bypass normal application controls.
Bot only answers from public docs with no actionsNoUse chatbot launch, handoff, and answer correction templates instead.

Default rule: a customer-facing chatbot should start read-only or draft-only. Write actions need a stronger reason.

Action inventory template

Create one row for every chatbot action.

FieldRequired entry
Action namePlain-language action, such as create ticket, update CRM field, send reply, or fetch account plan.
System touchedHelpdesk, CRM, billing, identity, database, email, Slack, docs, or internal API.
Action typeRead, draft, write, send, delete, approve, escalate, or trigger automation.
Customer-visible?Yes, no, or internal-only.
Data usedPublic docs, ticket text, account metadata, billing data, CRM notes, files, transcript, or support history.
Permission grantedExact role, scope, API permission, service account, or OAuth grant.
Human reviewNone, sample review, agent approve, owner approve, or security/privacy approve.
RollbackHow to undo, correct, cancel, delete, or compensate.
OwnerBusiness and technical owner.
Review dateApproval date and next review trigger.

If the owner cannot describe the action in one row, the action is too vague to approve.

Action risk matrix

ActionStarting approval level
Read public docsLow, with source controls.
Read customer ticket metadataMedium, with least-privilege access and transcript rules.
Draft ticket summary for human reviewMedium, with correction workflow.
Create support ticketMedium, with routing checks and abuse controls.
Update ticket priority, owner, or statusMedium-high, with service level review.
Update CRM notes, account health, or renewal fieldsHigh, with customer success review.
Send customer messageHigh, human approval by default.
Issue refund, credit, cancellation, discount, or plan changeHigh, owner approval required.
Change user access, role, admin, or authentication settingHigh, authenticated workflow and human approval required.
Delete data, close account, or modify evidenceHigh, privacy/security/business approval required.
Call open-ended internal API or automation runnerHigh, deny until scoped into narrow functions.

Small teams should avoid giving chatbots open-ended “do anything” tools. Narrow functions are easier to review and safer to revoke.

Permission boundary checklist

CheckDefault rule
Is the downstream permission read-only when the bot only needs to read?Use read-only scope.
Does the bot act as the current user or a shared service account?Prefer user-scoped authorization where possible.
Can the bot access all customers or only the current account?Limit to current authenticated customer context.
Can the bot update fields that affect billing, access, risk, or compliance?Require human approval.
Can the bot delete or overwrite records?Deny by default.
Can the bot send messages outside the workspace?Require human approval and approved templates.
Can prompt text choose arbitrary API parameters?Validate parameters server-side.
Can the bot chain actions across systems?Require workflow approval for the chain, not only each step.
Can the bot action be replayed or repeated?Add idempotency, rate limits, and duplicate checks.

The model should never be the authority that decides whether a user is allowed to act.

Human approval rules

Action categoryHuman approval rule
Low-risk read actionNo approval after initial launch, but sample logs.
Draft summary or draft replyAgent must approve before customer-visible use.
Ticket creationBot can create with clear label; support queue reviews.
Ticket priority or escalationHuman review for urgent, security, privacy, billing, outage, or complaint topics.
CRM updateCustomer success or account owner approves sensitive fields.
Customer email or chat sendHuman approval unless the message is a narrow approved receipt.
Refund, cancellation, discount, credit, or renewal actionBilling or account owner approves.
Role, permission, admin, SSO, or account access changeAuthenticated admin workflow and human approval.
Data deletion, export, correction, or retention changePrivacy/security owner approval.
Internal API action with operational impactProduct or engineering owner approval.

Approvals should happen in the downstream system or workflow, not as a vague instruction in the prompt.

Tool call design rules

Design areaRule
Function shapePrefer small, specific functions over broad API wrappers.
InputsUse typed, validated parameters.
IdentityUse least-privilege, scoped identity.
AuthorizationCheck authorization server-side before action execution.
ConfirmationRequire human confirmation for irreversible or customer-visible actions.
LoggingLog action, actor, source conversation, parameters, result, and reviewer.
Rate limitsLimit repeated actions and suspicious sessions.
IdempotencyPrevent duplicate tickets, messages, refunds, or updates.
Error handlingFail closed and route to a human when context is missing.
RollbackDefine how to reverse or correct the action before launch.

A chatbot should request an action; the application should decide whether the action is allowed.

Customer-visible action rules

Customer-visible actionRequired control
Confirmation messageUse approved wording and label AI-assisted action when appropriate.
Support ticket createdShow ticket ID, expected response path, and human contact option.
Email sentHuman approval unless it is a narrow receipt or status confirmation.
Account update requestedRequire customer authentication and confirmation.
Billing change requestedHuman/billing owner approval and audit trail.
Data deletion or export requestedRoute to approved privacy workflow.
Escalation triggeredTell customer what happens next and when.
Action deniedGive a safe explanation and human path.

If the customer can rely on the action, keep a reviewable record.

Abuse and prompt injection controls

Tool actions increase the impact of prompt injection.

SignalControl
User instructs bot to ignore policy and perform an actionRefuse and route repeated attempts to review.
User asks bot to act on another customer’s accountRefuse and preserve minimal evidence.
Source content instructs bot to call a toolTreat source text as untrusted data.
Bot receives conflicting instructions from ticket textFollow policy and authenticated user context, not ticket content.
Session tries repeated refunds, tickets, messages, or access changesRate limit and require human review.
Bot proposes hidden API parametersValidate against allowlisted schema.
Tool result includes sensitive dataRedact before display and restrict logs.
Action path is unclearFail closed and hand off.

Use the AI chatbot prompt injection response checklist if a tool action is triggered or attempted through injection.

Pre-launch test set

Test these before approving an action.

TestExpected result
Happy path with valid authenticated customerAction succeeds or creates human-reviewed draft.
Missing customer identityAction denied or routed to human.
Another customer’s account IDAction denied.
Prompt injection asking for actionAction denied and logged.
Malicious source text asks for actionSource is treated as data, not instruction.
Duplicate requestDuplicate blocked or idempotent.
High-risk topic such as billing, privacy, security, outage, or accessHuman approval required.
Tool error or timeoutNo partial action; handoff message shown.
Sensitive data in input or outputRedacted, escalated, or blocked according to policy.
Rollback drillTeam can undo or correct the action.

Do not launch write actions if only happy paths have been tested.

Approval record

Copy this into the chatbot approval packet.

FieldEntry
Bot name and locationWebsite, app, help center, portal, or agent console.
Action approvedExact action name and downstream system.
Action typeRead, draft, write, send, delete, approve, or trigger.
Data scopeWhich customer, account, ticket, source, and fields are accessible.
Permission scopeExact OAuth, API, role, or service account permission.
Human review ruleNone, sample, agent approve, owner approve, security/privacy approve.
Abuse controlsRate limits, prompt injection refusal, source restrictions, duplicate checks.
LoggingWhere action logs, reviewer, parameters, and result are stored.
RollbackHow to reverse, correct, notify, or compensate.
Test evidenceTest cases run and failures fixed.
DecisionApprove, approve with limits, hold, deny, or escalate.
Next reviewDate and triggers for reapproval.

Keep this record redacted. It should point to controlled logs rather than duplicate customer data.

Monitoring checklist

Review these during pilot and monthly after stabilization.

SignalAction
Actions taken without human reviewPause action and review approval rule.
Duplicate tickets, messages, refunds, or updatesAdd idempotency and duplicate checks.
Wrong account or customer contextEscalate and review authorization boundary.
Prompt injection near tool useRoute to security review and add regression test.
Tool errors or timeoutsFail closed and improve handoff.
Customers dispute bot-triggered actionRun correction workflow and review rollback.
Broad service account permissionsReplace with least-privilege scope.
Unused action remains enabledRemove or disable.
Vendor or API permission changesReapprove affected actions.

An unused high-risk action is still an exposed action.

Metrics to track

MetricWhy it matters
Actions attemptedShows tool exposure.
Actions completedShows usage and value.
Actions requiring human approvalShows review workload.
Denied actionsShows boundary and abuse signals.
Duplicate actions blockedShows idempotency value.
Rollbacks or correctionsShows action quality.
Prompt injection attempts near actionsShows security pressure.
Permission exceptionsShows access drift.
Customer disputes tied to actionsShows customer impact.
Time to pause actionShows operational readiness.

Track action metrics separately from answer-quality metrics. A chatbot can answer well and still act dangerously.

Evidence checked

This checklist is aligned with:

  1. NIST AI RMF Core, which emphasizes AI governance, lifecycle monitoring, roles, incident response, recovery, change management, and communication about errors.
  2. NIST Generative AI Profile, which identifies generative AI risks and risk management actions for organizations deploying generative AI systems.
  3. OWASP LLM06:2025 Excessive Agency, which highlights excessive functionality, excessive permissions, and excessive autonomy in LLM-based systems.
  4. OWASP Agentic AI threats and mitigations, which provides a threat-model-based reference for agentic AI systems.
  5. OWASP Top 10 for Agentic Applications 2026, which focuses on autonomous AI agents that plan, act, and make decisions across workflows.
  6. CISA and partner guidance on deploying AI systems securely, which emphasizes protecting, detecting, and responding to malicious activity against AI systems, data, and services.
  7. Cybergiz templates for chatbot launch review, knowledge base review, human handoff, answer correction, conversation log retention, prompt injection response, customer impact assessment, and incident response.

This page is practical operating guidance, not legal, procurement, privacy, compliance, audit, certification, or security assurance advice.

FAQ

Should a chatbot be allowed to send customer emails automatically?

Usually not at first. Start with draft-only replies and require human approval. Automatic sending should be limited to narrow receipts or status confirmations with approved wording and logging.

Is creating a support ticket a high-risk action?

It is usually medium risk, but it becomes high risk when routing affects outages, security, privacy, billing, access, legal, regulated data, or angry customer escalation.

Can prompt instructions protect dangerous actions?

No. Prompts help, but authorization and action controls need to live outside the model. Validate user identity, account scope, action parameters, and permissions server-side.

What is the safest first tool action?

A narrow read-only or draft-only action is safest. For example, create a draft ticket summary for human approval, not a customer-visible account update.

Should the bot use a shared service account?

Only when necessary, and only with least-privilege scopes. A shared high-privilege account makes it harder to enforce customer and user boundaries.

When should an action be paused?

Pause when the bot acts on the wrong account, repeats an action, receives prompt injection near tool use, triggers customer disputes, bypasses human review, or touches sensitive data unexpectedly.

Who owns chatbot tool action approval?

The business owner owns the workflow decision, but security, privacy, engineering, support, billing, and customer success may each own specific controls depending on the action.