Adovo

Applied AI

An AI agent times out, retries and sends the customer twice

A timed-out tool call may already have completed. Design agent actions so retries cannot repeat customer-facing side effects.

October 23, 2026

An agent calls a tool to send an email or create a booking. The tool response times out, so the agent repeats the call. The first action actually succeeded. A production-agent discussion on Reddit raises this ambiguous-completion problem. The failure is not in the wording of the agent's answer; it is in the side effect.

Treat timeout as unknown, not failed

When a call times out, the controller knows it did not receive an acknowledgement. It does not know whether the external action happened. Before retrying, query an operation record or the target system using a stable business key. Keep the tool's request ID and external result ID in the audit trail. A natural-language “I think it failed” is not a safe retry rule.

Make the write replay-safe

Assign an idempotency key to the intended business action, not to each network attempt. The receiving tool should return the same result for repeats of that key and reject conflicting payloads. Microsoft's idempotent Azure Functions guidance explains the principle. Where event delivery is at least once, Durable Functions external event guidance also calls for deduplication.

Validate the customer outcome

Test a timeout after the external system commits but before the agent receives its response. Assert that only one customer-visible artifact exists and that the agent reports its actual state. Build the check around emails, payments, bookings or CRM changes according to the tool's risk, not around whether the chat transcript looks plausible.

Adovo’s view

An agent should never improvise certainty about an irreversible action. One business intent needs one durable identity and one verifiable outcome. That is the boundary between a useful assistant and an unreliable operator.

Continue exploring

Applied AI

AI agentsHuman approval

AI agent approval can expire before execution: bind it to the action

An approval of a plan is not necessarily approval of the later tool call. Recheck actor, target, payload and state at execution.

Read more

Applied AI

AI agentsTask completion

The AI agent says done, but the deliverable is missing: verify outcomes

A completed tool call or confident summary is not a completed customer task. Define observable receipts before agents close work.

Read more

Applied AI

AI agentsTool permissions

Production AI agents need action permissions at the tool boundary

A broad service account turns a helpful agent into an uncontrolled operator. Scope tools, data and approvals to each action.

Read more
Explore applied AI services →