{"id":61,"date":"2026-10-22T07:04:57","date_gmt":"2026-10-22T07:04:57","guid":{"rendered":"https:\/\/michaelracle.com.ng\/blog\/?p=61"},"modified":"2026-10-22T07:04:59","modified_gmt":"2026-10-22T07:04:59","slug":"ai-agent-human-approval","status":"publish","type":"post","link":"https:\/\/michaelracle.com.ng\/blog\/2026\/10\/22\/ai-agent-human-approval\/","title":{"rendered":"Which AI agent actions should still need human approval?"},"content":{"rendered":"<p class=\"oracle-photo-credit\">Photo: Lukas Blazek \/ Pexels. Illustrative photograph. <a href=\"https:\/\/www.pexels.com\/photo\/close-up-photo-of-laptop-on-white-surface-293333\/\">Photo source<\/a> \u00b7 <a href=\"https:\/\/www.pexels.com\/license\/\">Pexels licence<\/a><\/p>\n<p>Keep human approval for actions that create commitments, expose sensitive information or are difficult to reverse. An AI system&#x27;s ability to call a tool does not establish that it should use every function without review.<\/p>\n<h2>Separate preparation from execution<\/h2>\n<p>An assistant can draft a response or prepare a proposed record change. Sending it, issuing a refund or changing access is a separate step. Make that distinction visible in workflow design and permissions.<\/p>\n<p>For example, an assistant could prepare a reply to an unusual complaint and show the supporting information. A person can review any price, exception or promise before the message is sent.<\/p>\n<h2>Define the boundary concretely<\/h2>\n<p>List permitted automatic actions and those needing review. Include limits, authorised destinations and what happens when information is incomplete. \u201cUse good judgement\u201d is not a sufficient rule for consequential actions.<\/p>\n<p>Restrict credentials and tools to the required task. Keep an appropriate record of proposed and completed actions without retaining unnecessary private content. Provide a way to stop unreliable behaviour.<\/p>\n<h2>Test difficult cases<\/h2>\n<p>Try ambiguous requests, conflicting documents, duplicate events and unavailable services. Check whether the system pauses rather than inventing approval. Ensure a person can correct a draft before it becomes an external action.<\/p>\n<p>OWASP&#x27;s <a href=\"https:\/\/genai.owasp.org\/2026\/10\/08\/genai-and-agentic-ai-exploit-roundup-q3-2026\/\">recent agentic-AI roundup<\/a> reinforces the importance of authority boundaries. The design question is what the system can affect, not how confidently it explains itself.<\/p>\n<p>I scope <a href=\"\/solutions\/ai-automation\">AI automation<\/a> and <a href=\"\/solutions\/web-mobile-apps\">business applications<\/a>. Explore <a href=\"\/portfolio\/\">my work<\/a> or <a href=\"\/solutions\/contact\">describe your proposed workflow<\/a>. Read <a href=\"https:\/\/michaelracle.com.ng\/blog\/2026\/10\/22\/ai-business-data-privacy\/\">What business information should I keep out of an AI tool?<\/a> and <a href=\"https:\/\/michaelracle.com.ng\/blog\/2026\/10\/22\/business-automation-fails\/\">What happens when an automation fails halfway through?<\/a>.<\/p>\n<p>Start with limited authority. Approval works best when a person can review a concrete, understandable action before it happens.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Keep human approval for actions that create commitments, expose sensitive information or are difficult to reverse. An AI system&#8217;s ability to call a tool does not establish that it should use every function without review.<\/p>\n","protected":false},"author":1,"featured_media":18,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6],"tags":[],"class_list":["post-61","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-apps-and-automation"],"_links":{"self":[{"href":"https:\/\/michaelracle.com.ng\/blog\/wp-json\/wp\/v2\/posts\/61","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/michaelracle.com.ng\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/michaelracle.com.ng\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/michaelracle.com.ng\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/michaelracle.com.ng\/blog\/wp-json\/wp\/v2\/comments?post=61"}],"version-history":[{"count":2,"href":"https:\/\/michaelracle.com.ng\/blog\/wp-json\/wp\/v2\/posts\/61\/revisions"}],"predecessor-version":[{"id":151,"href":"https:\/\/michaelracle.com.ng\/blog\/wp-json\/wp\/v2\/posts\/61\/revisions\/151"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/michaelracle.com.ng\/blog\/wp-json\/wp\/v2\/media\/18"}],"wp:attachment":[{"href":"https:\/\/michaelracle.com.ng\/blog\/wp-json\/wp\/v2\/media?parent=61"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/michaelracle.com.ng\/blog\/wp-json\/wp\/v2\/categories?post=61"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/michaelracle.com.ng\/blog\/wp-json\/wp\/v2\/tags?post=61"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}