> ## Documentation Index
> Fetch the complete documentation index at: https://docs.ravenna.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Customize

> Customize agent personality, Slack response behavior, auto-respond settings, and conversational form filling to match your team's voice and workflow.

Define how your agent presents itself and communicates with users through personality settings, Slack behavior configuration, and auto-respond options.

## Personality model

Agent personality controls the communication style, not the behavior. Personality is separate from rules.

### Default communication style

All agents have a built-in communication style that applies when no custom prompt is set:

* Responses are direct and complete, without preamble, closers, or sign-offs
* The agent does not echo or paraphrase the user's question before answering
* Responses avoid sycophantic openers ("Certainly!", "Of course!", "Great question"), filler phrases ("It's worth noting", "utilize", "leverage", "delve"), stiff transitions ("Additionally", "Furthermore", "Moreover"), canned closers ("Hope this helps!", "Feel free to..."), and unprompted follow-up invitations

Formatting (bullets, headers, and lists) is unrestricted. A custom prompt overrides these defaults entirely.

### Configuration modes

Two configuration modes exist:

1. **Structured settings** (Response length, Tone, Emojis): Simple preset values. Response length options are Concise, Balanced, or Verbose. Tone options are Business, Casual, or Humorous. Emoji options are None, Minimal, Moderate, or High.
2. **Custom prompt**: A free-text personality prompt that overrides all structured settings. When a custom prompt is set, the structured settings are completely ignored.

**Key distinction:** Personality prompts define how the agent communicates (tone, verbosity, style). Rules define what the agent does (actions, tools, resource references). Keep these separate. Do not include behavioral instructions in the personality prompt, and do not include personality guidance in rules.

***

## Slack behavior model

### Channel response modes

The agent's response behavior in Slack channels is set to one of three modes:

| Mode | Behavior | Best for |
| - | - | - |
| Respond to all messages | Agent replies to every message in the channel | Dedicated support channels with low noise |
| Respond to mentions only | Agent replies only when directly @mentioned | Channels with mixed conversation and support requests |
| Respond to requests only | Agent replies only to messages detected as assistance requests | General channels where the agent should stay quiet unless needed |

### Thread response modes

Thread behavior has three modes:

| Mode | Behavior | Best for |
| - | - | - |
| Respond to all messages | Agent replies to every message in the thread | Dedicated support threads where all messages need a response |
| Respond to mentions only | Agent replies only when directly @mentioned in the thread | Threads where humans and agents collaborate |
| Smart (classify intent) | Agent uses an AI classifier to determine whether each message is directed at it before responding. Direct @mentions always bypass the classifier, and when the agent is mid-conversation (for example, waiting on a form answer), `@mention`-style replies are treated as answers rather than side-conversations. In Slack, the agent only classifies replies in threads it has joined (it opened the ticket, posted publicly with its own bot user, or is still working on an earlier message). In other Slack threads, it responds only when @mentioned. Default. | Threads with mixed human-to-human and human-to-agent conversation |

### Respond to bot users

An opt-in per-agent setting (off by default) that lets a V3 agent reply to messages from third-party Slack apps, such as RSS feeds.

* **Scope:** Only top-level channel posts from bots trigger the agent. Bot thread replies and bot DMs are skipped.
* **Ravenna bots:** Always skipped, so agents never answer themselves or each other.
* **Workspace requirement:** The workspace **Bot users** setting must also be enabled.
* **Rule audience:** Bot requesters run with guest limits. Only rules with the **Organization Members** audience apply.
* **Conversation history:** Third-party bot messages count as user input in the agent's conversation history. Messages from Ravenna's own bots count as the agent's turns.

### Respond after escalation

An opt-in per-agent setting that controls whether an agent keeps engaging on a ticket after it has been published (escalated to humans). Available on Slack and Microsoft Teams.

* **Off (default):** On a published ticket, the agent runs in the restricted post-publish mode. It can update ticket fields when an `@mention` explicitly asks it to, but it does not respond to conversation on its own.
* **On:** On a published ticket, the agent applies the normal Channel messages and Threaded messages gating and can respond, run rules, and take actions without being `@mentioned`. Unpublished ticket behavior is unaffected either way.

Interaction with Threaded messages:

* With **Smart**, the classifier still holds the agent back when a human is on the ticket, so the toggle is safe to leave on. This is the recommended pairing.
* With **Respond to mentions only**, the agent still waits for an `@mention` before replying, but the mentioned reply runs the full agent instead of mutation-only mode.
* With **Respond to all messages**, the toggle is disabled in the UI. Switching Threaded messages to Respond to all while the toggle is on cascades the toggle off.

### Response elements

Three optional UI elements appear alongside agent responses in Slack:

* **Source links** (default: enabled): Shows links to knowledge base articles used to generate the answer.
* **Feedback buttons** (default: enabled): Thumbs up/down buttons for user feedback. When enabled, negative feedback can optionally auto-create a support ticket.
* **Create ticket button** (default: disabled): Allows users to create a ticket directly from the response. Only appears when a ticket has not already been published.

