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

# Timezone

> Every assistant has an IANA timezone — it anchors the get_current_time tool, the time system variables, and the business-hours check; campaigns can override it per call

Every assistant carries a **timezone** — an IANA identifier such as `Europe/Berlin` or `America/New_York`, picked from a dropdown in the assistant settings. It defines what "now" means for the assistant, so *"tomorrow at 3 pm"* resolves to the caller's local tomorrow, not UTC.

The default is `Europe/Berlin`.

## What the timezone affects

| Consumer                           | Effect                                                                                                                                                                                                                                                      |
| ---------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **`get_current_time` system tool** | The always-on [system tool](/assistants/built-in-tools#system-tool-get_current_time) returns the current date and time localized to this timezone — used whenever the model resolves relative dates ("next Tuesday", "in two hours") or books appointments. |
| **Time system variables**          | `{{time}}`, `{{date}}`, `{{datetime}}`, and `{{weekday}}` (see [Variables](/assistants/variables)) are rendered in this timezone at call start.                                                                                                             |
| **Business-hours tool**            | The [`check_business_hours`](/assistants/built-in-tools#business-hours) built-in tool evaluates its weekly schedule in this timezone — "open" always means open *locally*.                                                                                  |

## Campaign override

Outbound [campaigns](/campaigns/overview) have their own timezone (used for calling windows). On a campaign call it **wins over the assistant's timezone** for that call:

```text theme={null}
effective timezone = campaign timezone (meta.timezone) ?? assistant timezone
```

So one assistant can serve campaigns in different regions and still tell each lead the correct local time. Calls without a campaign (inbound, single outbound calls, web) always use the assistant's timezone.

<Note>
  The timezone changes what the assistant *says and checks* about time — it does not shift call scheduling itself. Campaign calling windows are governed by the campaign's own timezone either way.
</Note>

## Setting it via API

`timezone` is a regular assistant field — set it in the editor, via `PATCH /api/v1/assistants/{id}`, or with the MCP `update_assistant` tool:

```bash theme={null}
curl -X PATCH https://app.famulor.de/api/v1/assistants/{id} \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "timezone": "Europe/Vienna" }'
```
