Macha

How Do You Keep AI Support Agents Safe? Scopes, Confirmations and Guardrails

Abbas, Customer Support & AI, Macha

Written by

Ankeet Guha, Co-founder & CTO, Macha

Reviewed by

Published July 30, 2026

Updated September 24, 2026

A wrong answer from an AI support agent gets corrected in the next reply, but a wrong action, like a refund to the wrong customer or an internal note posted publicly, gets the whole project switched off. Tool scopes, confirmation gates and reversible actions are what stop that second kind of mistake.

Key takeaways

  • AI support agents stay safe through four controls: a read or write scope on every tool, confirmation before writes in chat, write access only via enabled triggers, and reversible actions.
  • Macha tags every connector tool as Read or Write, including all 17 tools on its Zendesk connector, so an agent gets only the access one job requires.
  • Macha sub-agents stay read-only in interactive chat and only gain write access when they run autonomously through a trigger someone has deliberately enabled.
  • Macha caps scheduled triggers at a 1-hour minimum interval, 24 runs a day and 3 concurrent runs per org, and switches a trigger off after 5 consecutive failures.
  • Deleting an agent in Macha moves it to trash with a 30-day restore window, but a public reply that already reached a customer cannot be recalled.
How Do You Keep AI Support Agents Safe? Scopes, Confirmations and Guardrails

An AI support agent stays safe when four controls sit around it: a read or write scope on every tool, a confirmation step before any write in chat, write access only inside a trigger you deliberately enable, and actions you can reverse. The prompt matters less than those controls, because a scope you never granted can't be talked around. Below, each guardrail uses how Macha implements it as the worked example. Macha is an AI agent layer on top of the help desk you already run (Zendesk, Freshdesk, Gorgias, Front, HubSpot or Intercom), so every example is about agents taking real actions in tools you already trust.

GuardrailWhat it preventsHow Macha applies it
Read/write scopesAn agent changing things it only needed to look atEvery connector tool tagged Read or Write, each with its own toggle (17 tools on Zendesk)
ConfirmationsA write firing without a human seeing the payloadConfirm/Reject card in chat; custom POST, PUT, PATCH and DELETE tools flagged automatically
Interactive vs autonomousWrites during testingSub-agents read-only in chat; writes only via an enabled trigger
Activation warningsSwitching on public replies by reflexWarning modal plus a persistent advisory card
ReversibilityPermanent loss from one clickDeleted agents sit in trash for 30 days
ContainmentRunaway loops overnightDebounce cap, 24 scheduled runs a day, auto-disable after 5 failures

How do read and write scopes limit what an agent can do?

Start with the single distinction that organizes everything else. An agent's capabilities come from tools — discrete functions it can call. And every tool falls into one of two buckets:

  • Read tools observe. They fetch a ticket, search the knowledge base, look up an order, list recent comments. The worst case is they surface information the agent didn't need. They don't change anything.
  • Write tools act. They post a reply, update a status, change a subject line, issue a refund, create a page. These have side effects in systems your customers and your business depend on.

This isn't a Macha invention — it's the same least-privilege principle every security team applies. OpenAI's own agents guidance says not to rely only on agent-level guardrails and to "put validation next to the tool that creates the side effect," and it lets you mark sensitive tools with needsApproval: true. The point is that read and write deserve different defaults, and a safe platform makes that distinction visible rather than burying it.

In Macha, that classification is right there on the connector. Open any connector — here's the Zendesk one with all 17 tools — and each tool is tagged Read or Write with its own toggle. You grant an agent exactly the tools it needs and nothing more.

Macha's Zendesk connector — read tools Get Ticket, Get Ticket Custom Fields, Search Tickets and Search Users.
Macha's Zendesk connector — read tools Get Ticket, Get Ticket Custom Fields, Search Tickets and Search Users.

Scroll down the same list and the write tools are tagged differently:

Further down the connector — Update Ticket Status and Update Ticket Subject carry a Write tag, Search Articles a Read tag.
Further down the connector — Update Ticket Status and Update Ticket Subject carry a Write tag, Search Articles a Read tag.

The practical payoff: a triage agent that only categorizes and routes never needs a single write tool. Give it Get Ticket, Search Tickets, and Search Articles, leave every Write toggle off, and there is no code path by which it can change a customer-facing thing. You've made an entire class of mistake structurally impossible instead of hoping the prompt holds.

How do confirmations on write actions work?

Reading is cheap to get wrong; writing isn't. So the first real gate is a confirmation: before the agent executes a write, a human has to approve the specific action.

In Macha's interactive chat, a write tool doesn't just fire. The agent proposes it, and you get a card showing exactly what's about to happen, with Confirm and Reject:

