An agent is useful when it can reduce meaningful uncertainty. It is not the right abstraction for every workflow with an API.
I would avoid an agent when a deterministic program can express the task more clearly, when an error has an irreversible impact, or when no one can explain what inputs, tools, and permissions the agent received. Those conditions do not make agentic systems impossible; they make their safety case more expensive than the value they create.
Use the smallest reliable mechanism
Start with a typed integration, validation, and ordinary automation. Introduce an agent only where interpretation, planning, or natural-language interaction creates leverage. Then give it narrow tools, observable execution, and an approval boundary that matches the risk.
That is the same engineering discipline described in evaluating LLM agents like software: useful capability is not enough without evidence that it behaves acceptably.