Skip to content

SIG//01 Integrations

Connect both
ends of the trace.

Spend comes in from the ad platforms. Outcomes come in from wherever your sales process lives. Everything below is labelled with what it actually does today.

Available In build Planned

Advertising

Spend and entity sync in, conversion signals back out.

Meta Ads

Available

Campaign, ad set and ad metrics on a rolling 28-day re-sync, plus Conversions API export with deduplicated event IDs.

Google Ads

In build

Campaign and keyword metrics, plus offline conversion upload against gclid, gbraid and wbraid.

TikTok Ads

Planned

Not in the first release. The integration contract is shared, so adding it is additive.

LinkedIn Ads

Planned

Not in the first release.

CRM and booking

Where the outcomes that matter actually live.

GoHighLevel

Available

OAuth connection, contact and appointment webhooks, opportunity stage mapping onto your own funnel definitions.

Calendly

Planned

Booking and attendance events via webhook.

HubSpot

Planned

Deal stage changes as conversion events.

Anything else

Available

If it can send a webhook or call an HTTP endpoint, it can post outcomes to the events API today.

Commerce

Order value attributed back to the campaign that earned it.

Shopify

Planned

Orders and refunds as valued conversion events.

WooCommerce

Planned

Orders and refunds via plugin or webhook.

SIG//02 The API

If we do not integrate with it, you still can.

Every outcome the platform understands can be posted directly. Scoped keys, idempotency built in, and a 202 the moment it is accepted — attribution happens on a queue, never in your request.

POST /api/v1/events 202 Accepted
{
  "event": "booking_show",
  "occurred_at": "2026-08-10T15:32:00Z",
  "idempotency_key": "ghl-appt-92812-show",
  "identify": {
    "email": "a@b.com"
  },
  "value": {
    "amount": 250.00,
    "currency": "EUR"
  },
  "properties": {
    "staff": "Ana",
    "location": "Skopje"
  }
}

Scoped keys

A public key for the browser, restricted to your origins. A secret key for your server. Scopes per action, revocable, never a user token.

Replay-safe

Send the same idempotency key twice and the second call is a no-op. Your retry logic can be as aggressive as you like.

Signed webhooks

Inbound payloads are verified and logged raw before parsing, so a parse bug is replayable rather than lost.

Need one that is not here?

Integrations get built in the order customers ask for them. Tell us what your outcomes live in and we will tell you honestly where it sits.