Skip to main content

Profiles

Profiles define the call experience.

A profile combines the parts needed to run a call:

  • persona
  • policy
  • modality (realtime, tts, stt, llm)

Profiles are declared under [profiles].

[profiles.main]
persona = "concierge"
policy = "concierge"
realtime = "deepgram_rt"

[profiles.openai_realtime_profile]
persona = "concierge"
policy = "default"
realtime = "openai_realtime_voice"

Profile names

Profile names are the keys below [profiles].

In this example:

  • main
  • openai_realtime_profile

Routing rules select profiles by name.

[[routing.sip]]
profile = "main"

Persona

The persona field selects the assistant behavior.

persona = "concierge"

This references:

[personas.concierge]

The persona controls how the assistant speaks, what tone it uses, and what welcome message it may use.

Policy

The policy field selects the permissions and runtime behavior.

policy = "default"

This references:

[policies.default]

The policy controls which functions and adapters are available.

Realtime modality

The realtime field selects the realtime voice capability.

realtime = "openai_realtime_voice"

This references:

[realtime]
openai_realtime_voice = { provider = "openai", transport = "openai_realtime_ws" }

The realtime modality connects the profile to a provider and transport.