Helpdesk migration
Field-level mapping, validation, and rollback between Kaseya VSA and Freshdesk. We move data and schema; workflows are rebuilt natively in Freshdesk.
Kaseya VSA
Source
Freshdesk
Destination
Compatibility
5 of 8
objects map 1:1 between Kaseya VSA and Freshdesk.
Complexity
BStandard
Timeline
3-5 weeks
Overview
Moving from Kaseya VSA to Freshdesk is a migration from an RMM platform with bundled ticketing to a purpose-built customer support platform. Kaseya VSA organizes endpoint identity under Organizations and Sites, and its Service Desk Tickets carry machine-level context that Freshdesk represents through Contacts and Companies. We extract tickets via Kaseya's Import Center XML (correcting the required ISO-8859-1 encoding that Kaseya enforces), map Agent endpoint identities to Freshdesk Contacts, and map Organizations to Freshdesk Companies. Freshdesk's API enforces per-minute rate limits that vary by plan tier (200 calls per minute on Growth, 400 on Pro, 700 on Enterprise) with per-endpoint sub-limits that most migration scripts miss; we implement batch chunking and exponential backoff to stay within those limits on large ticket histories. Workflows, automation rules, Agent Procedures, Monitor Sets, and Patch Policies do not migrate as code; we deliver a written inventory of every automation requiring rebuild in Freshdesk's native Rule Builder.
Every standard and custom field arrives verified.
AI proposes the map; you confirm before any record moves.
Parent–child, lookups, and ownership stay linked.
Calls, emails, meetings — with original timestamps.
Documents, uploads, and inline notes move with the record.
Why teams make this switch
Leaving
What's pushing teams away
Choosing
What's pulling them in
Object mapping
Each row shows how a Kaseya VSA object lands in Freshdesk, including any object-level transformations, lookup resolution, or schema-design dependencies.
Typical mapping — final map is confirmed during the sample migration step.
Kaseya VSA
Service Desk Tickets
Freshdesk
Ticket
1:1Kaseya VSA Service Desk Tickets migrate to Freshdesk Tickets. The Kaseya ticket ID is stored in a custom field kaseya_original_id__c for reconciliation. Ticket status (Open, Pending, Resolved, Closed) maps to Freshdesk default status values; custom Kaseya status values map to Freshdesk custom status definitions created during schema setup. Ticket priority migrates to Freshdesk priority field. Conversations and internal notes migrate as Ticket Conversations in Freshdesk. Kaseya's machine-linked ticket context (Agent hostname, IP address, Organization) migrates to Freshdesk custom fields on the linked Contact record.
Kaseya VSA
Organizations
Freshdesk
Company
1:1Kaseya VSA Organizations (top-level tenant containers, especially relevant for MSPs with multiple customer accounts) map to Freshdesk Companies. Organization-level custom fields migrate to Freshdesk Company custom fields. We preserve the Organization name and identifier for dedupe validation during import. If Kaseya Organizations have hierarchical parent-child relationships, those map to Freshdesk Company parent_id lookups.
Kaseya VSA
Sites
Freshdesk
Company (sub-account)
1:manyKaseya VSA Sites (sub-containers within Organizations representing physical locations or client subdivisions) map to Freshdesk Companies as child records under the parent Organization-Company. Site-level custom fields migrate to Freshdesk Company custom fields on the child record. Site assignments on Agents migrate as the parent Company reference on the corresponding Freshdesk Contact.
Kaseya VSA
Agents (managed endpoints)
Freshdesk
Contact
1:1Kaseya VSA Agents (managed endpoint records with hostname, OS, last check-in, and status) migrate to Freshdesk Contacts as endpoint identity records. The Kaseya Agent Machine ID is stored in kaseya_machine_id__c on the Freshdesk Contact for audit and reconciliation. Agent-level custom fields migrate to Freshdesk Contact custom fields. Agent Groups do not have a direct Freshdesk equivalent; we document the group membership as a Contact tag in Freshdesk.
Kaseya VSA
Agent Groups
Freshdesk
Contact Tag
lossyKaseya VSA Agent Groups (dynamic or static collections of Agents used for targeted procedure deployment and monitoring) have no direct Freshdesk equivalent. We export group memberships and apply them as Freshdesk Contact Tags during migration, preserving the grouping logic as a label-based taxonomy rather than a structural relationship. The customer can use Freshdesk's built-in smart groups or saved filters as an alternative grouping mechanism post-migration.
Kaseya VSA
Custom Fields (Organization and Agent level)
Freshdesk
Contact Custom Fields and Company Custom Fields
lossyKaseya VSA Organization custom fields map to Freshdesk Company custom fields. Agent-level custom fields map to Freshdesk Contact custom fields. We pre-create all destination custom fields with matching types (text, number, dropdown, date, checkbox) before migration. Kaseya custom fields assigned at Global or System context that have no natural home in Freshdesk are stored in a JSON-formatted custom field kaseya_custom_context__c on the Contact or Company for future reference.
Kaseya VSA
Monitor Sets
Freshdesk
N/A — inventory only
1:1Kaseya VSA Monitor Sets define alerting and threshold configuration for Agents and do not have a Freshdesk equivalent. We export Monitor Set definitions as part of the discovery inventory and deliver a written reference document mapping each Monitor Set to its equivalent Freshdesk automation rule trigger or SLA policy. The customer's admin rebuilds monitoring logic in Freshdesk's Automations or a connected monitoring tool.
Kaseya VSA
Patch Policies
Freshdesk
N/A — inventory only
1:1Kaseya VSA Patch Policies control automated patching schedules, approval rules, and reboot handling and do not migrate to Freshdesk. We deliver a written inventory of every active Patch Policy with its target OS scope, approval workflow, and schedule for the customer to configure in their chosen endpoint management platform post-migration.
| Kaseya VSA | Freshdesk | Compatibility | |
|---|---|---|---|
| Service Desk Tickets | Ticket1:1 | Mapping required | |
| Organizations | Company1:1 | Fully supported | |
| Sites | Company (sub-account)1:many | Fully supported | |
| Agents (managed endpoints) | Contact1:1 | Fully supported | |
| Agent Groups | Contact Taglossy | Mapping required | |
| Custom Fields (Organization and Agent level) | Contact Custom Fields and Company Custom Fieldslossy | Fully supported | |
| Monitor Sets | N/A — inventory only1:1 | Fully supported | |
| Patch Policies | N/A — inventory only1:1 | Fully supported |
Gotchas + challenges
Platform-specific issues from each side, plus the pair-specific challenges that don't show up on either platform's page on its own.
Kaseya VSA gotchas
ISO-8859-1 XML encoding requirement on Import/Export
VSA 9 to VSA 10 migration requires a full architectural reassessment
Machine ID reassignment during VSA-to-VSA transfer
Confusing SKU billing model with no published pricing
Custom reports capped at 40 custom fields
Freshdesk gotchas
API access is blocked on the free plan
Per-minute rate limits are account-wide and endpoint-specific
Multi-channel source types do not map 1:1 to all destinations
Custom objects created in-product cannot be accessed by other apps
Contact import requires at least 10 existing tickets in the account
Pair-specific challenges
Migration approach
Discovery and Freshdesk edition assessment
We audit the Kaseya VSA environment across Organizations, Sites, Agent count, Service Desk Ticket volume, custom field definitions (at Organization, Site, Agent, and System scope), and any active Import Center XML exports. We pair this with a Freshdesk edition assessment: Starter ($15/agent) covers basic ticketing; Growth ($29/agent) adds custom fields and analytics; Pro ($49/agent) adds workflow automations and SLA policies; Enterprise ($79/agent) adds multilingual support and advanced security. We confirm the customer's current Kaseya contract SKU during scoping because migrating mid-contract requires a separate de-procurement decision.
XML extraction with encoding correction
We extract Kaseya VSA data via the Import Center XML export. The critical step is detecting the source file encoding (we have seen UTF-8, UTF-16, and Windows-1252 variants from different Kaseya versions and export tooling) and transcoding to ISO-8859-1 before parsing. We parse the XML into a normalized intermediate representation covering Organizations, Sites, Agents, Agent Groups, Service Desk Tickets, custom field definitions, and custom field values. Any XML parsing failures are logged with line numbers and fed back to the customer for Kaseya-side correction before extraction continues.
Freshdesk schema pre-creation
We create all destination custom fields in Freshdesk before any data import. Organization-level custom fields from Kaseya become Freshdesk Company custom fields. Agent-level custom fields become Freshdesk Contact custom fields. Ticket-level custom fields become Freshdesk Ticket custom fields. Custom field types are mapped (Kaseya text to Freshdesk text, Kaseya dropdown to Freshdesk dropdown, Kaseya checkbox to Freshdesk boolean). We also create the kaseya_original_id__c field on Ticket and the kaseya_machine_id__c field on Contact during this phase. Schema is deployed into a Freshdesk trial or sandbox workspace for validation before production migration.
Dependency-ordered import with rate-limit handling
We import data into Freshdesk in dependency order: Companies (from Organizations), child Companies (from Sites), Contacts (from Agents with kaseya_machine_id__c populated), then Tickets (with Contact and Company lookups resolved). Each phase uses the Freshdesk REST API v2 with per-plan rate-limit awareness (200, 400, or 700 calls per minute), per-endpoint sub-limit respect, and exponential backoff on 429 responses. For tickets with more than ten conversation entries, we route to the dedicated conversations endpoint rather than the embedded include=conversations parameter. Batch sizes are tuned per-endpoint during dry-run validation.
Validation and reconciliation
We run row-count reconciliation against the extracted Kaseya data after each import phase: Organizations versus Freshdesk Companies, Sites versus child Companies, Agents versus Freshdesk Contacts, Tickets versus Freshdesk Tickets. We spot-check twenty to thirty random records against the Kaseya source for field-level accuracy. Any unmapped custom fields, dropped conversations, or encoding artifacts are logged and corrected before the next phase. The customer reviews the validation report and signs off before cutover.
Cutover, delta sync, and automation inventory delivery
We freeze Kaseya VSA writes during cutover, run a final delta migration of any tickets modified during the migration window, then enable Freshdesk as the system of record. We deliver a written inventory of Kaseya Monitor Sets, Patch Policies, Event Sets, and Agent Procedures with a Freshdesk equivalent reference (Automations, SLA Policies, or manual rebuild). We do not rebuild Kaseya automation logic as Freshdesk rules inside the migration scope; that is a separate configuration engagement. We support a five-business-day hypercare window for reconciliation issues raised during the first week of Freshdesk production use.
Platform deep dives
Kaseya VSA
Source
Strengths
Weaknesses
Freshdesk
Destination
Strengths
Weaknesses
Complexity grading
Standard Helpdesk migration. All 7 core objects map 1:1 between Kaseya VSA and Freshdesk.
Overall complexity
Standard migration
Derived from compatibility, mapping clarity, API constraints, and data volume across Kaseya VSA and Freshdesk.
Object compatibility
All 7 core objects map 1:1 between Kaseya VSA and Freshdesk.
Field mapping clarity
Field mapping is derived from defaults — final spec confirmed during the sample migration.
Timeline complexity
7-object category — typical timelines run 2–7 days end-to-end.
API constraints
Kaseya VSA: Not publicly documented.
Data volume sensitivity
Kaseya VSA doesn't expose a bulk API — REST + parallelization used for high-volume runs.
Estimator
Rule-based pricing — no per-record fees, no manual quotes. Migrations over 2M records are scoped individually.
Step 1
Pick a category, then your source and destination platforms.
Category
FAQ
Answers to the questions buyers ask most during Kaseya VSA to Freshdesk migration scoping. Not seeing yours? Book a call.
Walk through your Kaseya VSA to Freshdesk migration with a real engineer — 30 minutes, free, written quote within 24 hours.
Book a free 30 minute consultationAdjacent paths
Other ways to leave Kaseya VSA
Other ways to arrive at Freshdesk
Same-Helpdesk migrations
Ready when you are
Tell us record counts and timeline. We'll come back with a written quote inside 1 business day — no commitment, no sales pitch.