Skip to main content

HubSpot

Overview

HubSpot receives webhook events from HubSpot. These events include updates related to contacts, deals, tickets, and other CRM activities occurring within a HubSpot account.

Supported platforms

  • Linux: Logs
  • Windows: Logs
  • macOS: Logs

Authentication

Authentication is configured using the Credential Type field.

ParameterTypeDescription
Credential TypestringSpecifies the authentication mechanism used to validate incoming requests.
HubspotHmacAuthoptionEnables HubSpotHMAC authentication used for validating webhook requests from HubSpot integrations.

HubSpot HMAC Authentication

ParameterTypeRequiredDefaultDescription
Signature HeaderstringYesx-hubspot-signature-v3SignatureHeader is the HTTP header that carries the HubSpot v3 signature.
Timestamp HeaderstringYesx-hubspot-request-timestampTimestampHeader is the HTTP header that carries the HubSpot request timestamp.
HubSpot Client SecretstringYesClientSecret is the HubSpot client secret used for HMAC-SHA256 validation.
Max Body SizeintegerNo1048576MaxBodySize limits how many bytes will be read from the request body for HMAC validation. If zero, a default limit is used.

Basic Configuration

ParameterTypeRequiredDefaultDescription
endpointstringYesnoneThe network address where the source listens for incoming HubSpot webhook HTTP requests. Example: 0.0.0.0:8080.
pathstringYes/eventsHTTP path used for receiving webhook events from HubSpot.
health_pathstringNo/health_checkPath for the health check endpoint.

Advanced Configuration

TLS

ParameterTypeDefault ValueDescription
enable_tlsboolfalseEnables TLS encryption for incoming webhook HTTP connections.
min_versionstring1.3Defines the minimum TLS version accepted for secure connections. Supports TLS 1.2 and above.
cert_filestringnonePath to the TLS certificate file used by the server.
key_filestringnonePath to the TLS private key file used by the server.
client_ca_filestringnonePath to the client CA certificate file used to verify client certificates for mutual TLS (mTLS).

Timeouts & Limits

ParameterTypeDefaultDescription
read_timeoutduration500msMaximum wait time while attempting to read a received event.
write_timeoutduration500msMaximum wait time while attempting to write a response.
max_request_body_sizeinteger1048576Maximum size in bytes for the request body. Requests exceeding this limit will be rejected with an error.

Log Processing & Headers

ParameterTypeDefaultDescription
split_logs_at_newlinebooleanfalseIf true, the source creates a separate log record for each line in the request body.
split_logs_at_json_boundarybooleanfalseIf true, the source parses the request body as JSON and sends each object as a log. Splitting on newline overrides JSON boundary splitting, so enable only one at a time.
convert_headers_to_attributesbooleanfalseAdds all request headers as log attributes, excluding required headers if also set.
header_attribute_regexstringnoneAdds headers matching the supplied regex as log attributes. Header attributes are prefixed with header. Example: ^X-.*.

Example Configuration

{
"path": "/events", // required, default: "/events"
"endpoint": "", // required, default: none

"health_path": "/health_check", // default: "/health_check"

"tls": {
"enable_tls": false, // required inside tls, default: false
"cert_file": "", // default: none
"key_file": "", // default: none
"client_ca_file": "", // default: none
"min_version": "1.3", // default: "1.3"
},

"read_timeout": "500ms", // default: "500ms"
"write_timeout": "500ms", // default: "500ms"
"max_request_body_size": 1048576, // default: 1048576

"split_logs_at_newline": false, // default: false
"split_logs_at_json_boundary": false, // default: false
"convert_headers_to_attributes": false, // default: false
"header_attribute_regex": "", // default: none
}