Integrations

PostHog

Capture Zivvy webhook events into PostHog for funnels, cohorts, and retention analysis.

The snag

Growth teams can see product events in PostHog and revenue in the ERP, but never both together — so activation-to-revenue funnels are guesses.

How Zivvy helps

Forward sales-invoices.paid, sales-orders.submitted, and quotations.sent to PostHog capture() so funnels see finance events alongside product events.

What you get

  • PostHog capture() for finance + ops events
  • Funnels from product signup → sales-orders.submitted → sales-invoices.paid
  • Cohorts by customer_group from /v1/customers

Workflow stream

Funnel: signup → first order → first payment

Common uses

  1. 01

    Funnel: signup → first order → first payment

  2. 02

    Cohort of high-value /v1/customers on retention curve

  3. 03

    Alert on drop in sales-orders.submitted week-over-week

Integration code

Open API reference

Subscribe PostHog consumer

curl -X POST https://integrate.zivvy.xyz/v1/webhook-subscriptions \
  -H "Authorization: Bearer $ZIVVY_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "target_url": "https://api.your-app.com/hooks/posthog",
    "events": ["sales-invoices.paid", "sales-orders.submitted"]
  }'

PostHog capture()

import { PostHog } from "posthog-node";

const ph = new PostHog(process.env.POSTHOG_KEY, {
  host: process.env.POSTHOG_HOST
});

export async function POST(req) {
  const evt = await req.json();
  ph.capture({
    distinctId: evt.data.customer,
    event: evt.event,
    properties: {
      amount: evt.data.grand_total,
      currency: evt.data.currency
    }
  });
  return new Response("ok");
}

API endpoints

POST /v1/webhook-subscriptionsGET /v1/customersGET /v1/sales-invoices

Events emitted

HMAC-SHA256 signed webhooks, retried for 24 hours.

  • sales-invoices.paid
  • sales-orders.submitted
  • quotations.sent

0

free seats forever

0

card required to start

1

workspace for the workflow

Questions

Ready to try it?

Free plan. Two seats. No card.