Skip to main content
Hightouch, Census, and Databricks connect to Default by webhook or through the Default API. Default has no native warehouse or reverse ETL (extract, transform, load) integration: none of these tools has a card on the Integrations page, and Default does not query a warehouse. The warehouse side sends rows to Default, and each row starts a workflow run.

How warehouse data flows to and from Default

Choose between the webhook and the API

The API allows 30 requests per minute per key, and a 429 response carries a Retry-After header. Pace large syncs that call the API to stay under that limit. API setup and request examples: Route and book through the API.

Send warehouse rows into Default by webhook

1

Add the Incoming Webhook trigger

In Workflows, create a workflow and add the Incoming Webhook trigger. Under Connected Webhook, select Create new webhook, or choose an existing webhook.
2

Copy the URL and the secret

Copy the Ingestion URL. Reveal and copy the Bearer secret. It is your workspace’s webhook secret, shared by every webhook in the workspace.
3

Set up the sync or job

In Hightouch or Census, set up a destination that sends each row as a POST with a JSON body to the Ingestion URL, with the header Authorization: Bearer <secret>. From Databricks, a scheduled job can send the same request.
4

Capture a sample row

Select Listen for test event, then send 1 row. For the next 5 minutes, Default saves the first request it receives as the Captured payload and does not start the workflow with it. You can also select Paste a sample, paste an example row, and select Save sample.
5

Map the person or company (optional)

Under Identity mapping, choose the column that holds the Person email or the Company domain.
6

Build, test, and publish

Add the nodes that act on the row. Type {{ in a field to insert values from the captured payload. Select Test, then Run Test, to try it. Select Publish, then check that the status next to the deployment switch reads Live. A new workflow goes live when you first publish it. If the status reads Paused, turn the switch on. Each row the sync sends now starts the workflow.
A row that looks like this works as a sample:

Webhook request rules for syncs

  • 1 row per request: each request starts 1 run of every published, enabled workflow that uses the webhook. A body that holds an array of rows starts 1 run with the whole array. Default answers 200 even when no published, enabled workflow uses the webhook.
  • Body: JSON, up to 1 MB. Malformed JSON gets a 400 response, and a larger body gets a 413. A mapped Person email column that holds text that is not a valid email address also gets a 400. An empty or non-text value is not checked: the row starts the run with the Company domain instead, if one is mapped, or with no person or company.
  • Authentication: a missing or wrong secret gets a 401. After an admin rotates the webhook secret, update the sync with the new one.
  • Paused webhook: turning off the webhook’s Active switch in the trigger makes Default reject requests with a 410.
  • Repeat rows: a sync can send the same record again when it changes. Check for an existing CRM record with Match Record before you route or create, and route only on the No Match branch. See CRM nodes.

Send Default data to a warehouse

Default does not write to a warehouse directly. To land Default data there, add Send to Webhook to the workflow and point it at an endpoint that loads data into the warehouse, such as a service your data team runs.
1

Add Send to Webhook

Add Send to Webhook after the node whose data you want to keep, for example after a Round-Robin node, or in a workflow that starts from the Meeting Status trigger.
2

Point it at the loading endpoint

Set Request Type to POST and Request URL to the loading endpoint.
3

Set the authorization

Choose the Authorization the endpoint expects: API Key, Token, or Basic.
4

Build the body and publish

Build the Body under Fields or JSON. Type {{ to insert values. Publish the workflow and check that its status reads Live. If it reads Paused, turn on the deployment switch. Each run now sends its data to the loading endpoint.
The endpoint must be reachable on the public internet. Default stops a request after 30 seconds and does not follow redirects. See Send to Webhook.

What Default does not support with warehouses

  • A native Hightouch, Census, or Databricks integration, or a card for them on the Integrations page.
  • Querying or syncing from a warehouse on a schedule. The warehouse side has to send the data.
  • A bulk export API. The public API covers scheduling and firing API triggers.
  • Splitting a batch of rows into separate runs.
Related: Default integrations