Sinks
Webhook Sink

Webhook Sink

The Webhook sink sends generated data to HTTP endpoints. It's useful for:

  • Real-time data integration with web services
  • Triggering workflows in other systems
  • Sending notifications or alerts

Configuration

{
  "sink": {
    "type": "webhook",
    "params": {
      "url": "https://api.example.com/webhook",
      "headers": {
        "Content-Type": "application/json",
        "Authorization": "Bearer token"
      },
      "timeout": 30
    }
  }
}

Configuration Options

  • url (required): The HTTP endpoint URL
  • headers (optional): HTTP headers to include in the request
  • timeout (optional): Request timeout in seconds (default: 30)

Examples

Basic Usage

{
  "schema": {
    "id": "$uuid",
    "name": "$name",
    "email": "$email",
    "timestamp": "$timestamp"
  },
  "sink": {
    "type": "webhook",
    "params": {
      "url": "https://api.example.com/webhook"
    }
  }
}

With Authentication

{
  "schema": {
    "id": "$uuid",
    "name": "$name",
    "email": "$email",
    "timestamp": "$timestamp"
  },
  "sink": {
    "type": "webhook",
    "params": {
      "url": "https://api.example.com/webhook",
      "headers": {
        "Authorization": "Bearer your-token-here",
        "X-Custom-Header": "value"
      },
      "timeout": 60
    }
  }
}

Request Format

Single Record

{
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "name": "John Doe",
  "email": "john.doe@example.com",
  "timestamp": 1710503445
}

Error Handling

The Webhook sink includes built-in error handling:

  • Automatic retries on failed requests
  • Request timeout configuration
  • Detailed error logging

Security

For secure endpoints, you can configure:

  • HTTPS URLs
  • Authentication headers
  • Custom security headers
  • SSL certificate verification