Now in private beta

When your AI takes a real action, a human signs off first.

Your agents draft the payout, send the customer email, file the claim. Ratifia pauses the steps that matter for a human decision — then resumes your workflow with the verdict in hand. It runs on top of the engine you already use and never touches your code. Reviewers get whatever context the decision needs — the prompt, the tool call, the data at stake — before they approve.

Private beta — book 15 minutes and you're in with a key + SDK access.

one call inside your workflow · no infrastructure to run · every decision audited

ra·ti·fia/ˈra-tə-fē-ə/

verb to sign off on what your AI does — approve the action before it ships.

A play on ratify — to give something your formal stamp of approval.

claim-workflow.ts
// pause a step in the workflow you already run
const decision = await ratifia.awaitApproval(ctx, {
  policy: "payouts-over-5k",
  route: { role: "finance", quorum: 2 },
  context: { blocks: [ aiOutput, toolCall, balanceDiff ] },
});
if (!decision.approved) return escalate();
// ...resumes here once a human decides
▍ Awaiting your decisionLive
Approve payout · claim #48213
routed to Finance · quorum 2 of 2
AI output · claude-opus-4
RecommendationApprove — policy match
ReasoningWithin limit · verified
Tool call
issueRefund({ amount: 12400, currency: "USD" })
Balance diff
− account_balance: $41,900
+ account_balance: $29,500
1 of 2 approvals · auto escalates in 3h 40m

Same one call — ratifia.awaitApproval — across payouts, patient care, or a production change. The right panel is an example of what a reviewer can see — a free-form context payload carrying whatever the decision needs. Inngest, Temporal, and Hatchet never show this.

The big picture

One approval gate, any engine, any surface

Your engines and agents propose consequential actions. Ratifia holds each one for a human, then routes the verdict to wherever your reviewers already work.

The surfaces are where a person is asked — not where the action goes. Ratifia routes the decision out, waits, then resumes your workflow with the verdict.

The approval lifecycle

Five stages, one call

Every human checkpoint runs the same path — from “does this even need a person?” to your workflow picking back up.

01 · GATE

Should a human decide?

A declarative policy — or AI triage — decides. AI proposes, policy bounds. No hard-coded if.

02 · ROUTE

To the right people

Send to a person, role, or group — with M-of-N quorum so no single sign-off clears a big call.

03 · PRESENT

With full context

The reviewer gets whatever the decision needs — prompt, reasoning, the tool call, the data at stake — not a bare “approve?” button.

04 · DECIDE

Where they work

Approve or reject in the dashboard or by email today — Slack, DocuSign, and others next.

05 · RESUME

Exactly where it paused

Your workflow continues with the verdict — no polling, no glue code, no lost state.

Built for AI engineers

Human review, built for AI — not bolted on

Everything below is what the product is for. Where we’re not done yet, we say so — plainly.

Shipped

Approvals as a primitive

Pause any AI step for a human decision and resume with the verdict in hand — one call inside the workflow you already have.

More engines soon

Runs on your engine

The human layer on top of Inngest today. Temporal, Trigger.dev, and Hatchet adapters are next. It never executes your code.

Shipped

Decide with full context

Attach whatever the reviewer needs — the prompt, the tool call, the records at stake, your own fields. A free-form context payload, not a bare yes/no.

Escalation soon

Route & quorum

Send a decision to a person, role, or group with M-of-N approval. Automatic escalation when no one acts is on the way.

Shipped

Policy-driven gates

Declarative policy decides when a human is required — by amount, risk, or AI triage — with a mandatory floor the AI can't undercut.

Shipped

Audit-ready by default

Who, what, when, and the full AI context — every decision recorded for compliance, with per-org retention.

Decision surfaces

Approve where your reviewers already are

The binding decision can happen on any of these. Two are live now; two are close behind.

Dashboard Inbox

A reviewer queue with the full context inline.

Shipped
Email action-links

Signed approve / reject links, no login needed.

Shipped
Slack interactive

Approve from a Slack card with the context attached.

In the pipeline
DocuSign signed

Audited e-signature for decisions of record.

In the pipeline

Get an API key

Book 15 minutes and we'll set you up with a key and SDK access — no waitlist.

Not ready to talk? Leave your email and we'll reach out.

No spam. Unsubscribe anytime.