Skip to content

The Complete Guide to Migrating from Tidio to Kustomer

Learn how to migrate from Tidio to Kustomer. This guide covers API data mapping, moving ticket history, and preserving visitor context with zero data loss

Tejas Mondeeri Tejas Mondeeri · · 7 min read
The Complete Guide to Migrating from Tidio to Kustomer
TALK TO AN ENGINEER

Planning a migration?

Get a free 30-min call with our engineers. We'll review your setup and map out a custom migration plan — no obligation.

Schedule a free call
  • 1,500+ migrations completed
  • Zero downtime guaranteed
  • Transparent, fixed pricing
  • Project success responsibility
  • Post-migration support included

Making the transition from Tidio to Kustomer moves your support history into a full CRM platform. This guide covers what migrates, what doesn't, and how to do it without losing data.

Kustomer acts as a comprehensive customer relationship management platform that brings every part of your service toolkit into one workspace.

By moving your data, you are not just switching tools but building a more complete history for every person who interacts with your brand.

Define Your Migration Scope

Before you begin the technical heavy lifting, you need to understand which parts of your Tidio environment can be moved automatically and which require a human touch.

API Migration Scope

The bulk of your historical data should be handled via the API to ensure accuracy and speed. This includes your contact list, which Kustomer identifies as customers.

You can also push through your historical conversations and the specific messages within them.

Tidio departments translate directly to teams, and your viewed pages history can be migrated into Kustomer as tracking events to preserve visitor context.

Manual Configuration Scope

Certain structural elements must be configured by hand within the Kustomer interface. While you can use the API to invite operators (users), you will still need to manually define their specific roles and permissions to ensure security.

Project level information and general account preferences from Tidio should also be recreated in the Kustomer settings panel.

Business schedules, which govern your availability and response times, must be rebuilt to match your current operations.

What Does Not Migrate

Several Tidio-specific configurations have no direct equivalent in Kustomer and cannot be moved via API:

  • Bot flows and chatbot logic: Tidio's visual bot builder, trigger conditions, and automated response trees do not map to any Kustomer object. These must be rebuilt as Kustomer workflows from scratch.
  • Live chat widget configurations: Widget appearance settings, proactive trigger rules, and channel-specific display logic are Tidio-specific and must be reconfigured in Kustomer's channel settings.
  • Automation rules: Tidio automation triggers (e.g., auto-assign on keyword match) do not transfer. Equivalent logic must be rebuilt as Kustomer workflows post-migration.

Plan to audit your Tidio automation inventory before migration and allocate time to rebuild these rules in Kustomer.

Archival Scope

It is standard practice to consider the age of your data. Standard object searches in Kustomer typically focus on data updated within the last two years.

If you have extremely old interaction data in Tidio that you rarely access, you might choose to migrate it specifically for use in Kustomer's archive search.

This keeps your active workspace clean while ensuring you never lose access to your long term history.

Prepare Kustomer for Data Import

Rebuilding your foundation in Kustomer before the data arrives is the best way to prevent errors. Ensure the following configurations are in place:

  • Define Custom Attributes: Look at your Tidio contact properties and create corresponding custom attributes in Kustomer so there is a designated home for every piece of metadata.
  • Establish Teams: Create the team structures that mirror your Tidio departments.
  • Set Up Business Schedules: Configure your operating hours and holidays so that your metrics stay accurate after the move.
  • Create Conversation Tags: Establish a tagging library for your conversations to help with reporting and organization.
  • Configure Klasses: Kustomer Klasses are custom data object schemas — they let you define structured data models beyond the default Customer, Conversation, and Message objects. If you have unique data structures that do not fit standard models, define custom Klasses to handle them.

Duplicate Handling

Before importing customers, check whether any Tidio contacts already exist in Kustomer. Kustomer matches customers by email address by default. If a record with the same email already exists, the API will update that record rather than create a duplicate — but only if you are using the upsert endpoint. If you use the standard create endpoint on existing records, you will generate duplicates. Audit your Kustomer instance for pre-existing contacts and decide whether to upsert or skip those records before the bulk import runs.

Migrate Objects

The actual migration follows a logical sequence to ensure that every message or interaction is correctly linked to the right person and team.

Data Mapping

