Hear it when a sale lands.
Every new order from Shopify, WooCommerce, or your own store lands on your phone with the order number, total, and customer. Hear the cha-ching the second a sale comes in.
Your storefront, on your phone
Every sale, refund, and failed payment reaches your phone as soon as your store fires the webhook.
Any store, no plugin
Shopify, WooCommerce, Stripe, Paddle, or a custom store POSTs its order webhook straight at your PocketAlert URL.
Total & customer
Map the order total, customer, and product so the push reads like a real receipt instead of a raw event.
Sales, refunds, failures
A new order, a refund, or a failed payment each becomes its own push, sent from the same store webhook.
Refunds on their own channel
A separate webhook for refunds/create on its own application rings apart from routine orders, so a refund never hides in the sales feed.
Under a second
The order leaves the store and reaches your phone in under a second, no dashboard refresh in between.
One channel per store
Point each store at its own application, so two brands ring on two channels you can tell apart.
Three steps to order alerts
Create the webhook
Create a PocketAlert webhook with a GJSON template mapping order_number, total_price, and customer, then copy its receive URL.
Point your store at it
In Shopify, add a webhook for the Order creation event and paste your receive URL as the destination.
Hear the cha-ching
Place a test order. The sale lands on your phone with the total and the customer.
Connect Shopify
1. Create a PocketAlert webhook
Define a name and a GJSON message template that maps the Shopify orders/create payload. This returns your inbound receive URL.
curl -X POST 'https://api.pocketalert.app/v1/webhooks' \
-H 'Token: YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{"name":"Shopify Orders","application_id":"qm47b9pzxzxg","message":"Order #%order_number% · %total_price% %currency% · %customer.first_name% %customer.last_name%"}'
The response contains a slug, giving you the receive URL https://p4a.me/wh/1234abcd. You can also create it on the Webhooks page.
2. Paste the receive URL into Shopify
In Shopify go to Settings, Notifications, Webhooks, and click Create webhook. Choose the Order creation event, JSON format, and paste your PocketAlert receive URL as the destination.
3. Map the fields
Shopify POSTs the order JSON to your receive URL. The template renders against it: %order_number%, %total_price%, %currency%, %customer.email%, and %line_items.0.title% for the first product. The docs list the GJSON paths in full.
Questions, answered
Create a webhook in PocketAlert with a message template, then paste its receive URL into Shopify under Settings, Notifications, Webhooks. Shopify fires the orders/create webhook on each order, and PocketAlert renders it into a push.
Yes. Your GJSON template pulls the fields straight from the Shopify payload — %order_number%, %total_price%, %currency%, and %customer.first_name% — so the push reads "Order #1001 · 125.00 USD · Jane".
Shopify, WooCommerce, BigCommerce, and any custom store that POSTs a webhook. Map each platform's own payload fields in the template — no plugin beyond the native webhook each platform already ships.
Yes. Create a separate PocketAlert webhook for orders/create and another for refunds/create, each with its own application, so refunds ring on a channel you can tell apart from routine sales.
Give each store its own PocketAlert application. Two brands, two channels, and the push tells you which one rang.
Yes. Every message takes a level, from silent (-2) to critical (2). Post big totals from your backend with level high and they arrive as time-sensitive pushes that break through iPhone Focus, while a nightly revenue digest sent at silent lands in history without a sound. A webhook can carry its own default_level too, so a big-order webhook rings apart from the routine feed.
Hear the cha-ching the second it lands.
Point your store webhook at PocketAlert. Every order shows up on your phone with the total and the customer.