A Macha chat where the agent proposes an Add Internal Note — the card reads Requires confirmation, with Reject and Confirm.
A Macha chat where the agent proposes an Add Internal Note — the card reads Requires confirmation, with Reject and Confirm.

Two details make this trustworthy rather than theatrical. First, the card names the exact operation and target ("Add internal note to ticket #1?"), and a Show details expander reveals the full payload — so you're approving a specific change, not a vague intent. This mirrors the better practice in the field: replace a bare "Approve?" with the actual intent and blast radius so the human is making an informed call. Second, nothing is charged or sent until you click Confirm. Reject and the action evaporates.

This isn't limited to one tool. The pattern is wired into write operations across connectors:

  • Zendesk — the subject-update tool "requires confirmation in chat mode" and validates the new subject is 1–150 characters before it'll even offer the action.
  • Confluence — all write operations (create page, update page, add comment) require confirmation; the read tools (search, list spaces, get content) don't.
  • Shopify — create_refund ships with confirmation baked in, while the order- and customer-lookup tools run freely.

And because Macha lets you connect any REST API as a custom tool, it doesn't make you remember to flag the dangerous ones. When you define an endpoint, Macha auto-detects the tool type from the HTTP method: GET is treated as a read, while POST, PUT, PATCH, and DELETE are automatically marked as write operations that require confirmation. Safe-by-default, even for tools you build yourself.

When does an agent get write access?

Here's the guardrail that most "human-in-the-loop" write-ups miss, and it's arguably the most important one for support.

There are two very different contexts an agent runs in:

  1. Interactive — a human is in the loop in real time (an agent in chat, a teammate drafting with the agent, you testing a flow).
  2. Autonomous — the agent runs on its own, fired by a trigger: a new ticket arrives, a customer message lands, a scheduled job kicks off. No human is watching that exact moment.

Macha treats these asymmetrically on purpose. Sub-agents stay read-only during interactive chat — they can look things up and reason, but they cannot execute writes when you're poking at them. They only gain the ability to perform write operations (replies, updates) when running autonomously via a trigger you've deliberately wired up and enabled. Write access is something the agent earns by being promoted into a production trigger, not a default it carries everywhere.

That ordering matches how careful teams actually roll out automation: explore and test with reads, prove the behavior, then turn on autonomous writing for a narrow, well-defined trigger. The EU AI Act's Article 14 codifies the same instinct for high-risk systems: humans must be able to oversee, intervene and override. The EU's Digital Omnibus, approved in June 2026, moved that deadline for standalone high-risk systems from August 2026 to 2 December 2027 (Jones Walker). Most support agents aren't high-risk systems under the Act anyway, but the override seam is cheaper to design in now than to retrofit.

What stops someone switching on a risky tool by accident?

Confirmations protect a single action. But some decisions are made once, at configuration time, and then run thousands of times — like enabling "Add Public Reply" on an agent that fires on every customer message. That's a high-blast-radius switch, and it deserves friction.

Macha adds it in two layers. When you toggle on a high-impact tool (Add Public Reply, Update Ticket Status) or a high-volume trigger (Every Customer Message, New Ticket), you get an activation confirmation modal — severity-themed, with a plain-language warning and custom confirm/cancel labels — so nobody flips on autonomous public replies by reflex.

Then, so the warning doesn't vanish the moment you click through, every enabled high-impact tool and trigger leaves a persistent advisory card on the agent's configuration page — a short, always-visible note on how to use it safely. The risk stays legible to the next teammate who opens the agent, not just to whoever set it up.

Can you undo an agent's action?

The honest truth about guardrails is that some bad action will eventually slip through — a confirmation clicked too fast, an edge case nobody scoped. A mature system assumes that and asks: can we undo it?

Macha leans on reversibility wherever it can. Deleting an agent doesn't nuke it — it moves to trash with a 30-day restore window, and the confirmation copy says so explicitly:

Macha's delete confirmation — Move to trash? You can restore it within 30 days — with Cancel and Move to trash.
Macha's delete confirmation — Move to trash? You can restore it within 30 days — with Cancel and Move to trash.

That's a deliberate design note from the changelog: the team rewrote the old "this cannot be undone" warning because, with the 30-day window, it now can be. The same philosophy runs through account and organization deletion (30-day scheduled deletion with cascade cleanup) and through frozen run snapshots in Studies, where editing a definition never rewrites the history of past runs. The pattern: prefer soft-delete and grace periods over irreversible destruction, and tell the user the truth about what's recoverable.

What limits stop autonomous runs from running away?

Autonomous agents introduce a failure mode interactive ones don't: runaway loops and stampedes. A misbehaving webhook source, a flapping integration, or an over-eager schedule can hammer your agent and your monthly ticket allowance. Macha boxes those in with hard limits rather than trust:

