# Voice Agent Call Settings: First Message, Hours, Timeouts

Decide how a voice call starts, when your agent is allowed to call, what happens when the caller goes quiet, and how long a call can last.

> Source: https://www.robylon.ai/docs/voice/call-settings
> Section: Voice

Call settings are in the voice agent builder: **First Message Mode** and **First Message Field** at the top, and **Calling Hour Config** and **Call Timeout Settings** in the right-hand column.

## How does the call start?

Choose a **First Message Mode**:

| Mode | What happens | Use it when |
| --- | --- | --- |
| **Assistant speaks first** | The agent opens with the exact text in **First Message Field**, as soon as the call connects. | You are calling out and want a fast, predictable opening. |
| **User speaks first** | The agent waits for the caller to speak, for example "Hello, who is this?". | You are answering inbound calls, or callers expect to speak first. |
| **Assistant speaks first with model generated message** | The agent writes its own opening from the prompt and the call's details. This is the default. | The opening needs to vary from call to call. Expect a few seconds of extra delay before the agent speaks. |

The first message can include variables from the call, for example:

```text
Hello, I'm calling from Acme about your recent order. Am I speaking with {customer_name}?
```

The values come from the call's user info. See [Triggering calls](https://www.robylon.ai/docs/voice/triggering-calls).

<Note>
If **First Message Field** is empty, the agent uses **Assistant speaks first with model generated message**, whatever mode is selected.
</Note>

## How do calling hours work?

Calling hours limit when a voice agent places calls started from a workflow. Pick a configuration under **Calling Hour Config**. Configurations are created in **Settings → Channels → Voice**, see [Voice settings](https://www.robylon.ai/docs/channels-connectors/voice-settings#what-is-a-calling-hours-configuration).

Each configuration sets:

- **Days and times:** for example Monday to Saturday, 9:00 AM to 6:00 PM.
- **Timezone mode:** **Fixed Timezone** uses one timezone for every call. **Customer's Local Timezone** uses each customer's local time. (Shown as **Fixed TZ** / **Customer TZ**.)

Then choose what happens to calls that fall outside those hours with **Queue call requests outside calling hours**:

- **On:** the call is moved to the start of the next calling window. This needs retries turned on in the workflow step, and retries only happen while this setting is on.
- **Off:** the call is skipped and not attempted later, and failed calls are not retried.

A call request that is still waiting for a retry 48 hours after it was created is cancelled.

<Note>
Calls started through the API do not use the agent's **Calling Hour Config**. The first dial goes out straight away, and the request's own `call_timing` window applies to retries. See [Triggering calls](https://www.robylon.ai/docs/voice/triggering-calls#how-do-retries-work).
</Note>

## What happens when the caller goes silent?

Robylon can remind the caller, and ends the call if the silence goes on too long. Set this under **Call Timeout Settings**.

| Setting | What it does | Range |
| --- | --- | --- |
| **Enable user silence setting** | Turns on a reminder when the caller stops talking. | On or off |
| **Silence speak message after** | Seconds of silence before the reminder. | 0 to 3600 seconds |
| **Should we speak during user silence** | **Contextual**: the agent writes a reminder that refers back to the conversation, following your instructions. **Fixed message**: the agent says your exact text. **Off**: no reminder. | |
| **Message to say during user inactivity** | The reminder text, or the instructions for a contextual reminder. | Text |
| **Silence Timeout** | Seconds of total silence before the call is ended, to free the line if the caller has gone. | 0 to 3600 seconds, default 60 |
| **Maximum Duration** | A hard limit on the length of the whole call, in seconds. | 0 to 3600 seconds, default 200 |

For example, with a 10 second delay and a fixed message, the agent asks "Hello, are you still there?" after 10 seconds of silence. With a 30 second silence timeout, it hangs up if the caller stays silent.

<Tip>
With **Contextual**, you can tell the agent what to do next, for example: "Politely ask if the customer is still on the call. If there is still no response, use the end call function."
</Tip>

<Note>
A value of 0 in **Silence Timeout** or **Maximum Duration** counts as not set, and the default is used instead. Set **Maximum Duration** above your longest expected call: the call is cut off when it is reached.
</Note>

## How do I pick the right timeout values?

- **Silence speak message after:** the default of 20 seconds gives callers time to think or look something up.
- **Silence Timeout:** longer than the reminder delay, so the agent always tries once before hanging up.
- **Maximum Duration:** a little above your longest normal call. Time a few test calls and add a margin.
