Exact flow/process for Saas app to get user Zoom account permission to view and create meetings

We manage a SaaS scheduling app and have external users that use the application.

Currently these users (or clients) use their own preference for scheduling Video calls and it’s done outside of our SaaS app - i.e. they schedule an event using our SaaS app then they will go and create a Zoom / Webex / Teams / Google Meet etc meeting link.

We would like to provide them the ability to let us create a Zoom meeting for them when they schedule a new event but using their own Zoom account.

We have checked all the documentation and still seem to be slightly confused. We create an OAuth App but it only seems to work on our Zoom account. If we test it with an “external” user it just bombs out saying the “app” ins not installed.

This is all I get when I follow the following process:

  1. Create OAuth App
  2. I call https : // zoom.us / oauth / authorize?response_type=code&client_id= from my nodejs app
  3. It redirects me to the Zoom login. We login using a different user and then we just get the app doesn’t exist?

The exact message:
“Application not found
It may have been deleted or you don’t have permission to view it right now.”

So the questions I guess are:

  1. Can the above be done - I would assume so :slight_smile:
  2. Are we following the correct approach - creating an OAuth (Account-level app and tried User-managed app) but as said it works perfect for our Zoom account but doesn’t work on external Zoom accounts?
  3. Or do we do step 2, publish the app, get the user to install the app and then authorize us to schedule meetings - seems little over engineered to get the user to install the app, which I’m sure they will have to agree to permissions and then the app ask them for permissions again??

If there’s a clear document describing the flow / process it will be great to get the pointer / link to it or any short flow / process / steps guide will be fantastic.

Thanks in advance for the assistance and hope the question isn’t answered somewhere else already - searched but couldn’t find anything.

Kind regards,
Johann