Tidio Object Kustomer Object
Contacts Customers
Properties Custom Attributes
Operators Users
Departments Teams
Conversations Conversations
Messages Messages
Tickets Tagged Conversations
Viewed Pages Tracking Events
Project Info Settings
  1. Teams and Users: You must first establish who is doing the work. Tidio departments map to Kustomer teams, and Tidio operators map to Kustomer users. Creating these first allows you to assign historical ownership correctly during the interaction import.
  2. Customers and Properties: Next, you move your contact list. Tidio contacts are created as Kustomer records, and their unique properties are stored as custom attributes. This step is critical because every conversation needs a customer ID to attach to.
  3. Conversations and Messages: Once your customers exist, you can import the interaction history. Tidio's chat history maps to Kustomer conversations and messages. Kustomer creates an empty conversation first and then populates it with individual message instances.
  4. Tickets: Tidio often treats tickets as more complex, long term interactions. In Kustomer, these are also migrated as conversations, but you should apply specific tags to distinguish them from standard chats.
  5. Tracking Events: To maintain a view of the customer journey, move Tidio's "Viewed Pages" history into Kustomer as tracking events. These events populate the customer timeline, showing agents exactly what the visitor was looking at before they reached out for help.

Error Handling and Failure Modes

Migrations do not always complete cleanly. Common failure patterns and how to handle them:

  • Failed customer import: If a customer record fails (e.g., missing required email field, malformed attribute type), the Kustomer API returns a 4xx error with a validation message. Log every failed record with its error code. Do not skip and continue silently — orphaned conversations (conversations with no valid customer ID) will cause downstream import failures and broken agent views.
  • Orphaned conversations: If a conversation references a customer ID that does not exist in Kustomer, the conversation import will fail or attach to no record. Always verify that all customer IDs from your Tidio export are successfully created in Kustomer before starting the conversation import phase.
  • Retry strategy: For transient 5xx errors, implement exponential backoff with a minimum of three retries before marking a record as failed. For 4xx validation errors, do not retry automatically — log and fix the source data first.
  • Post-import record count check: After each object type completes, query the Kustomer API for total record counts (customers, conversations, messages) and compare against your Tidio export totals. Any discrepancy larger than a rounding error requires investigation before proceeding to the next phase.

Post Migration Configuration

After the data is successfully in the system, you must build the logic that makes Kustomer work for you:

  • Build Workflows: Create automations that trigger on specific events. For example, create a workflow that triggers on conversation.create and assigns to a team based on the source attribute, or one that auto-tags conversations arriving outside business hours.
  • Design Queues and Routing: Set up the rules that organize incoming conversations and route them to the appropriate agents based on team, skill, or conversation attribute.
  • Create Shortcuts: Rebuild your canned responses as Kustomer shortcuts, organized by team or use case, to help your agents respond faster.
  • Organize Knowledge Base: Set up your public or internal articles and categories to help customers help themselves.
  • Establish SLAs: Define your service level agreements so you can track performance and breach times.

Validation and QA

After migration completes, run the following checks before switching your team over:

  • Record count reconciliation: Compare total customers, conversations, and messages between your Tidio export and Kustomer. Counts should match within a small margin (accounting for any records you intentionally excluded).
  • Spot-check conversations: Randomly sample 20–30 conversations across different date ranges and verify that message content, timestamps, customer associations, and agent assignments are correct.
  • Verify tracking events: Confirm that a sample of customers who had "Viewed Pages" data in Tidio show the corresponding tracking events on their Kustomer timeline.
  • Check tag application: Confirm that migrated tickets carry the migrated_ticket tag and that standard chat conversations do not.
  • Test workflows: Trigger each new Kustomer workflow manually to confirm it fires correctly before going live.
  • Confirm archive access: Run a test search for a conversation older than two years to confirm archive search is returning results if you migrated historical data into that scope.

Insider Secrets

  1. Bypass Rate Limits with Timestamps: When you are migrating thousands of historical messages, include the importedAt attribute in your data body. This tells Kustomer the data is old, which allows you to bypass the standard rate limits for creating new objects.
  2. Efficiency Through Bulk Endpoints: Never migrate records one by one if you can avoid it. Using bulk creation endpoints for customers, conversations, and messages is significantly faster and more reliable for large datasets.
  3. Preserve the Visitor Journey: Many people forget to move "Viewed Pages" data because it isn't a "conversation." By pushing this as a tracking event, you give your agents a meaningful advantage by letting them see exactly which products a customer viewed before asking a question.
  4. Tagging for Clean Reporting: Because Tidio separates "Tickets" and "Chats" but Kustomer treats both as conversations, always apply a migrated_ticket tag during the import. This ensures your future reporting can still distinguish between these different interaction types.

Further Reading:

More from our Blog