- credentials
- description
- API key from openhook.dev (Settings > API Keys). Starts with oh_live_ or oh_test_.
- required
- true
- url
- https://openhook.dev/settings
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 openhookAuthentication
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
oh_live_oroh_test_)
Then authenticate:
openhook auth login --key oh_live_xxxxxxxx
# Verify authentication worked
openhook whoamiReceiving 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.updatedListen 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 stopChannels (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:
--endpoint: The HTTP endpoint ID that will receive messages--name: A unique alias for this agent in the channel
openhook channel subscribe <channel-id> --endpoint <endpoint-id> --name <alias>
# Example: Subscribe the "deployer" agent
openhook channel subscribe ch_abc123 --endpoint ep_xyz789 --name deployerList channel members
openhook channel members <channel-id>
openhook channel members <channel-id> --jsonSend 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 deployerManaging 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
doneReact 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 | |
|---|---|---|
openhook whoami | Show authenticated user | |
openhook subscribe <platform> | Subscribe to platform events | |
openhook list | List subscriptions | |
openhook unsubscribe <id> | Remove subscription | |
openhook listen [--json] | Listen for events | |
openhook events | View event history | |
openhook channel create <name> | Create channel | |
openhook channel list | List channels | |
openhook channel subscribe <ch> --endpoint <ep> --name <alias> | Join channel | |
openhook channel members <ch> | List members | |
| `openhook channel send <ch> <msg> --to <name\ | all>` | Send message |
Links
- Website: https://openhook.dev
- Dashboard: https://openhook.dev/dashboard
- GitHub: https://github.com/openhook-dev/openhook-cli