Hi all,
I’m trying to handle failures from the Send E-Mail smart service (e.g. network) in a more user-friendly way.
My goal is to display an interface showing the error and its corresponding resolution whenever the email fails, instead of having the process instance suspended.
Currently:
When the Send E-Mail smart service fails, the process model is suspended.
I attempted to:
Use a Timer Exception on the Send E-Mail node
Place the Send E-Mail node inside a subprocess and handle the exception from the parent model
However, both approaches do not work as expected because the subprocess itself becomes suspended when the Send E-Mail smart service fails.
Is there any supported way to:
Catch or handle Send E-Mail failures (e.g. network issues) without suspending the process, or
Route the flow to a failure interface after retries are exhausted?
Any guidance or recommended patterns would be greatly appreciated. Thanks in advance!
Discussion posts and replies are publicly visible
Process always suspends on failure -> there's no exception flow or continue on error option.Launch Send E-Mail in async subprocess. In the parent process, wait with a Timer Event, then query a process report on the subprocess to check if the output PV was updated. If the timeout expires before the PV updates, assume failure and route to the error interface.
Hi, I’ve implemented this, but it isn’t working as expected. The action shows as “Action completed”, but it does not proceed to the next interface, even though the process model indicates that the flow is correct.
Can you explain in more detail what you designed and how it behaves?
I have a process model that:
Sends an email
Writes the email details into an email audit log
Shows a confirmation message that the email was sent
In the UI, email addresses are already validated, so the main failure scenario is a network failure.
When the Send E-Mail smart service fails, the process instance is suspended, which prevents me from showing a user-friendly “email failed” message.
I tried moving the Send E-Mail node into an asynchronous subprocess and adding a delay timer in the parent process after the subprocess. However, after adding the timer, the user still sees “Action completed”. It seems the process does not wait to display a UI and ends, even though a delay timer is present.
Sure. A time event breaks activity chaining, so your user will only get a new task assigned.
I typically try to not bother users with error message they cannot do anything about. As this is a pure technical issue, you can either implement a retry, or make the support team manage it.
Are network issues a common problem at your company?