Check this post where the OP gets confirmation that the behavior has changed:
The next step for your documentation team would be to add that tidbit to the documentation. Even the explanation of the behavior from the Staff person wasn’t completely accurate. He said this:
"In instances where the voicemail is left to the AutoReceptionist, CallQueue, or SharedLineGroup, the
callee_user_id will be empty . Regarding
callee_id this field is used (along with callee_extension_type) to identify the voicemail owner’s information. E.g.:
"callee_extension_type":"string" //user, callQueue, autoReceptionist, shareLineGroup
"callee_id":"string" //user: user_id(= callee_user_id); callQueue: group_id; autoReceptionist: auto_receptionist_id; shareLineGroup: share_line_group_id"
What I have seen is that the callee_user_id isn’t just empty, it’s completely missing from the json in the payload. Adding that detail would prevent the occasional failures I was seeing in the webhook calls.