Human-in-the-loop infrastructure for AI agents

AI does the work.
People make the calls. Deliverd keeps the record.

When an AI agent needs a person — for approval, a review, an answer or a decision — it makes one call and carries on when they reply. A gate checks an agent's action against policy, or asks a person, before the agent acts; a task keeps the job's objective, the evidence says who decided what, and what the agent made can be published behind your own sign-in.

What changes when your agents ask first.

  1. Stop chasing approvals.

    The right person is asked, on their phone, and the answer comes back to the agent.

    How it works: Stop chasing approvals.
  2. Keep AI work moving across tools.

    Without losing the objective: the goal, where the work stands and the next step are kept, so another agent or a colleague picks it up without starting again.

    How it works: Keep AI work moving across tools.
  3. Fewer unapproved agent actions.

    The agent asks before it acts — your policy answers, or a person does — and every answer is recorded.

    How it works: Fewer unapproved agent actions.
  4. Share finished work securely.

    With the sign-off attached: what the agent made opens behind your own sign-in, and the review it went through stays on its record.

    How it works: Share finished work securely.
  5. Evidence without anyone assembling it.

    For clients, management and audit: who asked, who decided and what happened, recorded as it happens and exported as one pack.

    How it works: Evidence without anyone assembling it.
  1. Ask

    Approvals

    Before a consequential act, named people authorise it — approve, approve with changes, reject, or ask the agent a question.

    deliverd.approve()
  2. Ask

    Reviews

    Named readers approve the work or ask for changes, with a note, and the agent reads the verdicts back.

    deliverd.review()
  3. Ask

    Requests for information

    Typed questions to the people who have the answer, with reminders and a due date; the answers come back as one object.

    deliverd.collect()
  4. Check

    Gates

    The agent says what it is about to do. Your policy answers, or a person does, and what ran is recorded.

    deliverd.gate()
  5. Track

    Objectives

    An objective and a short state that outlive the conversation, so any agent or person picks the work up without re-explaining it.

    deliverd.tasks
  6. Publish

    Publishing

    What the agent made, on a secure address people open with their own sign-in, every version kept.

    deliverd.publish()
  7. Prove

    Evidence

    Who asked, who decided and what they said, as one timeline you can export.

    get_evidence

One platform, one API

await deliverd.gate({ action, input, externalId });  // may I? — your organisation answers
await deliverd.approve({ title });   // ask permission, and wait for the answer
await deliverd.review({ title, reportId, reviewers });  // ask whether it is right
await deliverd.collect({ title, questions, respondents }); // ask for what you lack
await deliverd.confirm({ title });   // a yes or no on something small → boolean
await deliverd.publish({ title, content });  // get the work to the people who need it

Six primitives. One call each.

  • Approval, a review, a decision or an answer — one call each
  • A page that works on a phone, behind your identity provider
  • The result comes back as something the agent can branch on

One platform under all of it: the same identity, the same agent permissions, the same audit trail and evidence pack, the same MCP server, REST API and SDKs.

What you get

Everything around the moment an agent needs a person.

A decision, not a notification

The person approves, rejects, answers or asks the agent a question back — and the agent receives it.

Rules decide what needs a person

An administrator writes them; the agent does not. Most calls settle without interrupting anybody, and every one is recorded.

Agents have their own identity

An agent acts as itself, inside boundaries somebody set, rather than borrowing a person's credentials.

An agent never decides

It may not approve its own request, be an approver of anything, or grant itself scope — refused in the service, not hidden in the interface.

One report, one link, every version

A persistent address with version history, rollback, and a refusal when two publishes race — and every open checked against who may read it.

Evidence, without anyone assembling it

Who asked, who decided, what they saw, what changed and who opened it — kept as a tamper-evident record, hash-chained per organisation, and exported as a signed evidence pack anyone can check offline.

Use any AI. One place for the human part.

  • Connect over MCP, the REST API, the TypeScript and Python SDKs, or the CLI
  • People sign in the way your organisation already does
  • Someone outside it can be given access without an account
  • Webhooks and callback URLs, so an agent sleeps until the answer lands
  • Recurring reports, comments that reach the agent, and revision loops
  • Ethics rules that put a concern in front of whoever decides, on every plan