Stockful provides 10 triggers that fire when inventory events occur. Every trigger includes a Product reference (the Shopify product resource, giving you access to all product fields in Flow) along with event-specific data.
Low stock detected
Fires when inventory falls below the low-stock threshold at a location.
| Field | Type | Description |
|---|
| Product | Product reference | The product with low stock |
| Location | Text | The location where stock is low |
| Available | Number | Current available quantity |
| Threshold | Number | The low-stock threshold that was breached |
| Velocity | Number | Sales velocity in units per day |
| Days of supply | Number | Estimated days of stock remaining |
| Reorder point | Number | Calculated reorder point |
| Reorder quantity | Number | Suggested reorder quantity |
| Variant ID | Number | The numeric variant ID |
| SKU | Text | Variant SKU |
| Variant title | Text | Variant title |
When it fires: Real-time, within seconds of an inventory change that crosses the threshold.
This trigger includes reorder point and reorder quantity, so you can go straight to creating a purchase order or supplier notification without querying forecast data separately.
Out of stock
Fires when a variant goes out of stock at a specific location.
| Field | Type | Description |
|---|
| Product | Product reference | The product that is out of stock |
| Location | Text | The location where stock ran out |
| Velocity | Number | Sales velocity before stockout (units/day) |
| Reorder quantity | Number | Suggested reorder quantity |
| Stock status | Text | Current stock status |
| Variant ID | Number | The numeric variant ID |
| SKU | Text | Variant SKU |
| Variant title | Text | Variant title |
When it fires: Real-time, when available quantity drops to zero.
Restocked
Fires when a previously out-of-stock variant receives new inventory at a location.
| Field | Type | Description |
|---|
| Product | Product reference | The product that was restocked |
| Location | Text | The location where stock was received |
| Available | Number | New available quantity |
| Restock amount | Number | Quantity added in this restock |
| Variant ID | Number | The numeric variant ID |
| SKU | Text | Variant SKU |
| Variant title | Text | Variant title |
When it fires: Real-time, when a variant transitions from zero to positive stock.
Pair this with the “Out of stock” trigger to build back-in-stock notification workflows - tag products when they go out, remove the tag and notify customers when they’re restocked.
Reorder point reached
Fires when inventory falls below the calculated reorder point at a location.
| Field | Type | Description |
|---|
| Product | Product reference | The product that needs reordering |
| Location | Text | The location where reorder is needed |
| Available | Number | Current available quantity |
| Reorder point | Number | The reorder point that was breached |
| Reorder quantity | Number | Suggested reorder quantity |
| Velocity | Number | Sales velocity in units per day |
| Days of supply | Number | Estimated days of stock remaining |
| Variant ID | Number | The numeric variant ID |
| SKU | Text | Variant SKU |
| Variant title | Text | Variant title |
When it fires: Real-time, when available quantity drops below the reorder point.
Stockout projected
Fires when a variant is projected to run out of stock based on current velocity.
| Field | Type | Description |
|---|
| Product | Product reference | The product projected to stock out |
| Location | Text | The location where stockout is projected |
| Projected stockout date | Text | The date when stock is projected to run out |
| Days until stockout | Number | Number of days until projected stockout |
| Available | Number | Current available quantity |
| Velocity | Number | Sales velocity in units per day |
| Reorder quantity | Number | Suggested reorder quantity |
| Variant ID | Number | The numeric variant ID |
| SKU | Text | Variant SKU |
| Variant title | Text | Variant title |
When it fires: Daily, during the analytics run.
Velocity changed
Fires when a variant’s sales velocity changes significantly at a location.
| Field | Type | Description |
|---|
| Product | Product reference | The product with velocity change |
| Location | Text | The location where velocity changed |
| Old velocity | Number | Previous sales velocity (units/day) |
| New velocity | Number | Current sales velocity (units/day) |
| Percent change | Number | Percentage change in velocity |
| Direction | Text | Direction of change (up or down) |
| Variant ID | Number | The numeric variant ID |
| SKU | Text | Variant SKU |
| Variant title | Text | Variant title |
When it fires: Daily, during the analytics run.
ABC class change
Fires when a variant’s ABC revenue classification changes at a location.
| Field | Type | Description |
|---|
| Product | Product reference | The product whose ABC class changed |
| Location | Text | The location where the classification changed |
| Old ABC class | Text | Previous ABC classification (A, B, or C) |
| New ABC class | Text | New ABC classification (A, B, or C) |
| Available | Number | Current available quantity |
| Velocity | Number | Sales velocity in units per day |
| Variant ID | Number | The numeric variant ID |
| SKU | Text | Variant SKU |
| Variant title | Text | Variant title |
When it fires: Daily, during the analytics run.
Sell through milestone reached
Fires when a variant’s sell-through rate crosses the 80% threshold at a location.
| Field | Type | Description |
|---|
| Product | Product reference | The product that reached the milestone |
| Location | Text | The location where the milestone was reached |
| Sell through rate | Number | Current sell-through rate (0 to 1) |
| Available | Number | Current available quantity |
| Total sold last month | Number | Units sold in the last 30 days |
| Velocity | Number | Sales velocity in units per day |
| Variant ID | Number | The numeric variant ID |
| SKU | Text | Variant SKU |
| Variant title | Text | Variant title |
When it fires: Daily, during the analytics run.
Overstock detected
Fires when a variant has excess inventory at a location based on demand forecast.
| Field | Type | Description |
|---|
| Product | Product reference | The overstocked product |
| Location | Text | The location with excess stock |
| Available | Number | Current available quantity |
| Days of supply | Number | Estimated days of stock at current velocity |
| Velocity | Number | Sales velocity in units per day |
| ABC class | Text | Revenue classification (A, B, or C) |
| Variant ID | Number | The numeric variant ID |
| SKU | Text | Variant SKU |
| Variant title | Text | Variant title |
When it fires: Daily, during the analytics run.
Dead stock detected
Fires when a variant transitions to dead stock status - zero velocity with available inventory.
| Field | Type | Description |
|---|
| Product | Product reference | The dead stock product |
| Location | Text | The location with dead stock |
| Available | Number | Current available quantity |
| Velocity | Number | Sales velocity in units per day (expected to be 0) |
| Stock status | Text | Current stock status |
| Variant ID | Number | The numeric variant ID |
| SKU | Text | Variant SKU |
| Variant title | Text | Variant title |
When it fires: Daily, during the analytics run.
Common fields
Every trigger includes these identification fields:
| Field | Description |
|---|
| Product | Shopify product reference - gives you access to all standard product fields (title, tags, vendor, type, etc.) within Flow conditions and actions |
| Variant ID | Numeric variant ID, useful for passing to Stockful actions like “Get forecast” |
| SKU | The variant’s SKU, useful for matching with external systems |
| Variant title | The variant title (e.g. “Large / Blue”) |
| Location | The location name where the event occurred |