Hi @yj.johnrhee
I spun up a little demo app to demonstrate the connection piece and how to put the information in a popup. You can check out the editor here, and below is a rundown of the critical parts. Feel free to let me know if you have any other questions!
Basic Structure
This demo has two main pages: an index page for generating a connection and a room page for accessing the video via a direct link.
When someone visits the index page and is not a teacher, they see a connect button. Once they click the connect button, it sends a request for a video call to the teacher, which the teacher will see once they visit the index page. When the teacher selects the accept button, it will open up a popup where both users can start a call. There is only one teacher in this demo, but happy to jam on how you would execute this with multiple teachers/students.

Setting up the “student/not teacher” role
In the demo, a student is defined as anyone who visits the index page whose user’s role isn’t a teacher. Students will see a connect button that will initiate a request to the teacher. There’s some conditional logic on the connect button to make that happen (screenshotted below).
It’s always visible to anyone who isn’t a teacher that visits the page, and it’s only visible to a teacher once they have a pending request to accept.
When the student selects connect, it starts a workflow to create a “connection request” action. A connection request is the data type I’m using to store the video chat URL and whether the request is pending (ie not yet accepted by the teacher and displays that data in the popup.
Anytime a request is pending, it triggers an alert for the teacher, and the accept button becomes visible to the teacher.
Once the teacher accepts, a popup will appear for both the teacher and the student, which will enable them to see the video chat link or enter the room directly.
Setting up the teacher role
On the teacher’s end, when they visit the index page, they will see the accept button when they have a pending video call request to accept.
When a teacher accepts the request, it kicks off a workflow to create the room with the “Daily - create room” action. Then it will make changes to the connection request. Since there is just one teacher in my example, I chose the most recently created request. The last step here is to display the data in the popup.
Triggering the popup to show
In the demo, there is a “Do when” workflow action to show the popup when its URL is not empty, which will happen after a teacher accepts a video request.
Setting up the popup
The popup’s data is set to a “connection request,” which again is the data type housing the video URL information.
The group (optional) with all my text elements and buttons is also set to the “connection request” data type with the “parent groups connection request” as the source (the parent group, in this case, is the popup).
When the button enter room is clicked, it starts a workflow to hide the popup and then join the room with the “Daily - join a room” action.
Setting up a separate room page
If you want to have a direct link to your video call, you’ll create a page called “room” and set the page’s data type to “connection request” (or whichever data type you’re using to store your video information).
I then have one action on the room page when the “page is loaded” to join that room.