Predictive campaign drops calls on POST /api/v2/outbound/campaigns with 409 Conflict

How exactly does the predictive algorithm handle the maxContactsPerHour throttle when the Architect flow branches into a long TTS menu? The outbound engine doesn’t handle the pacing well in v23.5.2. It’s throwing a 409 Conflict on the campaign update endpoint every time the containment rate climbs past sixty-five percent. Caller experience takes a hit because the predictive rate auto-throttles to zero. Agents just sit there doing jack all while the TTS engine keeps broadcasting the compliance script. I checked the recent thread about dialer pacing adjustments. That workaround with the dialerRules payload only works for progressive campaigns. The client needs the predictive burst to maintain call volume across the Berlin timezone. The Architect flow uses a standard Gather Input block with a ten-second timeout, followed by a Transfer to Queue action. When the predictive algorithm detects too many busy signals, it should just slow down. Instead, the API rejects the entire campaign configuration update. Console shows the campaign status flipping to PAUSED instantly. We can’t bypass the validation without dropping the list. We’ve had to manually reset the pacing limits through the UI just to get the dialer back online. The logs point to a validation error on the maxCallsPerInterval field, but the JSON payload matches the OpenAPI spec exactly. Swapping the region to eu-central-1 didn’t change the behavior. The outbound dialer seems to lock itself when containment metrics trigger the internal rate limiter. Here is the exact payload we are sending to the update endpoint:

{
 "campaignId": "8a1b2c3d-4e5f-6789-0abc-def123456789",
 "dialerRules": {
 "type": "predictive",
 "maxContactsPerHour": 1200,
 "maxCallsPerInterval": 45
 }
}

The response body just returns “error”: “Campaign configuration violates pacing constraints”. The mic stays hot on the test line but no audio bridge forms.

1 Like