`zoomSdk.openUrl` doesn't support query & hash

Zoom Apps Configuration
Vue 3, Vite 2

zoomSdk.openUrl doesn’t support query & hash.

None, which is also a problem, as { message: 'success' } is returned.

Troubleshooting Routes
zoomSdk.openUrl without query & hash works.

How To Reproduce

  • Run await zoomSdk.openUrl({ url: 'https://example.com' }) : it works

  • Run await zoomSdk.openUrl({ url: 'https://example.com?foo=bar' }) : it doesn’t work

  • Run await zoomSdk.openUrl({ url: 'https://example.com#foobar' }) : it doesn’t work

Just pointing out that this api takes an object with a url field, eg:

await zoomSdk.openUrl({ url: "https://awesome-zoom-app.com/login" });

Are you seeing an error? Or what is the behavior you’re seeing?

Yes, sorry, that’s just a typo, but the logic remains : URLs without query nor hash work, URLs with query or hash don’t.

No, as mentioned.

Nothing happens, except { message: 'success' } being returned, as mentioned.


Strange! We don’t apply any filtering at all. Pls make sure the following are true:

  1. There are no spaces in the url
  2. The domain is added to the allow list in your marketplace build
  3. . . . if these are true, pls try url encoding the url string

As you can see in my examples, there are not.

Whether or not the domain is added to the allow list doesn’t change anything.

As you can see, those URLs don’t need encoding.

I also realized that whether or not openUrl is added to capabilities doesn’t change anything either.


Not sure we’ve never encountered this problem with urls not opening from openUrl. Can you please send over any info you can: Your OS and version, your native Safari or Chrome version, your Zoom client version, etc. Also the exact urls if you can. I can ask someone to look into this

If you’d like to raise further attention, feel free to also report a bug (with all the above information) here:


Windows 10 21H2


5.11.4 7185

  • https://example.com?foo=bar
  • https://example.com#foobar

Those example URL don’t appear to be valid URLs. They must have a trailing slash after the domain name:

1 Like

Adding a trailing slash works, thanks.

Although, it feels a bit rude from the SDK not to support URLs without trailing slash, as the JavaScript URL constructor supports it, as well as browsers in general.