RiskGuardrail
A noisy event source firing endlesslyDebounce safeguard — a debounce bucket is force-fired once it hits 25 events, or after 10× the debounce window (capped at 2 minutes), so a malformed stream can't hold an agent open indefinitely.
A schedule running too hotScheduled-trigger limits — minimum 1-hour interval, a 24-runs/day cap, and a 3-concurrent-runs-per-org ceiling.
A trigger silently failing foreverAuto-disable — a trigger switches off after 5 consecutive failures and emails you; stale locks are cleaned up after 30 minutes.
A tool disabled at the connector but still wired to agentsDefense in depth — the backend silently skips connector-disabled tools at runtime, and the UI flags them in three places so teams don't waste time toggling tools the platform won't run.

None of these require you to configure anything. They're the floor the platform enforces so that "the agent went haywire overnight" isn't a sentence you ever have to say.

What can the agent see, and what gets kept?

Guardrails aren't only about actions; they're about what the agent can see and what gets kept. A few defaults worth knowing:

  • Scoped knowledge. Each data source can be set to "All documents" or hand-picked "Selected" documents per agent, so a given agent only retrieves from the corpus it's meant to. Least privilege for knowledge, not just tools.
  • Encryption in logs. API keys and tokens that pass through internal agent logs are encrypted at rest with AES-256-GCM — credentials don't sit in plaintext anywhere.
  • An audit trail. The full raw webhook payload is saved on every autonomous conversation for audit and debugging, and tool cards record success/error with the actual result — failed calls even show the "attempted payload (not sent)" so you can see what the agent tried to do.
  • Retention with a clock. Conversations auto-delete after 45 days of inactivity; internal agent logs expire after 7 days.
  • Your data, exportable and deletable. From Settings → Privacy you can export a complete JSON copy of your data (with credentials and embeddings stripped) or schedule account/org deletion.
Macha's Privacy settings — a Download my data JSON export, plus Delete account and Delete organization.
Macha's Privacy settings — a Download my data JSON export, plus Delete account and Delete organization.

Where can guardrails give false comfort?

Guardrails build trust, but they're not a substitute for judgment. A few honest caveats:

  • Confirmations only work if a human reads them. In interactive mode that's fine. But the whole point of an autonomous trigger is that no one is clicking Confirm — so the safety there comes entirely from scope (which tools you enabled) and from the activation warnings you acknowledged at setup time. Don't enable autonomous public replies and assume a confirmation will still catch a mistake; it won't, because there's no one there to catch it.
  • Read-only isn't risk-free. A read tool can still surface data into a reply that shouldn't be shared. Scope your knowledge sources and instruct the agent on what not to repeat; "it can only read" is not the same as "it can't leak."
  • Auto-detected tool types are a default, not a verdict. Macha marks POST/DELETE custom tools as writes automatically — but a poorly designed GET that triggers a side effect on someone's API will be treated as a read. Sanity-check custom tools against what the endpoint actually does.
  • Reversibility has limits. A 30-day restore window covers a deleted agent. It does not un-send a public reply that already reached a customer's inbox. Treat customer-facing writes as the highest-stakes category and gate them hardest.

The right posture is the one the 2026 production guidance keeps landing on: match the guardrail to the stakes. An internal triage agent can run wide open on reads; an agent that issues refunds or posts public replies should be scoped tight, confirmation-gated, and rolled out behind a deliberate trigger.

How should you roll out a new agent safely?

If you're standing up your first agents, this sequence keeps you safe without slowing you to a crawl:

  1. Start read-only. Build the agent with only read tools and prove its answers in interactive chat and test runs.
  2. Add writes one at a time, behind confirmation. Turn on a single write tool and exercise it in chat where every action shows a Confirm/Reject card.
  3. Promote to a narrow trigger. Only after the behavior is solid, wire one specific trigger and acknowledge the activation warning — that's where autonomous write access switches on.
  4. Keep the blast radius small. One trigger, one tightly-scoped agent, sub-agents for specialist tasks rather than one omnipotent agent.
  5. Watch the audit trail and the run history. Use the saved payloads and tool-result banners to review what ran, and lean on the built-in containment limits.

FAQ

What's the difference between a read tool and a write tool? Read tools only fetch information (get a ticket, search the knowledge base, look up an order) and have no side effects. Write tools change something (post a reply, update a status, issue a refund). In Macha every tool is tagged Read or Write on its connector, so you can grant exactly what an agent needs.

