Home/Product/ApprovalML
Open Source & Self-Hostable

Approval workflows,defined as code.

ApprovalML is the open workflow definition language and runtime underneath Aptiwise. Steps, routing, forms, and SLAs compile down to portable YAML — reviewable in a pull request like any other config file — and it runs on your own infrastructure if you want it to.

The Problem

Approval logic shouldn't be a black box you can't audit or run yourself.

Workflow logic locked in a vendor's UI

Most approval tools store routing logic in a proprietary database you can't diff, review, or move — there's no way to see what changed or roll it back.

Compliance-sensitive data can't leave your network

Regulated teams need the approval engine running on their own infrastructure — not a hard dependency on someone else's cloud.

AI agents can act with no human checkpoint

Autonomous agents given tool access can create, overwrite, or delete — with no gate in front of the sensitive calls and no audit trail of what was requested.

How ApprovalML Works

The same engine that powers Aptiwise — on your terms

Workflows compile to data, not code — so they're portable, diffable, and safe to hand to a human or an AI agent.

Workflows as Code

Steps, routing, forms, and SLAs — all defined as data

Every workflow compiles to portable, version-controllable ApprovalML YAML. Review a routing change in a pull request the same way you'd review any other config — no proprietary format, no black-box UI required to understand what will happen.

  • Human decision steps, notifications, and conditional routing
  • Parallel approvals and child-workflow spawning for fan-out
  • Asset registry with JSON record storage in PostgreSQL
steps:
  - id: manager_approval
    type: decision
    sla: 24h
    notify: email
Animated demo
Gated MCP

A human checkpoint in front of any AI agent

An agent requests approval over MCP; a human approves or rejects by email, no login required. The agent's tool call only proceeds once a human signs off — routed through the identical engine as every other ApprovalML workflow.

  • Email approve/reject, no login required
  • The agent's tool call only executes after approval
  • Full details in the AI Governance use case
Self-Hosted, No Cloud Dependency

Run the same engine that powers Aptiwise, on your own infrastructure

One Docker command stands up the full open-source approval engine and email approvals — no external cloud dependency required. Start self-hosted, and move to Aptiwise Cloud later without rewriting a single workflow.

docker run -p 8080:8080 approvalml/approvalml

The open-source runtime covers the full approval engine and email approvals. AI-powered workflow generation, the admin UI, and multi-tenant management are part of Aptiwise Cloud.

Runtime diagram
Animated demo
MCP Server Wrapping

Wrap any MCP server — including ones you didn't build

One command spawns any existing stdio MCP server as a child process and re-exposes it with sensitive tools gated behind human approval — no changes to the upstream server, no per-server integration work.

approvalml -- npx -y @modelcontextprotocol/server-github

Self-Host or Go Managed

One engine, two ways to run it

ApprovalML (Open Source)

  • Full approval engine & email approvals
  • REST API and MCP server access
  • Deploys with Docker on your own infrastructure

Aptiwise Cloud

  • Everything in ApprovalML, fully managed
  • AI-powered workflow generation & admin UI
  • Multi-tenant, multi-company management

ApprovalML

Run it yourself,
or let us run it for you.

Self-host the open-source runtime today, or start on Aptiwise Cloud and get the full AI-powered platform on top of the same engine.