Guide: How to Debug & Replay Events

One of the most powerful features of HookMux is the Activity Log, which gives you a complete, transparent view into every webhook delivery. This turns debugging from a "black box" mystery into a simple, observable process.

The Activity Log

You can find the Activity Log on the main page of any Source, under the Activity tab. It displays a list of all webhook delivery attempts fanned out from that Source.

Reading a Request

Click on any log entry to open the event viewer. This shows you the complete lifecycle of that specific delivery attempt. The viewer is split into two main parts:

  1. Payload (The "Inbound" Request):

    This is the original data HookMux received at your Source URL. You can inspect the Headers, Query Parameters, and Body exactly as they arrived from the sender (e.g., Stripe, GitHub).

  2. Response (The "Outbound" Result):

    This is the response HookMux received back from your Destination server. You can inspect the Status Code, Response Headers, and Response Body. This is critical for debugging: if your server returned a 500 Internal Server Error with a JSON error message, you will see it here.

Understanding Statuses

Every delivery attempt has a clear status:

  • Success (Green): All good. Your destination server responded with a 2xx (e.g., 200 OK) status code.
  • Failed (Red): Your destination server was reached but responded with an error (a 4xx or 5xx status code, like 401 Unauthorized or 500 Internal Server Error). Check the Response tab to see the error message your server sent.
  • Error (Red): HookMux was unable to connect to your destination server. This typically means a network-level issue like a DNS failure, a connection timeout, or a server that is offline.

Using Manual Replay

When a delivery fails, you don't need to go back to Stripe to trigger the entire action again. Just click the Replay button (available on all plans except for Free Plan).

HookMux will immediately re-queue and re-send the exact, original payload to that destination. This is the fastest way to test your fix after you've deployed a change to your server.

Using Edit & Replay

This feature allows you to modify the payload *before* re-sending it. Before clicking on the "Replay" button, you can edit the query strings, headers, and for POST requests, the body by toggling the "Edit Mode" switch on.

Of course, this feature is only available to Paid Plans users.

This is perfect for:

  • Testing edge cases ("What if this field is missing?").
  • Correcting a malformed value that caused your server to crash.
  • Testing a new feature on your server by adding new data to an old payload.