> For the full page index, fetch https://echonova.ai/llms.txt

# Working hours

Set an agent's time zone and answering window on the Settings tab, and know which control stops an agent answering.

Every agent carries a time zone and an answering window. You set both on the
**Settings** tab, and every conversation the agent starts carries the values
saved there. Working hours record when you intend an agent to be available;
they do not stop an agent answering outside the window today. To stop an agent
answering, disconnect its channels or bind them to another agent.

## What you need

- An agent that is not archived. Both controls are disabled while the agent is
  archived. See [Agent status](/docs/agents/agent-status).

## Steps

### Step 1: Open the Settings tab

Open the agent and select **Settings**. The tab holds two things: **Time Zone**
and **Set Working Hours**.

### Step 2: Choose the time zone

Press the **Time Zone** field. It opens with a short list, led by your own time
zone and then **Cairo**, **Riyadh**, **Dubai**, **Kuwait**, **Doha**,
**Muscat**, **Beirut**, **Damascus**, **Khartoum**, **Tripoli**, **London** and
**UTC**, followed by the wider zones. Searching reaches every zone, by city name
or by its IANA name.

The saved value is the IANA name, such as `Africa/Cairo`. A new agent starts on
`UTC`.

### Step 3: Turn the window on

**Set Working Hours** is a switch, with the state beside it reading **Off** or
**On**. A new agent starts **Off**, which means the agent has no schedule at
all.

Turning it **On** reveals the two time fields. Turning it back **Off** hides
them and keeps whatever times you had set.

### Step 4: Pick the start and end times

**Working Hours Start Time** and **Working Hours End Time** are dropdowns
offering every half hour of the day, labelled in your portal language. A new
agent starts on 09:00 to 17:00.

You may set an end time that is at or before the start time. That is a window
that runs overnight, and the portal says so in a note under the fields: the
agent answers from the start time until the end time the next day.

## Get it right

The window records your intent. To have the agent behave differently outside
it, put the hours and the out-of-hours behaviour in its instructions; the agent
follows its instructions on every turn.

**Recommended**

```text
Our support hours are 09:00 to 17:00, Cairo time. Outside those hours, say that
we are closed, tell the caller when we reopen, and offer to take a message.
```

**Less effective**

```text
Only answer during working hours.
```

A conversation outside the window is still answered and still charged. The
instructions change what the agent says, not whether it answers. See
[How the prompt is assembled](/docs/agents/prompting-guide).

## What happens next

There is no save button on this tab. Each change saves as you make it, with no
toast. A change applies to the next conversation the agent starts; a
conversation already running keeps the values it started with.

## What happens outside the window

The agent answers outside its window exactly as it does inside it, on every
channel. At three in the morning on an agent whose window is 09:00 to 17:00:

| What happens                                  | Outside the window                      |
| --------------------------------------------- | --------------------------------------- |
| A WhatsApp or Slack message arrives           | The agent answers it                    |
| A call arrives on a connected number          | The agent takes it                      |
| You press **Test** in the portal              | The session starts                      |
| The conversation on the **Conversations** tab | Looks the same as one inside the window |

> [!WARNING]
> Conversations outside the window are charged per turn at the normal rates.

To stop an agent answering, disconnect its channels or bind them to another
agent. Pausing the agent stops the sessions you start from the portal and
leaves connected channels running. See [Agent status](/docs/agents/agent-status).

When you [build an agent with AI](/docs/agents/build-with-ai), the agent is
created with the window off and the default times, whatever hours the design
proposed. Set the schedule yourself.

## Limits

| Limit                             | Value                                                                               | Applies to                                                             |
| --------------------------------- | ----------------------------------------------------------------------------------- | ---------------------------------------------------------------------- |
| Time zone                         | Any IANA time zone name                                                             | `settings.timeZone`                                                    |
| Time zone default                 | `UTC`                                                                               | A new agent                                                            |
| Start and end times               | Whole minutes past local midnight, 0 to 1439                                        | `settings.workingHours.startMinute`, `settings.workingHours.endMinute` |
| Granularity offered in the portal | 30 minutes                                                                          | The two dropdowns                                                      |
| Window default                    | Off, 540 to 1020, which is 09:00 to 17:00                                           | A new agent                                                            |
| End before start                  | Allowed. It reads as an overnight window                                            | `endMinute`                                                            |
| Days                              | One window, applied to every day of the week, with no per-day or holiday exceptions | `settings.workingHours`                                                |

## Troubleshooting

### My agent answered outside its hours

The window records when you intend the agent to be available; it does not stop
the agent answering. To stop it, disconnect the channel or bind it to another
agent. To have the agent say it is closed, put the hours in its instructions as
shown under [Get it right](/docs/agents/working-hours#get-it-right).

### The overnight note appeared and I did not expect it

The end time is at or before the start time, so the window wraps past midnight.
If you meant a same-day window, set an end time later than the start time.

### The controls are greyed out

The agent is archived. Restore it from the header first.

### The time fields disappeared

**Set Working Hours** is **Off**. The window only exists when the switch is on,
so the fields are hidden rather than shown disabled. Your times are kept.

### timeZone must be a valid IANA time zone, e.g. "UTC" or "Africa/Cairo"

The API was sent a name that is not an IANA time zone. Send one such as
`Asia/Riyadh`. The portal's own list offers valid names only.

### A time zone I want is not in the short list

Type its name. The short list is the first dozen or so entries; the search
covers every zone, by city or by IANA name.

## FAQ

### Does turning working hours off change anything?

It hides the two time fields and keeps the times you set. The agent answers the
same way with the switch on or off.

### Can I set different hours per channel?

No. The window is a property of the agent, and every channel it serves carries
the same one.

### Can I set different hours per day?

No. There is one window, one start and one end, applied to every day.

### What does the time zone affect?

The start and end times are read in that time zone. It does not set the clock
the agent refers to in conversation; to have the agent state times in a zone,
put the zone in its instructions.

### Will an out of hours conversation cost credits?

Yes, exactly as an in hours one would. Credits are charged per turn regardless
of the window.

### Where can I see when my agent was actually busy?

On the agent's Conversations tab, where every conversation carries the date and
time it started.

## Related

- [Agent status](/docs/agents/agent-status): what pausing stops, and what it leaves running
- [What a turn costs](/docs/agents/what-a-turn-costs): what an out of hours conversation is charged
- [Test your agent](/docs/agents/test-your-agent): a test session starts at any hour
- [How the prompt is assembled](/docs/agents/prompting-guide): where the out-of-hours wording goes
- [Build an agent with AI](/docs/agents/build-with-ai): why a designed agent starts with the window off
- [What is an agent](/docs/agents/what-is-an-agent): the agent the window belongs to
