Helpdesk migration
Field-level mapping, validation, and rollback between iService and Freshdesk. We move data and schema; workflows are rebuilt natively in Freshdesk.
iService
Source
Freshdesk
Destination
Compatibility
8 of 10
objects map 1:1 between iService and Freshdesk.
Complexity
CModerate
Timeline
1-2 weeks
Overview
Moving from iService to Freshdesk is a migration shaped by iService's lack of a public API and Freshdesk's tier-based API access model. iService stores Tickets, threaded Conversations, Customers, Companies, KB Articles, and custom ticket fields, but the absence of a developer-facing API means we coordinate export through admin-level data access or direct database extraction with written authorization from the customer's iService administrator. On the Freshdesk side, the REST API is not available on the Sprout free tier; the customer must be on Blossom or above to receive records programmatically. We map iService Tickets to Freshdesk Tickets, iService Conversations to Freshdesk Ticket Conversations, iService Customers to Freshdesk Contacts, iService Companies to Freshdesk Organizations, and KB Articles to Freshdesk Solutions. Workflows, routing rules, and automation triggers do not migrate because they are platform-specific and cannot be ported; we deliver a written inventory of every active iService automation for the customer's admin to rebuild in Freshdesk's rule engine post-migration.
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 iService 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.
iService
Ticket
Freshdesk
Ticket
1:1iService Tickets map to Freshdesk Tickets with status, priority, and source fields translated to Freshdesk equivalents (Open, Pending, Resolved, Closed for status; Low, Medium, High, Urgent for priority; Email, Portal, Chat, Phone for source). The iService ticket ID is preserved in a custom field src_ticket_id__c for reconciliation. Custom ticket fields from iService are mapped to Freshdesk custom fields on the Ticket object; field names and data types (string, number, dropdown, checkbox) are reconciled during the data audit phase before any import begins.
iService
Conversation
Freshdesk
Ticket Conversation
1:1Each iService Ticket contains a threaded Conversation history. Messages map to Freshdesk Ticket Conversations with the original timestamp, author (agent or customer), and message body preserved. Public agent replies map to the Freshdesk inbound note structure; customer messages map as requester replies. Private internal notes from iService are flagged for explicit mapping to Freshdesk's internal note visibility because the two platforms handle internal versus public visibility differently.
iService
Customer
Freshdesk
Contact
1:1iService Customer records (contact-level data: name, email, phone, custom properties) map to Freshdesk Contacts. Email serves as the dedupe key during import. Custom contact properties migrate to Freshdesk custom fields on Contact. Phone numbers, time zone, and language preference transfer where present in the source record. Any customer without an email address is flagged in the reconciliation report for manual review because Freshdesk requires an email for Contact creation.
iService
Company
Freshdesk
Organization
1:1iService Company records map to Freshdesk Organizations. The organization name and domain become the Freshdesk Organization name and domain fields. Company-level custom properties migrate to Freshdesk Organization custom fields. Contact-to-Organization links are resolved after both objects are imported so that the Freshdesk Contact lookup relationship is satisfied at insert time.
iService
Live Chat Session
Freshdesk
Ticket Conversation
lossyiService live chat transcripts are stored as conversation records tied to a customer, but the transcript format varies by whether the chat originated from the embedded portal widget or a third-party integrated channel. We flag chat sources during the data audit phase and map transcripts to Freshdesk Ticket Conversations. Where transcript structure is incomplete in the export (missing timestamps or attribution), we create Freshdesk note entries with the available content and flag the gap in the reconciliation report for the customer's admin to review.
iService
Knowledge Base Article
Freshdesk
Solution
1:1iService KB Articles (content, categories, and attachments) export as HTML or markdown. We map articles to Freshdesk Solutions, and KB Categories map to Freshdesk Categories within Solutions. Article section headings map to Freshdesk article sections. Attachments within articles migrate as Freshdesk-compatible file blobs linked to the article. Internal links within article content are flagged for the customer's admin to update post-migration because domain references will change after cutover.
iService
Custom Ticket Field
Freshdesk
Custom Field (Ticket)
lossyiService custom fields on tickets are tenant-configured and vary in name and data type. We treat each custom field as requiring explicit mapping during scoping. String, number, date, checkbox, and dropdown field types map to Freshdesk equivalent custom field types. Any iService custom field with a type that has no Freshdesk equivalent (such as a structured JSON field) is flagged and either stored as a string or held for manual resolution in the reconciliation report.
iService
Tag
Freshdesk
Tag
1:1Tags on iService tickets migrate to Freshdesk Tags. Tag naming conventions are preserved verbatim. Tags on KB articles map to Freshdesk Tags linked to the corresponding Solutions article. Tag association to the parent ticket or article is reconstructed during import by referencing the migrated record IDs.
iService
User (Agent)
Freshdesk
Agent
1:1iService agent accounts (email, name, role, team assignment) map to Freshdesk Agents. We resolve agents by email match against the Freshdesk destination account's agent list. Any iService agent without a matching Freshdesk agent account is held in a reconciliation queue for the customer's admin to provision before record import begins. Role and team structures differ between platforms; we default to a standard agent role and assign to a Freshdesk Group mapped from the iService team.
iService
Attachment
Freshdesk
Attachment (on Ticket, Contact, or Solution)
1:1File attachments on iService tickets and KB articles migrate as binary blobs referenced by the parent record. We preserve attachment filenames and link them to the correct ticket or article in Freshdesk using the Freshdesk attachment API. Attachment migration is batched separately from record migration because file size affects transfer time and Freshdesk has per-request attachment size limits that we account for during chunking.
| iService | Freshdesk | Compatibility | |
|---|---|---|---|
| Ticket | Ticket1:1 | Fully supported | |
| Conversation | Ticket Conversation1:1 | Fully supported | |
| Customer | Contact1:1 | Fully supported | |
| Company | Organization1:1 | Fully supported | |
| Live Chat Session | Ticket Conversationlossy | Fully supported | |
| Knowledge Base Article | Solution1:1 | Fully supported | |
| Custom Ticket Field | Custom Field (Ticket)lossy | Fully supported | |
| Tag | Tag1:1 | Fully supported | |
| User (Agent) | Agent1:1 | Fully supported | |
| Attachment | Attachment (on Ticket, Contact, or Solution)1: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.
iService gotchas
No public API reference complicates automated export
Workflows cannot be migrated between platforms
Live chat transcript structure varies by 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 admin-level export coordination
We begin by coordinating with the customer's iService administrator to establish data export access. Because iService lacks a public API, we work with admin-level exports or direct database access to extract all record types: Tickets, Conversations, Customers, Companies, KB Articles, Custom Fields, Tags, and Agent accounts. We audit the export for completeness, flag any gaps (particularly chat transcripts from third-party channels and workflow rule definitions), and confirm the customer's target Freshdesk plan tier. The discovery output is a written migration scope and an export format specification that we send to the iService admin for execution.
Freshdesk tier verification and schema preparation
We verify the customer's Freshdesk account tier. If the customer is on Sprout, we confirm whether they will upgrade to Blossom before migration (required for API-based data ingestion) or proceed with CSV-only import with documented limitations. We then design the destination schema in Freshdesk: custom fields on Ticket, Contact, and Organization objects are pre-created with types matched to the iService export, Freshdesk Organizations and Groups are provisioned to match the iService company and team structure, and agent accounts are provisioned to match the iService agent list.
Sandbox migration and reconciliation
We run a full migration into the customer's Freshdesk environment using representative record volume. The customer's support operations lead reconciles record counts (Tickets in, Contacts in, Organizations in, Solutions in), spot-checks 20-30 random tickets against the iService source for field accuracy, and validates that custom fields populated correctly. Any mapping corrections, missing fields, or custom field type adjustments happen here before the production migration window. This step also surfaces whether the iService export produced complete chat transcripts or gaps that require manual reconstruction.
Production migration in dependency order
We run production migration in record-dependency order: Organizations (from iService Companies), Contacts (with OrganizationId resolved), Agents (mapped from iService agent accounts), Tickets (with requester ContactId and responder AgentId resolved), Ticket Conversations (linked to the migrated ticket IDs), KB Articles mapped to Freshdesk Solutions with category hierarchy preserved, Tags (linked to migrated ticket and article IDs), and Attachments (batched separately, linked to parent records via the Freshdesk attachment API). Each phase emits a row-count reconciliation report before the next phase begins.
Cutover, delta migration, and workflow inventory handoff
We freeze writes in iService during the cutover window, run a final delta migration of any records modified during the migration window, then confirm Freshdesk as the system of record. We deliver the workflow and automation inventory document to the customer's Freshdesk admin team. We support a one-week hypercare window where we resolve any reconciliation issues raised by the customer's support team. We do not rebuild iService workflows as Freshdesk automations inside the migration scope; that work is handled by the customer's admin using the delivered inventory as a rebuild guide.
Platform deep dives
iService
Source
Strengths
Weaknesses
Freshdesk
Destination
Strengths
Weaknesses
Complexity grading
Moderate Helpdesk migration. 4 of 7 objects need a mapping; the rest are 1:1.
Overall complexity
Moderate migration
Derived from compatibility, mapping clarity, API constraints, and data volume across iService and Freshdesk.
Object compatibility
4 of 7 objects need a mapping; the rest are 1:1.
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
iService: Not publicly documented.
Data volume sensitivity
iService 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 iService to Freshdesk migration scoping. Not seeing yours? Book a call.
Walk through your iService 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 iService
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.