Skip to main content
Back to insights

Choose Synchronous or Asynchronous Flow

Making every handoff synchronous couples availability and response time. Making every handoff asynchronous can hide whether a user action succeeded.

  • Architecture
  • Integration

Arinao Tshamano19 October 20262 min read

Making every handoff synchronous couples availability and response time. Making every handoff asynchronous can hide whether a user action succeeded. A user confirming a booking may need an immediate answer; sending a notification later does not meet that task. A reporting update may tolerate delay and should not block the booking screen. Choose the interaction based on what the person must know before continuing.

What good engineering looks like

Does the caller need the result now, or can the workflow continue with a tracked pending state? Answer this for a named workflow and an accountable team. Identify the information needed at the moment of decision, the system that can settle a dispute, and the route for correcting dependent copies. The technical design should make those business rules visible to the people who operate and support the handoff.

  • Name the user decision and acceptable response time.

  • Show pending, completed and failed states when work continues later.

  • Set timeout, retry and escalation rules for both patterns.

  • A named owner for a rejected, delayed or repeated item.

  • Evidence that the receiving system applied the intended business state.

A practical starting point

  1. Choose one real case and write down its trigger, expected outcome and responsible team.

  2. Set a maximum useful wait and test a slow dependency.

  3. Check what the user sees when the answer is pending, failed or uncertain, and whether a later result can be correlated with the original action. Do not label an asynchronous request complete before the business outcome is known.

  4. Record what the test exposed, who will resolve each open question and how the fix will be checked.

Keep the first design small enough to review with the people who run the process. Test an exception alongside the normal case. A successful transport test shows that data moved; it does not by itself prove that the receiving team can make the right decision or recover from a partial failure.

The decision to make

Mixed flows are common. Keep the user-facing promise clear even when background work continues. Decide what level of timing, traceability and recovery this workflow actually needs. Document assumptions that remain untested and revisit the choice when a partner, process or business rule changes. The point is a dependable operating decision, not simply a working interface.

Explore Algoza's related services: https://algoza.co.za/services/integration

Apply the thinking

Working through a related technology decision?

Share the operational context, current systems, constraints, and decision you need to make.

Discuss a requirement