Skip to main content

Tejas Mondeeri

·7 min read

The Complete Guide to Migrating from Freshdesk to Tidio

Planning a Freshdesk to Tidio migration? This guide explains data mapping, ticket history, custom fields, API limits, and common pitfalls.

ClonePartner Freshdesk to Tidio migration

Making the decision to transition your customer service infrastructure from a robust ticketing system like Freshdesk to a chat-focused platform like Tidio requires careful planning.

This process is not merely copying and pasting files; it demands a strategic approach to ensure business continuity and maintain the integrity of your invaluable historical data.

This guide outlines a comprehensive strategy for moving your core support assets efficiently.

Define Your Migration Scope

The success of your migration relies entirely on understanding which data assets can be moved automatically via API and which must be rebuilt manually within your new environment.

Data Migrated Via API

The core transactional data can be programmatically migrated, leveraging the creation and update capabilities available in Tidio's API infrastructure:

  • Contacts (Users): Customer records, representing the users who interacted with Freshdesk, can be moved seamlessly.
  • Tickets: The main support cases and issues recorded in Freshdesk.
  • Conversations/Replies: The detailed history of messages, replies, and notes associated with each ticket.
  • Contact Custom Fields (Data): While the field structure itself is manual, the data stored in these fields for existing contacts can be populated via an API workaround.

Manual Configuration

Any objects relating to internal organization, configuration, knowledge management, or performance metrics typically cannot be migrated via the Tidio API and must be manually rebuilt before or after the data import phase:

  • Agents/Operators and Groups/Departments: The staffing and organizational hierarchy need to be reestablished manually within Tidio's operator and department settings.
  • Companies: Client organization structures in Freshdesk must be recreated manually in Tidio, as a direct API migration route is not available.
  • Custom Fields (Schema & Data for Tickets): The structure and definition of custom fields related to tickets must be set up manually in Tidio prior to importing the ticket data.
  • Canned Responses: Predefined reply templates need manual creation.
  • Solutions/Knowledge Base: The entire structure of Categories, Folders, and Articles must be recreated in the new platform manually.
  • Other Ancillary Objects: Essential business rules and settings such as Roles, SLA Policies, Business Hours, Surveys, Discussions, and Time Entries require manual configuration in Tidio.

Archiving Strategy

For data that holds purely historical value and is not critical for day-to-day operations in Tidio, such as older or permanently closed tickets, Time Entries, or complex Custom Objects within Freshdesk, generating a secure export file of this information for archival purposes is the recommended approach. This practice keeps your new Tidio instance clean while preserving compliance history.

Prepare Tidio for Data Import

Before attempting to transfer any transactional data (like tickets and contact information), you must ensure that Tidio's basic framework mirrors your old Freshdesk environment. This critical phase involves setting up foundational dependencies manually.

  1. Define Staff and Structure: Start by manually creating your Operators (Tidio's term for agents) and setting up the relevant Departments (Tidio's term for groups/teams). The Tidio API only supports retrieving lists of existing operators and departments, so the creation of these key elements must be done manually in the Tidio administration panel.
  2. Replicate Custom Data Structures: To ensure data integrity for your migrating contacts, examine the custom fields currently defined on Freshdesk Contacts. You must then manually replicate these as custom properties in Tidio. These properties are fundamental, having predefined types such as text, email, number, phone, or URL.
  3. Map Ticket Statuses and Priorities: While you won't be migrating the custom field schema for tickets via API, ensuring consistency in how statuses (e.g., Open, Pending, Resolved, Closed) and priorities (e.g., Low, Medium, High, Urgent) are labeled is vital for successful data import.

Migrate Objects

