Running into a wall with a Data Action in Architect that calls an external endpoint. The target API is pretty reliable, but under load it sometimes takes 4-5 seconds to respond. The Data Action is configured with a timeout of 3 seconds, which seems like a hard ceiling. When the response time hits that mark, the action fails immediately with a 504 Gateway Timeout or similar internal error, even though the backend eventually sends a valid 200 OK response.
I’ve checked the documentation and the UI, and I can’t find a field to bump that timeout higher. Is 3 seconds a platform-wide hard limit for HTTP Data Actions? If so, what’s the standard pattern for handling slower integrations without dropping the call?
Here’s the JSON config for the Data Action:
{
"id": "da_external_sync",
"name": "Sync User Data",
"type": "invokeUrl",
"url": "https://api.partner.com/v1/sync",
"httpMethod": "POST",
"timeoutSeconds": 3,
"headers": {
"Authorization": "Bearer ${auth.token}"
},
"body": "{\"userId\": \"${user.id}\"}"
}
The error log in Architect shows:
Data Action 'Sync User Data' failed: Request timed out after 3000ms.
I’ve tried reducing the payload size and optimizing the backend, but 3 seconds is just too tight for this specific service. We’re using the Genesys Cloud Web Messaging SDK in our Android app, so if this Data Action fails, the user gets a generic error message in the chat widget. It’s a bad UX.
Is there a way to chain multiple Data Actions with retries and delays to effectively extend the timeout? Or is there a hidden setting in the tenant configuration? I don’t see anything in the /api/v2/architect/dataactions endpoint that suggests this is configurable per-action beyond the UI field, which caps at 3.
Looking for a code-level or config-level workaround. Don’t want to rewrite the whole flow if there’s a simple toggle I’m missing.