Skip to main content
ATP Light

Overview

The Agent Triage Protocol (ATP) is a standardized communication protocol that enables AI agents to request human intervention through a unified notification system. ATP provides a vendor-neutral, transport-agnostic specification for managing decision requests that require human judgment, creating a bridge between autonomous AI systems and human oversight.

Why ATP?

As AI agents become more capable and autonomous, they increasingly encounter situations where human judgment, approval, or guidance is necessary. Rather than each AI service implementing its own notification and response system, ATP provides a common protocol that allows multiple AI services to coordinate human decision-making through a single, consistent interface.

Centralized Decision Management

Consolidate decision requests from multiple AI services into a single interface

Standardized Interactions

Define consistent patterns for gathering user input across different services

Secure Communication

Multi-layered security model with robust authentication and authorization

Flexible Deployment

Support for various deployment models from single-user to enterprise

Key Features

  • Asynchronous Communication: Non-blocking interaction between AI services and humans
  • Type-Safe Response Modeling: Seven predefined response types for common interaction patterns
  • Fault-Tolerant Design: Robust error handling and recovery mechanisms
  • Human Factors Engineering: Designed with user experience as a priority
  • Stateless Protocol Design: Simplified implementation and horizontal scaling
  • Multi-Layered Security: Comprehensive security model from end to end

Getting Started

Follow these guides to start implementing the Agent Triage Protocol in your applications.

Protocol Architecture

Understand the core components and message flow of ATP

Message Formats

Learn how notifications and responses are structured

Response Types

Explore the different ways users can respond to notifications

API Reference

View the complete API specification

Your First Notification

Create and send your first notification with ATP

Implementation Examples

The ATP protocol is designed to work with any programming language and framework. Here are examples of implementing ATP in different environments:
from atp import ATPClient, TriageNotification, Action, ResponseType

# Initialize the ATP client with service credentials
client = ATPClient(api_key="sk_live_service_abc123")

# Create a notification for a decision
notification = TriageNotification(
    title="Deploy to Production?",
    description="New version 2.1.0 is ready for deployment to production servers.",
    actions=[
        Action(
            id="approve",
            label="Approve Deployment",
            response_type=ResponseType.SIMPLE,
            flags=["irreversible"]
        ),
        Action(
            id="reject",
            label="Reject",
            response_type=ResponseType.TEXT,
            constraints={"placeholder": "Reason for rejection"}
        )
    ],
    deadline=datetime.now() + timedelta(hours=4)
)

# Send the notification
response = client.send_notification(notification)
For more complete examples, including client implementations and webhook handlers, see our client examples for various platforms:

Kotlin Multiplatform

Implementation examples for Kotlin Multiplatform applications

Android

Complete Android client with background processing and notifications

Android Integration

Integrating ATP into a modern Android app with dependency injection