I want to bring to your attention a new Data Action feature that is going live globally this week:
Configurable timeout for data actions
Administrators can now configure the execution timeout setting for data actions. The timeout can be set between 1 and 60 seconds, with a default of 60 seconds. When an HTTP request runs longer than the configured time, the data action returns a timeout response. This feature helps improve control over data action timeouts, prevents long-running processes, and reduces unnecessary concurrency usage.
Prior to having this feature you could configure a flow to time out a data action in less than 60 seconds, however the data action itself would continue to wait for a response from the endpoint for up to 60 seconds.
A scenario that this helps with is when an endpoint typically return quickly, however once in a while something goes wrong and it responds very slowly or not at all. When a frequently used data action is using this endpoint, slow responses can lead to all of your data actions being rate limited by the data action concurrency limiter. The concurrency limiter restricts how many data action executions can be processing at the same time.
You can help protect against this situation by setting a timeout on a data action that would allow it to return when it is returning normally, but time out after a few seconds since that typically indicates the endpoint will never return. This cuts down on actions counting towards your concurrency limit and also avoids a customer having to wait for a long time for the data action to timeout before being able to continue on in an IVR.
As an example you could use the data action performance view to understand how quickly an endpoint typically returns. If the 99th percentile is 1 second, you could set the action timeout to 3 seconds to allow any "normal length" executions to complete, but avoid occasional very long responses from tying up your flow.
Finally, native action timeouts also allowed for an improvement in the data action test mode UI. In the past, if the endpoint took more than 20 seconds to respond, all you would get in the test mode UI is a "timeout" error without any of the normal test mode output. Now in test mode the action will timeout after the action timeout or 19 seconds, whichever is less, providing the normal test mode output. The max test mode timeout being 19 seconds is due to other timeouts in in the system that are not present when running an action in a flow.
#DataActions------------------------------
--Jason
------------------------------