Admin Pages
AI Assistant
The AI Assistant feature in Jitbit Helpdesk leverages large language models (LLMs) to help your support team work more efficiently. The AI can generate ticket replies, summarize conversations, improve draft responses, create knowledge base articles, and even integrate with your custom APIs.
Overview
The AI Assistant provides several powerful capabilities:
- Smart Ticket Replies - Generate contextual responses based on the entire ticket conversation
- Conversation Summaries - Extract key facts and actions from long ticket threads
- Response Improvement - Polish and enhance technician-written drafts
- KB Article Generation - Convert resolved tickets into knowledge base content
- Custom AI Chat - Have free-form conversations with AI about any ticket
- Automatic Tool Usage - AI can search your KB, index and search your website (SaaS version only), search canned responses, and call custom external APIs
- Multi-turn Conversations - Context is preserved across multiple exchanges
Supported AI Providers
The AI Assistant supports multiple providers:
- OpenAI - Standard OpenAI API. Wew genrally use whatever model is the latest at the moment
- Azure OpenAI - Enterprise Azure-hosted OpenAI (and other) models
- Gemini - Google's AI model
The system uses function calling (tool use) to enable the AI to search documentation, access canned responses, and interact with custom external tools you define.
Setup & Configuration
Initial Configuration
Navigate to Admin → AI features and configure the desired features.
Custom Rules and Instructions
In the configuration page, you'll find a Custom Rules field where you can provide additional instructions that the AI will follow for all interactions. These rules are added to the system prompt.
Examples of custom rules:
- "Always be polite and professional"
- "Our business hours are 9 AM - 5 PM EST"
- "Never promise refunds without manager approval"
- "Always mention our premium support option for complex issues"
Security Note: Custom rules are treated as potentially untrusted input. The AI is instructed to ignore suspicious or malicious instructions that might be injected through this field.
Knowledge Base Integration
Enable "Include KB in AI responses" to allow the AI to automatically search your knowledge base and external documentation when answering questions. This dramatically improves response quality by grounding the AI's answers in your actual documentation.
When enabled, the AI will:
- Automatically search for relevant articles when needed
- On SaaS: Use sophisticated vector similarity search
- On-premises: Fall back to traditional keyword search as needed
- Reference specific articles in its responses
Indexing External Documentation (SaaS Only)
In addition to your knowledge base, you can index content from external URLs to enhance AI responses. This is useful for:
- Indexing your own documentation website
- Including product manuals or technical specs
- Adding content from trusted external sources
How to index external URLs:
- Navigate to Admin → AI features
- Scroll to the "Index External URL" section
- Enter the URL you want to index (e.g.,
https://www.yourcompany.com/docs/) - Choose whether to recursively index all sub-pages or just a single page
- Click "Index URL"
The system will crawl the URL(s) and process the content for use in AI responses.
Important notes:
- Ensure you have permission to index the target websites
- Indexed content is isolated and private - never shared with other customers
- You can view the status of indexing jobs in the table below the form
- Reindexing is available after 7 days from the last crawl
- The indexed content will be used as context for AI suggestions, just like KB articles
Core AI Features
AI-Generated Ticket Replies
The most common use case - generating complete responses to customer tickets.
How technicians use it:
- Open a ticket and its reply area
- Click the AI Assistant button (✨ icon)
- Select "Create a reply to this ticket"
- AI analyzes the entire conversation and generates a response
- Technician can insert, copy, or modify the response before sending
What the AI considers:
- Customer's original question and all follow-up messages
- All technician responses in the conversation
- Knowledge base articles (if KB integration is enabled)
- Canned responses that might be relevant
- Custom rules you've configured
- The conversation language (AI responds in the same language)
System prompt behavior:
The AI is instructed to:
- Be factual and concise
- Ask for clarification if the query is ambiguous
- Use available functions to gather more context
- Not repeat previous suggestions
- Avoid pleasantries like "Thanks for contacting us"
- Never make assumptions - state when information is uncertain
Conversation Summaries
Summarize long ticket threads into key technical facts and actions.
How it works:
- Click AI Assistant → "Summarize the conversation"
- AI extracts only factual information:
- Technical issues reported
- Current system state/behavior
- Actions already taken by customer or technicians
- Test results or error messages
- System configurations mentioned
- Results are chronologically ordered (oldest first)
What's excluded:
- Pleasantries and small talk
- Hypothetical scenarios
- Technician suggestions (focuses on facts, not advice)
Response Improvement
Polish an technician's draft response before sending.
How it works:
- Technician writes a draft response in the comment box
- Click AI Assistant → "Enhance your draft response"
- AI improves the draft by:
- Fixing grammar and spelling
- Improving readability
- Expanding brief points if needed
- Maintaining the original language
- Original tone and greeting/signature are preserved
Note: This does NOT change the meaning or add new information - it only polishes what's already written.
KB Article Generation
Convert resolved tickets into knowledge base articles automatically.
How it works:
- Open a ticket that has both a problem and solution
- Click AI Assistant → "Generate knowledge base content"
- AI generates:
- Article subject/title
- Article body (formatted in HTML)
- Suggestions for screenshots to include
- Preview the article
- Click "Proceed to article editor" to create the KB article
Best results when:
- Ticket has a clear problem and resolution
- Multiple messages showing troubleshooting steps
- Technical details are present (error messages, configurations)
Custom AI Chat
Have an open-ended conversation with the AI about any ticket or knowledge base article.
How it works:
- Click AI Assistant → "Custom AI-chat..."
- Type any question or instruction
- AI responds with context from the current ticket
- Continue the conversation - context is preserved
- Click "New Chat" to start over
Example uses:
- "What are the main pain points for this customer?"
- "Suggest three possible solutions for this issue"
- "Search if we have anything in KB for this" (if KB search is enabled)
Multi-turn conversations: The AI remembers the entire conversation thread, including any tool calls it made, so you can ask follow-up questions naturally.
Built-in AI Tools
The AI Assistant has built-in "tools" (functions) it can call automatically when needed. You don't need to configure these - they work out of the box.
Knowledge Base & Documentation Search
Tool name: query_docs
What it does: Searches your knowledge base and uploaded external documentation for relevant information.
When AI uses it: Automatically when it needs information to answer a question. For example:
- Customer asks: "What are your system requirements?"
- AI calls:
query_docs("system requirements") - AI receives: Relevant KB articles
- AI responds: Using information from those articles
Canned Responses Search
Tool name: search_canned_responses
What it does: Searches your library of canned/template responses for relevant content.
When AI uses it: When a query matches common scenarios you have templates for.
Image Description
Tool name: describe_image (Beta - not rolled out to every customer yet)
What it does: Analyzes images and screenshots attached to tickets.
When AI uses it: When it determines an image might be relevant to the ticket (e.g., screenshots with error messages).
What it extracts:
- Text visible in the image (error messages, UI labels)
- Objects and interface elements
- Colors and technical details
Won't use it for: Email signatures, logos, decorative images.
External Tools (Technical Guide)
External Tools allow you to extend the AI Assistant with custom API integrations. This is a powerful feature for developers who want the AI to access external data sources.
Overview
Purpose: Let the AI call your custom HTTP endpoints to retrieve data or perform actions.
Common use cases:
- Look up customer information from your CRM
- Check inventory or order status
- Query custom databases
- Integrate with proprietary business systems
- Access internal APIs that require authentication
How it works:
- You create a simple HTTP API endpoint (POST, returns JSON)
- You register it in the Helpdesk as an "External Tool"
- You define parameters the AI can pass (like customer email, order ID, etc.)
- The AI automatically discovers and calls your tool when relevant
- Your API returns data, AI incorporates it into its response
Creating an External Tool
You can add external tools through the admin interface.
Tool properties:
Name - Unique identifier for your tool. Use descriptive snake_case names:
- ✅ Good:
check_order_status,lookup_customer_account - ❌ Bad:
tool1,myAPI,check order
Description - Critical! This tells the AI when to use your tool. Be specific:
- ✅ Good: "Look up customer order status by order number. Returns shipping info, status, and tracking number."
- ❌ Bad: "Gets order info"
URL - Your HTTP endpoint. Must accept POST requests.
Headers - JSON object with custom HTTP headers:
{
"Authorization": "Bearer YOUR_API_KEY",
"X-Custom-Header": "value"
}
Parameters - Define what information the AI should extract from the conversation:
Each parameter needs:
- Name:
order_number,customer_email, etc. - Description: "The customer's order number" (helps AI extract the right value)
- Required: true/false (AI must provide this or it won't call the tool)
API Contract
Your external tool endpoint must follow these requirements:
Request format:
POST https://your-api.com/endpoint
Content-Type: application/json
{
"parameter_name": "value_extracted_by_ai",
"another_parameter": "another_value"
}
Response format (success):
{
"result": "The information you want to return",
"order_status": "Shipped",
"tracking": "1Z999AA10123456784",
"any_custom_fields": "you want"
}
Response format (error):
{
"error": "Order not found"
}
Important rules:
- Return valid JSON
- If there's an error, include an
errorfield (the AI will see this) - Non-JSON responses are wrapped as
{"result": "your response text"} - Timeout: 3 minutes maximum
- HTTP errors (400, 500, etc.) are reported to the AI
Example External Tool
Scenario: You want AI to look up customer orders from your e-commerce system.
Step 1: Create the API endpoint
# Example Flask API
from flask import Flask, request, jsonify
app = Flask(__name__)
@app.route('/api/lookup_order', methods=['POST'])
def lookup_order():
data = request.json
order_number = data.get('order_number')
# Query your database
order = database.get_order(order_number)
if not order:
return jsonify({"error": "Order not found"}), 200
return jsonify({
"order_number": order.number,
"status": order.status,
"total": order.total,
"items": order.items,
"tracking": order.tracking_number
})
Step 2: Register in Helpdesk
In the database or admin UI, create:
Tool:
- Name:
lookup_order - Description:
Look up customer order details by order number. Returns order status, total amount, items, and tracking number. Use when customer asks about their order. - URL:
https://your-api.com/api/lookup_order - Headers:
{"Authorization": "Bearer YOUR_SECRET_KEY"} - Enabled: true
Parameter:
- Name:
order_number - Description:
The order number the customer is asking about - Required: true
Step 3: How AI uses it
Customer message:
"Hi, I'd like to check on my order #12345. Has it shipped?"
AI behavior:
- Recognizes customer wants order status
- Extracts order number: "12345"
- Calls your tool:
lookup_order(order_number="12345") - Receives response from your API
- Incorporates data into response:
"I checked your order #12345. It has shipped! Your tracking number is 1Z999AA10123456784. The status shows it should arrive by Friday."