New to RisingWave webhooks? Before configuring HubSpot, it’s recommended to run a quick local smoke test to confirm your RisingWave webhook listener is reachable and your table is ingesting events. See Webhook endpoint and Quick local smoke test.
1. Create a table in RisingWave
Next, create a table configured to accept webhook data from HubSpot.
In HubSpot Webhook, several request validation methods are available, including v1, v2, v3, and API Key–based authentication. Each version employs a different approach to generating and verifying signatures, and may store the signature in a distinct header field. The SQL example above illustrates how to validate a signature generated using the v2 method.
If you prefer to use an API key, you can simply include a key-value pair in the HTTP headers and validate against that value instead. For comprehensive details on all supported validation methods, refer to HubSpot’s official documentation.
Or you can also use raw string for verification without secret:
2. Set up webhook in HubSpot
After configuring RisingWave to accept webhook data, set up HubSpot to send events to your RisingWave instance.RisingWave webhook URL
The webhook URL should follow this format:Configure webhook in HubSpot
While the official HubSpot webhook documentation provides comprehensive guidance, here are a few points to keep in mind:- HTTP Method: Always use the POST method when configuring your webhook to send data to RisingWave.
-
Signature Validation: Ensure that your chosen validation method (v1, v2, v3, or API key) aligns with the header key and
secure_compareexpression defined in RisingWave. Different methods generate signatures in distinct ways, so you may need to adjust your validation logic accordingly. - Testing Your Configuration: Use the test actions feature in HubSpot to verify that your webhook and RisingWave setup work as intended. This helps confirm that the configuration is correct before putting it into production.
3. Push data from HubSpot via webhook
With the webhook configured, HubSpot will automatically send HTTP POST requests to your RisingWave webhook URL whenever the specified condition is satisfied. RisingWave will receive these requests, validate the signatures, and insert the payload data into the target table.4. Further event processing
The data in the table is already ready for further processing. You can access the fields usingdata->'field_name' in SQL queries.
You can create a materialized view to extract specific fields from the JSON payload.
hubspot_events like a regular table to perform analytics, generate reports, or trigger further processing.