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

# web_channel

# `web_channel` — web\_channel

**Section key** `web_channel` · **Shape** object · **Tier** All plans

## Fields

| Field              | Required | Type    | Allowed values / constraints                                                           | Default   | Description                                                                                                                                                                                                                                                                                                                                                         |
| ------------------ | -------- | ------- | -------------------------------------------------------------------------------------- | --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `budgetCapCredits` | no       | integer | —                                                                                      | —         | Web-channel spend cap in credits (sum of credits\_deducted across customer-facing web chats for the current budgetPeriod window). 0 = no cap.                                                                                                                                                                                                                       |
| `budgetPeriod`     | no       | enum    | one of `daily`, `weekly`, `monthly`                                                    | —         | Window the budgetCapCredits cap is measured over: daily = UTC calendar day, weekly = Monday–Sunday (UTC), monthly = calendar month (UTC). On exceed, the web chat auto-pauses until the end of that window.                                                                                                                                                         |
| `disabledUntilTs`  | no       | integer | —                                                                                      | —         | Unix timestamp (ms) until which the web chat is disabled. Server-managed; clients can clear it (set to 0) but cannot extend it.                                                                                                                                                                                                                                     |
| `page_background`  | no       | object  | —                                                                                      | —         | Page-canvas background for the public web chat pages, per colour scheme. Each mode is a solid colour (`from` only) or a two-stop linear gradient (`from`+`to`+`angle`). Injected as a body background \<style> (validated hexes only); unset modes keep the platform default. Normalized by \$lib/shared/web-page-settings.ts. Item fields below.                   |
| `theme_mode`       | no       | enum    | one of `auto`, `light`, `dark`                                                         | `auto`    | Colour scheme of the public web chat pages. 'auto' = the visitor's own choice (theme toggle shown). 'light'/'dark' = brand-locked: the page always renders in that scheme, the toggle is hidden, and the visitor's own site-wide preference is left untouched.                                                                                                      |
| `seo`              | no       | object  | —                                                                                      | —         | SEO / social-sharing tags rendered into the public chat pages' \<head> (server-side, so crawlers and link unfurlers see them). All optional; blanks fall back to the page defaults. Item fields below.                                                                                                                                                              |
| `chrome`           | no       | object  | —                                                                                      | —         | Visibility of the public page's chrome. Hiding the header removes the top bar (logo/name/auth/theme toggle — pair with a locked theme\_mode); hiding the footer removes the legal/contact strip; hiding the usage bar removes the logged-in visitor's daily token readout. Item fields below.                                                                       |
| `greeting`         | no       | string  | max len 500                                                                            | —         | Owner-written welcome shown as an agent chat bubble on the page's landing state (before the visitor sends anything). Pure presentation — never sent to the LLM and not part of the conversation.                                                                                                                                                                    |
| `availability`     | no       | object  | —                                                                                      | —         | Opening-hours schedule for the web chat. mode 'always' = no schedule. 'scheduled' = outside the weekly hours (interpreted in `timezone`) the chat endpoints reject sends with `closed_message` and the page shows a closed banner — same pause machinery as the spend cap. A day's close \< open spans midnight; open == close counts as closed. Item fields below. |
| `font_id`          | no       | enum    | one of `default`, `inter`, `transitional`, `old-style`, `geometric`, `rounded`, `mono` | `default` | Typography preset for the public chat pages — curated system-font stacks (no webfont downloads), applied to the whole page. See WEB\_FONTS in \$lib/shared/web-page-settings.ts.                                                                                                                                                                                    |

### `page_background` fields

Page-canvas background for the public web chat pages, per colour scheme. Each mode is a solid colour (`from` only) or a two-stop linear gradient (`from`+`to`+`angle`). Injected as a body background \<style> (validated hexes only); unset modes keep the platform default. Normalized by \$lib/shared/web-page-settings.ts.

| Field   | Required | Type   | Allowed values / constraints | Default | Description                                                                                                            |
| ------- | -------- | ------ | ---------------------------- | ------- | ---------------------------------------------------------------------------------------------------------------------- |
| `light` | no       | object | —                            | —       | Solid colour (`from` only) or two-stop linear gradient (`from`+`to`, `angle` degrees, default 180). Item fields below. |
| `dark`  | no       | object | —                            | —       | Solid colour (`from` only) or two-stop linear gradient (`from`+`to`, `angle` degrees, default 180). Item fields below. |

### `seo` fields

SEO / social-sharing tags rendered into the public chat pages' \<head> (server-side, so crawlers and link unfurlers see them). All optional; blanks fall back to the page defaults.

