Zia Agents are genuinely powerful, but like any autonomous system, they can occasionally behave in ways that seem confusing from the outside, looping on the same action, escalating unexpectedly, or stopping without explanation. In almost every case, this comes down to one of a handful of well-understood causes: ambiguous stopping conditions, missing execution limits, or error-handling logic that isn't quite configured the way you expect. This article pulls together our detailed guides on each of these areas, so you can work through them systematically rather than guessing.
Most "strange" agent behaviour isn't actually random. It's usually the predictable result of a prompt or configuration that leaves too much room for interpretation around a specific question: what should the agent do when it isn't sure, when a tool fails, or when it has genuinely finished? Left unanswered, the agent's own reasoning tends to fill that gap in ways that look erratic from the outside, retrying a call that's never going to succeed, bouncing a ticket back and forth, or continuing to run when it should have stopped. Each of the five topics below addresses one specific version of this gap.
If a Zia Agent calls the same tool, such as a CRM search or a DNS lookup, over and over with identical parameters, this is a Redundant Tool Call Loop. It's almost always caused by unclear stopping conditions or retry-style instructions that were never explicitly capped to one attempt.
If a ticket cycles between a Zia Agent and a human queue without settling, this is a ticket assignment loop, usually caused by ambiguous auto-assignment routing that lets an un-assigned ticket get re-picked-up by Zia instead of landing cleanly with a human.
This is the Fallback Branch (also called the Failsafe Exit Branch) doing exactly what it's designed to do. It's the mechanism that catches low-confidence queries, failed API or tool calls, guardrail violations, and missing knowledge context, and routes them somewhere sensible rather than letting the agent hallucinate or hang. If this is firing more often than expected, the trigger conditions and logging in this branch are the first place to look.
Zia Agents operate under a set of platform-level execution rules that aren't always obvious until you hit them: strict COQL query construction rules, a 3-attempt self-correction cap on failed queries, one-action-per-rule limits inside workflows, a 1,000 execution per day organisation-wide cap, and Session Key isolation on triggers. If an agent's behaviour seems to be capped or restricted for no obvious reason, this is usually why.
This is the preventive counterpart to failure mode 1. Explicit termination flags, stop sequences, and exit conditions are what you build into an agent's workflow and prompts up front, so it halts deterministically on task completion, a guardrail hit, or a handoff, rather than relying on the model to infer when it should stop.
When an agent is behaving unexpectedly, working through these steps in order tends to surface the cause quickly: