We’ve got a Data Action in our outbound flow that hits our internal CRM via a REST API. The endpoint is reliable, but under load it occasionally takes 4 to 5 seconds to respond. Architect is killing the request at exactly 3 seconds with a generic timeout error.
The docs state: “The timeout value for a Data Action is fixed at 3000 milliseconds.” That sounds final. But we’re not talking about a database lookup. This is an external HTTP POST.
Here’s the payload we’re sending:
{
"method": "POST",
"url": "https://api.internal-crm.example.com/v1/sync",
"headers": {
"Authorization": "Bearer {{oauth_token}}",
"Content-Type": "application/json"
},
"body": {
"contactId": "{{contact.id}}",
"campaignRef": "{{flow.campaign_ref}}"
}
}
When the API takes 3.2s, the Data Action fails. The call drops to voicemail because the downstream logic expects a 200 OK to proceed. We can’t just make the CRM faster right now; the DB is doing some heavy joins on the legacy side.
I’ve checked the REST API reference for Architect flows. There’s no query param or header in the flow execution request that seems to bump this limit. I tried adding a timeout field in the body like this:
"timeout": 6000
The API accepted it, but the behavior didn’t change. It still cuts off at 3000ms. The response from the Data Action is just:
{"code": 408, "message": "Request timeout"}
Is this limit truly hardcoded in the platform runtime? Or is there a hidden config we’re missing? We’ve considered moving the sync to a webhook triggered after the call, but that introduces data race conditions with our reporting. We need the sync to happen inline.
Anyone found a workaround for this? We’re on the latest flow version.