Skip to main content
General settings govern project membership, authentication keys, model availability, runtime behavior, data lifecycle, compile-time variables, and localization assets.

Members

The Members page controls who reaches your project and what they can do inside it. Navigation: Project -> Settings -> Members The page lists every project member with their name, email, role, and join date. Select Add Member to grant access to an existing workspace member, then assign a role. Removing a member revokes their access at once rather than at their next sign-in.

Project roles

A role bundles the permissions a member holds everywhere in the project. Assign the narrowest role that still lets someone do their job, since the roles differ less in what they can see than in what they can change.

API keys

The API Keys page issues and revokes the credentials that carry programmatic access to the project runtime. Navigation: Project -> Settings -> API Keys Select Create Key, name it descriptively, and optionally set an expiration date. Each entry shows the key name, a masked prefix, and the date something last used it. The last-used date is the field that matters during an audit, because it identifies keys you can revoke without breaking anything. Deleting a key revokes it permanently and immediately. Anything still presenting that key stops working, so confirm the last-used date before you delete.
Issue a separate key for each environment and rotate them on a schedule. A single shared key means one compromise forces you to rotate everywhere at once.

Models

The Models page decides which models this project can use and which model serves each platform feature. It carries two tabs: Model Configs sets the pool, and Feature config routes work within that pool. Navigation: Project -> Settings -> Models

Model Configs

This tab defines the project’s selected models. Selection is an allowlist rather than a preference. Only selected models appear in the project’s model pickers and feature routing, so nothing downstream can reach a model you haven’t selected here. Two counters at the top compare the models you selected with the models your workspace makes eligible. The gap between them tells you how much of the workspace catalog this project deliberately excludes. Each selected model shows its provider, whether the workspace shares it, and a readiness status. A model reports ready once its connection resolves, and a model that stops being ready takes every feature bound to it down with it. Project default. The default applies to this project only and doesn’t change the workspace. Features that don’t carry a tier binding or an override resolve to it, which makes it the fallback for the widest set of operations on the page. Select Add models to bring eligible models into the project, and Save selection to apply the change. Model access rollout. A banner appears while the project still holds references to models outside the selected set. Until you resolve those references, the project can’t move to enforcing selection only. Treat the count in the banner as work remaining before enforcement, not as an error in the current configuration.

Feature config

This tab routes individual platform features to models. It exists because a project runs many different operations, and matching each to a model sized for it costs less than sending everything to one capable model. Per-operation routing switches the page between two ways of working. With tier routing, each feature runs on the model bound to its tier, so changing one tier moves every feature on it. Per-operation routing lets features diverge from their tier. Start with tiers and reach for per-operation routing only where a specific feature justifies it, since divergence you set once is easy to forget later.

Tier bindings

Four tiers draw from the project’s selected models. The tier names describe the trade the model makes rather than a fixed capability level, so rebind them as your model pool changes. A tier with no model bound leaves every feature on it unresolved. The page warns you before release when a binding is missing or a connection needs repair, because an unresolved feature fails at runtime rather than falling back silently.

Feature table

Features group by the part of the platform they serve: authoring and diagnosis, live conversation runtime, knowledge processing, conversation insights, evaluation, and ingestion pipelines. Each row carries the feature’s stable key, which is the identifier to use when you discuss routing with support rather than the display name. Select Why this model? on a row to see the resolution path that produced the result. Select Save feature config to apply changes.

Runtime configuration

The Runtime Configuration page holds the behavioral controls that govern how the project’s agents read input, handle multiple requests in one turn, fill in unstated values, tune voice latency, recover from failures, occupy callers during waits, expose their own activity, protect personal data, and bound their own tool use. Navigation: Project -> Settings -> Runtime Config Changes here apply to every agent deployment in the project, so treat this page as project-wide policy rather than per-agent tuning. Each group appears as a collapsible card. Select Save to apply changes, or Reset to defaults to return every setting on the page to its factory value.

Extraction pipeline

This section decides how the runtime turns a raw user message into structured field values.

Multi-intent recognition

This section handles messages that ask for more than one thing at once. Without it, the runtime acts on the first request it recognizes and the rest of the message goes unanswered. Multi-intent strategies Unknown relationship strategies Learn More

Field inference

This section lets the runtime use an LLM to infer values the user hasn’t stated, which shortens conversations at the cost of occasionally guessing wrong.

Currency conversion

This section decides where exchange rates come from when an agent quotes or converts an amount. Agents that never handle money can leave it alone.

