Skip to content

Integrations

Dashboard → Settings → Integrations, or GET/PUT/DELETE /v1/apps/:id/integrations[/:type]. Configs are encrypted at rest and never returned by any API.

Slack

Paste an incoming-webhook URL; your channel gets a message when a campaign finishes sending, with real totals: "«Launch Day» finished — 12,340 device(s) sent."

Outbound webhooks (Zapier / Make / your service)

Subscribe an endpoint to the events you care about and WingBlaze POSTs each one as JSON. Deliveries are reliable: every event is written to a ledger before it is sent, retried on a backoff schedule (1 min, 5 min, 30 min, 2 h, 8 h — six attempts in all), marked dead after the last attempt, and replayable from Settings → Integrations or POST /v1/apps/:id/webhook-deliveries/:deliveryId/retry. GET /v1/apps/:id/webhook-deliveries lists recent deliveries with status, attempt count, last HTTP status and next retry time; the ledger never contains your URL or secret.

Events. Campaign lifecycle: campaign.completed, campaign.failed, delivery.degraded, campaign.chunk_processed. Per-message: message.delivered, message.bounced, message.suppressed, message.deferred, message.failed (retries exhausted; meta.reason and meta.attempts say why and how many), message.opened, message.clicked, message.dismissed, and subscriber.unsubscribed. Per-message events are one POST per event — a 100k-device campaign is 100k message.delivered posts — so subscribe to what you will act on; they are opt-in in the dashboard. Each carries subscriberId, externalUserId, campaignId, messageId, deviceId, channel, the event ts as at, the source seq, and the event's meta. History is not replayed: a new subscription starts from the moment it is saved.

Headers. x-engage-delivery-id (unique per delivery — dedupe on it; a retry reuses it), x-engage-event, x-engage-timestamp (unix seconds), and when a signing secret is set, x-engage-signature = HMAC-SHA256 of the raw body and x-engage-signature-v2 = HMAC-SHA256 of "<timestamp>.<body>", which lets you reject a captured request replayed later. Respond with any 2xx within 10 seconds; a 410 Gone tells WingBlaze to stop retrying that delivery.

Segment inbound

Point a Segment webhook destination at:

POST https://ingest.wingblaze.net/i/segment/:appId
Authorization: Basic <writeKey:>

The write key is generated once in the dashboard (shown a single time). Mapping:

  • identify → subscriber upsert, traits become tags
  • track → custom events (which also feed insights and can trigger journeys)

Your existing Segment instrumentation can enroll subscribers into an abandoned-cart journey with zero SDK work.

Legacy per-app webhook

The original single delivery webhook (PATCH /apps/:id/settingswebhookUrl + secret) keeps working unchanged.

Teknokrat Niaga Sdn Bhd · No. 28-1, Jalan SP 5/2, BSP Business Center, 42610 Bandar Saujana Putra, Selangor, Malaysia · +60 3-5614 3169 · Enquiries: info@teknoniaga.com