Python & TypeScript SDKs

Stop AI agents from sending, deleting,
spending,
or deploying without approval.

One API call pauses your agent, pings a human on email or Slack, and returns the answer — with the approver's edits, chosen option, or signed file. Approval gates for agents that touch money, customers, data, or production.

Deploy to production
Pending · 2m
requested by release-bot · approver lead@company.com
Built for agents shipping from
LangChain CrewAI OpenAI Anthropic Vercel AI Mastra
Where teams use it

Four things your agent
shouldn't do alone.

Refund & payment approval

Support agents stop before issuing refunds, charging cards, or processing transfers. SDK policy rules can auto-approve small amounts; finance reviews anything above your threshold.

Production deploys & infra changes

Release bots and SRE agents request a one-click sign-off before merging, rolling out, or running migrations. Context, diffs, and rollback plan attached.

Outbound customer email & DMs

Sales and success agents send drafts for human edit before anything leaves your domain. Approver can approve, rewrite, or deny — the SDK returns the final copy.

Data deletion & destructive ops

Agents that drop tables, revoke access, or bulk-delete records wait for explicit sign-off. Full audit trail: who approved, when, and what they saw.

How it works

Three steps. That's it.

1

Agent requests a decision

Use the SDK decorator or call the API. Define what the approver should see — choices, form fields, file uploads, or a simple yes/no.

2

Human reviews and responds

The approver gets an email or Slack message with full context, attached documents, and rich input options — not just buttons.

3

Agent receives structured data

The SDK enforces the decision — if denied, the agent literally cannot proceed. Approved responses include the approver's choices, form data, and uploaded files.

Simple integration

SDK or API. Your choice.

Install the Python or TypeScript SDK for enforcement and decorators, or call the API directly from any language.

Works with LangChain, CrewAI, OpenAI Assistants, Claude, or your own code.

LangChain CrewAI OpenAI Anthropic Vercel AI Mastra
# pip install the-handover
from the_handover import HandoverClient

client = HandoverClient(api_key="ho_...")

# Rich decision — approver picks an option
result = client.create_decision(
  action="Deploy to production",
  approver="lead@company.com",
  response_type={
    "type": "choose",
    "choices": ["staging", "production"]
  },
  enforce=True,  # raises DecisionDenied
)
env = result["response_data"]["chosen"]
// npm install @the-handover/sdk
import { HandoverClient } from "@the-handover/sdk";

const client = new HandoverClient({ apiKey: "ho_..." });

// Rich decision — approver picks an option
const result = await client.createDecision({
  action: "Deploy to production",
  approver: "lead@company.com",
  responseType: {
    type: "choose",
    choices: ["staging", "production"],
  },
  enforce: true, // throws DecisionDenied
});
const env = result.responseData.chosen;
Pricing

Start free. Scale when ready.

Free

€0/mo

For experimenting and testing your first agent.

Get started
  • 10 decisions/month
  • Email + mobile push
  • 1 approver (account holder)
  • 7-day audit export

Pro

Most popular
€39/mo

billed monthly

For developers running agents in production.

Get started
  • 100 decisions/month
  • 2 approvers (you + 1)
  • Email + push + webhook
  • Escalation chains
  • Audit log export

Scale

€119/mo

billed monthly

For teams with multiple agents and approvers.

Get started
  • 500 decisions/month
  • 3 approvers per API key
  • All channels incl. Slack
  • Custom email branding
  • SLA guarantees

Enterprise

Custom

For organisations with custom needs.

Contact us
  • Custom decision volume
  • Custom approver limits
  • All channels
  • Dedicated support