> ## Documentation Index
> Fetch the complete documentation index at: https://docs.daily.co/llms.txt
> Use this file to discover all available pages before exploring further.

# Daily.createCallObject()

> Creates a headless DailyCall instance for building fully custom call UIs with direct access to media tracks and WebRTC primitives.

`Daily.createCallObject({ properties })`

<Badge color="red">{"✗"} Prebuilt</Badge> <Badge color="green">{"✓"} Custom</Badge>

Creates a headless [`DailyCall`](/reference/daily-js/daily-call-client) instance. Daily manages WebRTC and media internally but renders no UI — use this when building a fully custom call interface with direct access to [`MediaStreamTrack`](https://developer.mozilla.org/en-US/docs/Web/API/MediaStreamTrack) objects and other WebRTC primitives.

## Parameters

<ParamField body="properties" type="DailyCallOptions">
  Optional configuration. If `url` is not set here, it must be provided when calling [`join()`](/reference/daily-js/instance-methods/join) or [`load()`](/reference/daily-js/instance-methods/load). See [`DailyCallOptions`](/reference/daily-js/types/daily-call-options) for the full list of options.
</ParamField>

## Return value

Returns a new [`DailyCall`](/reference/daily-js/daily-call-client) instance.

## Example

```javascript theme={null}
const call = Daily.createCallObject({
  url: 'https://your-domain.daily.co/room-name',
  subscribeToTracksAutomatically: false,
});

await call.join();
```

<DuplicateCallObjectCallout api="daily-js" method="Daily.createCallObject()" />

## See also

<CardGroup>
  <Card title="Types" icon="t" iconType="solid">
    * [DailyCallOptions](/reference/daily-js/types/daily-call-options)
  </Card>

  <Card title="Methods" icon="code" iconType="solid">
    * [Daily.createFrame()](/reference/daily-js/factory-methods/create-frame)
    * [join()](/reference/daily-js/instance-methods/join)
    * [leave()](/reference/daily-js/instance-methods/leave)
  </Card>

  <Card title="Guides" icon="book-open" iconType="solid">
    * [Call modes](/docs/daily-js/concepts/call-modes)
    * [Call configuration](/docs/daily-js/concepts/call-configuration)
  </Card>

  <Card title="Demos" icon="circle-play" iconType="solid">
    * [Code: call object React demo](https://github.com/daily-demos/call-object-react)
    * [Live demo: call object React](https://call-object-react.netlify.app/)
  </Card>
</CardGroup>
