Zoom keeps auto-joining meetings

I have a technical issue with setting up the zoom web integration.

What should happen is when the user loads the page, the container where the user gets a preview of their own camera and has the option to mute their mic and hide their video before joining the meeting by clicking on “join meeting” should be shown. When they then click on “join meeting”, only then they should be connected to the meeting.

However, what happens in some instances is that when the user loads the page, they are automatically joined into the meeting, thus bypassing the previous step.

I’ve tested this in various browsers, each time clearing all cookies and other cached information, but this does not resolve the issue. This, eliminating the possibility of this being a browser-related issue.

When building, I have followed the following documentation: https://marketplace.zoom.us/docs/sdk/native-sdks/web/build.

The documentation offers two implementation paths, I followed option 1 (import module locally).

The only difference is that we have opted not to include the CSS files.

I have tried the following:

  • Clearing all session data, cookies, local storage etc.
  • Setting JS Lib to version 1.9.8 and an older version.
  • Removing all other elements from the webpage (in case there are any JS conflicts).
  • Including the CSS files that we have chosen to exclude.

None of the above has helped in resolving the issue where the initial option is bypassed.

I have tested this in Windows, iOS and mobile (android).

Hey @Salaah,

Thanks for using the dev forum!

Are you using the Zoom SDK’s or the Zoom applications?


Hi Michael,
I am using the Zoom SDK.
Using the web-based solution.

Hey @Salaah ,

Can you please try setting disablePreview: false in your ZoomMtg.init() function object? :slight_smile:



Hi @tommy ,
I’ve tried that but have had no luck. Still having the issue where the meeting auto-joins.

I have posted the integration code I am using below:

getSignature().then((signature: any) => {
    debug: true,
    leaveUrl: location.href,
    isSupportAV: true,
    disablePreview: false,

    success: () => {
        signature: signature.response.token,
        meetingNumber: meeting_id,
        userName: (<HTMLInputElement>document.getElementById('zoom-user-name')).value,
        apiKey: (<HTMLInputElement>document.getElementById('zoom-api-key')).value,
        userEmail: (<HTMLInputElement>document.getElementById('zoom-user-email')).value,
        passWord: (<HTMLInputElement>document.getElementById('zoom-meeting-password')).value,
        success: (success: any) => {
        error: (error: any) => {
    error: (res: any) => {
      console.log('FAILED INIT');

I’ve also cleared my cache, cookies, etc. Still no luck.

Hey @Salaah,

Thanks for following up. Do you see this happen even when using the Sample Web App? I would test that and use it as a reference.


So we’ve found out what the issue was. Not sure if this is a bug, but we found it a bit odd.

Because we work on quite a few sites, we have a few URLs resolving localhost. So for example, project_a.net, project_b.net would all resolve localhost.

We discovered that when we are using say project_1.net on port 8000, it would always have that issue but when we hopped over to localhost:8000 it seemed to be ok at times.

Whilst in development, we’re using HTTP, but when we connected via HTTPS it seemed to be working fine.

I don’t know if we got lucky, of we might have stumbled across some odd side effect.

1 Like

Hey @Salaah ,

Happy to hear you found what the issue was, thanks for sharing your findings. :slight_smile:


This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.