***

## Auto-respond model

Auto-respond enables the agent to automatically reply to tickets created from non-Slack sources:

* **Email auto-respond**: Replies to tickets created from inbound emails.
* **Integration auto-respond**: Replies to tickets created from Jira, Linear, GitHub, and other connected integrations.

Configuration options:

* **Response delay** (0 to 300 seconds): Delays the agent's response to allow additional context to be added to the ticket first. Available presets: 0s, 5s, 10s, 30s, 1m, 2m, 5m.
* **Auto-submit form**: When enabled (default), the agent automatically submits the ticket if all required form fields are pre-filled. Prefilled values are validated before submission; if the agent makes a mistake it retries with corrected values. When disabled, the user sees a pre-filled form for review. If required fields are missing, the form is shown to the user with valid prefills so they can complete it. Auto-submit is always disabled for private forms.

If the agent cannot provide a definitive answer to an auto-responded ticket, the ticket is tagged with `ai-unresolved` for human follow-up.

***

## Conversational form filling

Conversational form filling changes how the agent collects structured data. Instead of presenting a form UI, the agent asks for each field value through natural conversation.

### Activation logic

Conversational form filling activates when all four conditions are met:

1. The setting is enabled on the agent.
2. A rule triggers a form.
3. The form's effective field count is at or below the configured field threshold (default: 3). The effective count is the maximum number of fields a single user path can reveal. For forms with conditional (dependent) fields, only the longest visible branch counts, not the raw total.
4. The form is not private. Private forms always use the standard form UI to protect sensitive data.

If the form exceeds the threshold or is private, the agent falls back to the standard form UI regardless of the setting.

### Collection sequence

1. The agent identifies all required fields on the triggered form.
2. The agent extracts any field values already mentioned in the conversation.
3. For remaining required fields, the agent asks the user for each value one at a time. For forms with conditional fields, dependent fields are skipped until their parent field has a matching value.
4. For user selection fields, the agent uses User Lookup to resolve names to Ravenna user IDs.
5. For user group selection fields, the agent uses Group Lookup to resolve group names to IDs, respecting any allowlist or source constraints configured on the field.
6. Once all required fields are collected, the agent presents the form for review or auto-submits if auto-submit is enabled.

### When to use each mode

| Mode | Best for | Limitations |
| - | - | - |
| Conversational | Simple forms with few fields (password reset, basic requests) | Not suitable for forms with many fields, file attachments, or complex multi-select options. Always disabled for private forms. |
| Standard form | Complex forms, forms with file uploads, forms where users benefit from seeing all fields at once, private forms | Interrupts the conversational flow |

***

## Constraints and gotchas

* **Custom prompt overrides all structured settings.** When a custom prompt is set, Response length, Tone, and Emojis settings are completely ignored. The custom prompt must specify all personality characteristics.
* **Personality is not behavior.** Keep personality prompts focused on communication style. Tool usage, form selection, and workflow triggers belong in rules, not personality.
* **Channel behavior applies per agent, not per channel.** The Slack response mode is set on the agent and applies to all channels the agent is deployed to.
* **Form threshold is a hard cutoff.** If a form's effective field count exceeds the threshold, conversational mode does not activate. There is no partial conversational collection. The effective count is the maximum number of fields a single user path can reveal, so deep dependent-field branches do not push otherwise simple forms over the threshold.
* **Auto-submit bypasses user review.** Auto-submit form is enabled by default. The agent creates the ticket immediately without showing the form when all required fields are prefilled. Prefilled values are validated before submission, so invalid values are corrected rather than silently dropped. Disable this setting if you want users to always review the form before submission. If required fields are missing, the form is shown to the user with valid prefills instead.
* **Private forms always use the standard form UI.** Conversational form filling and auto-submit are both disabled for private forms regardless of agent settings. This ensures sensitive data is collected through the secure form interface.
* **Conditional fields in conversational mode.** During conversational collection, the agent respects field dependencies from the form builder. Dependent fields are skipped until their parent field has a matching value. When using the standard form UI, field visibility is controlled by the form builder's built-in conditional logic.
* **Relative dates resolve in UTC.** Expressions like "tomorrow" and "next Monday" are resolved to `YYYY-MM-DD` relative to UTC. Near midnight in the user's local time, the resolved date may be off by one day.
* **Response delay applies to auto-respond only.** The delay setting affects email and integration auto-responses, not Slack conversations.
* **Negative feedback auto-ticket requires feedback buttons.** The "create ticket on negative feedback" option only works when feedback buttons are enabled.


## Related topics

- [Views](/documentation/tickets/organize/views.md)
- [Portal](/documentation/platform/portal.md)
- [Notifications](/documentation/platform/notifications.md)
- [Ticket mirrors](/integrations/slack/ticket-mirror.md)
- [My settings](/documentation/platform/my-settings.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.