Help & Documentation
Everything you need to know about how Fulfillment Risk Monitor works, what it detects, and how to use it effectively.
Fulfillment Risk Monitor continuously evaluates your open orders against your fulfillment thresholds and flags those at risk of delay, getting stuck, or missing tracking — before your customers notice. Instead of reacting to complaints, you get an early-warning signal so your team can investigate and resolve issues proactively.
The app runs an evaluation cycle every 30 minutes. During each cycle it:
Risk records are updated on every cycle — so severity can escalate as an order falls further behind, and risks are automatically resolved when an order is fulfilled or cancelled.
Order and fulfillment state is kept current via Shopify webhooks, which fire in real time when orders are created, updated, fulfilled, or cancelled. Risk assessments are computed every 30 minutes, so the dashboard reflects your store's risk posture as of the last evaluation cycle. The exact time is shown in the subtitle of the Analytics page.
After you complete onboarding and connect your store, we run a one-time historical sync that backfills up to 60 days of your order history. This gives the evaluation engine enough context to detect risks immediately and powers the initial threshold suggestions. The sync typically completes within a few minutes depending on your order volume.
No. Fulfillment Risk Monitor is a read-only monitoring layer. It does not create, update, or cancel fulfillments, modify orders, or interact with your fulfillment workflows in any way. It reads order and fulfillment state to assess risk, and surfaces that assessment in the dashboard — but all actions remain with you.
The app currently detects four risk types:
Fulfillment Delay
An order has been sitting unfulfilled longer than your threshold. Separate thresholds apply for merchant-fulfilled and 3PL-fulfilled orders.
Blocked — No Fulfillment Order
A paid order has no fulfillment order attached after a short grace period. Usually indicates a routing or configuration issue.
Blocked — On Hold
A fulfillment order has been placed on hold and the hold has not been released within your threshold.
Partial Fulfillment Stalled
An order is partially fulfilled but the remaining items have not moved in longer than your threshold.
Missing Tracking
A fulfillment has been created but no tracking number has been added within your threshold — more critical for 3PL orders.
Severity is based on how far over the threshold an order is, combined with the risk type:
Severity can escalate across cycles as an order ages further past its threshold.
Each risk goes through the following states:
Thresholds define how long an order can sit in a given state before it is flagged as a risk. For example, if your “Fulfillment Delay” threshold is set to 24 hours, any unfulfilled order older than 24 hours will be flagged.
You can configure thresholds globally and override them per-location from the Settings page. Available thresholds include:
After the initial historical sync, the app analyses your past fulfillment patterns and suggests threshold values based on your store's actual performance (e.g., p90 fulfillment time per source). These are presented as suggestions — you can apply them, adjust them, or dismiss them entirely. Your own configured values always take precedence.
Yes. In Settings you can add per-location threshold overrides. This is useful if, for example, one of your 3PL partners consistently ships slower than another and you want separate alerting windows for each.
A fulfillment source is the logical group used to evaluate and report on risks. By default, each Shopify location maps to a fulfillment source. Sources are either:
Different default thresholds apply to each type since 3PL turnaround expectations often differ from in-house fulfillment.
When a new risk is detected, the app can notify you via:
Notifications fire only once per risk — when it is first detected. You will not receive repeated alerts for the same risk on subsequent evaluation cycles.
Yes. Go to Settings → Notifications and toggle email and/or Slack off independently. Risk monitoring continues in the background — you simply won't receive alerts until you re-enable them.
From the Risk Inbox dashboard you can:
A risk is automatically moved to RESOLVED when:
Resolution is detected within one evaluation cycle (up to 30 minutes) after the underlying order state changes in Shopify.
Snoozed risks are hidden from your active inbox for the snooze duration. The risk is not resolved — it will reappear automatically once the snooze expires and will continue to escalate in severity if the underlying issue is not addressed. Use snooze when you're waiting on a vendor response or a scheduled action and don't want the risk cluttering your inbox in the meantime.
The app reads order metadata (order ID, number, timestamps, financial and fulfillment status, total price), fulfillment records (status, tracking info, location), fulfillment order events (hold status, routing), and location information. It does not access customer personal information, payment details, or product catalog data. See our Privacy Policy for the full breakdown.
When you uninstall the app, Shopify sends us an app/uninstalled webhook. We immediately revoke the OAuth session and begin deletion of all associated store data. Full deletion is completed within 48 hours. You do not need to contact us separately.
All data is stored in Amazon Web Services (AWS) infrastructure in the US East (N. Virginia, us-east-1) region, using Amazon DynamoDB. Data is encrypted at rest and in transit.
Reach us at support@buildensity.app and we'll get back to you within one business day.