How to get a push notifications from Shopify using webhooks
Stop checking Shopify manually. Use webhooks to send instant iPhone notifications when orders arrive, payments fail, or inventory runs low.
Your Shopify store needs to alert you when something happens—a new order, a payment fails, inventory runs low. But the Shopify mobile app on iOS has a persistent bug: notifications disappear within seconds instead of persisting on your lock screen. You miss the alert and never know an order landed.
In this guide, I'll walk you through setting up a Shopify webhook that triggers persistent push notifications using TheNotificationApp's dynamic webhook feature. No code required—just copy a URL into Shopify and you're done.
What are webhooks and why use them?
A webhook is an HTTP POST request that Shopify sends to a URL you specify whenever a specific event occurs in your store. Instead of checking your phone manually, webhooks deliver information to you in real-time.
The Shopify mobile app has a critical bug on iOS: notifications appear for a moment, then vanish from the lock screen within seconds. Webhooks bypass this entirely by sending alerts to a service that keeps notifications persistent and visible.
Step 1: Get your TheNotificationApp API key
First, create a free account at TheNotificationApp and register an iPhone device.
Once your device is registered, go to your app settings and copy your app_key. It looks like a random string of letters and numbers. Keep this safe—you'll need it in the next step.
Step 2: Create your dynamic webhook URL
TheNotificationApp has a special webhook endpoint that extracts specific fields from Shopify's webhook payload and converts them into notification fields. You don't need to write any code—just build a URL.
For a new order alert, use this format:
https://thenotification.app/api/webhook/dynamic/?app_key=YOUR_API_KEY&title=id&body=total_price&url=order_url&exclude=line_items,billing_address
Replace YOUR_API_KEY with your actual API key.
What this does:
title=id— Uses the order ID as the notification headline (e.g., "Order #1001")body=total_price— Shows the order total in the notification bodyurl=order_url— Makes the notification clickable; tapping it opens the order in your Shopify adminexclude=line_items,billing_address— Hides verbose fields to keep the notification clean
Customization examples:
If you want to show the customer name instead, change title=id to title=customer_first_name:
https://thenotification.app/api/webhook/dynamic/?app_key=YOUR_API_KEY&title=customer_first_name&body=total_price&url=order_url
If you want both the order ID and customer name in the title, build it manually:
https://thenotification.app/api/webhook/dynamic/?app_key=YOUR_API_KEY&title=Order%20Received&body=customer_first_name&url=order_url
The dynamic webhook extracts fields from Shopify's webhook payload automatically. If a field exists in the payload (e.g., customer_email, fulfillment_status, total_tax), you can use it.
Step 3: Register the webhook in Shopify Admin
Now paste this URL into Shopify:
- Log in to your Shopify Admin
- Go to Settings → Notifications
- Scroll down to Webhooks
- Click Create webhook
- Event: Select an event you want to track:
Orders→Order created(new orders)Orders→Order paid(payment received)Orders→Order fulfilled(shipped)Orders→Order refunded(refunds)Products→Product updated(inventory changes)
- Format: Leave as JSON
- URL: Paste your dynamic webhook URL (the one from Step 2)
- API version: Use the latest available
- Click Save
Shopify will show you a test webhook. Click it to send a test notification. You should receive a push notification on your iPhone immediately.
Why this is better than the Shopify mobile app on iOS
The Shopify mobile app on iOS has a persistent bug:
- Notifications disappear instantly — Order alerts appear for a moment, then vanish from the lock screen within seconds. By the time you unlock your phone, it's gone. Dozens of store owners have reported this issue.
- Affects business operations — You miss orders because you never see them. Shopify has acknowledged the issue but provided no timeline for a fix.
- No workaround in the app — Updating iOS, reinstalling, and resetting notification settings don't help. Users have been waiting over a year for a fix.
Webhooks + TheNotificationApp solve this:
- Persistent notifications — Alerts stay on your lock screen until you read them. No more missed orders.
- Instant delivery — Alert hits your lock screen in seconds, every time.
- Selective events — Create separate webhooks for different events (new orders, failed payments, low inventory, etc.).
- Rich data — Include the order ID, customer name, total, and a direct link to the Shopify admin order page.
- No app required — Notifications are native iOS alerts. They work at the system level, not inside an app.
- No code required — Just a URL. No servers to deploy, no backend code to maintain.
Multiple webhook examples
Example 1: Order created with customer name
https://thenotification.app/api/webhook/dynamic/?app_key=YOUR_API_KEY&title=customer_first_name&body=Order%20Total:%20total_price&url=order_url
Example 2: Payment failed alert
https://thenotification.app/api/webhook/dynamic/?app_key=YOUR_API_KEY&title=Payment%20Failed&body=customer_email&url=order_url
Example 3: Order fulfilled (shipped)
https://thenotification.app/api/webhook/dynamic/?app_key=YOUR_API_KEY&title=Order%20Shipped&body=Order%20ID:%20id&url=order_url
Set up multiple webhooks
You can create as many webhooks as you need. Create separate webhooks for:
- New orders
- Payment failures
- Fulfilled orders (tracking info)
- Refund requests
- Inventory updates
Each webhook fires independently, so you'll get a notification for each relevant event.
Troubleshooting
No notification received after testing?
- Verify your
app_keyis correct and pasted in full - Check that your device is registered in TheNotificationApp settings
- Make sure the URL is pasted completely into the Shopify webhook field (no missing characters)
- Check Shopify's webhook logs: Settings → Notifications → Webhooks → click your webhook → view "Recent deliveries"
Notification text doesn't match what I expected?
- The field name must exactly match Shopify's webhook payload fields (case-sensitive for matching)
- If the field doesn't exist in the payload, the notification will show a default message
- Check Shopify's webhook logs to see the actual payload and verify the field names
Next steps
- Read TheNotificationApp's dynamic webhook documentation for all available Shopify fields you can extract
- Check the API reference for all notification parameters
- See how others use webhooks in the server monitoring use case
- Learn more about Shopify webhooks from the official docs
Conclusion
Stop relying on the Shopify app's broken notifications. Copy a URL into Shopify's webhook settings, and get persistent push notifications on your iPhone whenever your store needs attention. Alerts stay visible, orders don't get missed, and there's zero code to maintain.
Ready to ship? Sign up for TheNotificationApp (free tier includes 100 notifications). Your first webhook fires in minutes.
Stop babysitting your scripts.
Free to download. Free tier available. Swiss-hosted, private by design.