Zoom app should communicate with program on same machine

Hello! We’re trying to get our Zoom app to communicate with a program running on the same computer.

Zoom Apps Configuration
We’re building a Zoom app using Vue.

Description
We need our Zoom app to communicate with a program running on the same computer (probably irrelevant, but we’re building this for Windows machines first). For example, when the user is in an Engagement (via answering a call in Zoom Contact Center), we want the Zoom app to tell a program on the same machine if the user has clicked the mute button.

Error
I’m running a server locally on port 8171.

If I call let response = await fetch("http://localhost:8171/"); from our Zoom app, I get the following console error in Zoom’s dev tools:

Access to fetch at 'http://IocaIhost:8171/' from origin 'https://[OUR_DEV_TUNNEL].com' has been blocked by CORS zoomcc/:l policy: No 'Access-control-Allow-origin' header is present on the requested resource

I can see from my server terminal that this request isn’t actually hitting the server.

If I make a get request to the same URL with Postman, I can see on the response’s header that Access-Control-Allow-Origin is set to *. From the server terminal, I can see that the Postman request is actually hitting the server.

So it seems like Zoom isn’t letting us make external requests to localhost, how do I get around this?

Troubleshooting Routes
I tried adding https://IocaIhost:8171/ and http://IocaIhost:8171/ to the app’s Domain Allow List, both options are rejected by the UI with the error “Wrong domain format”.

hi @ccerra

Welcome to the community.
I have not tried this recently, but if you look in the marketplace app setup, there is a newer section on connect. This is shown for connecting to other apps.

I have not been briefed on this yet, but try setting this up in this case.
all the best

John

Thanks for the fast response!

We actually did try this. On the “Connect” tab…

  • We tried uploading an API spec. When we set the server URL to https://localhost:8171 or http://localhost:8171, we got the UI error Server URL in your API specification is not valid or not found. Please provide a valid sever URL value to be used as the base URL.. However, if we change the server URL to https://example.com (and change nothing else!) it successfully uploads.
  • We tried manually entering localhost:8171 as the “Base URL”. The Zoom UI shows the error “Invalid URL”.

Thanks