Webhookevent Receiver
contrib
Maintainers: @atoulme, @shalper2
Source: opentelemetry-collector-contrib
Supported Telemetry
Overview
Configuration
Note: This receiver was renamed fromThe following settings are required:webhookeventtowebhook_eventto match the snake_case naming convention. The deprecated component typewebhookeventis still accepted as an alias and will log a deprecation warning.
endpoint(no default): The endpoint where you may point your webhook to emit events to
path(default: ‘/events’): Path where the receiver instance will accept eventshealth_path(default: ‘/health_check’): Path available for checking receiver statusread_timeout(default: ‘500ms’): Maximum wait time while attempting to read a received eventwrite_timeout(default: ‘500ms’): Maximum wait time while attempting to write a responserequired_header(optional):key(required ifrequired_headerconfig option is set): Represents the key portion of the required header.value(required ifrequired_headerconfig option is set): Represents the value portion of the required header.
split_logs_at_newline(default: false): If true, the receiver will create a separate log record for each line in the request body.split_logs_at_json_boundary(default: false): If true, the receiver will parse the request body to JSON and send each object as a log. Splitting on new line overrides json boundary so only enable one at a time.convert_headers_to_attributes(optional): add all request headers (excludingrequired_headerif also set) log attributesheader_attribute_regex(optional): add headers matching supplied regex as log attributes. Header attributes will be prefixed withheader.max_request_body_size(default comes from confighttp module): Maximum size in bytes for request body. Requests exceeding this limit will be rejected with an error.hmac_signature(optional): HMAC-SHA256 hex digest signature verification for webhook payloads. Compatible with GitHub webhook signatures and Fingerprint webhook signatures.secret(required ifhmac_signatureis set): The shared secret used to compute the HMAC-SHA256 digest.header(required ifhmac_signatureis set): The HTTP header name containing the signature (e.g.X-Hub-Signature-256for GitHub,fpjs-event-signaturefor Fingerprint).prefix(required ifhmac_signatureis set): The prefix before the hex digest in the header value (e.g.sha256=for GitHub,v1=for Fingerprint).
Split logs at newline example
If the setting is unconfigured or set tofalse, the receiver will create a single log record with the entire request body as the “body” of that record.
If the webhook body looks like the following, use split_logs_at_newline: false:
split_logs_at_newline: true:
Split logs at JSON boundary example
If you don’t have clear new-line splits between objects, the receiver can use the JSON parser to handle separating the objects.split_logs_at_json_boundary: true
HMAC Signature Verification
The receiver supports HMAC-SHA256 hex digest signature verification, which is used by webhook providers like GitHub and Fingerprint to ensure payload integrity and authenticity. When configured, the receiver reads the raw request body, computes the HMAC-SHA256 digest using the shared secret, and compares it with the signature in the specified header. Requests with missing or invalid signatures are rejected with HTTP 401 Unauthorized.GitHub webhook example
Fingerprint webhook example
Configuration Example
Configuration
Example Configuration
Last generated: 2026-08-24