Skip to main content

Personas

Personas define how the assistant behaves.

A persona is the conversational identity of the Bot; it provides instructions, tone, and an optional welcome message.

Personas are declared under [personas].

[personas]
[personas.concierge]
instructions = "Be concise, friendly, and confirm caller intent before actions."
welcome_message = "Welcome to ACME services."

Persona names

Persona names are the keys below [personas].

In this example, the persona name is:

concierge

Profiles reference personas by name:

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

Instructions

The instructions field defines how the assistant should behave.

instructions = "Be concise, friendly, and confirm caller intent before actions."

Use this field for behavioral guidance, not for system wiring.

Good instruction content includes:

  • tone
  • confirmation behavior
  • response style
  • domain-specific conversation rules

Avoid placing implementation details here; for example, do not describe webhook URLs, transport endpoints, or SIP commands in the persona - those belong in adapters, transports, and policies.

Welcome message

The welcome_message field defines the first message the assistant can use when the call starts.

welcome_message = "Welcome to ACME services."

The welcome message should be short and clear. It should tell the caller where they are and invite them to continue.

How personas connect to profiles

A persona becomes active only when a profile references it.

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

In this example, calls routed to the main profile use the concierge persona.