Core Concepts

Understanding the core concepts of HookFlow will help you make the most of the platform. This guide explains the key components and how they work together.

Webhook Sources

A webhook source is a configuration that allows HookFlow to receive webhooks from a third-party service (like Stripe, GitHub, or Shopify). Each source has a unique URL that you provide to the third-party service.

Key Properties

  • Name: A descriptive name for your source
  • Webhook URL: The unique URL you provide to the webhook sender
  • Secret Key: Used for signature verification to ensure webhook authenticity
  • Destinations: One or more endpoints where webhooks will be forwarded

Destinations

Destinations are the endpoints where HookFlow forwards webhooks after processing. A single source can have multiple destinations, each with its own configuration.

Key Properties

  • URL: The endpoint where webhooks will be delivered
  • Active Status: Whether the destination is currently receiving webhooks
  • Transform Rules: Modifications applied to the webhook payload before delivery
  • Filter Rules: Conditions that determine which webhooks are forwarded

Webhook Processing Flow

Understanding how HookFlow processes webhooks is essential for effective configuration:

  1. Reception: A webhook is received at your unique HookFlow URL
  2. Validation: If configured, the webhook signature is verified to ensure authenticity
  3. Queuing: The webhook is stored in a reliable queue for processing
  4. Filtering: For each destination, filter rules are applied to determine if the webhook should be forwarded
  5. Transformation: If the webhook passes filters, any transform rules are applied to modify the payload
  6. Delivery: The webhook is forwarded to each destination that passed filtering
  7. Retry: If delivery fails, HookFlow will retry according to your retry configuration
  8. Logging: All activities are logged for monitoring and debugging

Webhook Sender (Stripe, GitHub, etc.)

HookFlow Receiver

Queue & Processing

Destination 1

Destination 2

Projects

Projects help you organize your webhook sources. Each project can contain multiple sources, allowing you to group related webhooks together.

Use Cases

  • Separate development and production webhooks
  • Organize webhooks by client or product
  • Group webhooks by team or department

Webhook Statuses

HookFlow tracks the status of each webhook throughout its lifecycle:

Pending

Webhook received but not yet processed

Processing

Currently being processed

Delivered

Successfully delivered to all destinations

Failed

Failed to deliver after all retry attempts

Retrying

Failed initially but scheduled for retry

Partially Delivered

Delivered to some but not all destinations

Next Steps

Now that you understand the core concepts, you can explore more detailed guides: