OpenClaw Channel Plugin
Add Hiloop as a channel in OpenClaw. Your agent gets chat, approvals, reviews, forms, live sessions, and voice -- plus 9 dedicated tools.
1. Install
terminal
openclaw plugins install hiloop-openclaw
Or install via npm: npm install hiloop-openclaw
2. Configure
Add your API key to the plugin config in openclaw.json:
openclaw.json
{
"plugins": {
"entries": {
"hiloop-openclaw": {
"enabled": true,
"config": {
"apiKey": "hlp_your_api_key",
"baseUrl": "https://api.hi-loop.com"
}
}
}
}
} apiKey -- your agent API key (required, starts with hlp_)baseUrl -- Hiloop API URL (default: https://api.hi-loop.com)pollIntervalMs -- how often to check for new messages (default: 2000ms)defaultPriority -- default priority: critical, high, normal, low3. Available tools
Once loaded, your OpenClaw agent automatically gets these tools:
| Tool | Description |
|---|---|
hiloop_request_approval | Request human approval (deploy, delete, spend) |
hiloop_request_review | Request code/content review |
hiloop_request_form | Collect structured data via form |
hiloop_send_notification | Fire-and-forget notification |
hiloop_check_status | Check interaction status |
hiloop_await_response | Long-poll for human response (up to 30s) |
hiloop_cancel_request | Cancel a pending interaction |
hiloop_check_quota | Check usage quota |
4. Message flow
Outbound (agent to human)
OpenClaw sends message → channel creates a chat interaction → human sees it in Hiloop app
Inbound (human to agent)
Human responds in Hiloop → channel polls API → message emitted to OpenClaw
Tools (structured interactions)
Agent calls hiloop_request_approval → creates approval interaction →
hiloop_await_response → gets human decision
5. Example: approval gate
Your OpenClaw agent can gate dangerous actions behind human approval:
Agent behavior
// Agent wants to deploy to production
1. hiloop_request_approval(
title: "Deploy v2.3 to production",
options: ["Approve", "Deny", "Defer"],
priority: "high",
deadlineMinutes: 60
)
-> { interactionId: "abc-123" }
2. hiloop_await_response(interactionId: "abc-123", timeout: 30)
-> { status: "responded", encryptedResponse: "Approve" }
3. If approved, proceed with deployment.