Multiple user roles

Shammy Member

We have the need to have 3 different user types in our meetings.

1 - owner or host - full access to start a meeting, start/end recording, admit and remove people, end meeting, share audio/video/screen.

2 - panelist - join meeting through the waiting room, share audio, video, screenshare

3 - observer/hidden - join meeting through the waiting room, not have video/audio/screenshare options

The basic premise is that of a fireside chat where owner + panelist will chat and observers will attend and watch - but cannot participate.

We have been able to set this up using tokens where owners and panelits can join with their own links and observers stay hidden, but the challenge is that we dont want panelists to have the same level access as owners.

Any thoughts/help/pointing in the right direction would be appreciated.


  • daily_joey
    daily_joey Moderator, Dailynista admin

    Hi @Shammy !

    To control what a user is permitted to do during a session, you can supply a permissions object as part of their meeting token. This can also be updated during a session by session owners using the updateParticipant() method.

    The permissions API functions separately from our "owner-only broadcast" feature, and allows you to control whether they are allowed to send audio or video tracks, for example:

    • hosts would join as meeting owners with full send permissions, moderation, and recording controls
    • panelists would join as non-owners with full send permissions
    • observers would join as non-owners with no send permissions

    Would that work for your use case?

  • Shammy

    This might just do the trick. We will work on this on our end and share back. Thank you so much!

  • Shammy

    A follow up question. One of the features we want to implement is that we want 2 separate chats.

    1 - between observers and hosts/owners so that they can ask questions, but not bombard the attendees directly

    2 - between attendees and hosts/owners so that they can have a line of communication between them that works in tandem with the live conversations.

    hosts can see both chats, but the others can only see chats that they are allowed to.

    Any thoughts on this?

  • daily_joey
    daily_joey Moderator, Dailynista admin

    We don't offer this currently, but it can be added to a custom UI!

    The built-in text chat that is part of Daily Prebuilt utilizes our sendAppMessage() method to distribute chat messages between participants. An example for how to build this is here:

    For separating chat messages into distinct "conversations", you can add some logic to direct the messages to specific participants, based on a user's input.

  • Shammy

    To follow up on this...

    We have gone down the path of using the Daily Prebuilt UI to add multiple users as you explained above with tokens and permissions and this has worked really well.

    For the chat, I was wondering if we could use an external chat like Comet or TalkJS. For this, would it be possible to add a custom button to the Daily Prebuilt UI - actually 2, buttons depending on who the users are

    Button 1 - for owners + panelists

    Button 2 - for owners + observers

    I was told by my developer that we would have to redo all our work to use the custom UI instead of the Rest APIs and I'd rather not lose all the work completed.

    thank you!

  • chad
    chad Community Manager, Moderator, Dailynista admin

    Good news... your developer wasn't wrong, but they will be soon! :) We have a new feature coming really soon that will make it possible to put custom chat (and lots of other things) in the Prebuilt sidebar. So you'll be able to add third-party chat directly into Prebuilt without having to build an entire call UI yourself. :)

    That feature also includes the ability to add custom toolbar buttons to open those custom integrations. You'll be able to control who sees what button based on however you're keeping track of owners, panelists, and observers.

    We're hoping this will be out within the next few weeks. We'll try to keep you posted here too. :)