Integrations

Releaseo integrations

Configure PostHog forwarding and multi-destination Webhook Out delivery for widget, contact, identity, and custom events.

Integrations Route selected product events to the tools your team uses.
Live routing
Directory Destinations
PostHog Product analytics stream
Enabled
Webhook Out Signed event destinations
2 destinations
Zapier Automation workflow
Planned
Slack Team notifications
Planned
Webhook Out Signed destinations
Production Sales automation Zapier Catch Hook
4 events Healthy
Production Support handoff Custom receiver
2 events Ready
Last delivery Success 35 seconds ago
Event routing Selected signals
Widget openedContact CTAContact submittedCustom event
Contact-ready Submissions can trigger inbox review and outbound routing.

Available destinations

DestinationUse it when
PostHogYou want Releaseo widget and selected custom events in your product analytics project.
Webhook OutYou want signed event delivery to your own backend, Zapier, Make, n8n, or another HTTPS workflow endpoint.

Slack, Discord, Linear, Zapier, and workflow-engine entries can appear in the catalog as future destinations, but the current available providers are PostHog and Webhook Out.

Event catalog

The dashboard reads the integration event catalog from the backend. Built-in events currently include:

Event keyMeaning
sdk_initSDK runtime initialized.
widget_loadedWidget iframe loaded.
widget_openWidget drawer opened.
widget_closedWidget drawer closed.
post_openChangelog or announcement post viewed.
cta_clickPost CTA clicked.
link_clickedWidget link clicked.
home_contact_cta_clickedHome Contact button clicked.
read_state_changedRead state changed.
contact_submission_createdContact form submission created.

Custom events come from the host app through the SDK:

await window.releaseo.track("billing_limit_reached", {
  plan: "pro",
  source: "settings",
});

For PostHog, custom forwarding requires both the custom-events toggle and an explicit selected event subscription. For Webhook Out, each destination has its own subscription list.

PostHog

PostHog is a project-level destination configured from the dashboard. The backend stores the write-only project token, forwards selected events through the integrations worker, and can include identity payloads when enabled.

Typical setup:

  1. Open Dashboard -> Integrations -> PostHog.
  2. Add the PostHog API host and project token.
  3. Choose whether to send events, identity payloads, and selected custom events.
  4. Select the event subscriptions you want to forward.
  5. Save and use the test action before enabling for production traffic.

Use a PostHog project token, not a personal API key.

Webhook Out

Webhook Out supports multiple destinations per project. Each destination has its own display name, stable destinationKey, endpoint URL, signing secret, status, rate limit, event subscriptions, test action, delivery logs, and secret rotation.

Common destination examples:

DestinationEndpoint example
Internal backendhttps://api.example.com/releaseo/webhook
Zapier Catch Hookhttps://hooks.zapier.com/hooks/catch/...
Make Custom Webhookhttps://hook.eu1.make.com/...
n8n Webhookhttps://n8n.example.com/webhook/releaseo

destinationKey is a lowercase identifier used in payloads and logs. Use letters, numbers, and hyphens, up to 40 characters. Reserved keys such as default and keys starting with reserved platform prefixes are blocked.

Webhook payload

Webhook payloads use a stable envelope:

{
  "version": 1,
  "type": "events",
  "deliveryId": "job_123",
  "connectionId": "conn_123",
  "destinationKey": "zapier-sales",
  "attempt": 1,
  "sentAt": "2026-05-15T10:30:00.000Z",
  "data": {
    "events": [
      {
        "name": "contact_submission_created",
        "canonicalName": "contact_submission_created",
        "isBuiltIn": true,
        "distinctId": "user_123",
        "url": "https://app.example.com/settings"
      }
    ]
  }
}

For identity delivery, type is identity and data.identify contains the identity payload. For a dashboard test, type is test.

Receiver checklist

Webhook Out is outbound from Releaseo to your endpoint. Your receiver should:

  • accept POST requests with Content-Type: application/json
  • read the raw request body before JSON parsing if your backend verifies signed requests
  • reject stale requests according to your replay-window policy
  • store delivery identifiers when you need retry deduplication
  • return a 2xx status only after the event is accepted
  • keep endpoint URLs stable, because destination logs and retries are scoped to the configured destination

Manage destinations, subscriptions, test sends, secret rotation, and logs from the Releaseo dashboard.

Was this page helpful?