Helpdesk migration
Field-level mapping, validation, and rollback between ITCO and Freshdesk. We move data and schema; workflows are rebuilt natively in Freshdesk.
ITCO
Source
Freshdesk
Destination
Compatibility
7 of 8
objects map 1:1 between ITCO and Freshdesk.
Complexity
CModerate
Timeline
3-5 weeks
Overview
Moving from ITCO to Freshdesk is a manual-first migration. ITCO does not publish API documentation, so all record extraction happens through guided manual export from the ITCO interface before we stage data for Freshdesk import. Freshdesk's API (available from the Blossom tier and above) accepts Contacts, Organizations, Agents, and Tickets in structured JSON, which we chunk and batch into the destination using rate-limited POST calls. We enumerate every custom ticket field in ITCO during discovery, create matching custom fields in Freshdesk before import, and flag attachment-heavy tickets so that your team can download files directly and re-attach them post-migration. Tags, Knowledge Base articles, and automation rules do not migrate; we document them for your admin to rebuild in Freshdesk's admin panel.
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 ITCO 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.
ITCO
Ticket
Freshdesk
Ticket
1:1ITCO ticket records map directly to Freshdesk Ticket objects. We extract status, priority, subject, description, created_at, updated_at, and resolution notes from ITCO manually and write them to Freshdesk's ticket API. ITCO's ticket ID is preserved as an external reference field so that ticket URL in ITCO remains searchable in Freshdesk after migration. Freshdesk requires Blossom tier or above for API access; if the customer is on Sprout, we flag this during scoping and recommend upgrading before migration begins.
ITCO
Customer
Freshdesk
Contact
1:1ITCO customer records map to Freshdesk Contact. We extract name, email, phone, company association, language, and timezone where present. Freshdesk requires at least 10 tickets in the account before importing contacts via CSV or API; we verify this pre-condition during scoping. Custom fields on ITCO customers map to Freshdesk contact custom fields after destination schema is created during the discovery phase.
ITCO
Company
Freshdesk
Organization
1:1ITCO company records map to Freshdesk Organization. We extract company name, domain, address, and any custom fields. Freshdesk designates the first company in the CSV column as the primary company for that contact; we ensure this logic is preserved during data transformation. If no companies exist in ITCO, we map customer records to unassociated contacts and document the change for the customer's admin.
ITCO
Agent
Freshdesk
Agent
1:1ITCO agent records map to Freshdesk agent accounts. We extract agent name, email, and role where available. Freshdesk agents are provisioned directly via the admin panel or API; we match agents by email to avoid duplicates. Any ITCO agent without a corresponding Freshdesk user goes to a reconciliation queue for the customer's admin to provision before record import completes, because agent assignment on tickets requires a valid Freshdesk agent ID.
ITCO
Team
Freshdesk
Group
1:1ITCO team structures map to Freshdesk Groups. We extract group name, team leads, and member list from ITCO manually and create matching Freshdesk Groups during destination setup. Group membership migrates after both Groups and Agents exist in Freshdesk so that the member-agent references resolve correctly at import time.
ITCO
Conversation
Freshdesk
Conversation
1:1ITCO ticket conversation threads map to Freshdesk Ticket Conversations. We extract message body, sender (customer or agent), timestamp, and any internal notes as separate conversation entries. Message ordering is preserved by setting Freshdesk's conversation timestamp to the original ITCO timestamp. If ITCO stores attachments per conversation, we flag them for manual download and note the file names against the conversation for re-attachment in Freshdesk.
ITCO
Custom Ticket Fields
Freshdesk
Custom Ticket Fields
lossyITCO custom ticket fields have no published schema, so each customer's configuration requires manual enumeration during discovery. We identify field names, data types, and validation rules by inspecting ITCO ticket records directly. We then create matching Freshdesk custom ticket fields under Admin > Support Operations > Ticket Fields before migration, applying the same field types (dropdown, text, number, date, checkbox). If ITCO uses a field type that Freshdesk does not support, we map to the closest equivalent and flag the difference for the customer.
ITCO
Attachments
Freshdesk
Attachments
1:1ITCO does not expose file attachments via API. We flag every ticket with attachments during scoping and provide a manual extraction checklist for the customer's team to download files directly from the ITCO interface. We preserve the original file name, file size, and the ticket ID it belongs to in a manifest spreadsheet. After Freshdesk migration completes, the customer uploads attachments to Freshdesk and re-links them using the manifest as a guide. This is a manual step; we do not automate attachment migration from ITCO.
| ITCO | Freshdesk | Compatibility | |
|---|---|---|---|
| Ticket | Ticket1:1 | Fully supported | |
| Customer | Contact1:1 | Fully supported | |
| Company | Organization1:1 | Fully supported | |
| Agent | Agent1:1 | Fully supported | |
| Team | Group1:1 | Fully supported | |
| Conversation | Conversation1:1 | Fully supported | |
| Custom Ticket Fields | Custom Ticket Fieldslossy | Mapping required | |
| Attachments | Attachments1:1 | Not 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.
ITCO gotchas
No documented API requires manual data extraction
Attachment export requires manual handling
Custom field schema varies by ITCO configuration
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 ITCO extraction template creation
We run a discovery session with the customer's ITCO admin to enumerate record types in use: Tickets, Customers, Companies, Agents, Teams, and any visible custom fields. We prepare ITCO extraction templates (guided CSV structure) for each record type and provide written instructions for the customer to pull data from the ITCO interface. We verify that the customer has access to all historical tickets and confirm whether KB articles or tags exist in ITCO. We also confirm the target Freshdesk plan; if the customer is on Sprout, we recommend upgrading to Blossom for API access before extraction begins.
Freshdesk destination setup and custom field provisioning
We configure the Freshdesk destination account: creating custom ticket fields to match the ITCO custom field schema discovered in Step 1, setting up Groups to match ITCO team structures, provisioning Freshdesk agent accounts for each ITCO agent, and creating Organization types if ITCO uses distinct company categories. This step runs in parallel with the ITCO extraction so that Freshdesk is ready to receive data as soon as the extraction completes. We use Freshdesk's admin API endpoints for agent and group provisioning.
Data extraction, validation, and transformation
The customer runs the ITCO extraction templates and delivers the CSV files. We validate record counts, spot-check field completeness, identify duplicate contacts and companies, and transform ITCO field values to match Freshdesk's expected data types. We resolve ITCO company IDs in customer records to Freshdesk Organization IDs, and ITCO agent IDs to Freshdesk agent IDs, building the lookup tables required for import. Any records with missing required fields (email on contacts, for example) are flagged and returned to the customer for correction before import.
Demo migration into Freshdesk sandbox
We run a demo migration into the customer's Freshdesk environment using a subset of records (typically 20-50 tickets with associated contacts, organizations, and agents) to validate field mapping, conversation thread integrity, and custom field rendering. The customer reviews the demo results, confirms that ticket history displays correctly, and approves the mapping before production migration proceeds. Corrections to field mapping or custom field types happen here.
Production migration in dependency order
We run production migration in record dependency order: Organizations first (because Contacts require an Organization reference), then Contacts, then Agents, then Groups, then Tickets with conversation threads. We use Freshdesk's REST API with rate-limited batch inserts and exponential backoff to stay within Blossom-tier API limits. Each phase emits a reconciliation report (record count in, record count loaded, record count failed) before the next phase begins. Tickets with attachments are migrated with a placeholder note indicating the attachment manifest for manual re-attachment.
Cutover, delta sync, and automation handoff
We freeze ITCO writes during cutover, run a final delta migration of any records created or modified after the initial extraction window, then declare Freshdesk the system of record. We deliver the automation and tag inventory document (listing any discovered ITCO automations and tags requiring rebuild) to the customer's admin, along with the attachment manifest for manual re-attachment. We support a 72-hour hypercare window for reconciliation issues. We do not rebuild ITCO automations as Freshdesk rules; that work is documented for the customer's admin to rebuild in Freshdesk's automation builder.
Platform deep dives
ITCO
Source
Strengths
Weaknesses
Freshdesk
Destination
Strengths
Weaknesses
Complexity grading
Moderate Helpdesk migration. 2 of 7 objects need a manual workaround.
Overall complexity
Moderate migration
Derived from compatibility, mapping clarity, API constraints, and data volume across ITCO and Freshdesk.
Object compatibility
2 of 7 objects need a manual workaround.
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
ITCO: Not publicly documented.
Data volume sensitivity
ITCO 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 ITCO to Freshdesk migration scoping. Not seeing yours? Book a call.
Walk through your ITCO 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 ITCO
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.