Agent settings¶
Agent settings define the agent’s identity and behavioral rules.
They live in agent_settings/ and are made up of personality, role, and rules resources.
These settings shape how the agent presents itself and how it should behave across the conversation.
Location¶
Agent settings live under:
What agent settings control¶
-
Personality
Controls the agent’s tone and conversational style.
-
Role
Defines what the agent is and what kind of job it performs.
-
Rules
Provides plain-text instructions the agent should follow on every turn.
-
Experimental config
Optional advanced feature flags and tuning.
Personality¶
The personality.yaml file controls the agent’s conversational tone.
Fields¶
| Field | Description |
|---|---|
adjectives |
Map of personality traits to booleans |
custom |
Free-text personality description |
Adjectives¶
Allowed adjective values are:
PoliteCalmKindFunnyEnergeticThoughtfulOther
If Other is set to true, no other adjective can be selected.
custom¶
The custom field is a free-text description of the personality.
It supports:
{{attr:...}}{{vrbl:...}}
Example¶
Role¶
The role.yaml file defines what the agent is.
This is usually the agent’s role, title, or function in the business context.
Fields¶
| Field | Description |
|---|---|
value |
Role name, such as Customer Service Representative |
additional_info |
Extra context about the role |
custom |
Free-text role description used when value is other |
If value is set to other, the custom field is used instead.
The custom field supports:
{{attr:...}}{{vrbl:...}}
Example¶
value: Customer Service Representative
additional_info: Handles customer inquiries and bookings
custom: ""
Rules¶
The rules.txt file contains plain-text behavioral instructions that the agent should follow on every turn.
This is one of the most important files for shaping agent behavior.
Supported references¶
The rules file supports the following references:
| Syntax | Meaning |
|---|---|
{{fn:function_name}} |
Global function |
{{twilio_sms:template_name}} |
SMS template |
{{ho:handoff_name}} |
Handoff destination |
{{attr:attribute_name}} |
Variant attribute |
{{vrbl:variable_name}} |
State variable |
Example¶
Be helpful and professional at all times.
Use {{fn:validate_email}} when the user provides an email address.
For complex issues, use {{ho:escalation_handoff}} to transfer to a specialist.
Send confirmation via {{twilio_sms:confirmation_template}} after booking.
Writing effective rules¶
Rules are most useful when they are:
- concise
- explicit
- actionable
- stable across turns
Good rules tell the agent what standard it should follow, not how to perform step-by-step branching logic.
Use rules for behavioral guidance
Rules are a good place for durable operating principles such as escalation behavior, safety guidance, or how the agent should handle common classes of requests.
What not to put in rules¶
Avoid putting deterministic branching logic into rules.txt.
Avoid¶
- long conditional logic chains
- step-by-step routing logic
- hard-coded values that should come from references
For example, do not write logic such as:
That kind of logic belongs in flows and Python functions.
Prefer¶
- references such as
{{fn:...}},{{attr:...}}, and{{vrbl:...}} - concise instructions that apply broadly
- deterministic logic handled in code or flow transitions
Best practices¶
- keep rules concise and actionable
- use references instead of hard-coded values
- use
custompersonality and role text only when you need more than the structured fields provide - treat rules as a global behavioral layer, not a place for detailed flow logic
Related pages¶
-
Functions
Learn how referenced global functions are defined and used. Open functions
-
Experimental config
Configure optional advanced features and runtime overrides. Open experimental config