Dead LetterWebhook recoveryShopify Integration Guide
Back to Docs
SHOPIFY

Redirecting Shopify Webhooks Through Dead Letter

This guide explains how to configure your Shopify store to send webhook events through Dead Letter. By proxying through Dead Letter, you protect against order and fulfillment data loss when your backend is unavailable.

Prerequisites

  • A Dead Letter account with at least one configured endpoint
  • Shopify Admin access to your store
  • Your Dead Letter Ingestion URL (found in the endpoint details page)

Step 1: Access Shopify Webhook Settings

Log in to your Shopify Admin panel. Navigate to Settings Notifications. Scroll down to the Webhooks section at the bottom of the page.

Step 2: Create a Webhook

Click Create webhook to add a new destination. Configure the following:

Webhook Configuration

  • Event: Select the event type (e.g., Order creation, Product update)
  • Format: Ensure JSON is selected (Dead Letter accepts JSON payloads by default)
  • URL: Paste your Dead Letter Ingestion URL: https://api.deadletterhub.io/ingest/<your-slug>
  • API version: Select the latest webhook API version

Step 3: Repeat for Each Event Type

Shopify requires a separate webhook for each event type. Create additional webhooks for all critical events your application depends on:

Orders

  • orders/create
  • orders/updated
  • orders/cancelled
  • orders/fulfilled
  • orders/partially_fulfilled

Products & Inventory

  • products/create
  • products/update
  • inventory_levels/update
  • fulfillment_events/create

Step 4: Verify Delivery

After creating the webhook, trigger a test action in Shopify (e.g., create a test order or update a product). Check your Dead Letter dashboard Event Logs to confirm the webhook was ingested and delivered successfully.

Step 5: Set the Same Secret (Recommended)

In Shopify, you can set a Webhook Secretfor HMAC verification. Set this to the same value you use for your Dead Letter endpoint HMAC secret, or configure your destination server to verify using Shopify's original HMAC header which Dead Letter forwards unchanged.

Troubleshooting

  • Webhook not appearing in Dead Letter? Ensure the webhook is marked Active in Shopify and the URL is exactly correct.
  • Getting 415 errors? Make sure Shopify webhook format is set to JSON.
  • Duplicate order processing? Use the x-dead-letter-event-id header to deduplicate incoming webhooks on your destination server.