Zoom Virtual Background Issue Using intergation

Dear Zoom Team,
We would like to inform you that we have successfully integrated the Zoom SDK with our ERP software. However, we have encountered an issue where the virtual background image is not being applied as expected. We have implemented the code to set the background image, but unfortunately, it is not functioning correctly, and no error code is being returned to help identify the issue. We have reviewed the implementation and configuration thoroughly.

Kindly review the code and let us know if any additional steps or support are needed from your side to resolve this. We appreciate your assistance and look forward to your guidance on this matter.

Hi @TheClassOfOne,

Thanks for sharing the details about your integration!

It sounds like you’ve already done a thorough job implementing the virtual background functionality. One important thing to ensure is that the virtual background setup code is executed after the meeting join success callback, as applying the virtual background too early can result in it being silently ignored without any error.

Here’s a working example in vanilla JavaScript that successfully sets the virtual background during a meeting. You can adapt this into your ERP setup:

function setVirtualBackground(meetingDetails) {
    if (meetingDetails.virtualBackgroundImageList && meetingDetails.virtualBackgroundImageList instanceof Array) {
        if (meetingDetails.virtualBackgroundId) {
            let url = new URL(location.href);
            let vbImage = meetingDetails.virtualBackgroundImageList.find((vb) => vb.id == meetingDetails.virtualBackgroundId);

            if (vbImage) {
                vbImage.url = `${url.origin}/images/${vbImage.fileName}`;

                ZoomMtg.updateVirtualBackgroundList({
                    vbList: meetingDetails.virtualBackgroundImageList,
                    success: function (res) {
                        console.log(`-- update virtual background success --`, res);

                        ZoomMtg.setVirtualBackground({
                            id: meetingDetails.virtualBackgroundId,
                            success: function (r) {
                                console.log(`-- virtual background success status: --`, r);
                            },
                            error: function (err) {
                                console.warn(`-- virtual background failed status: --`, err);
                            }
                        });
                    },
                    error: function (err) {
                        console.warn(`-- update virtual background failed status: --`, err);
                    }
                });
            }
        }
    }
}

Note: You must call this function only after receiving the success callback from ZoomMtg.join() to ensure everything is properly initialized.

Let me know if this helps or if you’d like me to review your specific implementation further!

Best regards,
Naeem Ahmed

Hi Naeem,
I have a Zoom admin account where all cloud recordings from sub-accounts are saved and managed centrally.

I’m looking to set up an integration between Zoom and my YouTube Studio account. Specifically, I want any new cloud recording saved in my Zoom admin account to be automatically uploaded to my YouTube channel with the privacy setting set to Private.

Is there any existing integration or solution that can achieve this?
Please let me know.