Skip to main content

Tejas Mondeeri

·7 min read

The Complete Guide to Migrating from Tidio to Zendesk

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

ClonePartner Tidio to Zendesk migration

Tidio has served its purpose, but transitioning to Zendesk opens up new dimensions of ticketing, automation, and reporting capabilities. Moving your customer service infrastructure is a significant step toward enhanced capabilities and streamlined support operations.

Migrating from a platform like Tidio to the robust ecosystem of Zendesk requires careful planning, especially when handling complex historical data like conversations and customer attributes.

This guide lays out the proven, step-by-step methodology for ensuring a smooth transition.

Define Your Migration Scope

Not every bit of historical data needs an active new home, and deciding what moves where is the crucial first step.

The majority of your operational data can and should be moved programmatically to maintain fidelity and scale:

  1. Contacts (End Users) & Operators (Agents): These map directly to Zendesk's Users. Zendesk allows bulk creation or updating of users, identifying them by email or external ID. Tidio's user attributes like name, email, and phone number transition seamlessly.
  2. Departments (Groups): Tidio departments, which organize your agents, translate naturally into Zendesk Groups.
  3. Custom Properties (User/Organization Fields): Custom data fields attached to contacts in Tidio must be recreated in Zendesk as custom User Fields or Organization Fields before the customer records are imported.
  4. Tickets: Tidio Tickets become Zendesk Tickets.
  5. Contact Messages (Ticket Comments/History): The chronological chat log from Tidio (Contact Messages) becomes the internal history within a Zendesk ticket, captured as sequential Ticket Comments or audit events.
  6. Viewed Pages History (Events API): Tidio records pages viewed by contacts. This non-conversational behavioral data can be imported into the Zendesk platform using the Events API, storing it as custom events tied to the user profile (Sunshine Events).

Certain functional elements cannot be migrated directly and require manual configuration within the new Zendesk environment:

  • Business Rules (Triggers, Automations, and Macros): Complex logic, like routing based on Tidio Departments or custom fields, must be analyzed and rebuilt using Zendesk's native Triggers and Automations.
  • Ticket Forms and Custom Statuses: While Zendesk supports Custom Ticket Statuses and Ticket Forms, the structure and conditional logic must be manually reconstructed within the Zendesk admin center to ensure your new workflow is maintained.

Evaluate temporary chat sessions or unassigned communication threads that are old or purely informational. Archiving or permanently deleting this noise can accelerate the migration and ensure a clean start in Zendesk.

Prepare Zendesk for Data Import

Before moving any core customer or ticket data, you must establish the structural groundwork in Zendesk.

  1. Map and Create Custom Fields: First and foremost, recreate any unique data points captured in Tidio as custom properties in Zendesk. Define these properties as User Fields or Organization Fields. This step is critical because incoming user and ticket data will reference these fields.
  2. Establish Groups: Replicate your Tidio organization structure by creating Groups in Zendesk for each Tidio Department. These groups will be used later to assign agents and maintain team routing logic.
  3. Prepare Agent Accounts: Ensure all your Tidio Operators are provisioned as Agents or Administrators in Zendesk. You can set roles, alias, and other essential details during the user creation process.

Migrate Objects

The actual data migration must proceed in a dependent sequence, ensuring primary keys (IDs) exist before linked records are processed.

  1. Importing Users (Contacts and Operators)

    We start by populating the user base, mapping Tidio Contacts to Zendesk End Users, and Tidio Operators to Zendesk Agents.

    Leverage the bulk operation API to create and update users (including End Users and Agents) efficiently. Crucially, pass the raw data from Tidio's custom properties into the corresponding Zendesk `user_fields` object that you configured earlier.

  2. Linking Personnel and Teams (Group Memberships)

    Once the Groups (Departments) and Users (Operators/Agents) are created, explicitly link them by creating Group Memberships.

    Create Group Memberships to map your agents to their respective teams/departments. This step is necessary before importing historical tickets that were assigned to those teams.

  3. Migrating Tickets

    The creation of tickets must include references to the newly established users (requesters) and groups (assignments).

    Use the ticket creation API to inject your historical tickets. When creating a ticket, define the `requester_id`, `subject`, `status`, and `group_id` using the mapped IDs from the earlier steps.

  4. Rebuilding Conversation History (Comments and Attachments)

    The historical message exchange from Tidio (Contact Messages) must be accurately sequenced within the corresponding Zendesk ticket.

    Conversation History: Each individual message in the Tidio chat log should be imported as a Ticket Comment. Because you are importing old conversations, you will need elevated permissions (Help Center manager role) to specify the original `author_id` and the historical `created_at` timestamp for each comment, ensuring the conversation flows correctly and maintains historical context.

    Attachments: If messages included files, those files must first be uploaded using a temporary attachment process, yielding an attachment token. That token is then included in the comment object when updating the ticket, linking the historical files directly to the relevant message.

  5. Importing Customer Activity Data (Viewed Pages History)

    Tidio's tracking of customer web browsing behavior needs a new home where agents can contextualize the support request.

    Use the Events API to send historical `page_view` data, linking each event to the previously created Zendesk User ID.

Post Migration Configuration

Once the raw data is loaded, final configuration steps ensure operational readiness and long-term data health.

  • Final Workflow Setup: Manually rebuild complex support elements like routing based on agent capacity, service level agreements (SLAs), and internal notification logic that rely on the new Group and Custom Field IDs.
  • Link Management (Redirect Rules): If you had a knowledge base or public URLs in Tidio that are no longer valid, implement Zendesk’s Redirect Rules. This prevents broken links (404s) and preserves search engine optimization (SEO) value by directing old links to new Zendesk articles or external resources. This process is essential for maintaining customer trust immediately following the switch.

Insider Secrets

Having successfully executed complex platform migrations, we understand the nuances that standard documentation might overlook. These tips are critical for maximizing efficiency and minimizing unforeseen issues:

  • Beware of API Rate Limits: Zendesk enforces strict rate limits, and bulk importing many objects (especially tickets and users) can quickly lead to hitting those caps. Utilize bulk creation endpoints (`create_many`, `create_or_update_many`) whenever possible, and always build exponential backoff logic into your migration scripts to handle rate limiting responses gracefully.
  • External IDs are Your Lifeline: Always map and import Tidio’s original IDs (for Contacts, Tickets, etc.) into Zendesk’s External ID field. This provides an immutable link back to the source system, invaluable for validation, reporting, and future data synchronization.
  • Handling Historical Timestamps: To ensure historical ticket comments display the original sender and creation date, the API call must be made by a user with administrator rights (specifically, the Help Center Manager role for setting `created_at` for article comments) or use the specific fields designed for historical import on tickets. Without the ability to set `created_at` or `author_id`, historical comments may incorrectly show the migration agent as the author with the date of import.
  • Indexing Delay for Tickets: Be aware that newly imported tickets may take up to 90 seconds (often longer for large imports) to become fully available and searchable via the API endpoints that list active or recent tickets. Don't panic if your first check doesn't show the records immediately.

Summary

Migrating from Tidio to Zendesk is a structured process best handled with an API-first approach, focusing on foundational elements first.

Begin by creating your custom infrastructure and logical groups, migrate all personnel, and only then proceed to import the transactional data (Tickets) and associated communication history (Comments/Events) in their proper chronological sequence.

By meticulously preparing your environment and respecting the constraints of high-volume imports, you pave the way for a powerful and smoothly operating Zendesk instance.

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: