How it works
The Copilot skill controls the behavior, appearance, and advanced interactive features of the agent's web-based chat interface. Unlike backend skills that provide background capabilities, the Copilot skill directly shapes the end-user experience — governing presentation (intros, disclaimers, system messages, reasoning labels), capabilities (voice chat, file uploads, citations, streaming), interactive elements (custom in-chat buttons and slash commands), and data lifecycle (auto-archiving, message deletion, training data opt-ins).
Key features
Presentation & Messaging
Configure the Welcome Screen Introduction, a Disclaimer (up to 1,000 characters, refineable via Optimize with AI), and whether system-generated messages appear inline in the chat feed.
Chat Capabilities
Toggle voice chat with subtitles, real-time streaming responses, file uploads, and a message length limit (up to 100,000 characters).
Transparency & Reasoning
Reveal the agent's internal thinking with a customizable Reasoning Label, show citations (with admin-only hyperlink to source documents), and expose Conversation State, Sources, and Used Functions to end users.
Lifecycle & Data Management
Auto-complete ended chats, auto-archive after inactivity, allow non-admin users to delete their own conversations, opt conversations into training data, and auto-unassign humans when switching back to AI mode.
Copilot Buttons
Embed unlimited in-chat buttons — Webhook, Prompt, Escalation, Book Demo, or Open URL — with configurable style, size, and dynamic appearance conditions (every response, regex match, every N responses, or N seconds idle).
Copilot Commands (Slash Commands)
Trigger deterministic workflows with /keyword. Native commands (/email, /sms) require their delivery skills; custom commands link to Webhooks or Functions with an optional AI Instruction and clarification loop for missing arguments.
How to configure it
- 01
Enable Copilot on the agent, then set the Welcome Screen Introduction and Disclaimer (click Optimize with AI to have raia refine the disclaimer text automatically).
- 02
Configure chat capabilities: toggle Voice Chat and Subtitles, Streaming Chat, File Upload, and set the Message Length Limit.
- 03
Set transparency controls: enable Reasoning Details with a custom Reasoning Label, turn on Citations (and Citation Hyperlinks for admins), and expose Conversation State, Sources, or Used Functions if you want end users to see them.
- 04
Define the conversation lifecycle: Show System Messages, Allow Non-Admin Users to Delete Conversation, Auto Complete Ended Chat, Auto Archive Chat (with a timeout), Allow Upload To Training, and Auto Unassign on AI Mode.
- 05
Add Copilot Buttons: choose a Button Type (Webhook, Prompt, Escalation, Book Demo, Open URL), a style and size, then set an Appearance Condition (after every response, regex match, every N responses, or N seconds idle). Optionally set Hide After Trigger or Appears Once Per Session.
- 06
Add Copilot Commands: create custom slash commands linked to Webhooks or Functions. Set a lowercase alphanumeric Name, a Description, an optional AI Instruction for pre-processing the conversation, and Success/Failure messages. Native /email and /sms require the Email and SMS skills.
Complete configuration reference
The Copilot Skill determines how your internal team interacts with the agent inside the raia platform. This guide covers every configuration field, toggle, and setting available in the Copilot Skill interface.
Welcome & Entry
These settings control the first impression when a team member opens the Copilot interface.
| Setting | Description |
|---|---|
| Welcome Screen Introduction | The initial message shown to users when they open the agent in Copilot (e.g., "Hello, how can I help you?"). |
| Disclaimer | A short notice shown to users before they start chatting (e.g., limitations, privacy, and that responses may be inaccurate). |
| Optimize with AI (Button) | Automatically refines and improves the phrasing of your disclaimer text. |
Communication & Processing Controls
These toggles define how the agent communicates, streams text, and displays its reasoning to internal users.
| Setting | Description |
|---|---|
| Voice Chat Enabled | Allows users to use voice input for conversations. |
| Voice Chat Subtitles Enabled | Displays text subtitles for voice chat conversations. |
| Streaming Chat Enabled | Enables real-time streaming of AI responses during conversations, so text appears word-by-word. |
| Reasoning Label For Streaming Chat | Defines the label shown when AI reasoning steps are displayed during streamed responses (e.g., "Thinking..."). |
| Reasoning Details Enabled | Enables detailed reasoning steps to be displayed during AI processing. |
| Message Length Limit | Sets the maximum number of characters allowed in a single message (Default: 3000). |
| Citation Enabled | Allows AI responses to include references or citations to source documents. |
| Citation Hyperlink Enabled For Admins | Allows administrators to click on citations and view the original source document. |
| File Upload Enabled | Allows users to upload files during the conversation. |
| Allow Upload To Training | Allows admins to upload conversation files directly to the agent's training data. |
Conversation Lifecycle & Permissions
These settings dictate how conversations are managed, archived, and who has permission to view or delete them.
| Setting | Description |
|---|---|
| Conversation State Enabled For User | Allows users to view the conversation state and metadata. |
| Conversation Sources Enabled For User | Allows users to view the conversation sources. |
| Allow Non-Admin Users to Delete Conversation | Allows non-admin users to delete their own conversations. |
| Auto Complete Ended Chat | Automatically marks a conversation as “complete” when the conversation ends. |
| Auto Archive Chat | Automatically archives chats after a certain period of inactivity. |
| Auto Archive Chat Timeout (Minutes) | Defines how long a conversation must remain inactive before it is automatically archived (visible only if Auto Archive is enabled). |
| Show System Messages | Shows system messages (like status changes or escalation notices) inline in the chat. |
Enhanced Prompting Controls
These settings are only visible if the Enhanced Prompting Skill is active for the agent.
| Setting | Description |
|---|---|
| Force Prompting for Users | When enabled, Enhanced Prompting is always applied to every user message, regardless of user preference. |
| Show Prompting Toggle in Input | Controls whether users can see the Enhanced Prompting toggle in the chat input. |
| Auto unassign on AI Mode | When enabled, switching a conversation back to AI mode will automatically clear its human assignment. |
Copilot Buttons (In-Chat Buttons)
You can add unlimited custom buttons to the Copilot interface to trigger webhooks, escalations, or predefined prompts.
Button Configuration
| Field | Description |
|---|---|
| Button Type | Choose between: Webhook, Prompt, Escalation, Book Demo, Open URL. |
| Button Style | Visual style: Primary, Secondary, Simple, Emerald, Amber, Rose, Indigo, Pink. |
| Button Size | Size of the button: Extra Small, Small, Medium, Large, Extra Large. |
| Hide After Trigger | If enabled, the button disappears after the user clicks it. |
| Appears Once Per Session | If enabled, the button will only appear once per conversation session. |
Appearance Conditions
Controls when the button appears in the chat flow.
| Condition Type | Description |
|---|---|
| Appears after every response | The button shows up after every single AI response. |
| Appears when regex matches | The button appears only when the AI's response matches a specific Regex pattern (requires Appearance Condition Regex field). |
| Appears after every N responses | The button appears every N turns (requires Appearance Condition Value field). |
| Appears after N seconds since last request | The button appears if the chat is idle for N seconds (requires Appearance Condition Value field). |
Button Payloads (By Type)
| Button Type | Required Payload |
|---|---|
| Webhook | Webhook URL and optional custom Headers. |
| Prompt | The exact prompt text to be sent to the AI when clicked. |
| Escalation | Select an active Escalation Topic from a dropdown. |
| Open URL | Destination URL to open in a new tab. |
| Book Demo | Automatically links to the configured Calendar Skill. |
Frequently asked questions
What is the difference between the Copilot skill and the internal Copilot workspace?
The Copilot skill configures the end-user web chat interface — what your customers see and can do. The internal Copilot workspace is where your team monitors conversations, takes over, and reviews reasoning. They are two different surfaces controlled by different products.
How do custom slash commands handle missing arguments?
When a user runs a command with missing or invalid arguments, an LLM checks the input against the command's requirements. If arguments are missing, the agent enters a pending state and asks a clarification question. The user can answer normally or type 'cancel' to abort. Once satisfied, the payload is sent to the linked Webhook or Function.
Can I combine appearance conditions on a Copilot button?
Each button uses a single Appearance Condition, but you can layer Hide After Trigger and Appears Once Per Session on top to control repeat visibility. For complex logic, use a Regex Match condition to fire the button only when the agent's response matches a specific pattern.
Do citations link back to the original document?
End users always see citation references appended to answers when Citation Enabled is on. Only administrators can click through to open the source document in the vector store — controlled by the separate Citation Hyperlink Enabled For Admins toggle.
What does 'Allow Upload To Training' actually do?
When enabled, admins can push conversation files (attachments and transcripts) directly into the agent's training data pipeline from within Copilot, so useful examples become future training material without leaving the chat.
Why would I use a slash command instead of a Copilot button?
Buttons are best for discoverable, one-tap actions surfaced in the chat flow. Slash commands are best for power users who want to trigger deterministic workflows quickly (e.g. /summary, /email) and can accept free-form arguments interpreted by the LLM.