Skip to main content
Habit can notify you when customers earn, redeem, refer, change tier, or have points about to expire. Configure the optional webhook in Settings → Notifications. Flow triggers are always available once Habit is installed. Events are delivered asynchronously. A slow or failing destination never blocks order processing or ledger writes.

How delivery works

When something loyalty-related happens, Habit queues an event and a background job delivers it to:
  1. Shopify Flow — if the shop has an active Habit session and the payload is valid
  2. Your webhook URL — if one is saved in Settings
Both can run for the same event. Flow is the primary merchant-facing path; the webhook is for custom endpoints, Zapier, or internal tooling.
Events are only queued when the member has an email address on file. Guests without email are skipped silently.

Shopify Flow

Habit registers seven triggers in Shopify Flow. Install the free Shopify Flow app if you do not already have it.
1

Open Flow

In Shopify admin, go to Apps → Flow.
2

Create a workflow

Click Create workflow, choose a Habit trigger, then add actions — for example send email through Klaviyo, Omnisend, or Shopify Email when those apps are connected to Flow.
3

Use customer and order data

Every trigger includes a customer reference. Order-related triggers also include an order reference, so you can branch on customer.email, order.name, and other Flow variables.

Available triggers

Fields sent to Flow

Each trigger sends a fixed set of fields. In Flow’s editor, reference them as template variables (for example {{ customer.email }} or custom fields like {{ Points }}).

Points earned

Tier upgraded

Referral sent / Referral welcome bonus

Points redeemed

Points expiring soon

Points expired

A workflow only runs after you create and turn it on in Flow. Installing Habit does not send emails by itself — you choose the trigger and actions.

Optional webhook

Set Optional notification webhook URL in Settings → Notifications. Habit sends a POST request with Content-Type: application/json. The webhook runs alongside Flow, not instead of it.

Request format

Habit expects a 2xx response within 10 seconds. Non-2xx responses are retried with exponential backoff (up to 8 attempts).
Webhook URLs are not signed. Use a hard-to-guess HTTPS URL, or validate customerEmail and event data on your side before acting on a payload.

eventName values

properties by event

Habit: Points Earned

Habit: Tier Upgraded

Habit: Referral Sent / Habit: Referral Welcome Bonus

Habit: Points Redeemed

Habit: Points Expiring Soon

Habit: Points Expired


Troubleshooting

Confirm the workflow is On, the trigger matches the action you expect (for example Points earned after a test order), and the customer on that order has an email. Flow only receives events Habit successfully emits — check that Habit is installed and the shop is on an active trial or paid plan.
Confirm the URL is HTTPS, returns 2xx within 10 seconds, and is saved in Settings → Notifications. Leave the field blank to disable the webhook. Flow and the webhook are independent — turning off the webhook does not affect Flow.
Yes — connect Klaviyo to Shopify Flow and add a Klaviyo action to a Habit trigger workflow. You do not need to install the Klaviyo Shopify app or paste API keys into Habit.
Need help wiring a specific workflow? Email support@gethabitloyalty.com.