All use cases

Prevent / Care

Delivery-trouble notice for grocery and rapid delivery

The milk is out of stock at pick, the rider is twenty minutes late, the slot is slipping on a bag of frozen food — and the customer hears the fix from you while it still matters.

Get aheadSystem triggerTime-based triggerPushChatWhatsAppSMSE-commerce & Retail

What it does

Grocery and rapid delivery run on a promise measured in minutes, and when it slips the customer is left staring at an app while perishables sit in a warehouse or a hot van. An item missing at pick, a rider delayed, an address that won't resolve, a cold-chain slot at risk — in this vertical the trouble has to be caught and answered in the same hour, not surfaced after a failed drop. The agent watches the live order signals, reaches out the moment one fires, and offers the choice that keeps the order whole: pick the substitute, accept the new ETA, or take a credit. The trust that q-commerce lives on is held through the exact moment it usually breaks.

How it works

  1. 1
    Trigger. a live order signal fires — an item flagged out of stock at the picking stage, a rider or courier delay against the slot, an address that fails validation, or a cold-chain slot at risk of breach.
  2. 2
    Decision. the agent weighs the order contents (perishable or not), the size of the slip against the delivery promise, and what memory knows about this customer to pick the right move — propose the best in-stock substitute, confirm a revised ETA, or offer a credit — and decides whether a goodwill gesture belongs. The message passes the judge before it sends.
  3. 3
    Action. it reaches out on a channel the customer answers fast — push, chat, WhatsApp, or SMS — naming what happened, offering the substitution or the new ETA, and capturing the customer's choice right there in the thread.
  4. 4
    Follow-through. the agent keeps tracking the order; if the rider catches up or the item is found before the send, the stale notice is cancelled. If the substitution is approved it writes back to the picking system, and a genuinely failed or refused delivery escalates to a human with the full order context attached.
Example
AgentQuick heads-up on your order arriving in the next half hour: the oat milk you ordered just went out of stock at the store. I can swap it for the same brand's barista oat milk at the same price, drop it from the order, or refund just that item — which works for you?
Customerbarista one is fine, go for it. is everything else still on time?
AgentDone — barista oat milk's in the basket at no extra cost. Everything else is packed and your rider is still on track for your slot. I'll ping you if anything changes before it arrives.

Configuration

How the agent is wired for this use case.

Triggera live fulfilment signal — pick_out_of_stock, rider_delayed, address_validation_failed, or a cold_chain_at_risk slot flag — routed to the agent with the order reference.
Tools & actions
  • OMS / fulfilment system · read the live order and slot state; apply an approved substitution or remove an item.
  • Picking / inventory system · read what's actually in stock at the picking store to propose a like-for-like substitute and write back the customer's choice.
  • Rider / dispatch tracking · read the live ETA and delay reason to give the customer a real new time.
  • Promo / credit engine · issue a goodwill credit or item refund within the policy budget.
  • Messaging channel · run the same-hour substitution and ETA conversation on push, chat, WhatsApp, or SMS.
Autonomythe notice, the substitution proposal, the ETA update, and a policy-capped goodwill credit run unattended behind the judge; the substitute offered is constrained to like-for-like at equal-or-lower price, and a swap that would cost the customer more or an item with no acceptable substitute is surfaced as a choice rather than applied silently.
Channelspush · chat · whatsapp · sms
Escalationa refused or failed delivery, a customer who rejects every substitution, a cold-chain breach that has already happened, or a complaint beyond the order hands off to a human with the order context attached.

What you need

The inputs this use case runs on. Your channels stay yours; the agent supplies the judgment.

Signals

live fulfilment events — pick_out_of_stock, rider_delayed, address_validation_failed, cold_chain_at_risk; a slot-clock against the delivery promise; the resolution event that cancels a stale notice.

Data

order contents and perishability flags, the slot promise, real-time stock at the picking store, customer memory (substitution preferences, prior delivery issues, channel), goodwill budget rules.

Guardrails

judge gating on every unprompted message; substitutions held to like-for-like at equal-or-lower price unless the customer approves otherwise; caps and eligibility on goodwill credits; frequency caps so one wobbly order isn't a stream of pings; cancellation of notices made stale by the rider catching up or the item being found; per-channel consent; the retailer keeps owning the send channels.

Metrics it moves

  • contact-ratedown: the "where's my order / where's my missing item" contact never gets written because the answer and the choice arrived first.
  • csatup: being offered the substitute and a real new time, in the moment, beats discovering a half-filled bag at the door.
  • ltvup: a delivery slip handled before it spoils the order keeps the customer who would otherwise switch app over it.

See it on your own customer journey

Bring one drop-off, one churn cliff, or one silent segment. We will show you what a proactive agent with memory and judgment does with it.

Book a demo