Navigation

Getting Started

CatchHook gives you a stable URL that catches webhooks from any service — Stripe, GitHub, Shopify, or anything else that sends HTTP callbacks. You can also catch inbound emails via a generated email address. Inspect every event in real time, forward them to your own servers, or tunnel them straight to localhost for development.

Try it without signing up

Webhooks

  1. Go to catchhook.app.
  2. A temporary webhook endpoint is created automatically. You'll see a URL like:
   https://temp.catchhook.app/hooks/ep_abc123
  1. Copy that URL and paste it into any webhook sender (or use the Send test request button).
  2. Incoming requests appear instantly in the request list.

Emails

  1. Go to catchhook.app and switch to the Email protocol toggle.
  2. A temporary email endpoint is created with an address like:
   abc123@in.catchhook.app
  1. Send any email to that address.
  2. The email appears in the event list with subject, sender, and full content.

Temporary endpoints expire after 48 hours. Sign up to keep yours permanently.

Create an account

  1. Visit catchhook.app/users/sign_up.
  2. Sign up with email/password, Google, or GitHub.
  3. Every new account gets a 14-day free trial — no credit card required.

If you already created a temporary endpoint, it will be migrated to your new account automatically.

Create your first endpoint

  1. Open the Endpoints page from the sidebar.
  2. Click New Endpoint.
  3. Choose the protocol — Webhook or Email.
  4. Give it a name (e.g., "Stripe Webhooks" or "Transactional Email Testing") and save.

For webhook endpoints, your URL is displayed at the top of the endpoint page:

   https://listen.catchhook.app/hooks/ep_xyz789

Paste this URL into the webhook settings of your external service.

For email endpoints, a unique email address is generated:

   your-local-part@in.catchhook.app

Use this address as the recipient for any email sender or transactional email service.

Inspect incoming events

When an event arrives — whether a webhook request or an inbound email — it shows up in the endpoint's Recent Activity section in real time.

Webhook events show:

  • HTTP method, path, and status code
  • Headers (sensitive values are masked)
  • Body with syntax highlighting (JSON, XML, HTML)
  • Query parameters and form parameters
  • Source IP and timestamps
  • Inline delivery events (forwards, tunnels, replays)

Email events show:

  • Subject, sender, and recipients
  • Text body and HTML body (rendered in a sandboxed iframe)
  • Email headers (SES transport headers filtered out, sensitive values masked)
  • Attachments metadata
  • Email authentication results (SPF, DKIM, DMARC)
  • Detected email provider (Gmail, Outlook, SendGrid, etc.)
  • Normalized JSON payload for forwarding

Use the Send Test Request button (webhook endpoints) to verify your endpoint is working before configuring it in an external service.

The endpoint page also shows a health status badge (Setup incomplete, Healthy, Needs attention, Idle, Expired) and a single recommended action when something needs fixing.

Your Workspace

After signing in, you land on the Workspace dashboard. It gives you an at-a-glance view of your account:

  • Endpoint health cards — each endpoint shows its current status, recent event count, and any active issues.
  • Needs Attention — endpoints with problems (verification failures, stale tunnels, forwarding errors) are surfaced at the top so you can act quickly.
  • Today summary — a quick count of today's events, forwards, and tunnel deliveries.

What's next?

  • Forward events to your own server — see Forwarding.
  • Tunnel to localhost for local development — see Tunneling & CLI.
  • Set up alerts for missing or failing webhooks — see Alerts.
  • Customize your URL with a branded subdomain or namespace — see Account Settings.