
Technology
Make the handoffs work
Moving information does not transfer responsibility. Design the agreement at each handoff before automating the movement.
Pattern Engine · Practical field notes
“The email was sent” and “the work has an owner” are different claims. Many unreliable workflows confuse them. Information moves successfully while responsibility falls into the gap between teams.
A useful workflow makes the transfer of responsibility explicit. The next person needs enough information to act, a way to accept or return the work, and a visible place for it to wait. Automation becomes valuable when it supports that agreement.
Treat a handoff as an agreement
Imagine sales sending an accepted proposal to operations. If operations must investigate the delivery date, find a missing address and negotiate the scope, the handoff has transferred a problem rather than a ready job.
The team needs a shared definition of readiness. It also needs a legitimate “not ready” response. Without one, incomplete work either disappears into private messages or gets marked accepted before anyone can fulfill it.
That is the hidden design work behind a simple automation. A connector can create a task in another system; it cannot settle whether the receiving team has the information or authority to complete it. Before adding steps, identify the point at which the next owner can reasonably say, “I have what I need.”
Separate decisions from movement
Moving a complete record between tools is different from deciding whether a request should be accepted. Stable rules can often be automated. Ambiguous judgment needs a clear owner, even when software helps prepare the information.
Consider a booking request with an unusual deadline. The system might collect the details and flag it for a coordinator rather than reject it automatically. That preserves a business decision while removing the work of finding the request and assembling its context.
Design the exception path
A workflow is unfinished if it only describes the successful case. Missing details, duplicate submissions, unavailable staff and canceled jobs need somewhere to go. An exception queue should identify what is stuck, why it is stuck and who can resolve it.
Avoid creating an alert for every event. Give people a short list that requires action. Make completed, waiting and failed states visibly different. The team should not have to infer progress from whether an email happened to arrive.
Before launch, walk through a missed notification and a repeated submission. Confirm that someone can find the work and resume it without creating a second job or losing the first one.
Automate the right amount
The first useful change may be a better form or a shared status view. Once those are working, automatic assignment or follow-up can become a sensible next step. Adding automation before the inputs are reliable can make the same mistakes happen faster and at greater volume.
The CTDF project connected public requests with the operational work of the team. Its approach was shaped around familiar tools and the organization’s actual needs. The general lesson is to support the operation people can maintain, not to maximize the number of automated steps.
For external reading, the GOV.UK Service Standard encourages addressing a whole problem across channels. Within this library, start with simplifying before automating and then consider failure and recovery.
Give AI a clear part in the sequence
AI can help with a step that ordinary rules handle poorly, such as turning an incoming request into a structured draft. Keep routing, approvals and record updates explicit around that step. This makes the flexible part easier to evaluate without making the whole process unpredictable.
For a workflow that needs to pause for review and resume later, LangGraph’s persistence documentation explains checkpoints and stored state. It is a relevant option for stateful agent applications; a simple scheduled task may need much less machinery.