Escalation instructions
Escalation instructions guide your agent on handling situations it cannot resolve independently. Without custom instructions, agents use default behavior:- Escalate to a human agent only when you cannot solve the problem using knowledge base lookups or available tools
- Avoid unnecessary back-and-forth with the requester. If clarifying questions don’t help, proceed with escalation
- When escalating, create a ticket and inform the user that a human agent will take over
- Once escalated, do not attempt to further solve the issue
Configure escalation instructions
Navigate to agent settings
Find escalation instructions
Add or edit instructions
Write custom guidelines
@ mentions.Save changes
Use mentions in escalation instructions
Reference resources using@ mentions:- Knowledge bases: Direct the agent to check specific knowledge sources before escalating
- Forms: Create tickets with specific forms when escalating
- Categories, tags, and statuses: Classify or update the ticket so downstream workflows can pick it up
Before escalating, check @IT Knowledge Base one more time for any relevant articles. If still unable to resolve, create a ticket with @Form - General Support and inform the user that a specialist will follow up within 24 hours.
When you cannot resolve a user's access request, create a ticket with @Form - Escalated Access Review and set @Category - Access Review. Inform the user that their request requires manager approval and they'll be notified within 1 business day.
Best practices
- Be specific about escalation triggers with clear conditions
- Include user communication telling the agent what to say when escalating
- Set expectations with information about response times or next steps
- Reference resources using
@mentions to connect escalation to specific forms, categories, or knowledge bases
Rules
Rules are natural language instructions that define how your agent handles specific scenarios. Each rule teaches your agent a capability using prompts that reference Ravenna resources like and .Rule structure
Each rule contains:- Title: Descriptive name for the rule (for example, “Password reset handler”)
- Instruction: Natural language prompt telling the agent what to do and when
- Enabled/disabled toggle: Control whether the rule is active
When to use rules
Create rules when you want your agent to:- Handle specific request types consistently
- Route requests to the correct form
- Reference specific knowledge sources for answers
- Follow defined processes for common scenarios
- Provide specialized responses for particular topics
Writing effective rules
Best practices
Best practices
When a user asks about password resets, account lockouts, or login issues...
@ to link to specific Ravenna resources.Check @IT Knowledge Base for relevant articles before responding. Create a ticket with @Form - Password Reset if action is needed.
Inform the user that their request has been logged and provide the ticket number.
Rule examples
Rule examples
When a user asks a question, first check @IT Knowledge Base for relevant articles. If you find an article that answers the question, provide a summary and link to the article. If no articles are found, create a support ticket with @Form - General Inquiry and inform the user that their request has been logged.
When a user requests a password reset or reports being locked out of their account, create a ticket with @Form - Password Reset. Confirm to the user that their request has been submitted and that IT will process it shortly.
When a user requests access to software or applications, ask them to specify which application they need and their business justification. Then create a ticket with @Form - Software Access Request including the details they provided.
When a user requests software access, ask which application they need and their business justification. Then create a ticket with @Form - Software Access Request including the details they provided. A workflow triggered by the form submission will handle provisioning and approvals automatically.
When a user reports hardware problems (laptop, monitor, keyboard, mouse), first ask clarifying questions about the issue. Then create a ticket with @Form - Hardware Support and let them know an IT technician will follow up.
When a new employee starts, create a ticket with @Form - Employee Onboarding capturing the new hire's details. A workflow triggered by the form submission will provision their accounts, assign equipment, and schedule orientation. Confirm with the manager that the onboarding process has begun.
Formatting tips
Formatting tips
- Use clear, conversational language as if explaining to a colleague
- Break complex logic into numbered steps for multi-part processes
- Include fallback behavior telling the agent what to do if the primary action isn’t possible
- Specify tone when needed, adding guidance like “respond empathetically” for sensitive topics
Private message rules
Private message rules
When a user asks for their database credentials, look up the credentials in @IT Credentials KB and respond privately with the connection details. Never share credentials in the public channel.
Limitations
Limitations
Manage rules at workspace level
Create reusable rules at the workspace level from the Rules tab on the Agents page. Workspace-level rules can be shared across multiple agents for consistent behavior.Access rules tab
Create new rule
Write instruction
@ mentions to reference forms, knowledge folders, and tools.Save rule
- Create a rule in the Rules tab
- Open any agent and navigate to Capabilities > Rules
- Click Add Rule and select from your workspace rules
- Add the same rule to as many agents as needed
- Open an agent and navigate to Capabilities > Rules
- Click the action menu on the rule you want to copy
- Select Duplicate
- Enter a title for the new rule (defaults to the original title with “Copy” appended) and choose a target agent
- Click Duplicate to create the copy
Open the View menu
Toggle columns
Select rules
Open bulk actions
Confirm
Knowledge
Select specific knowledge folders for your agent to access when answering user questions. This ensures the agent provides accurate information based on your organization’s knowledge base.Tools
Tools extend your agent’s capabilities to query data, execute commands, and automate tasks. Agents have access to built-in Ravenna tools for ticket management and web search, plus additional tools from installed integrations like device management systems and CRM platforms.How tools work
Tools are referenced in using @ mentions. When you write a rule, use @ mentions to specify which tool actions the agent should use and when to use them.Tool availability and explicit opt-in
By default, some built-in tools only appear to the agent when the workspace has matching context. For example, the agent hides@Set Category when the workspace has no categories, and hides form-related tools when no forms are attached to a matched rule. This keeps the tool surface focused so the agent never sees an action with nothing to act on.Attaching a tool to the agent, or @-mentioning it in a rule, counts as an explicit opt-in and bypasses those context-presence checks for that turn. Use this when you want a tool surfaced even if the supporting context is sparse or builds up over the conversation.- Admin opt-in: Tools attached to the agent under Capabilities > Tools are always available to the agent.
- Rule opt-in: Tools
@-mentioned in a matched rule are available for that turn, even if other context (forms, categories) is empty. - Knowledge lookup stays scoped.
@Search Knowledge Baseis a data boundary, not just an affordance. It only appears when the agent has at least one knowledge folder attached, or a matched rule mentions a@Knowledge folderor@Knowledge document. Explicit tool opt-in does not unlock knowledge search on its own — you must also point the agent at the knowledge to search. - Integration availability still applies. Disconnected integrations make their tools unavailable regardless of opt-in.
When a user requests approval on a ticket, use @Approve Ticket to mark the ticket as approved. Confirm to the user that the ticket has been approved and any automated workflows will proceed.
When a user reports their device is slow or having performance issues, @Look up device with Fleet to get the device information, then @Run query with Fleet to check system diagnostics. Analyze the returned information and provide basic troubleshooting steps based on what you find.
When a user asks about a customer's account status or deal information, @Search contacts with HubSpot to find the contact by email, then @List deals with HubSpot to retrieve their active deals. Summarize the account status and recent activity for the user.
Ravenna tools
Built-in tools available to all agents for ticket management, application lookup, and information retrieval.Create Ticket
Create Ticket
- Create support tickets from Slack conversations
- Generate tickets with pre-filled form data
- Route requests to specific channels
- Automate ticket creation for common request types
Update Ticket
Update Ticket
- Add context to existing tickets
- Update priority based on urgency
- Modify ticket properties from conversation
- Add tags for categorization
Add Approver
Add Approver
- Add managers as approvers for access requests
- Route approvals to specific team members
- Manage multi-step approval processes
- Dynamically assign approvers based on request type
When a user requests that someone be added as an approver to a ticket, use @Add Approver to add the specified user as an approver. Confirm to the user that the approver has been added and will be notified.
Approve Ticket
Approve Ticket
- User must be listed as an approver on the ticket, OR
- User must be a workspace admin
- Enable conversational approvals in Slack
- Streamline approval workflows
- Allow admins to approve any ticket
- Reduce approval friction for authorized users
When a user who is an approver or workspace admin says they approve a ticket or request, use @Approve Ticket to mark the ticket as approved. Confirm to the user that the ticket has been approved and notify them that any automated workflows will proceed.
List Applications
List Applications
- Help users discover available applications
- Validate application names in access requests
- Provide information about available software
- Guide users through application access processes
List Access Levels
List Access Levels
@List Access LevelsInput: Requires an application IDAutomatic prefilling: When only one access level exists for an application, agents automatically prefill it in forms even if the user didn’t explicitly mention it.Common use cases:- Populate access level fields in access request forms
- Validate user-requested access levels against available options
- Determine available permission tiers for applications
- Auto-fill forms when only one access level exists
When a user requests access to an application, first use @List Applications to find the application ID. Then use @List Access Levels with that application ID to determine available access levels. If the user specified an access level (like 'Read Only' or 'Admin'), match it to the available options. If only one access level exists, automatically use it. Create the access request ticket with the appropriate access level prefilled.
Mention User
Mention User
@Mention UserCommon use cases:- Include multiple people in collaborative responses
- Notify specific users about actions or updates
- Facilitate multi-user conversations
- Loop in relevant team members
When providing updates about a ticket, mention the ticket assignee using @Mention User so they're notified of the conversation. Include a summary of the update in your response.
Web Search
Web Search
- Find current information not in knowledge base
- Research technical questions
- Look up external documentation
- Provide real-time information
User Lookup
User Lookup
@User LookupSearch behavior:- Matches against first name, last name, and email address, even with partial or approximate input
- Supports multi-word queries (searches each word across all fields)
- Returns users ordered by relevance
- Scoped to your organization only
- Resolve user names to Ravenna user IDs for user selection fields
- Look up team members when processing requests that reference people
- Find users when the requester mentions someone by name
- Populate manager or approver fields in access request forms
When a user submits a request that involves another person (like 'my manager Sarah Chen' or 'please add John to the project'), use @User Lookup to find the referenced user's Ravenna ID. Use this ID to populate any user selection fields in the form.
Group Lookup
Group Lookup
@Group LookupSearch behavior:- Searches across group name, description, email, and other metadata fields registered by integrations
- Supports multi-word queries (each word must match somewhere across the group’s searchable fields)
- Scoped to the current workspace. Only groups visible in that workspace are returned
- When called with a form ID and field ID, results respect the field’s allowlist and source constraints (for example, only native groups or only groups from a specific integration)
- Resolve group names to IDs for user group selection fields in forms
- Look up teams or departments when processing requests that reference a group
- Find groups when the requester mentions a team by name or email
When a user submits a request that involves a team or group (like 'assign this to Team Falcon' or 'the Engineering group needs access'), use @Group Lookup to find the group's ID. Use this ID to populate any user group selection fields in the form.
Set Category
Set Category
@Set CategoryCommon use cases:- Automatically categorize tickets based on conversation content
- Apply categories as part of triage rules
- Set categories to trigger category-based workflows
When a user reports a hardware issue, use @Set Category to assign the 'Hardware' category to the ticket. This ensures the ticket is routed to the correct team and triggers any hardware-specific workflows.
List Categories
List Categories
@List CategoriesCommon use cases:- Discover available categories before assigning one to a ticket
- Validate category names mentioned by users
- Help users understand the available categorization options
When a user asks about ticket categories or wants to categorize a ticket, use @List Categories to find available options. Present the relevant categories and use @Set Category to apply the user's choice.
List Statuses
List Statuses
@List StatusesCommon use cases:- Discover available statuses before updating a ticket’s status
- Validate status names mentioned by users
- Help users understand the ticket lifecycle stages
When a user asks to change a ticket's status, use @List Statuses to find the matching status. Update the ticket with the correct status and confirm the change to the user.
List Tickets
List Tickets
@List TicketsSearch and filter options:- Text search: Searches ticket titles and ticket numbers
- Filters: Priority, assignee, status, queue, form, requestor, source, tags, created date, updated date, resolved date, and due date
- Find tickets matching specific criteria for reporting or triage
- Look up tickets assigned to a particular user or team
- Search for tickets by keyword across a workspace
- Filter tickets by status, priority, or date range
When a user asks about their open tickets, use @List Tickets to search for tickets where the requestor is the current user and the status is open. Summarize the results and highlight any high-priority items.
Get Ticket Info
Get Ticket Info
@Get Ticket InfoSupported ID formats:- Full CUID (for example,
clx123...) - 8-character short ID (for example,
abc12345) - PREFIX-NUMBER (for example,
TICK-1234)
- Look up the current status and details of a specific ticket
- Check who is assigned to or requested a ticket
- Retrieve ticket context before making updates
- Answer user questions about a specific request
When a user asks about the status of a specific ticket, use @Get Ticket Info to retrieve the ticket details. Summarize the current status, assignee, and priority for the user.
Get Ticket Messages
Get Ticket Messages
@Get Ticket MessagesCommon use cases:- Review the conversation history on a ticket
- Understand what has been discussed or resolved
- Provide context when escalating or reassigning tickets
- Summarize a ticket’s communication thread
When a user asks what happened on a ticket or wants a summary of the discussion, use @Get Ticket Messages to retrieve the conversation history. Provide a concise summary of the key points and any actions taken.
List Channels
List Channels
@List ChannelsCommon use cases:- Help users discover available channels for submitting requests
- Find channel IDs for ticket filtering or creation
- Provide an overview of how the workspace is organized
When a user asks where to submit a request or wants to know what channels are available, use @List Channels to retrieve the workspace channels. Help them identify the most appropriate channel for their request.
Get Channel Info
Get Channel Info
@Get Channel InfoCommon use cases:- Look up details about a specific channel
- Verify channel configuration before routing tickets
- Provide channel context when helping users navigate the workspace
When a user asks about a specific channel, use @Get Channel Info to retrieve the channel details. Share the channel name, prefix, and purpose with the user.
Create Channel
Create Channel
@Create ChannelCommon use cases:- Set up new channels for teams or projects
- Create channels as part of workspace onboarding
- Add channels for new request categories
When a user requests a new channel for their team, use @Create Channel to create it with the specified name and an appropriate emoji. Confirm the channel was created and share its details.
Update Channel
Update Channel
@Update ChannelCommon use cases:- Rename channels to reflect updated team or project names
- Change a channel’s emoji icon
When a user asks to rename a channel or change its emoji, use @List Channels to find the channel ID, then use @Update Channel to apply the changes. Confirm the update to the user.
List Forms
List Forms
@List FormsCommon use cases:- Help users find the right form for their request
- Look up form IDs before creating tickets
- Provide an overview of available forms
When a user is unsure which form to use for their request, use @List Forms to retrieve the available forms. Recommend the most appropriate form based on the user's description of their issue.
List Custom Fields
List Custom Fields
@List Custom FieldsInput: Requires a form IDCommon use cases:- Discover what fields a form requires before creating a ticket
- Validate user-provided values against available options for select fields
- Understand form structure to collect the right information from users
Before creating a ticket with a specific form, use @List Custom Fields to get the form's fields. Ask the user for any required fields that haven't been provided, then create the ticket with the correct field values.
List Users
List Users
@List UsersCommon use cases:- Find user IDs for ticket assignment or requester fields
- Search for team members by name or email
- Discover workspace members for collaboration
When a user asks to assign a ticket to someone, use @List Users to search for the person by name. Then use @Update Ticket to set the assignee. Confirm the assignment to the user.
Get User By ID
Get User By ID
@Get User By IDCommon use cases:- Look up user details when you have a user ID from another tool’s output
- Resolve user IDs from ticket data into readable names and emails
- Verify user information before taking actions on their behalf
When reviewing ticket details that include a user ID for the assignee or requester, use @Get User By ID to retrieve their name and email. Include this information when summarizing the ticket for the user.
Search Knowledge Base
Search Knowledge Base
@Search Knowledge BaseAccess scoping: Results are scoped based on the user’s workspace role. Admins and members see all knowledge bases, while guests see only global knowledge bases and those linked to their associated channels.Common use cases:- Answer questions about internal company policies and procedures
- Find IT documentation and troubleshooting guides
- Look up HR benefits, leave policies, or onboarding information
- Search for internal process documentation before escalating
When a user asks about company policies, benefits, or internal procedures, use @Search Knowledge Base to find relevant documentation. Summarize the key points and cite the source document. If no results are found, let the user know and offer to create a support ticket.
Third-party integration tools
Additional tools become available when you install and connect integrations to your workspace. Each integration provides specialized tools for its platform.Tool execution policies
Each tool referenced in a rule can be gated with an execution policy that controls what happens before the agent invokes it. Policies are scoped per rule, so the same tool can run automatically in one rule and require approval in another.Set the policy from a rule’s tool list. Each tool shows an Execution Policy row with three modes:- Read tools (such as lookups and searches) default to Auto-execute.
- Write and delete tools (such as create, update, add member, deactivate) default to Requires confirmation so admins are prompted before changes are made.
Choose approvers
When you select Requires approval, an Approvers field appears for that tool. Pick one of:- Workspace Admins (default) — any workspace admin can approve. No template needed.
- An approval template — uses the template’s rounds, policies (any-of / all-of), and approver lists. Choose this when you need named approvers, user groups, role-based approvers like the requester’s manager, or multiple sequential rounds.
- Create approval template — opens the template editor in-place. The new template is selected on the tool as soon as you save it.
Batched approvals
When a single agent run plans multiple approval-gated tool calls, Ravenna does not open one approval round per tool. Instead, after the agent finishes reasoning it groups buffered calls by approver set and opens one parallel approval round per group. Once every round clears, the agent re-runs and executes the buffered calls with the originally planned inputs. This avoids forcing approvers through several sequential prompts for a single user request.Example: gate a sensitive write tool
The rule below uses Google Workspace tools to add a user to a group. Configure the rule’s tool list so thatList Google Groups stays on Auto-execute (it only reads) while Add member to Google Group is set to Requires approval with an “IT leads” approval template.When a user requests to be added to a Google Group, use @List Google Groups to find the matching group, then use @Add member to Google Group to add them. Confirm to the user that an approval request has been sent and they will be notified once it clears.
Add member to Google Group tool is used in a different rule (for example, a self-service onboarding rule for direct reports of a manager), you can set a different policy on that rule without affecting this one.Best practices
- Reference tools in using @ mentions to define when and how the agent should use them
- Provide context about what to do with tool results (analyze, summarize, troubleshoot)
- Combine multiple tool actions for complex multi-step processes
- Use Ravenna tools for ticket management and approval workflows
- Use integration tools for platform-specific data retrieval and actions
- Test tool-based rules thoroughly to ensure correct data retrieval and analysis
- Monitor agent logs to identify tool usage patterns and opportunities for optimization