Skip to main content
What this does: Exposes an HTTP endpoint that accepts webhook payloads, ingests them as a stream, and makes them queryable via materialized views. When to use this: You receive events from SaaS apps (GitHub, Stripe, Segment, HubSpot, etc.) or internal services via webhooks and want to process them in real time without a separate Kafka/queue setup.

Setup

1. Create a webhook source

The webhook connector requires exactly one JSONB column — the full payload lands there.

2. Send a test event

3. Create a materialized view to process events

Extract fields from the JSONB payload in the MV:

4. Query results

Key points

  • Webhook endpoint format: http://<host>:4560/webhook/<database>/<schema>/<table_name>
  • Default port for webhooks is 4560 (not the SQL port 4566)
  • The secret.header and secret.value are used to validate incoming requests
  • The webhook connector requires exactly one JSONB column — all payload fields must be extracted via ->>/-> operators in downstream MVs

Next steps