Skip to main content

Flow Overview

hookVM Flow is your complete solution for receiving, processing, and routing incoming webhooks from external services.


What is Flow?

Flow transforms complex webhook receiving into a simple, reliable process. Instead of building custom infrastructure to handle webhooks from Stripe, GitHub, Shopify, and dozens of other services, Flow provides everything you need out of the box.

In Simple Terms: Flow receives webhooks for you, verifies they're legitimate, and forwards them to your application with powerful transformation and routing capabilities.


The Problem

Without Flow

Building webhook infrastructure is harder than it looks:

Common Challenges:

  • Signature Verification: Each provider uses different signing methods
  • Payload Formats: Every service sends data differently
  • Error Handling: Webhooks fail, and you need retry logic
  • Monitoring: Hard to debug when things go wrong
  • Scaling: More webhooks = more infrastructure
  • Security: Exposing endpoints, managing secrets

With Flow

Flow handles all the complexity:

What Flow Does:

  • Automatic Verification: Built-in signature verification for 50+ providers
  • Unified Format: Consistent payload structure
  • Smart Routing: Send webhooks to multiple destinations
  • Transformations: Modify payloads with JavaScript
  • Automatic Retries: Exponential backoff built-in
  • Real-time Monitoring: See every webhook in real-time

How Flow Works

1. Create Endpoint

Create a unique webhook endpoint for each integration:

https://hooks.hookvm.com/abc123-def456-ghi789

Features:

  • Auto-generated unique URLs
  • Optional signature verification
  • Configurable retention (1-60 days)
  • Source type selection (Stripe, GitHub, etc.)

2. Configure Relay Rules

Define where and how to forward webhooks:

Capabilities:

  • Filters: Route based on payload content
  • Transformations: Modify payloads with JavaScript
  • Multiple Destinations: Fan-out to multiple services
  • Retry Logic: Automatic retries with exponential backoff
  • Signatures: Add HMAC signatures for security

3. Monitor & Debug

Track every webhook in real-time:

  • Requests: See all incoming webhooks
  • Relay Logs: Monitor delivery attempts
  • Filters: Find specific requests quickly
  • Replay: Manually retry failed deliveries

Key Features

Automatic Signature Verification

Flow automatically verifies webhook signatures from popular providers:

// Without Flow - Manual verification
const crypto = require('crypto');
const signature = req.headers['stripe-signature'];
const secret = process.env.STRIPE_SECRET;
// ... complex verification logic

// With Flow - Automatic
// Just receive the webhook, Flow already verified it!

Supported Providers:

  • Stripe
  • GitHub
  • Shopify
  • Slack
  • Twilio
  • And 50+ more

Powerful Transformations

Transform webhooks with JavaScript before forwarding:

// Transform Stripe webhook to your format
const transformedPayload = {
event_type: webhook.type,
payment_id: webhook.data.object.id,
amount_dollars: webhook.data.object.amount / 100,
customer_email: webhook.data.object.receipt_email,
processed_at: new Date().toISOString()
};

return transformedPayload;

Use Cases:

  • Normalize different webhook formats
  • Extract only needed fields
  • Add calculated fields
  • Enrich with additional data

Smart Filtering

Route webhooks based on content:

// Only forward successful payments over $100
Filters:
- Field: body.type
Operator: Equals
Value: payment_intent.succeeded

- Field: body.data.object.amount
Operator: Greater Than
Value: 10000

Filter Types:

  • Equals, Contains, Greater Than, Less Than, Exists
  • Match ALL or ANY conditions
  • Access body, headers, query params

Fan-Out Routing

Send one webhook to multiple destinations:

Use Cases:

  • Notify multiple microservices
  • Send to production and staging
  • Backup to data warehouse
  • Trigger multiple workflows

Automatic Retries

Never miss a webhook with smart retry logic:

Attempt 1: Immediate
Attempt 2: After 1 second
Attempt 3: After 2 seconds
Attempt 4: After 4 seconds
Attempt 5: After 8 seconds

Features:

  • Exponential backoff
  • Configurable retry count (1-10)
  • Retry only on 5xx errors
  • Track all attempts

Common Use Cases

E-commerce Integration

Scenario: Receive Shopify webhooks and update inventory

Setup:

  1. Create endpoint with Shopify source type
  2. Add relay rule to inventory API
  3. Add transformation to extract SKUs
  4. Add relay rule to email service
  5. Monitor deliveries

Payment Processing

Scenario: Handle Stripe payment webhooks

Setup:

  1. Create endpoint with Stripe source type
  2. Add filter for high-value payments
  3. Route to different services based on amount
  4. Transform to internal format
  5. Monitor success rates

Multi-Service Aggregation

Scenario: Collect webhooks from multiple services

Setup:

  1. Create endpoints for each service
  2. Transform all to unified format
  3. Route to central handler
  4. Process in consistent way
  5. Monitor all in one place

Getting Started

Quick Start (5 minutes)

  1. Create Endpoint

    Navigate to Flow → Endpoints → Create Endpoint
    Select source type (e.g., Stripe)
    Copy webhook URL
  2. Configure in Service

    Go to Stripe Dashboard → Webhooks
    Add endpoint: https://hooks.hookvm.com/your-id
    Select events to send
  3. Add Relay Rule

    Navigate to endpoint → Relay Rules → Create
    Enter destination URL
    Configure retries
    Save
  4. Test

    Send test webhook from Stripe
    View in Flow → Requests
    Check delivery in Relay Logs

Next Steps


Benefits

For Developers

Save Time: No infrastructure to build
Focus on Logic: Write business code, not webhook handling
Easy Debugging: Real-time monitoring and replay
Reliable: Automatic retries and error handling

For Teams

Centralized: All webhooks in one place
Scalable: Handle millions of webhooks
Secure: Automatic signature verification
Observable: Complete visibility into webhook flow

For Businesses

Faster Integration: Connect services in minutes
Lower Costs: No infrastructure to maintain
Higher Reliability: Built-in retry and monitoring
Better Security: Industry-standard verification


Architecture

How Flow Processes Webhooks

Data Flow

  1. Receive: Webhook arrives at Flow endpoint
  2. Verify: Signature checked (if configured)
  3. Store: Request saved for retention period
  4. Filter: Relay rules evaluated
  5. Transform: JavaScript transformations applied
  6. Forward: Sent to destination(s)
  7. Retry: Automatic retries on failure
  8. Monitor: All steps logged and visible

Comparison

Flow vs Building Your Own

FeatureFlowBuild Your Own
Setup Time5 minutesDays/weeks
Signature VerificationAutomaticManual for each provider
Retry LogicBuilt-inBuild yourself
MonitoringReal-time UIBuild dashboards
TransformationsJavaScript editorWrite custom code
ScalingAutomaticProvision servers
MaintenanceZeroOngoing
Cost$0-$99/monthInfrastructure + dev time

Ready to Start?

Flow makes webhook receiving simple, reliable, and powerful.

Create Your First Endpoint →


Questions? Check our troubleshooting guide or contact support.