# Pass params when calling launchAppInMeeting

**URL:** <https://devforum.zoom.us/t/pass-params-when-calling-launchappinmeeting/85864>\
**Category:** Zoom Apps\
**Created:** [April 3, 2023, 12:47am UTC](https://devforum.zoom.us/t/pass-params-when-calling-launchappinmeeting/85864 "2023-04-03T00:47:59Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![alextsi](https://avatars.discourse-cdn.com/v4/letter/a/dfb087/32.png) [@alextsi](https://devforum.zoom.us/u/alextsi)\
**Post date:** [April 3, 2023, 12:47am UTC](https://devforum.zoom.us/t/pass-params-when-calling-launchappinmeeting/85864/1 "2023-04-03T00:47:59Z")

</div>

**Zoom Apps Configuration**  
We’re developing a Zoom App with React frontend app and NodeJS/AWS Lambda as backend. For authentication we offer users to sign in with their existing Google or Microsoft 365 accounts.

**Description**  
Our main use case is conducting calls with the app started alongside. To initiate the call we use a Zoom Apps SDK function:  
` await zoomSdk.launchAppInMeeting({ joinURL: joinUrl })`

I am wondering if we can pass any params besides Zoom’s meeting link passed within the `joinUrl` variable? I would like to pass our own meeting ID to the app so it could pull the right metadata from our app’s backend.

Thank you,  
Alex

---

<div class="post-metadata">

**Author:** ![biinster](https://avatars.discourse-cdn.com/v4/letter/b/bc8723/32.png) [@biinster](https://devforum.zoom.us/u/biinster)\
**Post date:** [April 5, 2023, 4:30am UTC](https://devforum.zoom.us/t/pass-params-when-calling-launchappinmeeting/85864/2 "2023-04-05T04:30:48Z")

</div>

This isn’t really answering your question, but you could pass any data to the app in meeting with `postMessage()` after configuring zoomSdk and connecting the meeting and the main client instances. For example, like this:

```auto
const YOUR_DATA_IN_MAIN_CLIENT = {};
let YOUR_DATA_IN_MEETING;

zoomSdk.config({
  capabilities: [
    "connect",
    "onConnect",
    "postMessage",
    "onMessage",
  ],
  version: "0.16.11",
})
  .then(({ runningContext }) => {

    // Be ready to send the data from the main client
    if (runningContext === "inMainClient") {
      const sendData = () => {
        zoomSdk.removeEventListener("onMessage", sendData);
        zoomSdk.postMessage(YOUR_DATA_IN_MAIN_CLIENT);
      }
      zoomSdk.addEventListener("onMessage", sendData);
    }

    // On the inMeeting side:
    if (runningContext === "inMeeting") {
      // Once connected:
      const connectHandler = () => {
        zoomSdk.removeEventListener("onConnect", connectHandler);
        // Store the data
        const storeData = msg => {
          zoomSdk.removeEventListener("onMessage", storeData);
          YOUR_DATA_IN_MEETING = msg.payload;
        }
        // Listen for message from the main client and be ready to store the data
        zoomSdk.addEventListener("onMessage", storeData);
        zoomSdk.postMessage({});
      }
      // Listen for and start connection
      zoomSdk.addEventListener("onConnect", connectHandler)
      zoomSdk.connect();
    }
  })

  .catch(err => console.error(err));

```

Disclaimer: this is very crude, untested and assumes a bunch of things, but should illutstrate the point.
