> ## Documentation Index
> Fetch the complete documentation index at: https://docs.invokehq.run/llms.txt
> Use this file to discover all available pages before exploring further.

# introduction

> Invoke is the execution layer between AI agents and real tools. Prevent duplicate charges, wrong CRM writes, and unknown-outcome retries in production.

Invoke sits between your agent and the real tools it calls — Stripe, CRMs, Slack, Linear, and internal APIs. It controls what happens when the agent reaches for a real tool: validating scope, reconciling ambiguous outcomes, and returning a trace of every decision.

## Why Invoke

AI agents fail in production in three specific ways:

* **Unknown outcomes** — your agent calls `stripe.charge_customer`, the connection drops. Did it succeed? Retrying blindly charges twice.
* **State drift** — the customer record the agent resolved at plan time is stale by the time the write executes. Wrong entity gets touched.
* **Duplicate retries** — a lost response from a write-once API triggers a second side effect on replay.

These aren't model problems. They're execution problems. Invoke solves them at the runtime level.

## How it works

Invoke intercepts every tool call and applies four controls:

1. **Classify** — labels the tool as idempotent, write-once, irreversible, or approval-bound
2. **Commit** — writes a durable execution record before any side effect lands
3. **Reconcile** — checks live state when an outcome is unknown, blocks retries if already succeeded
4. **Trace** — returns structured proof of every decision, attempt, and policy gate

Your agent calls Invoke instead of hitting APIs directly. No framework changes required.
