tiqline is a process SLA monitoring tool: it turns events from Shopify and your own systems into one case per piece of work, gives every step a time limit and alerts you in Slack or by email when a step runs over.
Stuck order alerts: see which orders stopped, where, and since when
A stuck order is an order that should have moved on and did not. It is paid but not packed, packed but not shipped, or shipped in part while the rest waits. tiqline knows for every order which step it is on and how long that step may take, marks it stuck the moment the limit passes and sends one alert for all orders stuck on the same step.
Why stuck orders are found late
An order that stops does not produce an error. It simply produces no next event. Systems are good at reacting to something that happens and poor at noticing that something did not happen. That is why stuck orders usually surface through a customer email asking where the parcel is, through a weekly look at an export, or when someone in the warehouse finds a box that should have left days ago. By then the delivery promise is broken and the support team has more work. The question that matters is simple: which orders are past the time they should take on their current step, right now?
Common ways to find stuck orders today
In Shopify admin you filter the Orders page by fulfillment status and date and look for old unfulfilled orders. Shopify Flow offers templates that tag unfulfilled orders older than two days, email a daily summary of them, or wait two days after an order and send a message if it is still not shipped. A scheduled Flow workflow runs at most once every ten minutes. With Zapier you add a Delay step after a New Paid Order trigger and check the order again later, with a limit of 30 days per delay. In n8n you run a Schedule Trigger, query open orders and compare their age yourself. Each of these checks one condition at one point of the order. None of them keeps a list of every order with the step it waits on and its own deadline.
What changes when every order is a case
If each order is followed as a case, stuck becomes a status rather than a search. The case is running while it is within the limit of its step, stuck once the limit passes, done when it reaches the last step and ended when, for example, it is cancelled. Stuck cases are listed with the most overdue first, so the oldest problem is at the top.
How tiqline finds stuck orders
1. Bring in the events
Connect a Shopify shop and its order, fulfilment and refund webhooks become events such as Order Paid, Fulfillment Created and Order Fulfilled. Steps from other systems, such as packing in your warehouse system, arrive through the track API with the same order ID. A repeated event is stored once.
2. Define the steps and their limits
The process names the event that opens a case and the steps that follow. Each step after the first can have a time limit, for example Packed within 4h and Shipped within 24h. The deadline is the time the order reached the step before plus the limit.
3. tiqline watches the clock
No one has to run a query. When a deadline passes without the next event, the case turns stuck. If the event arrives later, the case moves on. A required step that is skipped, because a later event arrives without it, also counts: after 15 minutes tiqline raises a skipped-step alert unless the missing event turns up.
4. One alert per stuck step
tiqline groups the stuck orders of one step into one incident and sends one message to Slack, to up to 20 email recipients or to a webhook. The message names the process, the step and its limit, says how many cases are waiting and links to them. When no stuck case is left on that step, the incident is resolved, and a webhook receives that as well.
5. Open the case and see the history
Each case shows its events on a timeline, with the time of each step and the trace ID if your events carry one. The process view shows how many cases are stuck right now, the share of finished cases that kept every limit and how long a case usually takes, on a process map drawn from real cases.
Example: twelve orders stuck at packing
The orders, times and counts are made up to show the flow. The process: Order Paid opens the case, Order Packed from the warehouse system has 4 hours, Fulfillment Created from Shopify has 24 hours.
Thursday 10:00: orders keep coming in
Orders are paid all morning. Each one opens a case with a packing deadline four hours after payment.
Thursday 14:05: the first deadline passes
Stuck
The warehouse system stopped sending Order Packed at 10:00 because a printer queue hung. Twelve cases cross their packing deadline over the next hour. tiqline opens one incident for the step and sends one Slack message that says Order Packed, limit 4h, with the number of waiting cases.
Thursday 14:20: the warehouse lead checks
The list shows the twelve orders, the oldest first. Their timelines end at Order Paid. The lead finds the printer queue, restarts it and the packing slips print.
Thursday 16:00: the incident is resolved
Order Packed arrives for all twelve orders, the cases move on to Fulfillment Created, and with no stuck case left the incident is resolved.
Limits you should know
tiqline only knows what reaches it as an event. If a step happens in a system that sends nothing, tiqline cannot see it, and you add it through the track API first. It reads eight Shopify topics for orders, fulfilments, cancellations and refunds, not returns/* or fulfillment_orders/*. Time limits run on the clock, including nights and weekends. tiqline tells you that and where an order is stuck; it does not tell you why, and it does not fix or change the order. Deadlines that passed more than seven days before their events arrived, for example in a backfill of old data, are marked but do not alert. Each organisation has one Slack channel, one email list and one webhook for all its processes.
Stuck orders and late deliveries are different problems
A shipment that is late at the carrier is a tracking question, and tools such as AfterShip cover it with carrier data. A stuck order is one that has not reached the carrier yet, or that waits on a step in your own process. tiqline watches those steps.
tiqline monitors process SLAs and is not one of the classic product-analytics tools.
Questions about stuck order alerts
When does tiqline call an order stuck?
When it stays on a step longer than that step's limit. The deadline is the time the order reached the previous step plus the limit. Before the deadline the case is running.
Do I get a message for every single order?
No. Stuck orders of the same step are grouped into one incident with one message. The message says how many cases wait and links to them.
What if the missing event arrives later?
The case moves on to the next step. Once no case is stuck on the step, the incident is resolved.
Can a skipped step trigger an alert?
Yes. If a required step with a limit is missing and a later step arrives, tiqline raises a skipped-step alert 15 minutes later, unless the missing event arrives in between.
Does it work for orders outside Shopify?
Yes. Any system can send events to the track API in the Segment and RudderStack format. A case can mix Shopify events and your own.
Can I see orders that are stuck right now without an alert?
Yes. The process view lists stuck cases, the most overdue first, and every alert channel can be switched off.
Start for free
The Free plan includes 5,000 events a month.