Skip to main content

Inbound webhooks

An inbound webhook lets an external system push rows into a dataset by POSTing JSON, instead of Cloud Connector pulling them. It is set up per dataset, with one URL per instance, on cloud source systems. Standard and Enterprise.

Get the URL​

In a source system's Datasets section, the link icon on a dataset row opens the popover with the API trigger and a Webhook section: one URL per enabled instance of the form …/api/connector/ingest/webhook/<datasetId>/<instanceId>?key=…, with Copy … URL as cURL and Open webhook setup. The key is embedded in the URL as ?key= so senders that only accept a URL work; it can also be sent as the X-API-Key header. Each URL is bound to an instance, and rows arriving on it are tagged with that instance.

Copying a URL enables the dataset's webhook, so the sender starts getting accepted answers. Until the setup below is saved, payloads are stored for inspection but not loaded.

Webhook setup​

Open webhook setup opens Webhook setup — <dataset>:

  1. Enable webhook ingest.
  2. Webhook key — Generate key issues a key for this webhook alone, so the sender never holds the environment key and the key can be revoked on its own (Regenerate, Revoke). Without one, the environment key is used.
  3. Unpack path & business key — pick the array or object containing the records in the latest received payload, then the column(s) that identify each record. The business key is shared with pull-mode loading. POST a sample payload first; the picker shows its structure.
  4. Event classifier — the field, anywhere in the payload, whose value says what the event is, the values that mean "delete", and the Default event (upsert or delete) when nothing matches. Senders that fire one webhook per event type can skip the classifier and use the dedicated upsert / delete URLs further down, which force the verdict by their path.
  5. Recent events — the last 50 deliveries with their row counts, status (merged or failed) and error, and the payload (truncated at 64 KB).

Save stores the key and the setup; from then on every delivery is unpacked, upserted or marked deleted by business key, stamped with the instance, and exported to the dataset's destinations. Deletes need a business key. Deliveries do not appear as loads in the Dataset log; the Recent events list is their audit trail, kept for 30 days.