Destinations

A destination is an outbound endpoint that receives events from FastHook.

Destinations define where processed events go next. In the FastHook dashboard, they can be external HTTP targets such as an internal API or webhook consumer, or CLI tunnel targets that forward events to a service running on your local machine.

Good destination configuration helps teams protect downstream services from overload while keeping delivery behavior explicit and observable.

Destination Type

FastHook supports two destination types.

  • HTTP: deliver routed events directly to an HTTP or HTTPS endpoint.
  • CLI: deliver routed events through the FastHook CLI to a localhost URL on your machine.

Use an HTTP destination for production services, staging APIs, and public webhook receivers. Use a CLI destination when you are developing locally and want provider traffic, replayed events, or FastHook test requests to reach http://localhost.

CLI Destinations

A CLI destination does not expose your localhost service to the internet directly. FastHook delivers the event to the tunnel service, the CLI keeps an authenticated WebSocket open, and the CLI forwards each delivery to the local URL you choose.

Basic flow:

Shell
fasthook login --api-key fhp_xxx
fasthook tunnel --destination des_xxx --to 8080

On Windows, download the released fasthook.exe from the fasthook-cli releases page. If you build from source, run the same examples as npx . login and npx . tunnel inside the fasthook-cli repository. The --destination value is the destination id from the FastHook dashboard. The --to value is the local receiver that should handle the webhook. You can pass a port such as 8080 or a full localhost URL. If --to is omitted, the CLI defaults to localhost:8080.

The same CLI can also run FastHook API commands for sources, destinations, connections, requests, events, attempts, metrics, transformations, and project secrets. See CLI & Tunneling for the full command reference.

CLI destinations store an optional path, such as /webhooks/orders. The local host and port are always supplied by the active CLI tunnel session.

What You Can Do In Dashboard

Create a destination

Set name, destination type, endpoint URL for HTTP destinations or path for CLI destinations, HTTP method, authentication, and optional max delivery rate.

Edit a destination

Update name, endpoint URL or CLI path, HTTP method, and delivery rate.

Enable or disable a destination

Temporarily disable outbound delivery to a destination.

Delete a destination

Delete a destination when it is no longer needed.

Why Destinations Matter

Destinations are where retries, pacing, and delivery visibility become operationally important. A source can accept traffic correctly and a connection can route it correctly, but a weak destination setup still causes lost time during incidents if operators cannot see where attempts are failing.

By treating destinations as managed delivery targets instead of hardcoded URLs, teams can adjust routing and throughput without changing application code for every integration.

Delivery Practices

  • Use descriptive names that reflect the consumer, such as payments-api or warehouse-sync.
  • Use a CLI destination for local development instead of pointing providers at temporary ad-hoc tunnel URLs.
  • Set max delivery rate when the downstream system has tight concurrency or rate limits.
  • Disable a destination temporarily during maintenance windows to prevent noisy failures and protect the target service.

Delivery Notes

  • FastHook forwards the routed request payload from the connected source flow.
  • Destination health and status are visible from the Destinations view.
  • HTTP 502 Local Fetch Failed on a CLI destination means the CLI was connected, but the local --to URL did not answer successfully.