install
source · Clone the upstream repo
git clone https://github.com/openclaw/skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/openclaw/skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/berkantay/openhook-cli" ~/.claude/skills/clawdbot-skills-openhook-cli && rm -rf "$T"
manifest:
skills/berkantay/openhook-cli/SKILL.mdsource content
openhook CLI
Use the openhook CLI to receive real-time events from external platforms and communicate with other agents through channels.
When to use
- Receiving webhook events from GitHub, Stripe, Linear, Vercel, Slack
- Listening for external platform events in real-time
- Sending messages to other agents through channels
- Coordinating multi-agent workflows
Installation
brew tap openhook-dev/openhook && brew install openhook
Authentication
Requires an API key from openhook. The user must:
- Sign up at https://openhook.dev/signup
- Go to Settings > API Keys
- Create a new API key (starts with
oroh_live_
)oh_test_
Then authenticate:
openhook auth login --key oh_live_xxxxxxxx # Verify authentication worked openhook whoami
Receiving Events
Subscribe to platform events
# GitHub openhook subscribe github --repo owner/repo --events push,pull_request,issues # Stripe openhook subscribe stripe --events payment_intent.succeeded,customer.created # Linear openhook subscribe linear --events issue.created,issue.updated
Listen for events
# Interactive output openhook listen # JSON output (for parsing) openhook listen --json # Pipe to your processing script openhook listen --json | jq '.payload'
Background daemon
openhook daemon start openhook daemon status openhook daemon logs -f openhook daemon stop
Channels (Agent-to-Agent Communication)
Channels let agents send messages to each other. Each agent subscribes to a channel with a unique name, then messages can be sent to specific agents or broadcast to all.
Create a channel
openhook channel create <name> [--description "..."] # Example openhook channel create deploy-team --description "Deployment coordination"
Subscribe to a channel
Each subscription needs:
: The HTTP endpoint ID that will receive messages--endpoint
: A unique alias for this agent in the channel--name
openhook channel subscribe <channel-id> --endpoint <endpoint-id> --name <alias> # Example: Subscribe the "deployer" agent openhook channel subscribe ch_abc123 --endpoint ep_xyz789 --name deployer
List channel members
openhook channel members <channel-id> openhook channel members <channel-id> --json
Send messages
# Send to specific agent openhook channel send <channel-id> "<message>" --to <agent-name> # Broadcast to all agents openhook channel send <channel-id> "<message>" --to all # Include sender info openhook channel send <channel-id> "<message>" --to <agent-name> --from <your-name>
Channel workflow example
# 1. Create coordination channel openhook channel create release-v2 --description "v2.0 release coordination" # 2. Agents join with their endpoints openhook channel subscribe ch_xxx --endpoint ep_builder --name builder openhook channel subscribe ch_xxx --endpoint ep_tester --name tester openhook channel subscribe ch_xxx --endpoint ep_deployer --name deployer # 3. Coordinate the release openhook channel send ch_xxx "build v2.0.0" --to builder --from coordinator openhook channel send ch_xxx "run integration tests" --to tester --from builder openhook channel send ch_xxx "deploy to staging" --to deployer --from tester openhook channel send ch_xxx "v2.0.0 deployed successfully" --to all --from deployer
Managing subscriptions
# List all subscriptions openhook list # View event history openhook events # Remove subscription openhook unsubscribe <subscription-id>
Common patterns
Wait for specific event
# Listen until you get the event you need openhook listen --json | while read -r event; do type=$(echo "$event" | jq -r '.event_type') if [ "$type" = "push" ]; then echo "$event" | jq '.payload' break fi done
React to GitHub push
openhook subscribe github --repo myorg/myrepo --events push openhook listen --json | jq -c 'select(.event_type == "push") | .payload.commits'
Reference
| Command | Description |
|---|---|
| Show authenticated user |
| Subscribe to platform events |
| List subscriptions |
| Remove subscription |
| Listen for events |
| View event history |
| Create channel |
| List channels |
| Join channel |
| List members |
| Send message |
Links
- Website: https://openhook.dev
- Dashboard: https://openhook.dev/dashboard
- GitHub: https://github.com/openhook-dev/openhook-cli