Hookbase
LoginGet Started Free
Back to Blog
Product Update

Search Inside Your Webhook Payloads

Find any webhook by what it contains, not just its metadata. Full-text and field-level search across your event payloads — a feature no other webhook platform offers.

Hookbase Team
March 31, 2026
4 min read

The Problem

A webhook delivery fails. Your support team says "the order for customer acme@example.com didn't go through." You open your webhook dashboard and see 10,000 events. You know the data is in there somewhere — but all you can search is event type, source name, and event ID.

You can't search by what's actually inside the payload.

Until now.

Payload Search

Hookbase now lets you search across the content of your webhook payloads. Two modes:

Free-Text Search

Type any string and find every event whose payload contains it. Looking for a customer email? An order ID? A specific error message? Just type it.

  • Search acme@example.com → finds every event mentioning that email, regardless of which field it's in
  • Search ord_12345 → finds the exact order across any provider
  • Search insufficient_funds → finds every failed payment event

This works across the entire JSON payload — keys, values, nested objects, arrays. If it's in the payload, you'll find it.

Field-Level Search

Need precision? Search by exact field path and value:

  • customer.email = acme@example.com
  • data.object.id = sub_1234
  • order.status = refunded

Field-level search uses a GIN index under the hood — results come back in milliseconds, even with hundreds of thousands of events.

How It Works

When a webhook arrives, Hookbase stores the parsed JSON payload alongside the event metadata. A PostgreSQL GIN index makes it searchable:

  • Free-text search scans the serialized JSON for your search term, scoped to your organization
  • Field-level search uses JSONB containment queries (@>) which hit the GIN index directly — this is the fast path

Both modes respect all your existing filters. Combine payload search with source, date range, and status filters to narrow results further.

What's Searchable

| Payload Type | Searchable | |-------------|-----------| | Standard payloads (< 32KB) | Yes | | Large payloads (> 32KB, stored in R2) | Not yet | | Encrypted field payloads | No (by design) | | Transient mode payloads | No (not stored) |

The vast majority of webhooks are under 32KB — Stripe events average 2-4KB, GitHub events 1-8KB, Shopify events 3-10KB. So in practice, nearly all your events are searchable.

Encrypted payloads are excluded intentionally. If you configured field encryption for compliance, those fields stay hidden from search too.

Using It

Toggle the search mode from Events to Payloads on the events page. The search bar switches to payload mode with a 2-second debounce to avoid hammering your database while you type.

For field-level search, expand the filters panel — you'll see "Field path" and "Value" inputs that appear in payload mode.

From the API

Payload search is available via query parameters on the events endpoint:

# Free-text search
curl https://api.hookbase.app/api/events?payloadSearch=acme

# Field-level search
curl https://api.hookbase.app/api/events?payloadField=customer.email&payloadFieldValue=acme@example.com

Both work with all existing filters (sourceId, fromDate, toDate, status).

Why This Matters

Debugging webhook integrations is detective work. The payload is the evidence — but until now, you couldn't search it. You had to scroll through events, open each one, and manually scan the JSON.

With payload search, you go from "somewhere in these 10,000 events" to "here's the exact event" in seconds.

No other webhook platform offers this. Most store payloads as opaque blobs. Hookbase indexes them as structured, searchable JSON.

What's Next

  • R2 payload indexing — large payloads (> 32KB) will get a searchable summary extracted on ingest
  • Saved searches — bookmark common payload queries for quick access
  • Search in transforms — test how a search result would look after your transform is applied

Payload search is available now on all plans. Try it out.

product-updatesearchdebuggingwebhooksdeveloper-tools

Related Articles

Product Update

Test Real Webhooks in CI With Three Lines of YAML

The new hookbase/setup-tunnel GitHub Action exposes a localhost port via a public Hookbase tunnel during CI runs. Receive real webhooks from Stripe, GitHub, Shopify, or any provider against ephemeral test environments — without managing tunnel lifecycle by hand.

Tutorial

Shopify Webhook Signature Verification, Explained

Shopify HMAC verification trips up almost every first-time integrator. Here is exactly how the signature is computed, what goes wrong, and a working implementation in Node, Python, Go, and Ruby.

Reference

Webhook Retries: What Every Provider Does Differently

Stripe retries for 3 days. GitHub gives up after one failure. Shopify retries 19 times. Knowing the rules for each provider is the difference between losing events and not. A reference table plus what it means for your handler.

Ready to Try Hookbase?

Start receiving, transforming, and routing webhooks in minutes.

Get Started Free
Hookbase

Reliable webhook infrastructure for modern teams. Built on Cloudflare's global edge network.

Product

  • Features
  • Pricing
  • Use Cases
  • Integrations
  • ngrok Alternative

Resources

  • Documentation
  • API Reference
  • CLI Guide
  • Blog
  • FAQ

Free Tools

  • All Tools
  • Webhook Bin
  • HMAC Calculator
  • JSONata Playground
  • Cron Builder
  • Payload Formatter
  • Local Testing

Legal

  • Privacy Policy
  • Terms of Service
  • Contact
  • Status

© 2026 Hookbase. All rights reserved.