Integrations

Wired into the stack you already run.

boxli is CRM-native, not CRM-adjacent. Engagement signals stream into HubSpot and Salesforce as contact properties, timeline events, and deal-linked records — in real time, with sub-500ms latency. Slack pings your reps the second a box is opened. Webhooks let you wire boxli into anything else.

HMAC-signed inbound ingest<500ms webhook redirectIdempotent on external_event_id
Connected platforms

Built into your stack.

Native integrations across your CRM, alerts, billing, and fulfillment — plus an open webhook surface to wire boxli into anything else.

HubSpot

Native OAuth. Sends post as contact properties + timeline events. Deal attribution via hubspot_deals link. List-based campaign triggers.

Salesforce

Lead and contact sync, custom object for sends, and opportunity attribution back to closed-won.

Slack

Per-org incoming webhook or org-wide fallback. Triggers post to chosen channel with rep mention, contact context, and deep-link to send.

FedEx

Track API webhooks fire on delivery, exception, and undeliverable events, and page the assigned rep in Slack on every status change.

Stripe

Subscription billing + per-design inventory line items. Webhooks reconcile inventory balance + send receipts. Org-scoped customer records.

Resend

Transactional email for delivery, scan alerts, low-credit warnings, team invites. Templated, per-org branded.

Sendspark

Video brochure hosting and per-recipient AI personalization, with telemetry posting to /api/ingest/engagement via HMAC.

Webhooks

Outbound webhooks on every signal. Inbound HMAC-signed ingest at /api/ingest/engagement. CSV fallback for batch loads.

Zapier

Trigger boxli sends from any Zap, or wire it directly through our webhook surface.

Outreach

Native step type for boxli sends inside Outreach sequences, or wire it through our webhook today.

Salesloft

Native cadence step, or wire it through our webhook today.

Marketo

Two-way sync of engagement signals as program-member custom fields.

For developers

Webhooks, signed and idempotent.

Inbound engagement events are HMAC-SHA256 signed on every request and idempotent on external_event_id. Outbound webhooks fire on every signal, with retry-with-backoff.

Inbound engagement ingest

POST /api/ingest/engagement
Headers:
  content-type: application/json
  x-boxli-signature: sha256=<hmac of body>

Body:
  {
    "external_event_id": "vendor_evt_abc123",
    "external_send_id": "<sends.id or sends.external_ref>",
    "event_type": "session_end",
    "occurred_at": "2026-04-22T18:14:00Z",
    "duration_sec": 142,
    "lat": 39.7392, "lng": -104.9903,
    "place_id": "ChIJ...", "place_label": "Denver, CO",
    "play_sequence_num": 3
  }

Signature verification is timing-safe; replays land on the same row via the partial unique index on external_event_id. Sub-200ms happy path: insert plus counter RPC are synchronous, trigger evaluation runs in the background.

Outbound webhooks

Configure per-trigger webhooks in the campaign builder. boxli POSTs the rollup row, the touched send, and the originating event. Retries on 5xx with exponential backoff. Dispatch failures are logged in trigger_fires for audit.

API documentation

Full reference at /docs/api. CSV fallback at POST /api/ingest/engagement/csv for vendors that can't hit our webhook directly.

Need a custom one?

We build integrations for design partners.

If your sales stack runs on something we haven't shipped yet — Apollo, Common Room, Default, Clay, Gong — and you're willing to be a design partner on the integration, we'll prioritize it.