The bulk of the data transfer process relies on systematically moving transactional records in a specific logical order to satisfy data dependencies.

  1. Migrate Contacts:

    This is the foundational step. Freshdesk Contacts map directly to Tidio Contacts, which are typically defined as visitors identified by an email, name, or phone number.

    Use the bulk creation endpoint available in Tidio to efficiently onboard your customer base, leveraging the ability to create multiple contacts in a single request.

  2. Populate Contact Custom Field Data (Workaround):

    Immediately following the base contact creation, enrich the customer records.

    Since you meticulously defined the custom properties in Tidio during the preparation stage, you can now retrieve the corresponding custom field data from Freshdesk Contacts and push it to Tidio using the multiple contact update functionality.

    This powerful technique allows non-standard data fields to travel across platforms seamlessly.

  3. Migrate Tickets:

    With contact IDs established, you can now safely import your core support records.

    A Freshdesk Ticket is analogous to a Tidio Ticket, described as a record for complex conversations requiring additional interactions.

    Use the ticket creation endpoint specifically designed to create a ticket as a Contact.

    It is important here to map metadata such as the original subject, priority, and current status (using the numerical values recognized by the destination platform).

  4. Reconstruct Conversation History (Workaround):

    This step closes the data migration loop. The historical correspondence within Freshdesk (Replies and Notes) needs to be associated with the corresponding newly created Tidio tickets.

    Although this is not a one-to-one API object mapping, Tidio provides a dedicated endpoint to add a reply message to an existing ticket.

    By iterating through the chronological conversations for each Freshdesk ticket and adding them as messages to the matching Tidio ticket, you successfully reconstruct the complete historical thread, noting whether the message originated from a customer or an operator.

Post Migration Configuration

Once the core data assets are transferred, the remaining structural and organizational elements must be manually configured in Tidio to make the helpdesk fully operational.

  • Rebuild Knowledge Assets: The wealth of information contained in your Freshdesk Solutions, organized by Categories, Folders, and Articles, must be recreated manually in Tidio’s knowledge base tools.
  • Replicate Business Logic: All the powerful automation and performance tracking tools, including Scenario Automations, SLA Policies, and Business Hours, must be redefined and activated within Tidio. These rules govern how tickets are prioritized, assigned, and escalated, and thus require careful validation.
  • Finalize Internal Structure: Manually establish and link peripheral objects like Companies and standard template responses (Canned Responses) for quick agent access. The final step involves configuring agent-specific settings like Roles and permissions and ensuring groups adhere to any necessary communication or staffing requirements.

Insider Secrets

Successfully navigating this migration requires attention to several technical constraints that aren't immediately obvious:

  • Respect Rate Limits for Exports: When extracting large volumes of data from Freshdesk, be highly conscious of their API rate limits, which are calculated per minute or hour based on your plan. Hitting these limits means delays. Queue API calls carefully on your side and consider caching non-volatile data, like agent IDs, to reduce unnecessary API usage.
  • The Contact ID is King: The fundamental linking mechanism between tickets and conversations relies solely on the new Tidio Contact ID. When importing Tickets, ensuring that they are correctly associated with the newly created Tidio contact ID is absolutely crucial for maintaining data relational integrity.
  • Handle Timestamps with Care: While you are creating new records in Tidio, you want the records to reflect the original creation time from Freshdesk. Passing the original `created_at` timestamp during the creation calls is vital for preserving historical context and accurate reporting. Freshdesk manages all timestamps in UTC format.
  • Manual Mapping for Complexity: Be prepared to manually cross-reference and map complex field values. For instance, Freshdesk uses numerical values for Status (e.g., `2` for Open, `4` for Resolved), while Tidio may use different nomenclature or internal representations. Accurate mapping prevents miscategorization of historical data.

Summary

Migrating from Freshdesk to Tidio is a structured process that prioritizes establishing a strong organizational framework first, followed by the systematic movement of core customer and ticket data.

By relying on bulk API calls for foundational entities like Contacts and Tickets, and diligently performing manual configuration for organizational and specialized assets (Groups, Knowledge Base, SLAs, and custom field definitions), you ensure a successful and complete transfer.

With careful attention to detail and adherence to the migration sequence, your team will quickly leverage the strengths of your new Tidio environment.

If you’d rather focus on your revenue instead of wrestling with mapping sheets and pagination loops, ClonePartner can handle the full migration for you. Every project gets a dedicated engineer who understands the nuances of both APIs and ensures zero downtime.

Further reading