Skill v1.0.0
currentLLM-judged scan90/100version: "1.0.0"
bison-webhooks — Configure webhooks and test event delivery
Webhooks push real-time notifications to your endpoints when events occur (replies, bounces, opens, etc.). This skill covers webhook CRUD, event type discovery, test firing, and sample payload inspection.
install
npm install -g emailbison-clibison login --api-key <key> --base-url https://send.topoffunnel.combison status
commands
Webhook Management
List all webhooks
bison webhooks listbison webhooks list --page 2
Get a specific webhook
bison webhooks get --id <webhook-id>
Create a webhook
bison webhooks create --url "https://hooks.example.com/bison"bison webhooks create --url "https://hooks.example.com/bison" --event_types '["reply","bounce"]'
The --event_types flag is optional. If omitted, the webhook receives all event types. Pass a JSON string array to subscribe to specific events only.
Update a webhook
bison webhooks update --id <webhook-id> --url "https://hooks.example.com/v2"bison webhooks update --id <webhook-id> --event_types '["reply","bounce","open"]'
Both --url and --event_types are optional on update.
Delete a webhook
bison webhooks delete --webhook_url_id <webhook-id>
Webhook Events
List available event types
bison webhook-events event-types
Returns all event types you can subscribe to (e.g., reply, bounce, open, click, unsubscribe).
Get a sample payload for an event type
bison webhook-events sample-payloadbison webhook-events sample-payload --event_type "reply"
Without --event_type, returns sample payloads for all event types. With it, returns a sample for that specific event.
Send a test event to a webhook
bison webhook-events test --webhook_url_id <webhook-id> --event_type "reply"
Fires a simulated event to the specified webhook endpoint so you can verify your integration receives and processes it correctly.
output
All commands return JSON. Use --pretty for formatted output, --fields to select specific keys, or --quiet for exit-code-only mode.
bison webhooks list --prettybison webhook-events event-types --prettybison webhook-events sample-payload --event_type "reply" --pretty
Pipe to jq:
bison webhook-events event-types | jq '.data[]'bison webhooks list | jq '.data[] | {id: .id, url: .url}'
common patterns
Set up reply notifications
Create a webhook that fires only on reply events, inspect the payload format, then test it:
# 1. See available event typesbison webhook-events event-types --pretty# 2. Check the reply payload shapebison webhook-events sample-payload --event_type "reply" --pretty# 3. Create webhook for replies onlyWEBHOOK_ID=$(bison webhooks create \--url "https://hooks.example.com/bison-replies" \--event_types '["reply"]' | jq -r '.id')# 4. Fire a test eventbison webhook-events test --webhook_url_id "$WEBHOOK_ID" --event_type "reply"# 5. Verify it arrived at your endpoint
Subscribe to all engagement events
bison webhooks create \--url "https://hooks.example.com/engagement" \--event_types '["reply","open","click","bounce","unsubscribe"]'
Update an existing webhook to add event types
bison webhooks update --id <webhook-id> --event_types '["reply","bounce","open","click"]'
Audit all configured webhooks
bison webhooks list --pretty | jq '.data[] | {id: .id, url: .url, events: .event_types}'
Rotate webhook endpoint URL
bison webhooks update --id <webhook-id> --url "https://new-endpoint.example.com/bison"
Delete and recreate a webhook
bison webhooks delete --webhook_url_id <old-webhook-id>bison webhooks create \--url "https://hooks.example.com/v2" \--event_types '["reply","bounce"]'
Test all event types against a webhook
WEBHOOK_ID="your-webhook-id"EVENT_TYPES=$(bison webhook-events event-types | jq -r '.data[]')for EVENT in $EVENT_TYPES; doecho "Testing: $EVENT"bison webhook-events test --webhook_url_id "$WEBHOOK_ID" --event_type "$EVENT"done