Skip to main content
Proactive follow-up is the primary differentiator for WISMO. The system should not wait for a customer to open another ticket when backend status changes. The proactive monitor should remain deterministic: deduplicate events, load saved commitments, compare the new status to the last customer update, and decide whether any action is needed. When the change needs interpretation or wording, the monitor calls a specialist agent and the customer communications agent.

Event Decision Flow

Backend eventProactive behavior
Supplier ETA moved later by more than thresholdNotify customer, explain the delay, offer allowed options, and save next supplier check.
Supplier ETA becomes available after unknown ETANotify customer with the new date and confidence caveat.
Warehouse pick exceeds SLANotify customer before they ask and commit to the next checkpoint.
Label created but no first carrier scan after thresholdNotify customer that handoff is being verified and start allowed trace path.
Carrier scan resumes after stalled trackingNotify customer that movement resumed and provide updated ETA if available.
Delivery attempt failedNotify customer with carrier reason and available reattempt, pickup, or address options.
Return-to-sender beginsNotify customer and route refund/replacement choices through approval thresholds.
Partial shipment createdNotify customer that items are shipping separately and itemize each shipment.
Delivered event received for an open WISMO caseClose the loop with delivery confirmation and reopen path if there is a problem.
Follow-up due and no backend changeSend a brief checkpoint if Duckie promised it, or escalate before the promise is missed.

Saved Values

Saved valuePurpose
wismo_case_idStable case key.
order_id and shipment_idPrevent duplicate updates across related events.
condition_typeCurrent routed condition.
last_backend_status_seenWebhook idempotency and dedupe key.
last_customer_update_atPrevent over-messaging.
last_status_sentAvoid repeating the same facts.
next_follow_up_due_atMake customer promises auditable.
follow_up_reasonExplain why the next run should occur.
customer_action_optionsKeep offered options consistent across runs.
human_ownerTrack ownership for escalated cases.

Messaging Rules

  • Do not send duplicate updates for the same backend status.
  • Do not send a proactive update if a human support teammate sent a newer public reply with the same facts.
  • Update an existing ticket or conversation when one is open.
  • Create a proactive outbound conversation only when there is no active support thread and policy allows it.
  • If the status is worse than the last update, say what changed and what Duckie is doing next.
  • If the status improves, close the loop and reduce the chance of another inbound WISMO ticket.
  • If Duckie promised a follow-up and there is no new backend update, send a brief checkpoint or escalate before the promised time is missed.

Proactive Update Template

Use this structure for customer-facing updates:
  1. What changed since the last update
  2. What Duckie knows from the order, warehouse, supplier, or carrier systems
  3. What Duckie is doing next
  4. Any customer options, if policy allows them
  5. When the customer will hear back again
Do not use proactive updates as generic marketing or reassurance copy. The update should contain a real status change, a promised checkpoint, or a useful action path.

Test Cases

Before enabling live proactive messages, replay cases for:
  • Duplicate carrier webhooks
  • Supplier ETA moving later, then earlier
  • Human reply after Duckie saved a follow-up
  • Label created without pickup scan
  • Partial shipment with one delivered item and one pending item
  • Delivered-not-received case that should escalate
  • Follow-up due with no backend change

Next Pages

After proactive follow-up:
  1. Add escalation and resolution.
  2. Use rollout plan to expand event coverage safely.