← Back to home

Warp Oz Integration

Connect your Warp Oz coding agents to Hiloop for human-in-the-loop code review, approvals, and real-time collaboration.

Overview

Warp Oz is a cloud orchestration platform for AI coding agents. When an Oz session needs human input -- code review, deployment approval, or guidance -- it sends a webhook event to Hiloop. The request appears in your team's inbox, and the response flows back to the Oz session.

Supported Oz events
session.review_request → Review
session.approval_needed → Approval
session.human_input → Chat
session.form_input → Form
session.share → Broadcast

1. Get your API key

Create an agent in your Hiloop dashboard under Admin → Agents. Each agent receives an API key prefixed with hlp_.

Environment variable
export HILOOP_API_KEY="hlp_your_api_key_here"
export HILOOP_BASE_URL="https://api.hiloop.dev"

2. Configure Oz webhook

In your Warp Oz workspace settings, add Hiloop as a webhook destination. Set the webhook URL and API key header.

Oz workspace settings
Webhook URL: https://api.hiloop.dev/v1/integrations/warp-oz/webhook
Headers:
  X-API-Key: hlp_your_api_key_here
  Content-Type: application/json

Events:
  - session.review_request
  - session.approval_needed
  - session.human_input

3. Send a webhook event

When an Oz session needs human input, it sends a webhook event. The event includes session context (files, diff, branch) for the reviewer.

curl
curl -X POST https://api.hiloop.dev/v1/integrations/warp-oz/webhook \
  -H "X-API-Key: hlp_your_key" \
  -H "Content-Type: application/json" \
  -d '{
    "event": "session.review_request",
    "session_id": "oz_sess_abc123",
    "title": "Review auth refactor",
    "description": "Refactored auth to use JWT middleware",
    "context": {
      "files": ["src/auth/middleware.ts", "src/auth/jwt.ts"],
      "diff": "+import { verify } from \"jose\";\n-import { decode } from \"jsonwebtoken\";",
      "branch": "feat/jwt-auth",
      "repository": "acme/backend",
      "session_url": "https://warp.dev/oz/sess_abc123"
    },
    "priority": "high",
    "timeout_seconds": 1800
  }'
Response (201)
{
  "event_id": "uuid-here",
  "interaction_id": "uuid-here",
  "session_id": "oz_sess_abc123",
  "status": "pending",
  "type": "session.review_request",
  "created_at": "2026-02-21T10:00:00Z",
  "deadline_at": "2026-02-21T10:30:00Z"
}

4. Wait for human response

Long-poll for the human's response. The request blocks until a response is available or timeout is reached (max 60 seconds).

curl
curl https://api.hiloop.dev/v1/integrations/warp-oz/interactions/{id}/await \
  -H "X-API-Key: hlp_your_key" \
  --max-time 60

5. Chat with the reviewer

For chat-type interactions, send and receive messages between the Oz agent and the human reviewer.

Send a message
curl -X POST https://api.hiloop.dev/v1/integrations/warp-oz/interactions/{id}/messages \
  -H "X-API-Key: hlp_your_key" \
  -H "Content-Type: application/json" \
  -d '{
    "content": "I updated the auth middleware. Can you re-review?",
    "sender": "agent"
  }'
List messages
curl https://api.hiloop.dev/v1/integrations/warp-oz/interactions/{id}/messages \
  -H "X-API-Key: hlp_your_key"

6. Session tracking

List all interactions linked to a specific Oz session. This is useful for tracking the full review history of a coding session.

curl
curl https://api.hiloop.dev/v1/integrations/warp-oz/sessions/{session_id} \
  -H "X-API-Key: hlp_your_key"

7. Batch events

Submit up to 20 webhook events at once for multi-step workflows.

POST /v1/integrations/warp-oz/webhook/batch
{
  "events": [
    {
      "event": "session.review_request",
      "session_id": "oz_sess_abc123",
      "title": "Review: auth module"
    },
    {
      "event": "session.approval_needed",
      "session_id": "oz_sess_abc123",
      "title": "Deploy to staging?"
    }
  ]
}

API Reference

POST /v1/integrations/warp-oz/webhook Submit webhook event
POST /v1/integrations/warp-oz/webhook/batch Batch submit events
GET /v1/integrations/warp-oz/interactions/:id Get interaction status
GET /v1/integrations/warp-oz/interactions/:id/await Long-poll for response
POST /v1/integrations/warp-oz/interactions/:id/messages Send message
GET /v1/integrations/warp-oz/interactions/:id/messages List messages
GET /v1/integrations/warp-oz/sessions/:sessionId List session interactions
DELETE /v1/integrations/warp-oz/interactions/:id Cancel interaction
GET /v1/integrations/warp-oz/info Integration metadata