Reasoning pipeline

The reasoning pipeline runs a lightweight classifier ahead of each reasoning turn so the runtime can route programmatically and narrow the tool set before the main model call.
Experimental feature. Read before enabling.
  • The pipeline needs a configured tool_selection model in your LLM provider settings. Without one, the pipeline skips silently rather than reporting an error.
  • It adds one extra LLM call before each reasoning turn, typically 200-500 ms. In parallel mode, the classifier and tool filter run simultaneously.
  • If the pipeline model fails three times in a row, a circuit breaker bypasses the pipeline for 60 seconds so the failure doesn’t add latency to every turn.

Tool call policy

This section bounds the deterministic CALL actions that tool lifecycle hooks invoke. The limits apply only to those hook-driven calls. Side-effecting target tools still run through the normal confirmation flow, so this section doesn’t weaken confirmation.

Streaming safety

This section sets project-level controls for how the runtime behaves when a safety check intervenes on a response that’s already streaming. It’s the one safety control where timing matters as much as outcome.
Existing projects stay on Legacy passthrough until you change this setting.
Safety modes

Output item analytics

Runtime responses often carry repeated structures such as a list of results. This section captures those repeated scalar items so you can run independent analytics queries on them.
Mappings are project-scoped and additive. The runtime captures only the item arrays you configure and the scalar dimensions you declare. It doesn’t store raw response JSON in analytics rows.
A counter at the top shows how many mappings you’ve configured out of the 25 allowed. Select Add mapping to create one. Mappings only take effect for responses produced after you add them, so declare a dimension before you need it. You can’t recover a field retrospectively. Select the trash icon on a mapping to delete it.

Voice low-latency profile

This section holds channel-scoped defaults for fast voice responses. It tunes model routing, reasoning, context size, and filler behavior for voice while preserving semantic response quality, and explicit developer overrides still take precedence. It appears for projects with a voice channel. When the project has an active voice channel but the recommended defaults aren’t applied, a banner reads Recommended voice defaults are not active. Select Apply recommended defaults to apply the low-latency profile in one step: fast model routing, inline gather, bounded context, and generative filler defaults.

Voice setting differences

The Voice setting differences table compares each voice setting’s current value with the recommended one, so you can apply the profile wholesale or adopt it setting by setting. Select Apply on a row to apply only that recommendation, or Apply recommended defaults to apply them all. The rows shown depend on the profile version and on which settings your project already has. The recommended profile changes these groups of settings: Each row carries a tag that tells you what kind of change it makes:
Applying the recommended defaults overwrites your current values for every row listed. To keep a setting, apply the rows one by one instead.

Profile settings

Filler strategy and coordination

Native speech-to-speech (S2S) fillers are preferred when the provider advertises the capability. Pipeline generation and static speech remain bounded fallbacks.
Synchronous session compaction stays disabled on the live voice path. Adjust prompt and tool-result projections instead, so the authoritative turn retains its semantic contract.

Channel recovery and graceful failure

The Channel Recovery and Graceful Failure policy defines how Runtime responds when model generation, tool execution, provider communication, or voice operations are delayed, interrupted, or fail. It enables channel-specific recovery behavior with bounded recovery, localized messages, sequential model fallback, and safe latency hedging, while preserving conversation state and preventing duplicate or invalid actions.
Recovery is opt-in per channel. Existing channels keep their current behavior until you enable this policy on that channel. Voice uses the voice adapter. Other channels use their native progress and response semantics.
Recovery policies are versioned. Publishing a policy doesn’t apply it to any channel until you turn on that channel’s opt-in.

While the caller waits

This group configures what a caller experiences while the agent thinks or works: spoken filler phrases, background hold-music audio, or both together. The settings interact, so read the whole group before you change any one part.
How filler settings take effect. Agent no-input messages and channel-specific Gemini settings take precedence over these project defaults. Otherwise, Runtime uses project filler pools and timing, then localized platform defaults. Native realtime fillers are available only for the voice_realtime tier. Genesys realtime supports pending-tool fillers but not the native coordinator filler.

Filler settings

Fillers are transient chat and voice status messages the runtime emits while work is in progress. They exist because silence during a long turn reads as a failure, particularly on voice. When the agent is processing a request, Runtime waits for the configured delay before playing a filler message. Depending on the configuration and channel capabilities, it can play a static filler, generate a contextual filler, or use provider-native realtime fillers until the final response is ready.

Background audio

