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

# WebChat voice

> Let website visitors speak with a BoundBot agent in a live browser voice call.

WebChat voice lets a visitor speak with your bot from the website widget. The call runs in the browser and uses the visitor's microphone; it is not a telephone or PSTN call and does not provide a phone number.

## Before you start

You need:

* an active <a href="/docs/channels/webchat">WebChat channel</a>
* enough team credits to reserve the call
* a modern browser with microphone access
* an embed that grants microphone permission

BoundBot's generated embeds already grant the browser permissions needed for voice. If you maintain a custom iframe, preserve the generated `allow` attribute and make sure it includes microphone access.

## Configure the experience

<Steps>
  <Step title="Open WebChat">
    Go to <a href="https://www.boundbot.com/dashboard/settings/customize-widget" target="_blank" rel="noopener noreferrer"><b>Settings</b> → <b>Customize Widget</b></a> and select the WebChat channel.
  </Step>

  <Step title="Set an optional greeting">
    Open the **Chat** tab and add a **Voice greeting** if you want the bot to speak first when a call connects. Leave it blank when the bot should wait for the visitor.
  </Step>

  <Step title="Save and test">
    Open the widget, select the voice-call control, grant microphone access, and ask a question that uses your real product or knowledge data.
  </Step>
</Steps>

## What visitors can do

During a voice call, the bot can:

* answer naturally in the language the visitor is speaking
* look up products, prices, stock, and knowledge-base information
* find services and available time slots from <a href="/docs/sales/scheduling">native scheduling</a>
* prepare and confirm an appointment after the visitor gives explicit approval

The microphone pauses while the bot is speaking. Voice calls can run for up to five minutes, and their visitor and assistant transcripts are saved into the WebChat conversation for your team to review in <a href="/docs/guides/inbox">Inbox</a>.

<Note>
  Voice scheduling follows a confirmation boundary: the bot first reads back the service, time, timezone, and contact details. It books only after the visitor clearly confirms in a later turn.
</Note>

## Credits and call limits

Before the call starts, BoundBot reserves credits for the call's maximum duration at `10` credits per minute. With the current five-minute limit, a call reserves `50` credits. The widget will not start a call if the team does not have enough credits. If BoundBot cannot mint the one-use provider token, it returns the reservation automatically. Once a token has been issued, ending the call early does not release the reserved usage early.

Only one voice call can be active for a WebChat conversation at a time. A call also ends when it reaches the configured duration limit, the visitor ends it, or the connection cannot continue.

## Test an embedded widget

1. Load the real HTTPS page where the widget is installed.
2. Confirm the browser asks for microphone permission.
3. Start a call and wait for the **Listening** state.
4. Ask one general question and one question that requires product or knowledge lookup.
5. If scheduling is enabled, request a time and confirm that no booking is created before your explicit approval.
6. End the call and confirm both sides of the transcript appear in Inbox.

## Troubleshooting

**The voice control does not appear**

* Confirm the WebChat channel is active and voice is available for your environment.
* Reload the widget after saving the channel.

**Microphone access is blocked**

* Allow microphone access in the browser and operating-system settings.
* Confirm a custom iframe preserves the generated `allow` attribute and includes `microphone`.
* Test from HTTPS; browsers commonly restrict microphone capture on insecure pages.

**The call does not start**

* Check the team's credit balance.
* End another call already active in the same conversation.
* Retry after reloading if the connection token expired before the browser connected.

**The answer does not use current business data**

* Review the bot's instructions and <a href="/docs/guides/knowledge-base">knowledge sources</a>.
* Confirm products are saved with current prices and stock.
* For scheduling, publish the scheduling profile and service before testing.

## Related pages

<CardGroup cols={2}>
  <Card title="WebChat" icon="message-square" href="/docs/channels/webchat">
    Create the channel and manage origins, identity, UI, and the voice greeting.
  </Card>

  <Card title="Embed WebChat" icon="code" href="/docs/developers/embed-webchat">
    Install an iframe or script with the permissions voice needs.
  </Card>

  <Card title="Scheduling" icon="calendar-clock" href="/docs/sales/scheduling">
    Publish services and let text or voice visitors request appointments.
  </Card>

  <Card title="Inbox" icon="inbox" href="/docs/guides/inbox">
    Review the saved transcript and continue with a manual reply.
  </Card>
</CardGroup>
