Skip to main content

What is Humancheck?

Humancheck is a universal human decisions API for AI agents (HITL ops platform). It enables AI agents to escalate uncertain or high-stakes decisions to human reviewers for approval. It’s framework-agnostic, works with any AI system, and provides a complete platform for managing human oversight at scale.

Humancheck Products

Key Features

πŸ”Œ Universal Integration

Works with any AI framework via adapter pattern:
  • REST API - Universal HTTP integration
  • MCP - Claude Desktop native integration
  • LangChain/LangGraph - Built-in adapters
  • Mastra - Framework support
  • Custom adapters - Extensible for any framework

πŸ”— Platform Integrations

Platform only:
  • Built-in Connectors - Dozens of connectors (Slack, Teams, Discord, etc.) - connect instantly
  • No-Code Tools - Native integrations with n8n, Zapier, Gumloop, and more
  • Webhooks - Real-time webhook notifications for review events
  • Multi-User Approval - Complex approval workflows with multiple reviewers

🎯 Intelligent Routing

Route reviews to the right people based on configurable rules:
  • Rule-based assignment by task type, urgency, confidence score
  • Open Source: Config-based routing (YAML)
  • Platform: UI-based routing with prioritization and fine-grained ACL

πŸ“Š Real-time Dashboard

Streamlit-based UI for human reviewers:
  • Live review queue
  • One-click approve/reject/modify
  • Statistics and analytics

πŸ”„ Flexible Workflows

Support for both blocking and non-blocking patterns:
  • Blocking: Wait for decision before proceeding
  • Non-blocking: Continue work, check back later

πŸ”§ Flexible Configuration

Simple YAML-based configuration:
  • Custom routing rules
  • Default reviewers
  • Configurable thresholds

πŸ“ˆ Feedback Loop

Continuous improvement through feedback:
  • Rate decisions
  • Comment on reviews
  • Track metrics

Example Use Cases

Humancheck can be used anywhere you need human review or approval. These are just a few examples:
These are just examples! Humancheck can be adapted to any use case where human review is needed. See all use cases for more examples and how to create your own.

How It Works

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ AI Agent    β”‚
β”‚ (Any        β”‚
β”‚ Framework)  β”‚
β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”˜
       β”‚
       β”‚ Request Review
       β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ Humancheck  β”‚
β”‚ API         β”‚
β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”˜
       β”‚
       β”‚ Routes to
       β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”      β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ Routing     │─────▢│ Human        β”‚
β”‚ Engine      β”‚      β”‚ Reviewer     β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜      β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”˜
                            β”‚
                            β”‚ Decision
                            β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”      β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ AI Agent    │◀─────│ Decision     β”‚
β”‚ Resumes     β”‚      β”‚ Returned     β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜      β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Quick Example

Platform (Cloud):
import httpx

async with httpx.AsyncClient() as client:
    response = await client.post(
        "https://api.humancheck.dev/reviews",
        headers={
            "Authorization": "Bearer your-api-key-here",
            "Content-Type": "application/json"
        },
        json={
            "task_type": "payment",
            "proposed_action": "Process payment of $5,000",
            "agent_reasoning": "Payment exceeds auto-approval limit",
            "confidence_score": 0.85,
            "urgency": "high",
            "blocking": True
        }
    )
    review = response.json()
    if review["decision"]["decision_type"] == "approve":
        process_payment()
Open Source (Self-hosted):
import httpx

async with httpx.AsyncClient() as client:
    response = await client.post(
        "http://localhost:8000/reviews",  # Your self-hosted URL
        json={
            "task_type": "payment",
            "proposed_action": "Process payment of $5,000",
            "agent_reasoning": "Payment exceeds auto-approval limit",
            "confidence_score": 0.85,
            "urgency": "high",
            "blocking": True
        }
    )
    review = response.json()
    if review["decision"]["decision_type"] == "approve":
        process_payment()

Integration Options

Next Steps


Made with ❀️ for building safer, more accountable AI systems.