Welcome to the new Daily Docs. Please let us know what you think.

DailyIframe properties

Configure the DailyIframe

You can pass a properties object that configures the DailyIframe to any of the factory methods. (You can also set these properties when you call the load() or join() methods).

More sample code

See how we used configuration properties in our fullscreen Daily Prebuilt demo app.

Daily Prebuilt only properties

* after a property indicates that it's only supported when embedding Daily Prebuilt.

Properties

url
string

Optional as a DailyIframe property if a url is passed to the join() method. Otherwise, required.

token
string

Optional meeting token

(Used with the join() method).

lang*
string

Optional: the default language of Daily Prebuilt

Currently suppported languages are:

  • "de": German

  • "en": English

  • "fi": Finnish

  • "fr": French

  • "nl": Dutch

  • "pt": Portuguese

  • "pl": Polish

  • "sv": Swedish

  • "es": Spanish

  • "tr": Turkish

  • "it": Italian

  • "ka": Georgian

  • "jp": Japanese

  • "no": Norwegian

  • "user": Uses the browser's current language setting (defaults to English if the language is not one of the above supported language)

showLeaveButton*
boolean

Optional

Defaults to false

showFullscreenButton*
boolean

Optional

Defaults to false

iframeStyle*
object

Optional: Used only by createFrame()

Example object:

theme*
object

Allows theme color customization, on either a global, or per sub-theme, basis (light and dark).

See setTheme() for detailed options.

customLayout*
boolean

Optional: Whether to use a custom in-call UI

Default: false

cssFile*
string

Optional: if customLayout is true, an external css stylesheet to load

cssText*
string

Optional: if customLayout is true, an external css text to load

bodyClass*
string

Optional: if customLayout is true, class attributes to apply to the iframe body element

experimentalChromeVideoMuteLightOff
boolean

⚠️ This configuration property only applies when building on top of the Daily call object.

Optional: Setting to true will disable hardware video light when participant camera is disabled.

Default: false

userName
string

Optional: Sets the participant's userName

⚠️ Must be passed on join(). Can't be passed in any of the factory methods.

⚠️ subscribeToTracksAutomatically
boolean

Optional: Receive all audio, video, and screen tracks from all call participants

Default: true

⚠️This configuration property is not supported when using Daily PrebuiIt.

It only applies to the previous prebuilt video chat UI or when building with the Daily call object. It also only works over an sfu network connection type.

Setting to false means no tracks will be received until they are explicitly subscribed to. Read more in our beta docs or on our blog.

audioSource
boolean or MediaStreamTrack object

Optional: set the audio track, device, or initial state for the call.

Default: true

Pass false only if the participant's audio should remain muted the entire call.

Pass a device ID string (like you get back from enumerateDevices() to specify what audio input device to use.

Or pass a MediaStreamTrack object to use that audio/video track directly. If you pass a MediaStreamTrack, you're responsible for managing the lifecycle of that track. If you pass a Device ID string, the Daily API will manage the media track for that device.

videoSource
boolean or MediaStreamTrack object

Optional: set the video track, device, or initial state for the call.

Default: true

Pass false only if the participant's video should remain muted the entire call.

Pass a device ID string (like you get back from enumerateDevices()) to specify what video input device to use.

Or pass a MediaStreamTrack object to use that audio/video track directly. If you pass a MediaStreamTrack, you're responsible for managing the lifecycle of that track. If you pass a Device ID string, the Daily API will manage the media track for that device.

reactNativeConfig
object
showLocalVideo*
boolean

Optional: Display the video of the local call participant in Daily Prebuilt.

Default: true

Useful for webinar-style applications.

showParticipantsBar*
boolean

Optional: When somebody is screen sharing, display other participants' videos in a bar at the bottom of Daily Prebuilt.

Default: true

Useful for webinar-style applications.

activeSpeakerMode*
boolean

Optional: Specifies whether to start the Daily Prebuilt call in active speaker mode. Defaults to true, but can be set to false to start the call in grid mode instead.

Default: true

layoutConfig*
object

Optional: Takes an object of the form: {grid: { minTilesPerPage: [number], maxTilesPerPage: [number] }}, which specifies how the grid of video tiles behave when the browser is resized when the call is in grid mode.

Default:

maxTilesPerPage defaults to 25, with a limit of 49*.

minTilesPerPage defaults to 1, with a minimum of 1.

*If you need more than 49 max tiles, please contact us.

receiveSettings
object

Optional: Takes a media receive settings object (see updateReceiveSettings() for details). Specifies the receive settings to use right away upon joining the call.