Initial Training / Data Import

Prev Next

Initial Data Import

The Initial Data Import page is a critical setup component that trains QuantumOps on your historical ticket data and imports agent information from HaloPSA. This foundational step enables AI-powered analysis, intelligent routing, and pattern recognition from day one.

Page Location: /InitialDataImport
Required Access: Administrator

[insert screenshot of Initial Data Import page here]


Overview

Why Initial Training Matters

Without proper historical data training, QuantumOps would need to self-train on new tickets only—potentially taking weeks or months to reach optimal performance. The Initial Data Import accelerates this by:

  1. Training the Semantic Memory Engine — Historical tickets are analyzed by Claude AI to extract knowledge patterns, solutions, and context
  2. Building Client & Environment Understanding — Learning about your clients' unique environments, technologies, and common issues
  3. Enabling Pattern Recognition & Categorization — Identifying recurring issues and enabling automatic categorization
  4. MSP Customization — Adapting to your terminology, processes, SLAs, and service delivery methods

Immediate Benefits After Training

Capability Description
Knowledge Retrieval Instant access to solutions from past tickets
Accurate Categorization AI-powered ticket routing and categorization
Client-Specific Solutions Recommendations tailored to each client's environment
Reduced Resolution Time Faster fixes for common issues
Smart Summaries AI-generated ticket insights
Proactive Detection Early identification of recurring problems
Enhanced Productivity Immediate value for your support team
Consistent Quality Uniform service standards across your team

Getting Started

When you first access the Initial Data Import page, an onboarding modal appears explaining the importance of initial training. Review this information carefully—it contains best practices that directly impact your AI's effectiveness.

Before You Begin

Ensure you have:

  • Active HaloPSA connection configured in QuantumOps
  • Administrator access to QuantumOps
  • Understanding of your ticket volume and types
  • Reviewed which clients/ticket types to include or exclude
  • Set aside time for the import process (varies by data volume - the import runs in the background after being started and can run for days if a large amount of tickets are being imported or if your rate limits with your AI providers are low)

Import Modes

The Initial Data Import page offers two import modes:

Mode Purpose Duration
Import Tickets Train AI on historical ticket data 10 min – several hours
Import Agents Sync HaloPSA agents for routing 1-2 minutes

Select your import mode from the dropdown at the top of the page.


Import Tickets

The ticket import process consists of three steps: selecting filters, choosing a date range, and reviewing cost estimates.

Step 1: Select Filters

Configure which tickets to include in the training dataset.

[insert screenshot of Step 1 Filters section here]

Ticket Types

Select specific ticket types to import, or leave empty to include all types.

Recommended Ticket Types:

  • Incidents — Real issues with documented resolutions
  • Service Requests — Standard requests with established workflows
  • Alerts — Unless SOC or actionable alerts
  • Recurring Jobs — Automated maintenance tickets
  • Internal — Internal team tickets

💡 Tip: Focus on ticket types containing valuable resolution information. Incidents and Service Requests typically provide the most training value.

Client Filter

The client filter supports two modes:

Mode Use Case
Include Selected Only import tickets from specific clients
Exclude Selected Import all clients EXCEPT those selected

Clients to Consider Excluding:

  • Catchall or "Unknown" clients - do not train your system on junk tickets
  • Former clients no longer serviced
  • Test or sandbox clients
  • Your internal client (unless valuable knowledge is stored in those tickets)
  • Clients with primarily junk/spam tickets

⚠️ Important: The default mode is Exclude Selected, which is typically what you want—importing all clients except problematic ones.

Teams

Select specific teams to filter tickets, or leave empty for all teams. Useful when you want to train on tickets handled by specific service desks or departments.

Ticket Status

Option Description
All Tickets Import both open and closed tickets
Open Tickets Only Only import currently open tickets
Closed Tickets Only Only import resolved tickets

💡 Recommendation: Select All Tickets or Closed Tickets Only for initial training. Closed tickets contain complete resolution data.


Step 2: Select Historical Data Range

Use the slider and unit selector to define how far back to import historical data.

[insert screenshot of Step 2 Date Range section here]

Time Range Controls

Control Options Description
Slider 1 to max Adjust the number of time units
Unit Days, Months, Years Select time unit scale

Slider Maximums by Unit:

  • Days: 1–365
  • Months: 1–36
  • Years: 1–10

Displayed Information

Metric Description
Date Range Start and end dates for the import
Estimated Tickets Count of tickets matching your filters

The ticket count is retrieved in real-time from HaloPSA using your filter criteria. This count updates automatically when you change filters or date range.

