Integrations

Segment

Emit Zivvy events into Segment as canonical track() calls (invoice.paid, order.submitted).

The snag

Product analytics teams have to hand-wire every finance event into Segment, and the naming drifts within a quarter.

How Zivvy helps

A webhook consumer forwards Zivvy events into Segment's track() with the canonical name (Invoice Paid, Sales Order Submitted, …).

What you get

  • One canonical event catalog for CDP + ERP
  • Track properties carry the /v1/... external_id
  • Segment destinations propagate to every downstream analytics tool

Workflow stream

sales-invoices.paid → track('Invoice Paid') in Segment

Common uses

  1. 01

    sales-invoices.paid → track('Invoice Paid') in Segment

  2. 02

    sales-orders.submitted → track('Sales Order Submitted')

  3. 03

    customers.created → identify() with Zivvy customer id

Integration code

Open API reference

Subscribe Segment 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/segment",
    "events": ["sales-invoices.paid", "sales-orders.submitted"]
  }'

Consumer -> Segment

import { Analytics } from "@segment/analytics-node";

const seg = new Analytics({ writeKey: process.env.SEGMENT_WRITE_KEY });

export async function POST(req) {
  const evt = await req.json();
  if (evt.event === "sales-invoices.paid") {
    seg.track({
      messageId: evt.id,
      userId: evt.data.customer,
      event: "Invoice Paid",
      properties: {
        invoice: evt.data.name,
        amount: evt.data.grand_total
      }
    });
  }
  return new Response("ok");
}

API endpoints

POST /v1/webhook-subscriptionsGET /v1/sales-invoicesGET /v1/customers

Events emitted

HMAC-SHA256 signed webhooks, retried for 24 hours.

  • sales-invoices.paid
  • sales-orders.submitted
  • customers.created

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.