# Customize the widget

> Set the chat's colour, position, launcher, theme and text, and choose which details visitors give before they chat.

All widget settings live in **Settings → Chat widget**. You don't need to change your snippet: saved changes reach visitors within about a minute, and visitors see them the next time a page loads.

## Appearance

Open **Settings → Chat widget → Appearance**. The preview next to the controls updates as you edit. Select **Save changes** when you're done.

| Setting | Options | Default |
|---|---|---|
| **Main color** | Ten presets (Pink, Red, Orange, Lime, Teal, Sky, Blue, Violet, Purple, Black) or a **Custom color** | Blue |
| **Chat position** | **Bottom right** or **Bottom left**. Pick the corner that keeps the launcher clear of your page's own controls. | Bottom right |
| **Launcher button** | **Bubble** (round chat button) or **Pill** (icon with label), set separately for **Desktop screen** and **Mobile screen** | Bubble |
| **Theme** | **Light**, **Dark** or **Auto**, which follows the visitor's display | Light |
| **Widget title** | Shown at the top of the chat window | "Chat" |
| **Greeting text** | The first message visitors see when the chat opens | "Hi there👋! How can we help you today?" |
| **Text area** | The placeholder in the message box when the chat opens | "Write your message here" |
| **Privacy policy URL** | A public HTTPS page. The **GDPR and privacy** option in the chat menu opens it. Leave it blank to use Giov's policy. | Blank |
| **GiovChat branding** | **Show Powered by GiovChat** in the chat window | On |
| **Voice input** | **Allow voice input** adds a microphone to the message box. Pro and up. | Off |

### Branding

The **Powered by GiovChat** footer is always shown on Starter and Pro. On Business and Advanced you can turn it off with **Show Powered by GiovChat**.

## Name and photo in the chat header

The header shows who is answering:

- GiovBot's name and avatar while GiovBot answers. See [GiovBot](/docs/giovbot).
- The teammate's name and photo once a person joins the conversation.
- Otherwise, the **Name on replies** and **Photo on replies** you set in the Company step of onboarding.

## Ask for visitor details before the chat

Open **Settings → Chat widget → Visitor details**. Under **Request user info before chat**, turn on the fields you want, then select **Save**:

- **First name**
- **Last name**
- **Email**
- **Phone**

When at least one field is on, visitors fill in a short form and select **Start chat** before their first message. Every field you turn on is required. The preview beside the settings shows the form as visitors see it.

When your page already passes visitor details through `window.GiovChatSettings`, the form only asks for the fields that are still missing, and it's skipped when every field you turned on was passed. For example, if you require **Email** and your page passes only a signed-in user's verified ID, the visitor is still asked for their email. See [Identify visitors](/docs/widget/identify-visitors).

## Attachments

By default, visitors can attach images (JPEG, PNG, GIF or WebP) of up to 10 MB each, and up to 5 files per message. When a published GiovBot agent answers your chat, that agent's attachment settings decide which file types and sizes are allowed. Giov checks every upload again on the server.

## Voice input

On Pro and up, turn on **Allow voice input** under **Settings → Chat widget → Appearance** and select **Save changes**. The message box then shows a microphone button.

1. The visitor selects the microphone. The browser asks for microphone access the first time.
2. While they speak, their words appear live above the message box, with a red dot, the time and a level meter.
3. Each finished sentence is added to the message box at the cursor, after anything they already typed.
4. They select the button again to stop, edit the text if needed, and send it themselves. Voice input never sends a message on its own.

Recording stops by itself at the time limit. If the connection drops, the words heard so far stay in the message box and the visitor can retry. When your workspace reaches its voice limit, the microphone is hidden until the page is reloaded.

Voice input needs a secure (HTTPS) page and a browser with microphone access. The microphone button is hidden where neither is available. If your site sends a Content Security Policy or a `Permissions-Policy` header, see [Content Security Policy](/docs/widget/csp#voice-input).

## Language

The widget's own labels, such as **Start chat** and the chat menu, are in English. The text you write in the dashboard (widget title, greeting, text area) is shown exactly as written, so write it in your visitors' language.

## Related settings

| Tab | What it's for |
|---|---|
| **Installation** | Snippets and your workspace ID. See [Install the chat widget](/docs/widget/install). |
| **Authorizations** | The websites allowed to show your chat. See [Approve your domain](/docs/widget/install#approve-your-domain). |
| **Visitor details** | The pre-chat form for anonymous visitors, and the details and signed user ID your app passes for signed-in users. See [Identify visitors](/docs/widget/identify-visitors). |
| **Push notifications** | Notifications to your mobile app's users. See [Mobile apps](/docs/mobile). |
