Data Action webhook stalls on AU number validation payload

The Architect flow triggers a Data Action right after the initial media recording starts. Goal is to ping the internal compliance endpoint before routing. Needs to verify if the caller’s Australian mobile number matches the latest ACMA spam registry rules. Flow keeps dropping to the error path after roughly 8 seconds.

Genesys logs show a HTTP 504 Gateway Timeout from the integration service. Internal server logs never catch the request. Network block doesn’t seem to be the issue, since curl from the Sydney office hits the endpoint instantly. Latency between the GC APAC edge and the Melbourne server usually sits under 30ms.

Payload structure looks like this:

{
 "caller_number": "{{trigger.Caller.PhoneNumber}}",
 "timestamp": "{{trigger.StartTime}}",
 "region": "AU"
}

trigger.StartTime arrives as a full ISO 8601 string. Truncating it to just the date portion hasn’t fixed the stall. Tenant runs on mypurecloud.com.au, latest stable release. Data Action timeout setting maxes out at 15 seconds in the integration config. Doing jack all to stop the timeouts.

Swapping the endpoint to a simple echo server works fine. Request goes through without a hitch. Only hits this wall when pointing to the actual compliance API. Flow version sits at v3.1.0.

Raw request trace in developer tools shows the X-Genesys-Request-Id matching up, but payload’s jumping to 2KB right before the drop. Platform might be serializing trigger variables differently than expected. JSON schema validator on the backend expects a strict 12-digit format for caller_number. GC keeps prepending the +61 country code. String manipulation block runs right before the Data Action to strip it, but logs still show the original format making it through. Number formatting rules in the tenant enforce E.164, which explains the prefix. Switching to local format breaks the other routing blocks completely.

[2024-05-12 14:22:05] ERROR: DataActionExecutionFailed - IntegrationId: int_8832a1b2 | StatusCode: 504 | Reason: Upstream service did not respond within timeout window
[2024-05-12 14:22:05] DEBUG: PayloadSize: 2048 bytes | ContentType: application/json

Integration gateway could be running extra validation on the outbound request. It’s churning out these errors every time a Sydney number calls in. Not sure if the variable interpolation is padding the JSON with hidden metadata.