'Webhooks Explained: The Foundation of Modern Automation'

Webhooks sound complicated. They aren't. And if you want to build automations, you have to understand them.

The problem without webhooks

Imagine you are waiting for an important parcel. You have two options:

Option A: polling

You walk to the front door every 5 minutes and check. 100 times a day. Most of the time nothing is there.

Option B: the doorbell

You relax. When the parcel arrives, the courier rings. You react.

Webhooks are the doorbell.

What is a webhook?

A webhook is an automatic notification that one system sends to another when something happens.

Instead of: you constantly asking "anything new?"

With a webhook: the system tells you "hey, something just happened!"

That makes a webhook the counterpart to the classic API request. If you don't know those basics yet: API basics for e-commerce founders explains them with no technical background needed.

A practical example

Without a webhook (polling):

Your system asks Shopify every 5 minutes: "any new orders?"

With a webhook:

Shopify sends you a message immediately: "new order #1234!"

How webhooks work

1. You register a URL with Shopify (or another system)

2. You say which events you want to hear about (new order, product change, etc.)

3. When the event happens, Shopify sends data to your URL

4. Your system receives it and processes it

The "system" can be n8n, Make, Zapier or your own server. How to build your first n8n workflow in 15 minutes is shown in this tutorial.

Technical (but simple)

A webhook is an HTTP POST request. That means:

Example data (simplified):

```json

{

"event": "order_created",

"order_id": 12345,

"customer_email": "kunde@example.com",

"total": 129.00,

"created_at": "2025-11-18T14:30:00Z"

}

```

Webhooks in practice

Across our brands we use webhooks for:

Order processing

New order → webhook → n8n → fulfiller

At mate this exact path cut the daily workload from 4 hours to 15 minutes.

Customer service

New support request → webhook → n8n → AI triage → reply or escalation

That is how we answer around 65 percent of our support requests automatically. How the pre-sorting works is described in sorting support emails with AI.

Inventory

Stock below threshold → webhook → Slack alert

Returns

Return registered → webhook → create label → notify customer

Webhook vs. polling: when to use what?

AspectWebhookPolling
SpeedImmediateDelayed
API callsFewMany
ComplexitySlightly higherSimpler
ReliabilityVery high, single events can get lostRobust, misses nothing permanently

Prefer a webhook when:

Use polling when:

That last point matters more than it sounds. In practice we combine both. The webhook delivers the speed, an hourly polling reconciliation catches the rare cases where a webhook goes missing. A server restart at the wrong moment is enough for that. If you rely on webhooks only, you notice a lost order when the customer writes in.

Important: webhook security

Webhooks are URLs. In theory anyone can send data to them. So:

1. Verify webhook signatures

Shopify signs its webhooks. Your system should verify the signature.

2. HTTPS only

Never use HTTP URLs for webhooks. Always encrypted.

3. Watch the time limits

Answer fast (under 5 seconds). Otherwise the webhook counts as failed.

Your first step

You can try this today without risking anything:

1. Create a workflow in n8n with a "Webhook" node

2. Copy the test URL

3. Enter it in Shopify under Settings → Notifications → Webhooks for "order created"

4. Place a test order and look at the data that arrives

Nothing more happens. But you see for the first time, live, how your systems talk to each other.

Takeaway for founders

Webhooks = real-time automation.

When you pick a tool, ask: "does this support webhooks?" If it doesn't, you will always work with delays and lots of API calls.

Most modern tools (Shopify, Stripe, Klaviyo, etc.) support webhooks.

Questions? benedikt@flowhouse.ai