Outbound task creation via Platform API throws 422 on predictive campaigns

The ServiceNow script is hitting POST /api/v2/outbound/tasks to push incident records into a predictive dialing campaign, but the request keeps dying with a 422 Unprocessable Entity. Swapped the queue ID to a standard manual dial queue and it went through fine, so the payload structure checks out while the Platform API SDK v2.1.4 handles the OAuth exchange without a hitch in the US-East prod org. Checked the campaign settings and the queue definitely has the predictive dialing toggle enabled, yet the outbound engine still rejects the task whenever dialingMode is set to predictive. What exact queue attribute does the outbound engine require before it accepts predictive task injection?

{
 "message": "Task queue configuration does not support predictive dialing mode.",
 "code": "INVALID_TASK_QUEUE_CONFIG",
 "status": 422
}

Problem

Predictive campaigns usually reject the standard payload. They’re picky about the campaign_id and expect it to tie directly to a predictive strategy, not just a raw queue. The API also demands contact_uri formatting that matches the campaign’s contact list schema.

Code

const taskPayload = {
 campaign_id: "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
 contact_uri: "tel:+15551234567",
 contact_attributes: {
 "incident_id": req.body.sys_id,
 "priority": req.body.priority
 },
 task_attributes: {
 "source": "servicenow_integration"
 }
};

Error

The 422 fires when contact_uri misses the tel: prefix or when campaign_id points to a manual dial setup. Predictive engines validate the strategy type before even touching the queue. If the payload slips through without the right attributes, the outbound validator drops it straight away. It’s usually a schema mismatch. Sometimes the ServiceNow script strips the prefix during string concatenation. Worth checking.

Question

Verify the campaign strategy type in the Admin UI. The predictive dialer locks out tasks that don’t match the configured contact list format. Check the validation logs in the outbound tab.