Zoom API V2 - New Plugin

Zoom Meetings API V2.0 + OAuth

  • Authenticate user using Zoom.

  • Automatically captures the access_token from the authentication step and allows you to:

    • Create a Meeting (instant, schedule, recurring)
    • Update a Meeting
    • Delete a Meeting
  • Authentication can be used in your workflow through “Signup/login through social network action”

  • All other actions could be accessed through “plugins” tab in workflow.

Plugin page
Demo App
Demo APP Editor


This sounds neat. Does it display the zoom in browser or is it really just for retrieving zoom session details?

It doesn’t deal directly with the display of zoom. When you create a meeting with the plugin, that returns data, which includes: “start meeting url”, “join meeting url”, etc. You can see full data here
It’s up to you then to save the data and/or display it to the user. For example, you can show the “join meeting” as a link to your user and when they click, it’ll display zoom and open the app if they have it.

I hope that answers your question.


I am trying to test this plugin on your demo page.
In my zoom App “Redirect URL for OAuth” = https://zoom-api-v2.bubbleapps.io/api/1.1/oauth_redirect
Fill in the inputs (Zoom Client ID and Basic base64_client_id: secret).
But with “Login With Zoom” I get the following error:

{“StatusCode”: 400, “body”: {“status”: “ERROR”, “message”: “Missing state from oauth provider”}}

When you login with Zoom, is that also updating the user so you can basically use Zoom login like login with Facebook, etc?

Also, to confirm… is the main use case for this to create Zoom meeting rooms/urls on the fly inside your app?

This is a zoom account issue, not a plugin issue. Basically, zoom used to allow a demo app credentials, without forcing me to officially publish an app on their marketplace. They changed it and I applied for app approval and still waiting. Again, this is my zoom account issue, not the plugin. The plugin will work fine with your credentials.

1 Like

Yes, it works like a facebook login, etc. through OAuth.
You are correct about the use case. This plugin is focused on allowing you and your app users to create, update and delete meetings.

Hey @edshadi, does that mean in order for the plugin to work, my app has to be published on the zoom marketplace (the same way they are forcing you to do)?

When I put my redirect URL for OAuth as below:
https://example.bubbleapps.io/api/1.1/oauth_redirect, I’m getting the same error:

{“StatusCode”: 400, “body”: {“status”: “ERROR”, “message”: “Missing state from oauth provider”}}

Seems like the major roadblock. How can this be solved?

Hi @ishaan.karanjkar, this is a normal requirement for any API provider. They will require you to register an app and, many times, they have to approve it first. So, in this regard, Zoom is just following the standards/norm. The issue I’m having is very specific to my case, where I’m not actually building an app, I just wanted to demo how to build one. So, you should be completely fine, just register your app and provide some info on Zoom marketplace and wait for approval.

1 Like

Hi @edshadi, I already bought the plugin, but having the issue after the calling “signup/login with zoom” action, I cant find the way to read the result code, so I cant get access token. In the demo I saw you receive it from the URL redirection, but its not working on my app. Can you explain more about how the redirection send the code or give an idea of what I’m doing wrong?

1 Like

@edshadi I’m facing the same problem as @softwarefactory502. How to get the access token needed to create meeting (or any of the other actions)?

The get token action returns a peculiar “Invalid Client ID” error

Hi everyone, I’m working on video instructions to show you the best way to use this plugin. It works fine, but you have to setup a few links between it and zoom. Stay tuned.

1 Like

@ishaan.karanjkar @softwarefactory502 please checkout the new video instruction: https://www.loom.com/share/c5e3b987360446c3a8aacc3e12b8c5f3


Thanks @edshadi the video is very clear. Perhaps I’m facing an Issue, I think is something in Zoom, but maybe someone has faced something similiar. When I’m authorizing the app I receive “You cannot authorize the app” even if Im authorizing on the same Zoom account where the app is created.

In console I found this message “Access to XMLHttpRequest at ‘https://marketplace.zoom.us/api/v1/apps/GwkCENyyQNS5sYx53Ithsw/@grant?zpk=eyJhbGciOiJIUzUxMiIsInYiOiIyLjAiLCJraWQiOiI5NTVmYTYzMS1iMWRlLTQzZmMtYmY0My04NzA5M2FlZTQwM2MifQ.eyJhdWQiOiJodHRwczovL2FwcC56b29tLnVzIiwibmJmIjoxNTk0NTc3NzY4LCJhY2NvdW50X2lkIjoiTEoyS1dPNmZTT3FIblprVzNKb05mdyIsImF1dGhfaWQiOiJsbWFPalkyYmd3RVA0NVFTdDg2ekhZS2lkbC9mYXpadElRNVk0WnZHT1BjPSIsInVzZXJfaWQiOiI2YUo4cHZZU1JyQ3d6Z2xCanEtSEt3IiwidXNlcl9uYW1lIjoiSm9zZSBBZ3VpbGFyIiwiaXNzIjoiaHR0cHM6Ly93ZWIuem9vbS51cyIsImV4cCI6MTU5NDU4NDk2OCwidHlwZSI6MSwiaWF0IjoxNTk0NTc3NzY4LCJqdGkiOiJmYTAyNDFkNy02YjM4LTRiZGUtOTFjNy1lNmRkMWVhN2I2M2IifQ.RYnU3D7RdCIEOWmBqTk1rNx6Nk2H0Z8Gr3Lbn9i0eUhzKzZKTj4Ik0np5Ob0I6luoYLxWqbXNY9amI_R-zBE4g&scopes=meeting:read,meeting:write,user:write,user_profile&state={“oauth_provider”:“1587547845682x585184262900416500”,“resume_key”:“1594577766863x600456458736944500”,“used_redirect_url”:“https://medilinkgt.bubbleapps.io/dashboard”,“redirect_unique_id”:“1594577767447x388806232567191040”}’ from origin ‘https://zoom.ushas been blocked by CORS policy: Response to preflight request doesn’t pass access control check: No ‘Access-Control-Allow-Origin’ header is present on the requested resource.”

I found that the issue occurs with the state parameter, according to a post in Zoom forum is a Zoom issue, is there a way to make the redirect to zoom not send the state parameter? Sorry but this is giving me headches.

Thanks for the help.

Unfortunately, this is a known issue on the zoom side: https://devforum.zoom.us/t/you-cannot-authorize-the-app/5997

The best thing to do: first, is to create a new app and give it a shot, if not, then you might have to do a whole new account on zoom and create an app there :frowning:

Doing a whole new zoom account works for me. Thanks for the help!

Hi Ed, thanks for the video!

My authorization problem with Zoom has been resolved from Zoom’s end and your plugin is working \m/

I have a question regarding the timezone field in the ‘Create meeting’ or ‘Update meeting’ actions: what is the format that is accepted in this field?

I am trying entering Asia/Calcutta which is Zoom’s timezone ID for India, but it doesn’t seem to be working.

I am referring to the timezone IDs that zoom presents in this link: https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#timezones

@ishaan.karanjkar you can set it in the plugin. Here are all the fields that you can set yourself or ask the user to set


I just install your plugin @edshadi and I don’t know why I am not able to see after create a meeting current user “zoom access token”. Do you have any idea why ? Error http 401 - invalid access token is dispayed.
I sign up with social network zoom and it work, generic url redirect is the good one.
Thank you for your help

Hi Ed,

I login fine but after awhile I get an error when using the Create Meeting API that says
’ 401 - Access Token Expired’.

What Bubble logic do I need to do to prevent expiry from happening?