Commands & interactions
Activities (Embedded Apps)
Put your own web app inside voice rooms — games, whiteboards, watch parties.
An activity is a web page you host that people open together inside a voice room. Anyone who is a speaker in the room can start it from Activities; everyone in the room sees the same activity until it's ended. Only projects installed in that hub, with an activity URL, are offered.
Setting it up
- Project Settings → Listing → Activity URL (must be
https://). OrPATCH /applications/:idwithactivityUrl. - Your page must allow being framed by
https://voznest.com: sendContent-Security-Policy: frame-ancestors https://voznest.comand noX-Frame-Options: DENY.
The sandbox
The page runs in an iframe with sandbox="allow-scripts allow-same-origin allow-forms allow-pointer-lock allow-popups" (same-origin means your origin — never Voznest's) and allow="autoplay; fullscreen; gamepad". It receives no cookies, tokens or account data from Voznest; the referrer is not sent.
Talking to Voznest
<!-- Your activity page (served from your own https:// domain) --><script> // 1. Tell Voznest you're ready. window.parent.postMessage({ type: "quorvyn:ready" }, "https://voznest.com"); // 2. Receive a minimal context: who is playing and which room they're in. window.addEventListener("message", (e) => { if (e.origin !== "https://voznest.com" || e.data?.type !== "quorvyn:context") return; const { instanceId, user } = e.data; // instanceId = the voice room; user = { id, displayName } or null joinGame(instanceId, user); // e.g. open a websocket to YOUR backend for this room });</script>| Message | Direction | Payload |
|---|---|---|
quorvyn:ready | your page → Voznest | — |
quorvyn:context | Voznest → your page | instanceId (the voice room — same for everyone in it), user { id, displayName } |
Sync state between participants through your own backend, keyed by instanceId. Treat user as a hint for display — if you need a verified identity, add "Sign in with Voznest" (Access) inside the activity.
event.origin before trusting a message, and only post to https://voznest.com.