Connect WaSMS to Shopify

Set up a Shopify webhook so WhatsApp messages fire automatically on order events — no app install, no Shopify Partner account needed.

Last updated 2026-06-02

Shopify lets you set custom webhook URLs in admin. We use that hook to receive order events and send WhatsApp messages via your WaSMS workspace.

Why a webhook (not an app)? Setting up a Shopify Partner account + app review takes weeks. Webhooks work today on every Shopify plan with no extra cost.

1. Get an integration ID + secret from WaSMS

Open wasms.net/dashboard/integration, click the Shopify card → Add Shopify integration. You will get:

  • An integration ID (UUID)
  • A webhook secret (used for signature verification)

Copy both. Keep the secret somewhere safe; you will paste it into Shopify next.

2. Add the webhook in Shopify

  1. Shopify admin → Settings → Notifications.
  2. Scroll to Webhooks at the bottom.
  3. Click Create webhook.
  4. Event: Order creation (also recommended: Order paid, Order fulfilled, Order cancelled).
  5. Format: JSON.
  6. URL: paste this, replacing YOUR_INTEGRATION_ID with the UUID from step 1:
    https://wasms.net/api/integrations/shopify/webhook?integration_id=YOUR_INTEGRATION_ID
  7. API version: latest.
  8. Save.

3. Verify it's wired

Shopify sends a test event when you save the webhook. Inside the same webhooks page, click Send test notification next to your new webhook. Then check WaSMS → Dashboard → Integrations — the Shopify card will show your last sync time.

4. (Optional) HMAC signature verification

To prevent anyone from forging a webhook hit, configure Shopify’s shared secret to match the one WaSMS gave you:

  1. In Shopify admin → Settings → Notifications → Webhooks, copy the signing secret shown at the bottom of the page.
  2. Paste it into the WaSMS Shopify integration’s Webhook secret field. (We auto-fill this when you created the integration, but you may want to rotate it.)

WaSMS validates the X-Shopify-Hmac-SHA256 header on every webhook and rejects requests that fail.

5. Repeat for each event

Add separate webhooks for each event you want notifications on:

  • orders/create — new order placed
  • orders/paid — payment received
  • orders/fulfilled — order shipped
  • orders/cancelled — order cancelled

All webhooks point at the same WaSMS URL with the same integration_id; the topic header (X-Shopify-Topic) tells WaSMS which template to use.

Troubleshooting

  • No message arrives — in Shopify admin → Settings → Notifications → Webhooks, click your webhook to see the last 5 delivery attempts + response. Non-2xx means WaSMS rejected it.
  • Customer has no phone — if the Shopify order has no customer.phone or shipping_address.phone, the message is skipped. Make phone collection required in your Shopify checkout.
  • Signature errors — make sure the secret you pasted matches Shopify’s signing secret exactly (no trailing whitespace).

More in Integrations