๐Ÿ‡ฌ๐Ÿ‡ง EN
๐Ÿ‡ฎ๐Ÿ‡น IT

๐Ÿ›๏ธ Shopify Trigger

The Shopify Trigger fires a workflow when Shopify sends a webhook event โ€” such as a new order, a product update, or a customer registration. It automatically validates Shopify's HMAC-SHA256 signature so you can be confident every event is authentic before acting on it.

Category: Triggers  ยท  Type identifier: shopify_trigger

Overview

Shopify's webhook system delivers real-time notifications about everything that happens in your store: orders are created or fulfilled, customers sign up, products are added or updated, inventory levels change. The Shopify Trigger brings all of these events directly into your Flusso workflows without requiring custom code.

Every webhook Shopify sends includes an X-Shopify-Hmac-Sha256 header โ€” a base64-encoded HMAC-SHA256 hash of the request body, computed using your shared secret. The Shopify Trigger verifies this signature before firing the workflow, rejecting any request that cannot be authenticated as a genuine Shopify event.

You can optionally filter the trigger to a specific Shopify topic (such as orders/create) so the workflow only runs for the event type you care about. If you leave the Topic field blank, the trigger fires for all events Shopify delivers to the endpoint, and you can use a Switch node downstream to handle different topics with different logic.

Configuration

Field Required Description
Shared Secret Required The shared secret from your Shopify webhook configuration. For webhooks created in the Shopify Admin, this is the secret shown when you set up the webhook. For app webhooks, this is the app's client secret. Flusso uses this to verify the X-Shopify-Hmac-Sha256 header on every incoming request.
Topic Optional A Shopify webhook topic to filter on (for example, orders/create, products/update, customers/create). If left blank, the trigger fires for all topics. See the Shopify webhooks reference for the full list of available topics.

Common Shopify topics

# Order events orders/create orders/updated orders/paid orders/cancelled orders/fulfilled # Product events products/create products/update products/delete # Customer events customers/create customers/update # Inventory events inventory_levels/update

Output Data

VariableTypeDescription
trigger.output.payload Object The full Shopify event payload. The structure depends on the event topic โ€” refer to the Shopify webhook reference for field names.
trigger.output.topic String The Shopify webhook topic, as provided in the X-Shopify-Topic header (e.g. orders/create).
trigger.output.headers Object All HTTP request headers, including x-shopify-topic, x-shopify-shop-domain, and x-shopify-hmac-sha256.
// Access the event topic {{ trigger.output.topic }} // Order create: order ID and customer email {{ trigger.output.payload.id }} {{ trigger.output.payload.email }} {{ trigger.output.payload.total_price }} // Order create: first line item {{ trigger.output.payload.line_items.0.title }} {{ trigger.output.payload.line_items.0.quantity }} // The shop's domain (useful for multi-store setups) {{ trigger.output.headers.x-shopify-shop-domain }}

Example Usage

Send a fulfilment notification on order creation

  1. Add a Shopify Trigger. Enter your shared secret and set Topic to orders/create.
  2. Add an Agent node to generate a personalised confirmation message, using {{ trigger.output.payload.email }} and {{ trigger.output.payload.line_items }} as context.
  3. Add an Email Notification node to send the confirmation. Set the recipient to {{ trigger.output.payload.email }} and the subject to Order #{{ trigger.output.payload.order_number }} confirmed.

Tips & Notes

Rotate your shared secret if it is ever compromised. If someone obtains your shared secret, they could send fake Shopify events to your workflow. Update the secret in both Shopify and Flusso immediately if you suspect it has been exposed.

Related Nodes