How product analytics data flows to and from Default
Default does not pull events, users, or cohorts from these tools. The tool, or a service you run, has
to send them.
Send product events into Default
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
Point the analytics tool at Default
In Segment, PostHog, Mixpanel, or Amplitude, set up a webhook or HTTP request that sends a
POST
with a JSON body to the Ingestion URL, with the header Authorization: Bearer <secret>.4
Capture a sample event
Select Listen for test event, then send 1 event from the tool. 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 event, and select
Save sample.
5
Map the person or company (optional)
Under Identity mapping, choose the payload field that holds the Person email or the
Company domain, so Default knows who the event is about.
6
Build, test, and publish
Add the nodes that act on the event. 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. Events the tool sends now start the workflow.Example product event payload
Default accepts any JSON body, so the field names come from the analytics tool. A request looks like this:200 and a body with "accepted": true:
email. Later nodes can pick
event, and plan under properties, from the data picker.
Webhook request rules for analytics events
- Method:
POST. - Body: JSON, up to 1 MB. Any shape works. Malformed JSON gets a
400response, and a larger body gets a413. A mapped Person email field that holds text that is not a valid email address also gets a400. An empty or non-text value is not checked: the run starts with the Company domain instead, if one is mapped, or with no person or company. - Authentication:
Authorization: Bearer <webhook secret>. A missing or wrong secret gets a401. - Runs: each request starts 1 run of every published, enabled workflow that uses the webhook. A
body that holds an array of events starts 1 run with the whole array, so send 1 event per request.
Default answers
200even when no published, enabled workflow uses the webhook. - Paused webhook: turning off the webhook’s Active switch in the trigger makes Default reject
requests with a
410.
Send Default data to a product analytics tool
Use Send to Webhook to send an event or a user update to the analytics tool’s API, for example when a meeting is booked or a lead is routed.1
Choose the trigger
Start the workflow with the trigger that matches the moment, for example Meeting Status with
Meeting statuses set to Booked. See Triggers.
2
Point Send to Webhook at the tool
Add Send to Webhook. Set Request Type to POST and Request URL to the endpoint in
the tool’s API documentation.
3
Set the authorization
Under Authorization, choose what the tool’s API expects: API Key, Token, or Basic.
4
Build the body and publish
Build the Body under Fields or JSON. Type
{{ to insert values, such as the lead’s
email or the meeting time. Publish the workflow and check that its status reads Live. If it
reads Paused, turn on the deployment switch. Each booked
meeting now sends an event to the tool.http or https address. Default stops a request after 30 seconds and does not
follow redirects. See Send to Webhook.
What Default does not support with product analytics tools
- A native Segment, PostHog, Mixpanel, or Amplitude integration, or a card for them on the Integrations page.
- Pulling events, users, or cohorts from these tools on a schedule.
- Webhooks without an
Authorization: Bearerheader. If a tool cannot set that header, put a service that can between the tool and Default. - Splitting a batch of events into separate runs.