Receiving Events

Every webhook sent to webhook.rodeo becomes an event—a complete record of the HTTP request that you can inspect, replay, and forward. Understanding how events work is key to getting the most out of webhook.rodeo.

How events are received

When a service sends a webhook to your webhook.rodeo URL:

POST https://webhook.rodeo/w/your-username/webhook-name

Here's what happens in milliseconds:

  1. Rate limit check - Verifies you haven't exceeded your plan's rate limit
  2. Payload validation - Ensures the payload is under 4.5MB
  3. Request capture - Stores all headers and body data
  4. Unique ID assignment - Generates a unique requestId for tracking
  5. Queue for processing - Adds to your personal queue for async handling
  6. Immediate response - Returns 200 OK with the requestId

The webhook sender gets an instant response, and webhook.rodeo processes the event in the background—ensuring fast responses even for complex forwarding logic.

What gets captured

Every webhook event captures:

Request Headers

All HTTP headers sent by the webhook source, including:

  • Content-Type - How the body is encoded
  • User-Agent - The client sending the webhook
  • X-Hub-Signature (GitHub) or similar - Signature headers
  • Custom headers specific to the sending service

Request Body

The complete payload, whether it's:

  • JSON (most common)
  • XML
  • Form data (application/x-www-form-urlencoded)
  • Plain text
  • Binary data

Metadata

Additional context captured automatically:

  • Client IP - The source IP address
  • Timestamp - When the event arrived (UTC)
  • Request ID - Unique identifier (req_...)
  • Signature status - Whether verification passed (if enabled)

Here's an example of a captured event:

{
  "id": "evt_abc123",
  "request_id": "req_xyz789",
  "webhook_id": "webhook_uuid",
  "client_ip": "140.82.115.1",
  "request_headers": {
    "content-type": "application/json",
    "user-agent": "GitHub-Hookshot/abc123",
    "x-github-delivery": "12345678-1234-1234-1234-123456789012",
    "x-github-event": "push",
    "x-hub-signature-256": "sha256=..."
  },
  "request_body": "{\"ref\":\"refs/heads/main\",\"commits\":[...]}",
  "content_type": "application/json",
  "signature_valid": true,
  "created_at": "2024-01-15T10:30:00Z"
}

Limits

webhook.rodeo enforces limits to ensure fair usage and system stability:

  • Payload size: Maximum 4.5MB per webhook
  • Rate limits: Based on your plan (10 to 1,500 requests per minute)
  • Event retention: 30 days (Free) to forever (Pro)

If a webhook exceeds payload or rate limits, it will be rejected with an appropriate error response. For detailed information about all limits, pricing tiers, and examples of limit responses, see our Limits documentation.

Viewing events

Once events are captured, you can view them in multiple places:

Dashboard overview

Your main dashboard shows recent events across all webhooks:

  • Event timestamp
  • Webhook name
  • Status (success/failed)
  • Quick payload preview

Webhook events page

Click on any webhook to see its events:

  • Filterable by status (all, success, failed)
  • Sortable by date
  • Shows delivery attempts and status
  • Click any event to see full details

Event detail page

Click on an event to see everything:

Request section:

  • All headers (formatted and searchable)
  • Full body with JSON syntax highlighting
  • Request ID and timestamp
  • Client IP address
  • Signature verification status

Delivery section:

  • All forward attempts
  • Response status codes
  • Response headers and bodies
  • Latency measurements
  • Retry information

Actions:

  • Replay the event
  • Copy request ID
  • Export as JSON

Was this page helpful?