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:
- Reception: A webhook is received at your unique HookFlow URL
- Validation: If configured, the webhook signature is verified to ensure authenticity
- Queuing: The webhook is stored in a reliable queue for processing
- Filtering: For each destination, filter rules are applied to determine if the webhook should be forwarded
- Transformation: If the webhook passes filters, any transform rules are applied to modify the payload
- Delivery: The webhook is forwarded to each destination that passed filtering
- Retry: If delivery fails, HookFlow will retry according to your retry configuration
- 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:
- Webhook Sources - Learn how to create and manage webhook sources
- Destinations - Configure where your webhooks are forwarded
- Transformations - Modify webhook payloads before delivery
- Filtering - Control which webhooks are forwarded
- Retry Configuration - Set up reliable delivery with retries