Execution infrastructure
for autonomous agents.

Invoke gives AI agents the infrastructure to act reliably, with the right context and controls built in.

Invoke runs under the frameworks you build on and stands in front of the tools they call. Nothing below is a customer logo — it is the surface area we govern.

The problem

Agents decide. Then they act with nothing in between.

Agent decidesrefund $480 · retry on timeout
Nothing checks the call
Tool actsstripe · postgres · gmail
Where most teams are
Raw SDK calls

The agent holds the API key and calls the tool directly.

  • ✕A retry after a timeout re-fires the effect
  • ✕The key’s scope is the agent’s scope — all of it
  • ✕No record of which agent called, or why
  • ✕Human review means reading logs after the fact
The usual next step
Framework guardrails

Callbacks and interrupts inside LangGraph, CrewAI or your own loop.

  • ✕Guardrails live in the process that can be talked out of them
  • ✕Stops at the framework boundary — a second agent is unguarded
  • ✕Approvals aren’t bound to an execution, so they go stale
  • ✕Traces show what the model said, not what actually changed
The result

Agents that can decide, but can’t be trusted to act.

✕ 01

Agents stay in staging

Nothing proves a retry is safe or a call is in scope, so nothing that touches money or data ships.

✕ 02

A human on every call

With no scope and no checkpoints, the only control is a person watching — and that stops scaling at one agent.

✕ 03

Incidents nobody can explain

The double charge or the missing row surfaces days later, and the logs only show what the model said.

✕ 04

Audits with no answer

“What did the agent do, and who allowed it?” has nothing behind it but the agent’s own account.

The solution

Invoke runs everything between the decision and the effect.

01Identity
Agent registry3 in workspace
Research Agent · v1.4Live
Sales Agent · v1.1Review
Finance Agent · v2.1Approval
Identity boundag_finance
Every call carries who ran it, under which version — scopes and history included.
→ the record travels with every effect
$invoke receipts --verify12 sealed

See it run.

Pick a failure. The same agent runs twice, side by side — once straight at the tool, once through Invoke.

invoke>the agent retries a timed-out $1,240 charge

Without Invoke

→stripe.charge → timeout
↺retry → stripe.charge again
✕customer billed twice
$2,480 charged · no record of who called

With Invoke

!over $1,000 → held for approval
✓approved joel@invokehq → charged · timeout
✓retry → deduped · idem inv-2041
$1,240 charged once · receipt sealed
Proof

Every call crosses one checkpoint.

FAQ

Questions teams ask before the first call

What is Invoke?
A runtime that sits between your agents and the tools they call. Every call passes through it once: Invoke checks who is calling and whether that agent may, pauses the risky ones for a human, makes sure a retry can’t repeat the action, and writes a receipt of what actually happened.
Do I have to rewrite my agent?
No. Install the CLI with npm i -g @invokehq/cli, point your tools at the gateway and keep your agent code. The agent calls the same tools through the same interface; Invoke stands in front of them. The first governed call takes about five minutes.
Which frameworks and tools does it work with?
LangChain, LangGraph, CrewAI, the OpenAI and Claude SDKs, or a loop you wrote yourself — Invoke sits underneath, so a second framework doesn’t need a second set of guardrails. On the tool side, Stripe, GitHub and Linear are built in, and any MCP server or HTTP tool can sit behind the gateway.
What happens when a call fails halfway?
The runtime owns the idempotency key, so a retry is recognised as the same intent, not a new one. Where the provider can be checked, Invoke looks at what actually happened before anything re-fires. Where it can’t, the attempt is marked unknown and held for a person instead of being guessed.
How do approvals work?
You decide which calls need a human — by agent, tool or amount. A call that needs one pauses with its full intent attached: what is about to happen, to which record, under whose identity. The approval is bound to that one execution and re-checked when it is released, so it can’t be replayed later or stretched over changed parameters.
What’s in a receipt?
Caller, intent, scope, approver, outcome and cost, signed when the call completes. Query them by run, agent or effect with invoke receipts, or verify one offline. It is evidence your agent didn’t write, rather than its own account of what it did.
Where do credentials live, and what about compliance?
Credentials stay in the runtime and never reach the agent; each agent calls with its own key, scoped by policy. SOC 2 Type II is in progress, GDPR is supported and a DPA is available on request. HIPAA and FedRAMP are not offered. The full posture is on the security page.

Bring your agents to production.