Skip to main content
Bar renders the dialer inside a container you provide. It adapts to the available width and creates no floating launcher — use it when your layout already has a dedicated place for calling, like a toolbar, a sidebar, or a contact record panel.

CDN

npm

The container

container is required and accepts:
The element must exist when createBar() runs — the SDK throws otherwise. In a framework, create the controller after the container has rendered.
Bar accepts every common option. The Floating-only options (side, defaultOpen, rememberOpen) do not apply.

Controller methods

Bar has no open(), close(), toggle() or startCall() — it is always visible, and calls start from the rendered controls. To place a call programmatically, go through the headless instance:

Follow the selected record

See CRM contacts for how contactId and externalContactId differ.

Layout notes

The bar sizes itself to the container. Make sure your layout does not collapse it:
If the bar does not appear, a zero-width or zero-height container is the usual cause. See Troubleshooting.

Clean up

Sharing one engine between surfaces

If you render both a Floating panel and a Bar, pass the same headless instance so they share one session and one active call:
Destroy the shared dialer only after every consumer is done with it.

Next steps

Headless

Build the UI yourself

Theming

Blend the bar into your design system