Overrides
Allow a single call to replace the agent's language, greeting, prompt or voice
Overview
An override lets a single conversation replace part of the agent's configuration as the call starts. One Spanish-speaking recipient gets a Spanish agent; one campaign opens with a different greeting; one embedded widget runs a different voice. The agent itself is unchanged — the substitution applies only to that call.
Overrides are opt-in per field. Nothing can be overridden until you turn that specific field on. This is deliberate: without it, anything able to start a call could rewrite your agent's system prompt, which is a meaningful security boundary rather than a convenience setting.
Enabling overrides
- Open the agent and go to Configuration.
- In the Advanced section, find Overrides.
- Open the dropdown and switch on each field you want callers to be able to replace.
- Save the agent.
The dropdown summarises the state as None enabled or N enabled, so you can see at a glance whether an agent is exposed.
Overrides only become available once the agent has been synced with the voice provider. On a brand-new agent the control reports that it is unavailable until the first sync completes; save the agent once and it appears.
Overridable fields
| Field | Effect when overridden |
|---|---|
| Agent language | The call runs in a different language. |
| First message | The agent opens with a different greeting. |
| System prompt | The agent's whole instruction set is replaced for that call. |
| Voice | A different voice is used. |
| Voice speed | Speech rate is adjusted. |
| Voice stability | Delivery consistency is adjusted. |
| Voice similarity | Closeness to the source voice is adjusted. |
| Text only | The conversation runs without synthesised speech. |
System prompt deserves extra thought. Enabling it means whatever starts the call decides what the agent is and does, which bypasses the guardrails you wrote into the prompt. Enable it when you genuinely need per-call behaviour, and prefer dynamic variables when you only need to slot values into a prompt you control.
Overrides in outbound campaigns
The most common use is per-recipient personalisation in a campaign CSV. These column names map to overrides:
| CSV column | Override |
|---|---|
language | Agent language |
first_message | First message |
system_prompt or prompt | System prompt |
voice_id or voice | Voice |
If your CSV includes one of these columns and the agent has not enabled the matching override, the campaign builder warns you and offers to enable the missing overrides for you. Columns whose override stays disabled are silently ignored — the call still runs, just without the personalisation, which is easy to miss if you do not read the warning.
Any other column is treated as a dynamic variable instead, and those are always passed through without needing to be enabled.
Overrides or dynamic variables?
| Overrides | Dynamic variables | |
|---|---|---|
| Changes | Agent configuration for the call | Values inside a prompt you wrote |
| Opt-in | Yes, per field | No, always available |
| Use for | Different language, voice or behaviour | Names, order numbers, looked-up details |
| If not supplied | Agent's configured value is used | The declared default is used |
Next steps
- Outbound calls — per-recipient personalisation in campaigns.
- Dynamic variables — inject values without replacing configuration.
- Website widget — where per-visitor overrides are useful.