Failed to initiate Zoom Meeting SDK in next js app

Meeting SDK version: 3.11.0
System: MacOS Sequoia 15.2

Description
I am trying to create a meeting bot to join a meeting and receive the live audio in the audiobuffer format. When I try to load the meeting SDK in my website, I am getting this error.
Unhandled Promise Rejection: TypeError: undefined is not an object (evaluating 'b.ReactCurrentBatchConfig')

ZoomMtg.preLoadWasm();
ZoomMtg.prepareWebSDK();
ZoomMtg.init({
        leaveUrl: "/leave",
        debug: true,
        success: (success: any) => {
          console.log("ZoomMtg.init success ", success);
          setIsInitialized(true);
        },
        error: (error: any) => {
          console.log("ZoomMtg.init error ", error);
        },
      });

Troubleshooting Routes
I have tried downgrading the meeting SDK versions and removed other unused zoom sdk’s.

How To Reproduce
Steps to reproduce the behavior including:

  1. Install the zoom meeting sdk in the next js app (app directory)
  2. Run the above code inside the useEffect.

Need help in fixing this error?

Thanks in advance.

Hi @contractor

Not sure why you’re seeing that error, but I’m building an open source API here that lets you access the raw audio data from a Zoom meeting. It may be more convenient than using the javascript SDK directly.

You can replace all the SDK code with simple API calls like

POST https://app.attendee.dev/api/v1/bots to create a bot
and
GET https://app.attendee.dev/api/v1/bots/bot_123/recording to fetch the recorded audio

Hi @contractor,

It sounds like you’re calling the ZoomMtg setup functions inside of a useEffect, when you should actually be calling it outside of the component. useEffect has some side effects that can be hard to work through and debug, and it may not be the best approach here.

I’d recommend using this Zoom sample application as a reference when building your own implementation

I’ll also link to the specific file that uses all three of the ZoomMtg functions you mentioned above.

Another alternative is to use Recall.ai. It’s a simple 3rd party API for meeting bots to get the raw audio/video from meetings without you needing to spend months to build, scale and maintain these bots.

Let me know if you have any questions!

I am facing this issue with react 19