💡 Recommended Range: Start with 3-6 months of quality data for optimal balance between training depth and cost. More data generally means better results, but also higher processing costs.


Step 3: Review Cost Estimation

Before importing, review the estimated costs and processing time.

[insert screenshot of Step 3 Cost Estimation section here]

Cost Metrics

Metric Calculation Description
Estimated AI Cost ~$0.099 per ticket Based on Claude 4.5 Sonnet pricing
Processing Time ~30 seconds per ticket Total expected duration
Token Usage ~10,000 tokens per ticket Combined input/output (most tickets don't come anywhere close to this - the estimate is conservative)

Pricing Breakdown

Costs are calculated using Claude 4.5 Sonnet pricing:

Token Type Price per Million Percentage of Usage
Input tokens $3.30 70%
Output tokens $16.50 30%

Example Calculations:

Ticket Count Est. AI Cost Est. Time Token Usage
100 tickets ~$9.90 ~50 min ~1M tokens
500 tickets ~$49.50 ~4 hours ~5M tokens
1,000 tickets ~$99.00 ~8 hours ~10M tokens
5,000 tickets ~$495.00 ~42 hours ~50M tokens

Cost Cap (Optional)

Set a maximum spending limit for the import:

  1. Enter dollar amount in the Cost Cap field
  2. Import will automatically stop when this amount is reached
  3. Leave empty for no cap (process all tickets)

⚠️ Important: Tickets are processed from newest to oldest. If you set a cost cap, your most recent (and typically most relevant) data is prioritized.

Important Disclaimers

  • Estimates are approximate — Actual costs vary based on ticket complexity, length, and content
  • Processing order — Newest tickets first ensures recent data is prioritized if cost cap is reached
  • API rate limiting — Using your own API keys may slow processing due to provider rate limits

Confirming the Import

After reviewing your settings, click Import X Tickets to proceed.

[insert screenshot of Confirmation Dialog here]

Confirmation Dialog

The confirmation dialog displays a summary of your import:

  • Total ticket count
  • Estimated cost
  • Processing time
  • Date range
  • Cost cap (if set)

Review carefully, then click Confirm Import to start the process.

⚠️ Warning: This operation cannot be undone. Once started, the import runs in the background.


Import Processing

After confirmation, QuantumOps:

  1. Creates an Import Job — Tracks progress and status
  2. Fetches ticket IDs — Queries HaloPSA for matching tickets
  3. Queues tickets for processing — Background worker begins analysis

[insert screenshot of Processing Dialog here]

Processing Dialog Features

Element Description
Progress Bar Visual completion percentage
Log Output Real-time processing details
Status Indicators ✓ Success, ✗ Failed, ⚠ Warning

The log displays:

  • Import initialization steps
  • Database operations
  • Ticket ID retrieval progress
  • Any errors or warnings

Import Complete

When the import job is created, a success dialog appears:

[insert screenshot of Import Success Dialog here]

Information Description
Job ID Unique identifier for the import job
Total Tickets Number of tickets queued for processing
Estimated Cost Projected AI costs

Next Steps:

  • Click View Import Status to monitor progress
  • Or click Close to return to the import page

ℹ️ Note: The import job runs in the background. You can safely navigate away—processing continues automatically.


Import Agents

Agent import syncs your HaloPSA agents into QuantumOps for intelligent routing, workload balancing, and skill-based assignment.

[insert screenshot of Import Agents section here]

How It Works

  1. Click Import All Agents
  2. QuantumOps fetches agent list from HaloPSA API
  3. Each agent is imported with their profile data
  4. Results are displayed in real-time

Import Results

Metric Description
Successfully Imported Agents created/updated in QuantumOps
Failed Agents that encountered errors
Skipped (No ID) Agents without valid HaloPSA IDs

Processing Log

The agent import displays detailed logs including:

  • API response status
  • Agent count summaries
  • Individual agent import results
  • Any errors with stack traces
  • Final import summary

When to Import Agents

Agent Import Job

Agents import automatically once a day to create new team members but should be run manually when setting up the system.

Import agents:

  • ✅ During initial setup
  • ✅ After adding new team members in HaloPSA
  • ✅ After organizational changes
  • ✅ Before configuring skill-based routing

💡 Recommendation: Import agents before importing tickets. This ensures proper agent attribution during ticket analysis.


Best Practices

What to Include

Data Type Recommendation
Incidents ✅ High value — real issues with resolutions
Service Requests ✅ High value — established workflows
Quality closed tickets ✅ Complete resolution data
Recent data (3-6 months) ✅ Current and relevant patterns

What to Exclude

Data Type Recommendation
Alert tickets ❌ Unless SOC or actionable
Catchall/Unknown clients ❌ Poor quality data
Former clients ❌ No longer relevant
Test/junk tickets ❌ Noise in training data
Recurring job tickets ❌ Automated, low value

Data Quality Guidelines

Principle Impact
Quality over quantity Better results from fewer, quality tickets
Representative data Include variety of issue types
Complete resolutions Closed tickets with documented fixes
Exclude noise Remove irrelevant ticket types

⚠️ Remember: The AI learns from the data you provide. Poor quality or irrelevant data will negatively impact performance.


Technical Details

How Ticket Import Works

  1. SQL Query Generation — QuantumOps builds a SQL query based on your filters
  2. Ticket Count Retrieval — Query is executed against HaloPSA's report endpoint
  3. Ticket ID Collection — Limited to 10,000 tickets per import (Halo API limit)
  4. Import Job Creation — Job and ticket records created in database
  5. Background Processing — Worker processes each ticket with AI analysis
  6. Semantic Memory Storage — Knowledge is stored for future retrieval

Database Schema

Entity Purpose
ImportJob Tracks overall import progress and costs
ImportJobTicket Individual ticket processing status
ImportJobLog Detailed logging of import process

Processing Constraints

Constraint Value Reason
Max tickets per query 10,000 HaloPSA API limitation
Processing rate ~2/minute AI processing time
Token limit per ticket Variable Based on ticket complexity

Rate Limiting Considerations

API Key Type Impact
Managed (QuantumOps) Optimized rate limits, faster processing
BYOK (Your keys) Subject to your Anthropic/OpenAI tier limits

If using BYOK, rate limits from your AI provider may significantly increase processing time.


Monitoring Import Progress

After starting an import, you can monitor progress on the Import Status page:

Navigation: /import-status/{job-id}

Status Page Features

  • Real-time progress updates via SignalR
  • Ticket-by-ticket processing log
  • Cost tracking (estimated vs. actual)
  • Error details and retry counts
  • Completion notifications

Troubleshooting

No Tickets Found

Symptoms: Import shows 0 tickets or fails immediately

Solutions:

  1. Verify HaloPSA connection is active
  2. Check date range includes tickets
  3. Review filter criteria—may be too restrictive
  4. Ensure selected ticket types have data

Slow Processing

Symptoms: Import progresses very slowly

Causes:

  • BYOK API keys with low rate limits
  • Large ticket content requiring more tokens
  • Server resource constraints

Solutions:

  • Use managed AI services for optimized limits
  • Import smaller date ranges in batches
  • Schedule imports during off-hours

Import Fails to Start

Symptoms: Error during job creation

Solutions:

  1. Check console logs for specific errors
  2. Verify database connectivity
  3. Ensure user has administrator permissions
  4. Try refreshing the page and restarting

High Token Usage

Symptoms: Actual costs exceed estimates

Causes:

  • Tickets with long descriptions or many actions
  • Complex technical content
  • Large attachments or embedded content

Solutions:

  • Set a cost cap to limit spending
  • Exclude verbose ticket types
  • Import in smaller batches to monitor usage

Frequently Asked Questions

How long does initial import take?

Processing time depends on ticket count and content complexity:

Volume Approximate Time
100 tickets ~50 minutes
500 tickets ~4 hours
1,000 tickets ~8 hours
5,000 tickets ~42 hours

Can I import more than 10,000 tickets?

The HaloPSA API limits queries to 10,000 records. For larger imports:

  1. Complete first import (newest 10,000)
  2. Adjust date range to target older tickets
  3. Run additional import batches

What happens if I set a cost cap?

  • Import processes tickets newest-to-oldest
  • Stops when cost cap is reached
  • Remaining tickets are not processed
  • Prioritizes most recent/relevant data

Can I re-import tickets?

Yes, but note:

  • Previously imported data will be overwritten
  • Consider cost implications of re-processing

Should I import open or closed tickets?

Recommended: Import All or Closed tickets for initial training.

  • Closed tickets have complete resolution data
  • Open tickets lack outcome information but will pre-seed the dashboards for tickets in Halo already
  • You can import open tickets for specific use cases

How often should I import agents?

Import agents:

  • Once during initial setup
  • After organizational changes
  • When new team members join
  • Before configuring routing rules
Agent Import Job

Agents import automatically once a day to create new team members.


Related Documentation


Summary

The Initial Data Import is a foundational step that:

  1. Trains your AI on historical patterns and solutions
  2. Imports agent data for intelligent routing
  3. Enables immediate value from QuantumOps features
  4. Builds client profiles and environment understanding

Take time to carefully select quality data for import—the AI's effectiveness directly correlates with training data quality.