| Field         | Required | Type   | Allowed values / constraints | Default                       | Description                                                 |                                                                                                                                     |
| ------------- | -------- | ------ | ---------------------------- | ----------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------- |
| `title`       | no       | string | max len 70                   | —                             | Page \<title> and og:title. Blank = the agent display name. |                                                                                                                                     |
| `description` | no       | string | max len 200                  | —                             | Meta description, og:description and twitter:description.   |                                                                                                                                     |
| `image_url`   | no       | string | pattern \`^(https?://.+      | /\[^/].\*)?\$\`; max len 2048 | —                                                           | og:image / twitter:image — https URL or a site-relative path (e.g. an uploaded page image's /agent/\{name}/page-image/\{file} URL). |

### `chrome` fields

Visibility of the public page's chrome. Hiding the header removes the top bar (logo/name/auth/theme toggle — pair with a locked theme\_mode); hiding the footer removes the legal/contact strip; hiding the usage bar removes the logged-in visitor's daily token readout.

| Field            | Required | Type    | Allowed values / constraints | Default | Description |
| ---------------- | -------- | ------- | ---------------------------- | ------- | ----------- |
| `hide_header`    | no       | boolean | —                            | `false` |             |
| `hide_footer`    | no       | boolean | —                            | `false` |             |
| `hide_usage_bar` | no       | boolean | —                            | `false` |             |

### `availability` fields

Opening-hours schedule for the web chat. mode 'always' = no schedule. 'scheduled' = outside the weekly hours (interpreted in `timezone`) the chat endpoints reject sends with `closed_message` and the page shows a closed banner — same pause machinery as the spend cap. A day's close \< open spans midnight; open == close counts as closed.

| Field            | Required | Type   | Allowed values / constraints | Default  | Description                                                                                        |
| ---------------- | -------- | ------ | ---------------------------- | -------- | -------------------------------------------------------------------------------------------------- |
| `mode`           | no       | enum   | one of `always`, `scheduled` | `always` |                                                                                                    |
| `timezone`       | no       | string | max len 64                   | —        | IANA timezone id the hours are interpreted in (e.g. Europe/Warsaw).                                |
| `hours`          | no       | object | —                            | —        | Item fields below.                                                                                 |
| `closed_message` | no       | string | max len 300                  | —        | Shown to visitors while the chat is closed. Blank = a generic 'outside our opening hours' message. |

### `page_background.light` fields

Solid colour (`from` only) or two-stop linear gradient (`from`+`to`, `angle` degrees, default 180).

| Field   | Required | Type   | Allowed values / constraints     | Default         | Description          |   |   |
| ------- | -------- | ------ | -------------------------------- | --------------- | -------------------- | - | - |
| `from`  | **yes**  | string | pattern \`^#(?:\[0-9a-fA-F]{3,4} | \[0-9a-fA-F]{6} | \[0-9a-fA-F]{8})\$\` | — |   |
| `to`    | no       | string | pattern \`^#(?:\[0-9a-fA-F]{3,4} | \[0-9a-fA-F]{6} | \[0-9a-fA-F]{8})\$\` | — |   |
| `angle` | no       | number | min 0; max 360                   | —               |                      |   |   |

### `page_background.dark` fields

Solid colour (`from` only) or two-stop linear gradient (`from`+`to`, `angle` degrees, default 180).

| Field   | Required | Type   | Allowed values / constraints     | Default         | Description          |   |   |
| ------- | -------- | ------ | -------------------------------- | --------------- | -------------------- | - | - |
| `from`  | **yes**  | string | pattern \`^#(?:\[0-9a-fA-F]{3,4} | \[0-9a-fA-F]{6} | \[0-9a-fA-F]{8})\$\` | — |   |
| `to`    | no       | string | pattern \`^#(?:\[0-9a-fA-F]{3,4} | \[0-9a-fA-F]{6} | \[0-9a-fA-F]{8})\$\` | — |   |
| `angle` | no       | number | min 0; max 360                   | —               |                      |   |   |

### `availability.hours` fields

| Field | Required | Type   | Allowed values / constraints | Default | Description                                                                                                               |
| ----- | -------- | ------ | ---------------------------- | ------- | ------------------------------------------------------------------------------------------------------------------------- |
| `mon` | no       | object | —                            | —       | One weekday's opening window, 24h HH:MM. close \< open spans midnight; open == close counts as closed. Item fields below. |
| `tue` | no       | object | —                            | —       | One weekday's opening window, 24h HH:MM. close \< open spans midnight; open == close counts as closed. Item fields below. |
| `wed` | no       | object | —                            | —       | One weekday's opening window, 24h HH:MM. close \< open spans midnight; open == close counts as closed. Item fields below. |
| `thu` | no       | object | —                            | —       | One weekday's opening window, 24h HH:MM. close \< open spans midnight; open == close counts as closed. Item fields below. |
| `fri` | no       | object | —                            | —       | One weekday's opening window, 24h HH:MM. close \< open spans midnight; open == close counts as closed. Item fields below. |
| `sat` | no       | object | —                            | —       | One weekday's opening window, 24h HH:MM. close \< open spans midnight; open == close counts as closed. Item fields below. |
| `sun` | no       | object | —                            | —       | One weekday's opening window, 24h HH:MM. close \< open spans midnight; open == close counts as closed. Item fields below. |

### `availability.hours.mon` fields

One weekday's opening window, 24h HH:MM. close \< open spans midnight; open == close counts as closed.

| Field    | Required | Type    | Allowed values / constraints | Default               | Description |   |
| -------- | -------- | ------- | ---------------------------- | --------------------- | ----------- | - |
| `closed` | no       | boolean | —                            | `false`               |             |   |
| `open`   | no       | string  | pattern \`^(\[01]\d          | 2\[0-3]):\[0-5]\d\$\` | —           |   |
| `close`  | no       | string  | pattern \`^(\[01]\d          | 2\[0-3]):\[0-5]\d\$\` | —           |   |

### `availability.hours.tue` fields

One weekday's opening window, 24h HH:MM. close \< open spans midnight; open == close counts as closed.

| Field    | Required | Type    | Allowed values / constraints | Default               | Description |   |
| -------- | -------- | ------- | ---------------------------- | --------------------- | ----------- | - |
| `closed` | no       | boolean | —                            | `false`               |             |   |
| `open`   | no       | string  | pattern \`^(\[01]\d          | 2\[0-3]):\[0-5]\d\$\` | —           |   |
| `close`  | no       | string  | pattern \`^(\[01]\d          | 2\[0-3]):\[0-5]\d\$\` | —           |   |

### `availability.hours.wed` fields

One weekday's opening window, 24h HH:MM. close \< open spans midnight; open == close counts as closed.

| Field    | Required | Type    | Allowed values / constraints | Default               | Description |   |
| -------- | -------- | ------- | ---------------------------- | --------------------- | ----------- | - |
| `closed` | no       | boolean | —                            | `false`               |             |   |
| `open`   | no       | string  | pattern \`^(\[01]\d          | 2\[0-3]):\[0-5]\d\$\` | —           |   |
| `close`  | no       | string  | pattern \`^(\[01]\d          | 2\[0-3]):\[0-5]\d\$\` | —           |   |

### `availability.hours.thu` fields

One weekday's opening window, 24h HH:MM. close \< open spans midnight; open == close counts as closed.

| Field    | Required | Type    | Allowed values / constraints | Default               | Description |   |
| -------- | -------- | ------- | ---------------------------- | --------------------- | ----------- | - |
| `closed` | no       | boolean | —                            | `false`               |             |   |
| `open`   | no       | string  | pattern \`^(\[01]\d          | 2\[0-3]):\[0-5]\d\$\` | —           |   |
| `close`  | no       | string  | pattern \`^(\[01]\d          | 2\[0-3]):\[0-5]\d\$\` | —           |   |

### `availability.hours.fri` fields

One weekday's opening window, 24h HH:MM. close \< open spans midnight; open == close counts as closed.

| Field    | Required | Type    | Allowed values / constraints | Default               | Description |   |
| -------- | -------- | ------- | ---------------------------- | --------------------- | ----------- | - |
| `closed` | no       | boolean | —                            | `false`               |             |   |
| `open`   | no       | string  | pattern \`^(\[01]\d          | 2\[0-3]):\[0-5]\d\$\` | —           |   |
| `close`  | no       | string  | pattern \`^(\[01]\d          | 2\[0-3]):\[0-5]\d\$\` | —           |   |

### `availability.hours.sat` fields

One weekday's opening window, 24h HH:MM. close \< open spans midnight; open == close counts as closed.

| Field    | Required | Type    | Allowed values / constraints | Default               | Description |   |
| -------- | -------- | ------- | ---------------------------- | --------------------- | ----------- | - |
| `closed` | no       | boolean | —                            | `false`               |             |   |
| `open`   | no       | string  | pattern \`^(\[01]\d          | 2\[0-3]):\[0-5]\d\$\` | —           |   |
| `close`  | no       | string  | pattern \`^(\[01]\d          | 2\[0-3]):\[0-5]\d\$\` | —           |   |

### `availability.hours.sun` fields

One weekday's opening window, 24h HH:MM. close \< open spans midnight; open == close counts as closed.

| Field    | Required | Type    | Allowed values / constraints | Default               | Description |   |
| -------- | -------- | ------- | ---------------------------- | --------------------- | ----------- | - |
| `closed` | no       | boolean | —                            | `false`               |             |   |
| `open`   | no       | string  | pattern \`^(\[01]\d          | 2\[0-3]):\[0-5]\d\$\` | —           |   |
| `close`  | no       | string  | pattern \`^(\[01]\d          | 2\[0-3]):\[0-5]\d\$\` | —           |   |
