Settings
Configure deployment-wide settings in the Ori console — display timezone, voice-engine credentials, dialler screening defaults, recording storage, and fleet worker URLs.
Purpose
The Settings page holds the deployment-wide configuration that every bot, call, and campaign relies on. It is not a per-bot screen — what you change here applies across the whole platform.
Open it at /dashboard/settings. The page is divided into sections, and each section saves on its own with its own Save button. Changing one section and clicking its Save button does not touch the others.
Settings is a super-admin screen. The credentials, storage, and infrastructure controls on this page affect every call the platform makes. Treat changes here as deployment-wide and coordinate them with your administrator.
This page covers five sections:
- Display timezone — the timezone all timestamps are shown in.
- Voice-engine API keys — credentials for the speech, language, and voice engines bots use.
- Dialler screening defaults — answering-machine detection (AMD) parameters for outbound calls.
- Recording storage — where call recordings are stored.
- Fleet URLs — the list of voice workers calls are distributed across.
Every section follows the same pattern: change the fields, then click that section's Save button. While a save is in flight the button reads "Saving..." and is disabled; on success a confirmation message appears and the button re-enables.
Display timezone
The display timezone controls how all timestamps are rendered across the console — call logs, the users table, API key dates, and every other date you see. It changes only how times are displayed; it does not change when anything actually happened.
On first load the dropdown defaults to your browser's timezone. Once you save a choice it is remembered and persists across sessions.
Field
| Field | What to enter | Required |
|---|---|---|
| Timezone | Pick the timezone you want timestamps shown in. Options are UTC (default), Asia/Kolkata (IST), America/New_York (EST), America/Chicago (CST), America/Los_Angeles (PST), Europe/London (GMT), Europe/Berlin (CET), Asia/Dubai (GST), Asia/Singapore (SGT), Asia/Tokyo (JST), and Australia/Sydney (AEST). | Yes |
Button
| Button | What happens when you click |
|---|---|
| Save Timezone | Saves the selected timezone to the platform and caches it locally. Shows "Saving..." while in progress. On success a "Timezone updated" message appears and the button re-enables. Disabled while saving. |
Tip
For Ori operations, set this to Asia/Kolkata (IST) so call-log and report times line up with your working day.
Voice-engine API keys
This section stores the credentials the platform uses to reach the speech, language, and voice engines that power your bots. Each field holds the key for one engine. None of these fields is individually required — you only need to fill in keys for the engines your bots actually use — but a bot configured to use an engine whose key is missing will fail.
How a key is displayed
Once a key is saved, the field no longer shows the value. Instead it displays a masked placeholder with a Replace button beside it, so a saved credential can never be read back off the screen.
| Button | What happens when you click |
|---|---|
| Replace (per key field) | Clears that field and switches it to edit mode so you can paste a new value over the existing one. Only appears when the field already has a saved key. |
To enter a key for the first time, the field is an empty input — just paste the value in. To change a key that is already set, click Replace first, then paste the new value.
Fields
Each field accepts the credential for a category of voice engine. The platform refers to these by role rather than vendor.
| Field | What to enter | Required |
|---|---|---|
| Speech-to-Text (STT) engine key | The API key for a speech-to-text engine — the service that transcribes what the caller says. Paste the key provided for the engine your bots transcribe with. | No |
| Speech-to-Text (STT) engine key (second engine) | The API key for an alternate STT engine, if your deployment uses more than one transcription provider. | No |
| Language model (LLM) key | The API key for a language-model engine — the service that decides what the bot says next. Paste the key for the LLM your bots run on. | No |
| Language model (LLM) gateway key | The API key for an LLM gateway, if your bots reach language models through a routing service rather than a single provider directly. | No |
| Language model (LLM) key (alternate engine) | The API key for an additional LLM engine, if your bots use more than one. | No |
| Language model (LLM) service-account JSON | The full contents of the cloud service-account JSON key file for an enterprise LLM platform. This field is a multi-line box in a fixed-width font. Paste the entire contents of the .json key file, not just a single key string. | No |
| Voice / Text-to-Speech (TTS) engine key | The API key for a text-to-speech engine — the service that turns the bot's words into spoken audio. | No |
| Voice / Text-to-Speech (TTS) engine key (second engine) | The API key for an alternate TTS engine, if your deployment uses more than one voice provider. | No |
The service-account field expects the whole JSON file, pasted in full — open the .json key file, copy everything from the opening { to the closing }, and paste it into the box.
Button
| Button | What happens when you click |
|---|---|
| Save API Keys | Saves every key field to the platform. Shows "Saving..." while in progress. On success an "API keys updated" message appears and the button re-enables. Disabled while saving. |
Keys are stored on the backend and are never sent back to the screen in full — once saved, you can only Replace a key, not view it. If you lose a key, you must paste it in again from your own records; the console cannot show it to you.
Dialler screening defaults
This section configures answering-machine detection (AMD) — how the dialler listens to a just-answered outbound call to decide whether a real person or a voicemail machine picked up, before it attaches the call to a bot. Getting these values right keeps conversation minutes from being spent on voicemail greetings.
These are deployment-wide defaults applied to every outbound call. For what AMD does and how to read its results on a campaign, see Answering-machine detection.
Tip
The defaults below are tuned to work out of the box. Only change them if you are deliberately re-tuning AMD and understand the trade-off between catching more machines and accidentally dropping real people.
Toggles
| Field | What it does | Required |
|---|---|---|
| AMD screening | Turns answering-machine detection on or off for outbound calls. When off, answered calls skip screening and go straight to the bot. | No |
| Beep detection | Turns voicemail-beep-tone detection on or off as part of screening. | No |
Timing and detection fields
All time-based fields are in milliseconds (ms). Each field has a minimum and maximum; if you clear a field and click away, it snaps back to its default rather than staying empty.
| Field | What to enter | Default | Allowed range | Required |
|---|---|---|---|---|
| Total Analysis (ms) | Total time spent analysing the greeting and silence before deciding. | 2000 | 500–5000 | Yes |
| Initial Silence (ms) | How long silence is allowed before a greeting is expected. | 2000 | 500–5000 | Yes |
| Greeting Limit (ms) | Maximum time allotted for the greeting message. | 2000 | 500–5000 | Yes |
| After Greeting Silence (ms) | Silence expected after the greeting ends. | 1000 | 100–3000 | Yes |
| Minimum Word (ms) | Shortest sound counted as a word. | 120 | 20–1000 | Yes |
| Between Words Silence (ms) | Silence expected between detected words. | 50 | 20–1000 | Yes |
| Max Words | Most words to detect in the greeting before deciding. | 4 | 1–12 | Yes |
| Silence Threshold | Audio level below which the line is treated as silent. | 256 | 64–2048 | Yes |
| Max Word Length (ms) | Longest a single word can last before it is no longer treated as one word. | 5000 | 1000–10000 | Yes |
| Beep Minimum (ms) | Shortest tone counted as a voicemail beep. | 120 | 40–1000 | Yes |
Action fields
These two dropdowns decide what the dialler does once screening produces a result.
| Field | Options | Default | What it controls |
|---|---|---|---|
| Machine Action | "Tear down and mark amd_machine" or "Continue to bot" | Tear down | What happens when a machine is detected. The default ends the call and labels it as a machine so no minutes are spent on voicemail. |
| Unknown Action | "Continue to bot" or "Tear down" | Continue to bot | What happens when the result is uncertain. The default attaches the bot anyway, so a real person is never dropped by mistake. |
Button
| Button | What happens when you click |
|---|---|
| Save Dialler Settings | Saves every screening field to the backend. Shows "Saving..." while in progress. On success a "Dialler settings updated" message appears and the button re-enables. Disabled while saving. |
Recording storage
This section tells the platform where to store call recordings, using S3-compatible object storage. If this is not configured correctly, recordings are not saved and will not be available for playback.
Fields
| Field | What to enter | Required |
|---|---|---|
| Endpoint | The storage endpoint URL, for example https://minio.example.com. Required for the platform to connect to storage. If cleared, recordings stop being stored. | Yes |
| Bucket | The storage bucket name recordings are written into, for example recordings. If cleared, recordings stop being stored. | Yes |
| Region | The cloud region code, for example ap-south-1. Required only for hosted AWS S3. Leave blank for local storage or DigitalOcean Spaces. | No |
| Access Key | The storage access key ID. If cleared, recordings stop being stored. | Yes |
| Secret Key | The storage secret access key. After the first save it is shown as a masked value with a Replace button — click Replace to paste a new secret. | No |
How the Secret Key is handled
The Secret Key works like the voice-engine keys: once saved, it is masked and accompanied by a Replace button. Click Replace to clear it and enter a new secret. This prevents the masked placeholder from being accidentally saved back as the real value.
Button
| Button | What happens when you click |
|---|---|
| Save MinIO Config | Saves the storage configuration. If you are about to clear any critical field (Endpoint, Bucket, Access Key, or Secret Key), a confirmation appears first — "You are about to clear: [field list]. Recordings will not be stored until these fields are reconfigured. Continue?" — and you must confirm. On success a "MinIO config updated" message appears and the Secret Key is masked for display. Disabled while saving. |
If the Endpoint or Bucket is left blank, the platform skips upload entirely and no recordings are stored — there is no recovering audio for calls made while storage was unconfigured. Confirm storage is set before running any campaign you expect to review later.
Fleet URLs
This section holds the list of voice-worker addresses that calls are distributed across. The platform uses this list to load-balance outbound calls; adding a worker here lets it take part in handling calls.
You can add, edit inline, and remove URLs in the list, but nothing changes until you click Save Fleet URLs.
Fields
| Field | What to enter | Required |
|---|---|---|
| Fleet URL (each existing row) | The address of a voice worker already in the list, for example https://worker.example.com. You can edit it directly in place before saving. | Yes |
| New Fleet URL (input at the bottom) | The address of a worker you want to add, for example https://worker.example.com. Type it in and add it with the plus button or by pressing Enter. | No |
Buttons
| Button | What happens when you click |
|---|---|
| Add URL (plus icon) | Adds the address in the New Fleet URL field to the list and clears the input. Only works when the input is not empty. You can also press Enter in the input to add. |
| Delete URL (X icon, per row) | Removes that worker's URL from the list immediately. |
| Save Fleet URLs | Saves the whole list to the platform. Shows "Saving..." while in progress. On success a "Fleet URLs updated" message appears and the button re-enables. Disabled while saving. |
Adding, editing, or deleting a URL only changes the on-screen list. None of it takes effect until you click Save Fleet URLs. Avoid listing the same worker twice — duplicates are accepted but serve no purpose.
Tip
To check whether the workers in this list are actually healthy and how much call capacity they provide, use the read-only Fleet status page.