Lesson 5 of 6 · 25 min

Waits, Reminders, Retries and Duplicate Events

Make long-running workflows reliable when people are slow and systems fail.

In this lesson1. Waiting is part of the process2. Reminders with a limit3. Retries and duplicates4. Worked example: a signature that never came5. Common reliability mistakes

Waiting is part of the process

Real processes wait: for a signature, a payment, a few days before a follow-up. Model waits explicitly. A wait for an event, such as all signers done, should resume as soon as the event arrives and also be checked on a schedule in case the event was missed. A timed wait should store its wake-up time so it survives restarts.

Reminders with a limit

Reminders help, but endless reminders annoy. Remind every few days up to a fixed number of times, then continue down a path that tells a person. Record each reminder so the history shows exactly what the client received and when.

Retries and duplicates

External services fail sometimes. Retry a failed step a small number of times with growing gaps, such as minutes then half an hour, before marking it failed and telling someone. Refund or do not charge for attempts that failed on your side. Also expect duplicate events, for example a webhook sent twice. Make steps idempotent: check whether the work already happened before doing it again.

XDQ teams treat every step as safe to run twice, which makes retries and restarts uneventful.

  • Retry with growing gaps, then alert a person
  • Do not charge for failed attempts
  • Make steps safe to run twice
  • Store wake-up times so waits survive restarts

Worked example: a signature that never came

A workflow sent a contract for signature and then waited. It reminded the signers every two days, up to two times. When the document was still unsigned after the second reminder, the workflow continued to a task for the account manager to call the client, and recorded the outcome.

During the same week, an email provider outage made one step fail. The workflow retried after a few minutes, then half an hour later, and succeeded without anyone noticing.

Common reliability mistakes

Long-running workflows meet every kind of failure eventually. Designing for it from the start is cheaper than fixing incidents.

  • Waits that do not survive a restart
  • Unlimited reminders
  • Retrying instantly in a tight loop
  • Steps that double-charge or double-send when run twice
Key takeaways
  • Model waits explicitly and resume on events or schedules.
  • Limit reminders and record each one.
  • Retry with growing gaps before failing.
  • Make every step safe to run twice.
Try it

List the waits, reminders and external calls in your workflow. For each external call, write the retry plan and how the step detects that its work already happened.

Check your understanding

1. Why check event waits on a schedule too?

2. What makes a step idempotent?

3. How should retries be spaced?

← PreviousHuman in the Loop: Where to Put ApprovalsNext lesson →How to Measure and Improve a Workflow
XDQ Partner Network

Turn what you learn into monthly income

Resell AI agents and apps under your own brand. Up to 30% off credits, up to 30% recurring share, and apps built by XDQ Labs for your clients. Free to join.

Partner NetworkFor developer agenciesFor resellersFor consultantsWhite-label buildsDeal registration
Join the Partner Network free →
XDQ xAgents · AI lab for your company
While you sleep, your AI agents keep working.

From USD 49 or INR 2,999 a month. A person approves every step.

Start free, 14 days →See every agent300 credits · no card needed · prices include taxes🚀 Startup? Free landing page for 30 days →Need custom software or a security review? Send a brief →
Practise this lesson

Templates from our playbooks

Copy ready templates with when to use each one and why it works.

Playbook · Agency growthThe Agency LinkedIn Growth System: Positioning, a Weekly Content Engine, 10 Post Hooks and 40 Outreach MessagesFor software, AI and digital agencies. How to pick a niche, set up founder and team profiles, publish three posts a week, use hiring posts for reach, and start conversations with 40 messages for clients and partners.50 templates · 27 min readOpen the playbook →Playbook · Agency growthReach Beyond LinkedIn: A Channel by Channel Growth Plan for Agencies and ResellersGoogle Business Profile, WhatsApp Business, YouTube, Instagram, communities, directories, job platforms, partnerships, events, email and AI search. What each channel is good for, how to start, and 25 ready posts and captions.25 templates · 24 min readOpen the playbook →Playbook · Reselling software40 Sales Scripts for Software Resellers: Calls, WhatsApp, Demos, Objections and RenewalsFor people reselling software to small and mid sized businesses in India. Call openers, WhatsApp messages for warm leads, demo and no show scripts, objection replies, closing, onboarding and renewal scripts.40 templates · 25 min readOpen the playbook →