How to Search and Filter Requests and Events
In the Hookdeck Event Gateway, you deal with both incoming Requests and outgoing Events and their delivery Attempts . Being able to efficiently search and filter through them is crucial for observability, logging, monitoring, troubleshooting, and managing your webhooks. This guide will walk you through how to use filters on both the Requests and Events pages to quickly find what you're looking for.
How to use filters
Hookdeck offers many filters that can be combined for a more granular search experience. It's recommended to use multiple filters to narrow your search as much as possible.
Applying filters
- From the Requests or Events page, select a filter from the filter bar.
- Set the value for the filter. This could be selecting from a dropdown (like for a status) or entering text (like for a search term).
- As soon as you set the value, the list will update automatically.
Clearing filters
To remove filters, you can either click the on an individual filter tag or select Clear All Filters to remove all active filters at once.
Filtering Requests
On the Requests page, you can filter all incoming requests that Hookdeck receives from a Source . This is a key observability feature for debugging issues at the source level, before events are even created.
Here are the filters available for Requests:
Status
Filter by the Accepted
or Rejected
status of the request. This helps you quickly isolate requests that were not processed successfully and investigate the cause.
Sources
Filter by the source that received the request. This is particularly useful when you have multiple sources and want to focus on the traffic from just one.
Date
Filter for requests received within a specific date and time range. You can use this to investigate incidents that occurred during a known timeframe.
Rejection Cause
When a request is rejected, you can filter by the specific reason for rejection. Common causes include SOURCE_DISABLED
, VERIFICATION_FAILED
, or UNSUPPORTED_HTTP_METHOD
. This is key to understanding why some requests aren't being converted into events.
Request Data
Search within the request's headers, body, query parameters, or path. This performs a partial match, so you don't need the full value. For example, you can search for a specific user_id
in the body to find all requests related to that user, which is invaluable for debugging customer-specific issues.
Ignored Events Count
Filter requests by the number of events that were ignored for them. An event is ignored if it doesn't match any of your Connection 's filter rules.
Events Count
Filter requests by the number of events that were successfully created from them. This can help you find requests that fanned out to multiple connections.
Filtering Events & Attempts
On the Events page, you can filter outgoing Events and their delivery Attempts . This is where you'll spend most of your time on webhook observability, monitoring, and troubleshooting deliveries to your Destinations .
Here are the filters available for Events:
Status
Filter by the event status: Successful
, Failed
, Pending
, or Paused
. This is the most common filter for finding and managing problematic events.
Connection
Filter by the Connection , which is the link between a Source and a destination (e.g., Shopify → My API
).
Sources
Filter by the source that generated the event.
Destinations
Filter by the destination the event is being sent to. This is great for isolating and troubleshooting issues with a specific downstream endpoint.
Date
Filter for events created within a specific date and time range.
HTTP Response
Filter by the HTTP status code returned by your destination (e.g., 200
, 404
, 500
) or by a Hookdeck error code (e.g., TIMEOUT
). This helps you categorize failures and understand if the issue is with your server or the connection to it.
Request Data
Similar to the filter on Requests, you can search within the original request's headers, body, query, or path. This is powerful for tracing a piece of data, like an order_id
, from the initial request all the way to the final delivery attempt. You can specify which part of the request to search in (Header, Body, Query, Path).
Attempts Count
Filter events by the number of delivery attempts made. For example, you can find events that have failed more than 5 times to identify persistent issues.