# Human Approval - HITL Platform

```json
{
  "name": "Human Approval - HITL Platform",
  "slug": "hitl",
  "url": "https://composio.dev/toolkits/hitl",
  "markdown_url": "https://composio.dev/toolkits/hitl.md",
  "logo_url": "https://logos.composio.dev/api/hitl",
  "categories": [
    "workflow automation"
  ],
  "is_composio_managed": false,
  "updated_at": "2026-10-04T14:56:51.568Z"
}
```

![Human Approval - HITL Platform logo](https://logos.composio.dev/api/hitl)

## Description

Securely connect your AI agents and chatbots (Claude, ChatGPT, Cursor, etc) with Human Approval - HITL Platform MCP or direct API to request approvals, submit reviews, pause agent loops, and capture human decisions through natural language.

## Summary

Human Approval - HITL Platform is a HITL.sh service for adding human approval and review workflows to AI agents.
Use it to pause risky automations, collect structured decisions, and resume safely.

## Categories

- workflow automation

## Toolkit Details

- Tools: 10

## Images

- Logo: https://logos.composio.dev/api/hitl

## Authentication

- **Api Key**
  - Type: `api_key`
  - Description: Api Key authentication for Human Approval - HITL Platform.
  - Setup:
    - Configure Api Key credentials for Human Approval - HITL Platform.
    - Use the credentials when creating an auth config in Composio.

## Suggested Prompts

- Approve vendor payment before agent continues
- Review outbound email before sending
- Escalate risky deployment for human review

## Supported Tools

| Tool slug | Name | Description |
|---|---|---|
| `HITL_CANCEL_APPROVAL_REQUEST` | Cancel Approval Request | Irreversibly cancel a pending approval request so reviewers can no longer complete it. The request remains in history with cancelled status. |
| `HITL_CREATE_APPROVAL_REQUEST` | Create Approval Request | Create and broadcast one human approval request to active members of an owned loop, consuming one provider request allowance. |
| `HITL_CREATE_LOOP` | Create Loop | Create an approval loop and return its loop ID and human invitation links; the connected account is added as an active member. |
| `HITL_DELETE_LOOP` | Delete Loop | Permanently delete an owned loop and all of its memberships, approval requests, responses, feedback, and analytics. This cascading deletion erases the loop's entire history and cannot be undone. |
| `HITL_GET_ACCOUNT_STATUS` | Get Account Status | Return the connected HITL account identity, status, permissions, and provider-reported request allowance before creating an approval request. |
| `HITL_GET_APPROVAL_REQUEST` | Get Approval Request | Get the current status, configuration, and human response for one approval request; use for deliberate polling after creation. |
| `HITL_LIST_APPROVAL_REQUESTS` | List Approval Requests | Return approval requests created by the connected API key, optionally restricted to one loop; pagination controls are omitted because the live API currently ignores them. |
| `HITL_LIST_LOOP_MEMBERS` | List Loop Members | Return a loop's active and pending human reviewers so an agent can verify readiness before broadcasting an approval request. |
| `HITL_LIST_LOOPS` | List Loops | Return all approval loops owned by the connected account, including embedded members and membership counts. |
| `HITL_UPDATE_LOOP` | Update Loop | Update one or more display fields of an owned approval loop without changing its members or requests. |

## Supported Triggers

None listed.

## Installation and MCP Setup

### Path 1: SDK Installation

#### Path 1, Step 1: Install Composio

Install the Composio SDK, the OpenAI provider, and the OpenAI SDK
```python
pip install composio composio_openai openai
```

```typescript
npm install @composio/core @composio/openai openai
```

#### Path 1, Step 2: Create a Composio session

Initialize Composio with the OpenAI Responses provider and create a session scoped to Human Approval - HITL Platform
```python
import json
from openai import OpenAI
from composio import Composio
from composio_openai import OpenAIResponsesProvider

composio = Composio(provider=OpenAIResponsesProvider())
client = OpenAI()

session = composio.create(user_id="your-user-id", toolkits=["hitl"])
tools = session.tools()
```

```typescript
import OpenAI from "openai";
import { Composio } from "@composio/core";
import { OpenAIResponsesProvider } from "@composio/openai";

const composio = new Composio({ provider: new OpenAIResponsesProvider() });
const client = new OpenAI();

const session = await composio.create("your-user-id", { toolkits: ["hitl"] });
const tools = await session.tools();
```

#### Path 1, Step 3: Run Human Approval - HITL Platform tools with your agent

Send a request, execute the Human Approval - HITL Platform tool calls through the session, and print the final answer
```python
response = client.responses.create(
    model="gpt-5.6-sol",
    tools=tools,
    input=[{"role": "user", "content": "Create a human approval request to review a $5,000 vendor payment before the agent continues"}],
)

while True:
    tool_calls = [o for o in response.output if o.type == "function_call"]
    if not tool_calls:
        break
    results = composio.provider.handle_tool_calls(response=response, session=session)
    response = client.responses.create(
        model="gpt-5.6-sol",
        tools=tools,
        previous_response_id=response.id,
        input=[
            {"type": "function_call_output", "call_id": call.call_id, "output": json.dumps(results[i])}
            for i, call in enumerate(tool_calls)
        ],
    )

print(response.output_text)
```

```typescript
let response = await client.responses.create({
  model: "gpt-5.6-sol",
  tools,
  input: [{ role: "user", content: "Create a human approval request to review a $5,000 vendor payment before the agent continues" }],
});

while (response.output.some((o) => o.type === "function_call")) {
  const outputs = await composio.provider.handleToolCalls(session, response.output);
  response = await client.responses.create({
    model: "gpt-5.6-sol",
    tools,
    previous_response_id: response.id,
    input: outputs,
  });
}

console.log(response.output_text);
```

### Path 2: MCP Server Setup

#### Path 2, Step 1: Install Composio

Install the Composio SDK and your agent framework
```python
pip install composio claude-agent-sdk
```

```typescript
npm install @composio/core ai @ai-sdk/mcp @ai-sdk/openai
```

#### Path 2, Step 2: Create a session with MCP enabled

Create a session scoped to Human Approval - HITL Platform and read its MCP URL and headers
```python
from composio import Composio

composio = Composio()
session = composio.create(user_id="your-user-id", toolkits=["hitl"], mcp=True)
```

```typescript
import { Composio } from "@composio/core";

const composio = new Composio();
const { mcp } = await composio.create("your-user-id", {
  toolkits: ["hitl"],
  mcp: true,
});
```

#### Path 2, Step 3: Connect your agent to the MCP server

Pass the session's MCP URL and headers to your agent and run a Human Approval - HITL Platform request
```python
import asyncio
from claude_agent_sdk import ClaudeSDKClient, ClaudeAgentOptions, AssistantMessage, TextBlock

options = ClaudeAgentOptions(
    mcp_servers={
        "composio": {
            "type": "http",
            "url": session.mcp.url,
            "headers": session.mcp.headers,
        }
    },
    system_prompt="You are a helpful assistant with access to Human Approval - HITL Platform tools.",
    tools=[],
    allowed_tools=["mcp__composio__*"],
)

async def main():
    async with ClaudeSDKClient(options=options) as client:
        await client.query("Create a human approval request to review a $5,000 vendor payment before the agent continues")
        async for message in client.receive_response():
            if isinstance(message, AssistantMessage):
                for block in message.content:
                    if isinstance(block, TextBlock):
                        print(block.text)

asyncio.run(main())
```

```typescript
import { createMCPClient } from "@ai-sdk/mcp";
import { openai } from "@ai-sdk/openai";
import { generateText, stepCountIs } from "ai";

const client = await createMCPClient({
  transport: { type: "http", url: mcp.url, headers: mcp.headers },
});

const { text } = await generateText({
  model: openai("gpt-5.6-sol"),
  tools: await client.tools(),
  prompt: "Create a human approval request to review a $5,000 vendor payment before the agent continues",
  stopWhen: stepCountIs(10),
});

console.log(text);
await client.close();
```

## Why Use Composio?

### 1. AI Native Human Approval - HITL Platform Integration

- Supports both Human Approval - HITL Platform MCP and direct API based integrations
- Structured, LLM-friendly schemas for reliable approval and review requests
- Rich coverage for creating approval loops, submitting review details, and querying human decisions

### 2. Managed Auth

- Secure API key handling so your agents don't need hard-coded HITL.sh credentials
- Central place to manage, scope, and revoke Human Approval - HITL Platform access
- Per user and per environment credentials for safer approval workflows

### 3. Agent Optimized Design

- Tools are tuned for clear approval prompts, structured review payloads, and reliable continuation after human input
- Comprehensive execution logs so you always know what approval was requested, when, and on whose behalf

### 4. Enterprise Grade Security

- Fine-grained RBAC so you control which agents and users can access Human Approval - HITL Platform
- Scoped, least privilege access to approval and review workflows
- Full audit trail of agent actions to support governance, review, and compliance

## Use Human Approval - HITL Platform with any AI Agent Framework

Choose a framework you want to connect Human Approval - HITL Platform with:

None listed.

## Related Toolkits

- [0CodeKit](https://composio.dev/toolkits/0codekit) - 0CodeKit is a utility API platform for AI, document, image, and data workflows. Use it to convert, validate, generate, store, and automate data without custom backend code.
- [Airtop](https://composio.dev/toolkits/airtop) - Airtop is a cloud browser platform for AI-powered web automation. Use it to navigate sites, extract data, and run reusable browser workflows.
- [Apify MCP](https://composio.dev/toolkits/apify_mcp) - Apify MCP is the official MCP server for Apify's web scraping and browser automation platform. Use it to run actors, collect structured web data, and automate crawling workflows.
- [Apilio](https://composio.dev/toolkits/apilio) - Apilio is a home automation platform that lets you connect and control smart devices from different brands. It helps you build flexible automations with complex conditions, schedules, and integrations.
- [Basin](https://composio.dev/toolkits/basin) - Basin is a no-code form backend for quickly setting up reliable contact forms. It lets you collect and manage form submissions without writing any server-side code.
- [Bika.ai](https://composio.dev/toolkits/bika) - Bika.ai is an AI automation database platform for managing spaces, teams, records, automations, and outgoing webhooks. It helps teams organize structured data and automate database-driven workflows in one place.
- [Botster](https://composio.dev/toolkits/botster) - Botster is a web automation service for running configurable data collection bots. Use it to collect structured web data without building and maintaining scrapers yourself.
- [Bouncer](https://composio.dev/toolkits/bouncer) - Bouncer is an email validation platform that verifies the authenticity of email addresses in real-time and batch. It helps boost deliverability and reduce bounce rates for your communications.
- [BrowserAct](https://composio.dev/toolkits/browseract) - BrowserAct is a hosted browser-automation service for running web workflows. Use it to execute repeatable browser tasks with templates, proxies, and APIs.
- [Celigo](https://composio.dev/toolkits/celigo) - Celigo is an integration platform as a service for connecting apps, data, and business workflows. It helps teams automate cross-system processes without building every integration from scratch.
- [CheckFlow](https://composio.dev/toolkits/checkflow) - CheckFlow is a workflow and checklist platform for repeatable processes, tasks, templates, teams, data sets, and automation. Use it to standardize operations, track process execution, and keep teams aligned.
- [Conveyor](https://composio.dev/toolkits/conveyor) - Conveyor is a platform that automates security reviews with a Trust Center and AI-driven questionnaire automation. It streamlines compliance and vendor security processes for faster, hassle-free reviews.
- [CrewAI](https://composio.dev/toolkits/crew_ai) - CrewAI is a platform for running deployed automations and managing AMP control-plane resources. Use it to automate workflows and centrally control SaaS automation resources.
- [Cronfree Time Scheduler](https://composio.dev/toolkits/cronfree_time_scheduler) - Cronfree Time Scheduler is an API-based scheduler for recurring webhook calls. Use it to create and remove timezone-aware schedules without running cron.
- [Crowdin](https://composio.dev/toolkits/crowdin) - Crowdin is a localization management platform that streamlines translation workflows and collaboration. It helps teams centralize multilingual content, boost productivity, and automate translation processes.
- [Databox](https://composio.dev/toolkits/databox) - Databox is a business analytics platform that connects your data from any tool and device. It helps you track KPIs, build dashboards, and discover actionable insights.
- [Detrack](https://composio.dev/toolkits/detrack) - Detrack is a delivery management platform for real-time tracking and proof of delivery. It helps businesses automate notifications and keep customers updated every step of the way.
- [Dify](https://composio.dev/toolkits/dify) - Dify is a platform for running and managing published workflow apps via a Service API. Use it to execute workflows and inspect configuration and run history quickly.
- [Digital Humani](https://composio.dev/toolkits/digital_humani) - Digital Humani is a reforestation API for browsing planting projects, submitting tree requests, and tracking planted trees. It helps teams connect climate action directly to products, campaigns, and customer experiences.
- [Dnsfilter](https://composio.dev/toolkits/dnsfilter) - Dnsfilter is a cloud-based DNS security and content filtering solution. It helps organizations block online threats and manage safe internet access with ease.

## Frequently Asked Questions

### Do I need my own developer credentials to use Human Approval - HITL Platform with Composio?

Yes, Human Approval - HITL Platform requires you to configure your own API key. Once set up, Composio handles secure credential storage and API request handling for you.

### Can I use multiple toolkits together?

Yes! Composio's Tool Router enables agents to use multiple toolkits. [Learn more](https://docs.composio.dev/tool-router/overview).

### Is Composio secure?

Composio is SOC 2 and ISO 27001 compliant with all data encrypted in transit and at rest. [Learn more](https://trust.composio.dev).

### What if the API changes?

Composio maintains and updates all toolkit integrations automatically, so your agents always work with the latest API versions.

---
[See all toolkits](https://composio.dev/toolkits) · [Composio docs](https://docs.composio.dev/llms.txt)