Does the AI need approval before it takes an action? For write actions in interactive chat, yes — Macha shows a confirmation card with the exact operation and a Confirm/Reject choice, and nothing executes until you confirm. Custom API tools using POST/PUT/PATCH/DELETE are auto-flagged to require confirmation too.

Can an agent take actions on its own without a human watching? Only when you deliberately enable it. Sub-agents are read-only in interactive chat and only gain write access when promoted into an autonomous trigger you've wired up — and high-impact tools and triggers throw an activation warning when you switch them on.

If the agent does something wrong, can I undo it? Where possible, actions are reversible: deleting an agent moves it to trash with a 30-day restore window, and account/org deletion is a scheduled 30-day process. Customer-facing writes that already reached someone (like a sent public reply) can't be recalled, which is why those are gated hardest.

How does Macha keep autonomous agents from running away? Built-in limits: debounce safeguards force-fire runaway event streams, scheduled triggers cap at a 1-hour minimum interval / 24 runs a day / 3 concurrent runs per org, and triggers auto-disable after 5 consecutive failures. Scheduled triggers and custom tools are included on every plan; the pricing page has the per-ticket tiers.

Do you have to replace your help desk to get these guardrails?

No. Macha layers agents on top of the help desk you already run (Zendesk, Freshdesk, Gorgias, Front, HubSpot or Intercom), with read/write scopes, confirmations, and audit trails as defaults rather than afterthoughts. Start a free trial ($50 of usage, no credit card required), connect read-only first, and promote to writing only when you're ready — or read the docs for the full agent-builder walkthrough.


Written by Abbas (Customer Support & AI, Macha) · Reviewed by Ankeet Guha (Co-founder & CTO) · Published 2026-06-24 · Last updated 2026-09-24.

Macha

About Macha

Macha is an AI agent platform that works on top of the help desk you already use (Zendesk, Freshdesk, Gorgias, Front, Intercom or HubSpot) and connects to the rest of your stack, even your own internal systems. It is done for you: the Macha team analyzes your past tickets, builds the knowledge base and the agents, and runs them in safe mode until the drafts are right. Pricing is about $0.40 a ticket, and that includes setup and a dedicated success manager who handles your changes. Learn more about Macha →

Zendesk
5.0 on Zendesk Marketplace

Loved by support teams worldwide

See what support teams are saying about Macha AI.

The application seems excellent to me! We are still testing, and we need support for some details and they were extremely efficient too!

Daniela Costa

Daniela Costa

Head of Support, Seabra

Macha has been a great addition to our support toolkit. It generates clear, well-organized responses that fit naturally into our workflow. One feature we particularly appreciate is its ability to automatically reply in the same language as the ticket.

Marius F

Marius F

Support Head, Zentana

We've been using Macha for a little while now and it's been really great addition so far! It's powerful, convenient, and makes getting work done a lot easier for our agents.

Alexander Wedén

Alexander Wedén

Head of Support

Support team is very helpful and responsive. Really enjoy how lightweight this is within Zendesk itself vs other more intrusive tools.

Cathleen Wright

Cathleen Wright

Zendesk Admin, Cortex IO

So far it's pretty good! Our queries are a little nuanced, so we can't always use it, but it's got enough utility for us. It can even incorporate our bilingual country with greetings in a second language.

Jae Oliver

Jae Oliver

Head of Support, Wise

Really enjoying using Macha, it has made a noticeable difference to our support team in a short amount of time. I really like the ticket summary feature, saves us a lot of time.

Harry Jackson

Harry Jackson

Head of Support, Crumb

Macha AI is a great addition to my workspace! It's powerful, convenient, and it really makes productivity so much easier for our agents!

Dave G

Dave G

Head of Support, Cyber Power Systems

Very impressed! AI integration for Zendesk has certainly come a long way and Macha seems to set the standard for now. This will for sure save lot of time in our support team.

Pauli Juel

Pauli Juel

Head of CS, Dokument24

Macha has been working great for us so far! The auto-responses are accurate and our resolution time has dropped significantly.

Lana T

Lana T

Zendesk Admin, Swotzy

Macha AI is a great addition. The knowledge base feature means our agents always have the right answers at their fingertips.

Mischa Wolf

Mischa Wolf

Head of Support, Topi

We're enjoying this integration so far. It's made our support team more efficient and our customers get faster responses.

Paula G

Paula G

Head of Customer Support, Xly Studio

The team enjoys using it. It saves considerable time on common questions and the integration options are excellent.

Kilian Leister

Kilian Leister

Support Head, Didriksons

Get your AI agents set up for you.

Book a 20-minute call with our team. We'll show you where we would start on your help desk and how the setup works. Setup and a dedicated success manager come with the trial and every plan.

Live in under a week
Safe mode until you approve
About $0.40 a ticket