
Commerce
Connect your store
Shopify integration
Ingest Shopify orders into Pulse in real time by pointing a pair of webhooks at the commerce-webhook function.
Webhook URL
Under Integrations → Shopify / Woo, copy the Shopify URL. It looks like:
https://zruqflqnlzriyowvhcdy.supabase.co/functions/v1/commerce-webhook?workspace_id=<id>&source=shopifyIn Shopify admin
- Go to Settings → Notifications → Webhooks.
- Add a webhook for Order creation. Format: JSON. URL: the Pulse URL above.
- Add another for Order payment with the same URL.
- Optionally add Product update to sync catalog changes.
What happens on receipt
- Pulse normalizes the Shopify payload into the canonical order shape.
- It upserts
commerce_ordersusing(workspace_id, source, external_id). - It upserts the customer by email, creating one if needed.
- It emits an event:
order_createdfor new orders,order_completedwhen the order becomespaid. - It runs last-touch attribution against campaigns sent in the last 7 days.
HMAC verification
Shopify signs every webhook with an HMAC-SHA256 header. Pulse validates the signature using your store's shared secret. If verification fails, the request is rejected with HTTP 401.
Backfilling history
The webhook only captures new orders from the moment it's configured. To import historical orders, export a CSV from Shopify and upload it under Imports → Orders.