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

# Appearance And Hours

> Branding, the knowledge base, rich text, and telling visitors when you answer

Everything on this page is configuration, not flow design. None of it needs a
republish of the agent.

***

## Branding

Set on the widget itself:
[Widgets](https://callkaro.ai/dashboard/widgets) → your chat widget → **Edit**.

| Field              | Notes                                                                                                                                                |
| ------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Bot name**       | The name in the header. Falls back to the agent's name.                                                                                              |
| **Logo**           | Shown in the header, on the home screen, and **beside every message the bot sends**. Square images work best — anything else is cropped to a circle. |
| **Greeting**       | The line on the home screen above "Chat with us".                                                                                                    |
| **Primary colour** | Buttons, links, the visitor's own bubbles, the launcher.                                                                                             |
| **Position**       | `bottom-right` or `bottom-left`, for the website launcher.                                                                                           |
| **Languages**      | What the widget offers.                                                                                                                              |

The panel follows the device's light or dark setting on its own. On a dark
background the brand colour is used for borders and the page's own ink for
labels, so contrast holds whatever colour you pick.

<Note>
  If no logo is uploaded, the bot's initial stands in — a coloured circle with the
  first letter of the bot name. Nothing is ever blank.
</Note>

***

## The Knowledge Base

FAQs and articles the visitor can read **without starting a chat**. They appear
on the home screen and in their own tab.

Edited on the **chat agent** — its own **Knowledge base** tab, beside the flow
canvas — not on the account, and not the account-level knowledge base your voice
agents use. Full detail on [its own page](/widget/chat/knowledge-base).

***

## Rich Text In Messages And Buttons

Authored text supports a deliberate subset — not full Markdown:

| You write                                | They see             |
| ---------------------------------------- | -------------------- |
| `**bold**`                               | **bold**             |
| `*italic*` or `_italic_`                 | *italic*             |
| `[our pricing](https://you.com/pricing)` | a link               |
| `https://you.com/pricing`                | the bare URL, linked |
| `\*not italic\*`                         | a literal asterisk   |

This works in **message text and in button labels**, and it renders identically
in the widget and in the dashboard timeline.

Headings, lists and images are deliberately not supported — they have no place
in a chat bubble, and every construct here is one whose appearance an author can
predict.

<Warning>
  Values substituted from variables are escaped, so a visitor cannot make their own
  answer bold inside a message your account appears to have written. See
  [Variables](/widget/chat/variables#using-them).
</Warning>

***

## Business Hours

Set once for the account, in **your** timezone:
[Settings → Chat routing](https://callkaro.ai/dashboard/settings) — or the same
panel from the Widgets page.

|                           |                                                                           |
| ------------------------- | ------------------------------------------------------------------------- |
| **Enabled**               | Off means handoffs are accepted at any hour                               |
| **Timezone**              | IANA zone, e.g. `Asia/Kolkata`                                            |
| **Days**                  | One window per weekday, in 15-minute steps. A day switched off is closed. |
| **Outside-hours message** | What a visitor is told if they ask for a person while you are closed      |

Switching hours **on** with no days set would mean closed all week and every
handoff refused, so Monday to Friday, 09:00–18:00 is seeded for you. Change it
before you rely on it.

Whether you are open is computed **server-side**. Your hours are in your zone
and the visitor's device is in whatever zone they are in, with whatever clock
they have set — so the one thing the page must not do is work it out for itself.

<Note>
  **Holidays** are honoured by the runtime — a date listed as a holiday overrides
  that weekday's hours — but there is no control for them in the dashboard yet.
</Note>

### Telling The Visitor

A line at the top of the chat saying when you answer. You choose **when it
appears**; the times come from the hours above.

| Mode                         | Behaviour                                         |
| ---------------------------- | ------------------------------------------------- |
| **Only when you are closed** | The default. Nothing is shown while you are open. |
| **Always**                   | Shown whether you are open or not.                |
| **Never**                    | Nothing is ever shown, even while you are shut.   |

Leave the text empty and the widget's own wording is used, which already reads
correctly in every case. Write your own and two placeholders are available:

| Placeholder | Becomes                                |
| ----------- | -------------------------------------- |
| `{{hours}}` | `10:00 AM - 7:00 PM`                   |
| `{{day}}`   | `today`, `tomorrow`, or a weekday name |

```
Our team is offline right now. We're back {{day}}, {{hours}}.
Leave your message here and we'll reply then.
```

`{{day}}` exists because "10:00 AM - 7:00 PM" read at 9pm does not tell anyone
whether that means in an hour or the day after tomorrow.

<Note>
  If business hours are switched off, nothing is shown regardless of the mode —
  there are no hours to state.
</Note>

### A Note Above "Start A New Conversation"

A separate, optional line on the home screen. Empty by default, and empty
renders nothing. It is space your account may use — *"Average reply time under
5 minutes"*, *"Order queries need your order id"* — not a message invented for
you.

Deliberately separate from the hours notice: an account with no business hours
may still want to say something there, and an account showing its hours may not.

***

## What Happens Outside Hours

**Only handoffs are gated.** The flow itself answers at all hours, and a chat
already with a person is never cut off at closing time.

* Inside hours, with somebody available → the chat is assigned.
* Outside hours, or with nobody available → your ticket code runs, the visitor
  is told, and the conversation closes.

See [Raise a ticket](/widget/chat/ticket-fallback) and the full
[chat routing panel](/widget/chat/chat-routing).

***

## Next Steps

<CardGroup cols={2}>
  <Card title="Human handoff" icon="user-headset" href="/widget/chat/human-handoff">
    Availability, assignment, replying
  </Card>

  <Card title="Chat routing" icon="sliders" href="/widget/chat/chat-routing">
    Every field in the panel, in order
  </Card>
</CardGroup>
