Helpdesk migration
Field-level mapping, validation, and rollback between Ticksy and Freshdesk. We move data and schema; workflows are rebuilt natively in Freshdesk.
Ticksy
Source
Freshdesk
Destination
Compatibility
8 of 10
objects map 1:1 between Ticksy and Freshdesk.
Complexity
BStandard
Timeline
1-2 weeks
Overview
Moving from Ticksy to Freshdesk is a migration from a deliberately minimal, API-less helpdesk into a full omnichannel support platform with a documented REST API and per-minute rate limits. Ticksy has no public API, so we build a structured export from the web interface, normalise records into a migration-ready format, and load into Freshdesk via the v2 API with rate-limit handling and batch chunking. The public-versus-private ticket flag is not a standard Freshdesk field, so we carry it as a custom ticket attribute so community threads land correctly in the destination. Knowledge base articles migrate to Freshdesk Solutions. Custom field definitions (text, multiline, dropdown) and their values are mapped field-by-field because Ticksy stores field schema separately from ticket records. We do not migrate Ticksy's email piping routing rules as code; we extract the configuration and deliver it as a written document for the customer's admin to reconfigure in Freshdesk.
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 Ticksy 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.
Ticksy
Ticket (Private)
Freshdesk
Conversation (Ticket)
1:1Ticksy Private Tickets map to Freshdesk Conversation records with the display_id preserved, status mapped (open/pending/resolved/closed to Freshdesk status equivalents), priority mapped, and assignee resolved by email against Freshdesk Agents. The private-agent-customer thread is preserved as a chronological conversation notes chain. Ticksy does not have a status hierarchy, so we map each Ticksy status value individually during scoping.
Ticksy
Ticket (Public)
Freshdesk
Conversation (Ticket)
1:1Ticksy Public Tickets carry a visibility flag indicating community-visible threads. Freshdesk has no native public-community concept, so we create a custom ticket field (ticksy_visibility__c) set to 'public' and tag the ticket with a 'community-thread' label so teams can distinguish community support from standard private tickets. Failing to carry this flag silently converts public threads to private in the new system.
Ticksy
Knowledge Base Article
Freshdesk
Solution (Article)
1:1Ticksy KB articles (title, body, category, publish state) map to Freshdesk Solutions with the article title as name, HTML body mapped to the description field, section resolved by matching Ticksy category to a Freshdesk Solution section (created during schema setup), and publish state preserved. Articles with draft status in Ticksy land as draft in Freshdesk Solutions and are flagged for the customer's admin to review before publishing.
Ticksy
Custom Field Definition (dropdown)
Freshdesk
Custom Field
lossyTicksy stores dropdown option lists separately from ticket records. We extract both the field definition (name, type, required flag) and the options list, create the corresponding Freshdesk custom field via the API, then map the values on each ticket during import. Text and multiline fields map to Freshdesk text or paragraph custom fields without an options list. Dropdown options that exceed Freshdesk's 150-character limit are truncated with a warning to the customer.
Ticksy
Custom Field Value
Freshdesk
Custom Field Value
1:1Custom field values are extracted from Ticksy ticket records and written to the corresponding Freshdesk custom field on the Conversation. We resolve the custom field ID in Freshdesk first before writing values so that no orphan field references are created. Tickets with empty custom field values are written without the field present (Freshdesk does not require custom fields to be set on every record).
Ticksy
User / Agent
Freshdesk
Agent
1:1Ticksy support agent accounts (name, email, role) map to Freshdesk Agent records. Role (admin vs agent) is preserved as a custom attribute (ticksy_original_role__c) where the destination does not have a direct equivalent. Agents are provisioned in Freshdesk before ticket migration so that assignee lookups resolve at import time rather than landing as null.
Ticksy
Customer (ticket requester)
Freshdesk
Contact
1:1Ticksy customers who submitted tickets are extracted as Contact records in Freshdesk. Email address is the dedupe key. We deduplicate by email so that a customer who submitted multiple tickets appears as one Freshdesk Contact. Name, company (if present), and the ticksy_visibility__c flag from their most recent ticket are written to the Contact record.
Ticksy
Category / Label
Freshdesk
Tag
lossyTicksy KB categories and ticket labels are simple string identifiers. We normalise these to Freshdesk Tags by lowercasing, stripping special characters, and truncating to Freshdesk's 50-character tag limit. Tags that exceed the limit are truncated with a flag. Tags used across both KB and tickets are shared in Freshdesk's tag namespace.
Ticksy
Attachment
Freshdesk
Attachment
1:1File attachments stored with Ticksy ticket records are extracted as standalone binary assets. We re-attach them to the destination Freshdesk Conversation record via the Freshdesk Attachments API endpoint. Attachments larger than 20 MB are flagged for the customer to evaluate whether to migrate via cloud storage link rather than direct upload. Unusual file types (executable, script) are flagged for security review before attachment.
Ticksy
Reply Thread (Comments)
Freshdesk
Conversation Notes
1:1Each Ticksy ticket reply thread (agent and customer messages in chronological order) is mapped to Freshdesk Conversation notes on the corresponding ticket. Author email resolves to the Freshdesk Agent or Contact by email match. Timestamps are preserved as the note creation date. HTML formatting from Ticksy is normalised to plain text or preserved depending on the note content type the customer specifies during scoping.
| Ticksy | Freshdesk | Compatibility | |
|---|---|---|---|
| Ticket (Private) | Conversation (Ticket)1:1 | Fully supported | |
| Ticket (Public) | Conversation (Ticket)1:1 | Fully supported | |
| Knowledge Base Article | Solution (Article)1:1 | Fully supported | |
| Custom Field Definition (dropdown) | Custom Fieldlossy | Fully supported | |
| Custom Field Value | Custom Field Value1:1 | Fully supported | |
| User / Agent | Agent1:1 | Fully supported | |
| Customer (ticket requester) | Contact1:1 | Fully supported | |
| Category / Label | Taglossy | Fully supported | |
| Attachment | Attachment1:1 | Fully supported | |
| Reply Thread (Comments) | Conversation Notes1: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.
Ticksy gotchas
No documented public API for automated export
Public vs Private ticket visibility is a migration-critical flag
Ticksy and ticksy.app are unrelated products
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
Structured export build and discovery
We authenticate against the Ticksy web interface and build a structured export script that extracts all ticket records (with status, priority, assignee, timestamps, and custom field values), KB articles (with category, body, and publish state), user accounts (agents and customers), and attachment metadata. During discovery we confirm the total record counts, custom field schemas, and whether any Ticksy data exceeds Freshdesk field length limits. We also identify any Ticksy-specific features (email piping addresses, routing rules) that require manual reconfiguration in Freshdesk.
Freshdesk schema pre-configuration
Before any data loads, we create the destination schema in Freshdesk: custom fields matching Ticksy field names and types (text, multiline, dropdown with option lists), tags for any Ticksy labels or categories, Solution sections matching Ticksy KB categories, and the ticksy_visibility__c custom field for public ticket tracking. We configure Freshdesk agents and groups in advance so that assignee and group lookups resolve at import time. Schema is validated in a Freshdesk test account before production migration begins.
Export, normalise, and validate
We run the structured export against the live Ticksy account, parse records into normalised JSON, and validate field completeness. Each ticket record is checked for required Freshdesk fields (subject, status, requester email), custom field values are validated against the dropdown option lists, and any records with missing required data are flagged to the customer before import begins. Attachments are downloaded and staged by ticket ID.
Migration dry run and reconciliation
We run a first-pass import into a Freshdesk sandbox or the production account with data volume representative of the full migration. We reconcile record counts (tickets in, contacts in, articles in), spot-check 20-30 records for field-level accuracy, and confirm that assignee resolution, custom field population, and attachment re-attachment are working correctly. Any mapping corrections are applied before the full migration run.
Full production migration
We run the production migration in dependency order: Contacts (customer dedupe by email), Agents (provisioned in advance), Solution sections and articles (KB first), then Conversations (tickets with resolved assignees, group assignments, and public-visibility flags). Attachments are uploaded via the Freshdesk Attachments API after ticket creation to avoid parent-record dependency issues. Custom field values are written in the same batch as ticket records to satisfy the field definition dependency.
Email piping handoff and final reconciliation
We deliver a written email piping configuration document covering the inbound email addresses, routing rules, and product-inbox mappings from the Ticksy source. The customer's admin uses this document to reconfigure email piping in Freshdesk (Freshdesk supports multiple product mailboxes and routing rules in Settings). We run a final row-count reconciliation report, validate that timestamps are preserved on historical tickets, and confirm that the public ticket flag is populated on all community threads.
Platform deep dives
Ticksy
Source
Strengths
Weaknesses
Freshdesk
Destination
Strengths
Weaknesses
Complexity grading
Standard Helpdesk migration. 2 of 7 objects need a mapping; the rest are 1:1.
Overall complexity
Standard migration
Derived from compatibility, mapping clarity, API constraints, and data volume across Ticksy and Freshdesk.
Object compatibility
2 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
Ticksy: Not publicly documented. Limits are not stated in the published API getting-started guide; we pace requests conservatively during migration extraction..
Data volume sensitivity
Ticksy 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 Ticksy to Freshdesk migration scoping. Not seeing yours? Book a call.
Walk through your Ticksy 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 Ticksy
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.