Skip to main content
Webhook basics for Shopify merchants

What they are, what they can do and how to fire webhooks SELECTIVELY to save time managing your shop

Updated over 7 months ago

As a Shopify merchant, you're likely always on the lookout for ways to streamline operations and make your life a bit easier. Automation is the buzzword, and one of its unsung heroes in Shopify is the webhook. Whether you're just dipping your toe into automation or looking to optimize your workflows further, understanding webhooks can open up a new world of efficiency for you.

What are Webhooks?

Simply put, webhooks are like notifications that are sent automatically from one app or platform to another platform or app every time a specific event happens. In Shopify, you actually set them up in the Notifications settings, in the same place you configure your order and shipping emails.

Imagine you make a sale on your Shopify store. With a webhook set up, this sale can trigger an automatic message to your inventory management tool to adjust the stock levels without you lifting a finger.

Here’s how it typically works:

  • An event occurs on your Shopify store (like a sale)

  • Shopify sends a message (webhook) to a URL that you specify with details about the event

  • Your receiving system "catches" the webhook and processes this information and takes action automatically

Webhooks often send data in the form of a JSON object. The receiving application in turn is set up to know what to do when this data arrives.

Webhook options in Shopify

There are literally endless possibilities for using webhooks:

  • Automatically update your accounting software when a sale is made.

  • Send SMS notifications to customers when their order status changes.

  • Sync customer information with your CRM system for better customer service.

Shopify offers over 75 different event triggers that can fire a webhook. In your Shopify store admin, visit Settings > Notifications > Webhooks > "Create Webhook" to see all the options:

Just a few of the 80 webhooks you can set up
in "Notification" settings in Shopify

The challenges of automating with webhooks

This is also where the technical hurdles of webhooks come in to play.

Webhooks are UNIVERSAL. They pass data every time an action happens in Shopify. So even the average Shopify store could transmit hundreds or thousands of events per day. So they need robust destination apps that can handle the volume.

And webhooks are DUMB (nothing personal, webhook!). They don't have any business logic built into them. They just mindlessly send a data object every time they are triggered.

So all the power of webhooks usually comes in setting up the receiving app to know:

  • how to verify that the webhook is legitimate

  • how to handle duplicate or updated records that might be sent

  • how to filter out specific cases and parse out specific types of data

  • what to do with the Shopify order, product, customer or other information

This is why webhooks are the preserve of your Shopify developers.

How to SELECTIVELY fire webhooks in Shopify

There is an easier way to leverage webhooks in Shopify to get stuff done in other platforms. With Even Better Admin Buttons, you and your store's team can selectively trigger webhooks from Shopify to your favorite automation tools.

Examples of actions you could set up to fire SELECTIVELY
from your Shopify Admin pages with the Admin Buttons app

With the Admin Buttons app, you set up buttons for common tasks that you'd like to automate SELECTIVELY. For instance, you could add specific orders with issues to an Airtable or a Google Sheet that your team uses to track issues. The button appears on all your Order pages in Shopify Admin and you click it when you need to send a specific order to your tracking table. This simple automation saves countless minutes of copying data back and forth between Shopify and other apps or sheets.

Set up your webhook-powered admin buttons with a free install of Even Better Admin Buttons from the Shopify App Store.

Or learn more in our Getting Started guide.

Did this answer your question?