Skip to main content

S3 Module

The S3 Module stores webhook payloads in AWS S3 buckets.

Configuration

{
"s3_archival": {
"data_type": "json",
"module": "s3",
"connection": "s3_storage",
"module-config": {
"bucket": "my-webhook-bucket",
"prefix": "webhooks/archive",
"filename_pattern": "webhook_{timestamp}_{uuid}.json",
"include_headers": true
},
"authorization": "Bearer s3_secret"
}
}

Connection Configuration

In connections.json:

{
"s3_storage": {
"type": "s3",
"aws_access_key_id": "{$AWS_ACCESS_KEY_ID}",
"aws_secret_access_key": "{$AWS_SECRET_ACCESS_KEY}",
"region": "us-east-1",
"endpoint_url": null
}
}

Module Configuration Options

  • bucket: S3 bucket name (required)
  • prefix: Optional prefix for object keys
  • filename_pattern: Pattern for object names (supports {timestamp}, {uuid}, {webhook_id})
  • include_headers: Whether to include HTTP headers in stored data (default: false)
  • content_type: Optional content type for objects
  • storage_class: S3 storage class (STANDARD, STANDARD_IA, etc.)

Features

  • Automatic file naming with timestamps and UUIDs
  • Configurable storage paths
  • Support for different storage classes
  • AWS credentials via environment variables
  • Connection pooling