Background audio is looped hold music the voice gateway plays during compute waits. It covers silence without the agent having to say anything.

Greeting audio

Greeting clips play as soon as a call connects, ahead of the agent’s first turn. They cover the gap between answer and first response, which is the moment a caller is most likely to think the line is dead.

Activity updates

This section sets the visibility policy for what the runtime reveals about its own work. The policy is a ceiling rather than a guarantee, because channels apply only what they support. The exposure settings deserve particular care. Tool, workflow, and agent names describe your internal architecture, and a name that helps an internal user diagnose a problem tells an external user how your system is built.

Voice no-input defaults

This section sets what happens when a voice caller goes silent. Silence is ambiguous, since it can mean the caller is thinking, has walked away, or didn’t hear the prompt, and these settings decide how long the agent waits before treating it as a problem.

Caller backchannel

This section sets the project default for caller backchannel acknowledgements. These are language-neutral sounds, such as “uh-huh”, that the runtime treats as acknowledgements rather than interruptions, so the agent keeps speaking. Every agent that doesn’t set its own backchannel inherits these defaults.
Backchannel is only effective with at least one phrase. If you turn it on without adding any, the page shows the warning Backchannel is on but has no phrases.

On hold

This section sets the project default for phrases a caller says to make the agent pause, such as asking it to wait a moment. Phrases are locale-aware. Every agent that doesn’t set its own on-hold behavior inherits these defaults. On hold runs entirely in the runtime and needs no gateway change.
On hold is only effective with at least one phrase. If you turn it on without adding phrases in any language, the page shows the warning On-hold is on but has no phrases in any language.

Barge-in continuation window

When a caller interrupts (barges in) and speech recognition splits their sentence into separate phrase-finals, this section makes the runtime hold each one briefly and merge any follow-on phrase into a single turn. Without it, the agent would treat each fragment as its own turn and may answer a half-finished sentence. This is a project-wide default, and an agent can override it.

Voice speech recognition

These are project-wide defaults. A channel connection can override them, so check the connection before you conclude the project value is what’s running.

PII redaction

This section controls how the runtime handles personally identifiable information in conversations. Baseline credential and secret scrubbing protects logs and read APIs whether or not PII protection is on, so the settings here extend that protection rather than establishing it.

Lookup tables

Lookup tables are the reference data the runtime uses to validate field values and perform fuzzy matching during extraction.
Project lookup tables defined here are the canonical source for gather validation and fuzzy matching. Agent-local LOOKUP_TABLES remain available only as an experimental compatibility lane, so build new work on project tables.

Data retention

The Data Retention page sets how long evaluation and scoring data stays available to this project. Navigation: Project -> Settings -> Data Retention Retention is a deletion policy rather than a storage preference. Once a window passes, the data is gone and no longer available for trend analysis, so set these values around the longest comparison you expect to run rather than the storage you expect to use. The Retention Windows section below the summary sets the time-to-live in days for each category. Select Save to apply changes or Reset to restore defaults.

Config variables

The Config Variables page defines key-value pairs that the platform resolves at compile time through {{config.KEY}} syntax. Navigation: Project -> Settings -> Config Variables Use config variables for values that several agents share and that change between environments, such as endpoints, feature flags, and persona-specific content. The alternative is repeating the value in each agent, which turns an endpoint change into an audit.

Add a variable

Each variable is one key the platform substitutes wherever your agents reference it. The fields below define the key, its value, and the context a later reader needs. Select Add Variable, then complete the fields.
Config variables resolve at compile time rather than at runtime, so a changed value reaches your agents only after recompilation.

Localization

The Localization page manages locale JSON assets in Studio and syncs them through the project’s Git integration. Navigation: Project -> Settings -> Localization The platform stores locale assets as project-level JSON files and exports them to Git under the same path contract that project import and export use. Keeping paths in the canonical shape is what lets assets round-trip cleanly, so a path you improvise here becomes a merge problem later. Counters at the top report the assets, locales, and shared assets the project holds. A status indicator reports when Git isn’t connected, with a link to Open Git Settings. Until you connect Git, assets stay in project storage and don’t reach version control, which means no diffs and no review. Search by locale, file path, or description, and narrow the list by locale or by scope when the asset count grows past browsing.

Create a localization asset

An asset is one locale JSON file holding translated strings, either shared across the project or scoped to a single agent. Creating one here puts it under the same path contract Git and project export use. Select New Asset to open the editor, then complete the fields and select Create. Saving writes the asset into project storage and keeps the Git export path aligned.