
Switching customer support platforms is a significant milestone for any growing business. You are moving from Tidio, a tool great for immediate live chat and straightforward ticketing, to Intercom, a robust ecosystem designed for customer relationships and intricate automation.
This guide explores how to map your data effectively and ensure that your customer history remains intact during the Tidio to Intercom migration. By following a structured approach, you can maintain the context your support team needs to delight your users from day one.
Define Your Migration Scope
Before writing a single line of code or running a script, you must decide what data provides value and what constitutes digital clutter. Not everything can or should be migrated programmatically.
What to migrate via API: You should focus your automated efforts on the core data models that preserve customer context. This includes Contacts (your users and leads), Conversations (chat history), Tickets (complex support requests), and Tags (segmentation markers). These objects carry the historical weight of your relationship with your customers.
What to configure manually: The structural elements of your support organization usually require a human touch. Operators in Tidio map to Admins or Teammates in Intercom.
Since API endpoints often restrict the creation of users with administrative privileges for security reasons, it is best to invite your team members manually via the Intercom dashboard.
Similarly, Departments in Tidio should be manually recreated as Teams in Intercom to ensure your routing logic works correctly after the switch.
What to archive: Consider leaving behind very old data that no longer serves a purpose. For instance, Tidio allows you to delete contacts and tickets. If a contact has been inactive for years or a ticket was closed without resolution long ago, you might choose to export this data to a CSV for cold storage rather than cluttering your new Intercom workspace.
Prepare Intercom for Data Import
Successful data migration relies on preparing the destination environment to receive the data. You cannot import a conversation and assign it to an agent if that agent does not exist in Intercom yet.
Rebuild your team structure: Start by manually creating your Admins. In Tidio, you have Operators who handle inquiries. In Intercom, you must invite these users and assign them the appropriate roles.
Once your people are in place, you need to group them. Tidio uses Departments to organize operators. In Intercom, you should create corresponding Teams.
This mapping is vital because when you migrate historical conversations, you will want to attribute them to the correct teams and team members.
Define Data Attributes: Tidio uses properties to store specific details about a contact, such as their phone number or custom preferences. Intercom calls these Data Attributes.
While Intercom comes with standard fields, you must pre-define any custom attributes in Intercom that match your Tidio configuration. If you try to push data into a field that doesn't exist, the API may reject it or simply ignore that valuable context.
Migrate Objects
This section outlines the logical sequence for moving your data. You must respect the order of operations to maintain data integrity. You generally want to create the "owner" of the data before creating the data itself.
- Contacts: The foundation of your migration is the Contact object. In Tidio, contacts are identified by email or a unique ID and contain various properties. You will extract these contacts and map them to Intercom Contacts.
When moving contacts, pay close attention to the properties. Tidio allows you to update specific properties like name and email. You must map these to the equivalent attributes in Intercom.
If you have "Leads" in Tidio (visitors without full accounts), these will also become Contacts in Intercom, but you can define them with a specific role. Ensure you import the user_id or email correctly, as this will be the key used to link conversations later. - Tickets: Tidio handles complex inquiries as Tickets, often used for issues that cannot be resolved in a single chat session. Intercom now has a dedicated Tickets object as well.
You should iterate through your Tidio tickets and create corresponding tickets in Intercom. You will map the Tidio ticket title, description, and status (Open, Pending, Solved) to the Intercom Ticket fields.
It is crucial to associate the ticket with the correct Contact ID you created in Step 1. If the ticket in Tidio was assigned to a specific Operator, map that assignment to the corresponding Admin ID in Intercom. - Conversations: Migrating Conversations is the most complex part of the process. You first retrieve the message history for a contact from Tidio. You then recreate these conversations in Intercom.
A conversation is not just a block of text; it is a timeline. When you create the conversation in Intercom, you must ensure you are attributing the message to the correct source.
If the message came from the customer in Tidio, the author in Intercom must be the Contact. If the message came from a Tidio Operator, the author in Intercom must be the Admin.
You must also migrate the timestamps accurately so the conversation history appears in chronological order. - Tags: Finally, apply your segmentation. Tidio objects often have associated metadata or tags. Intercom uses Tags extensively to organize contacts and conversations.
You can iterate through your Tidio contacts and tickets, check for specific identifiers, and apply the corresponding Tag in Intercom.
Post Migration Configuration
Once the raw data is moved, you need to reactivate the logic that powers your support.
Rebuild Workflows and Automation Tidio often uses bots or automated flows to handle initial interactions. Intercom uses Workflows (formerly Operator bot) to manage similar tasks.
You cannot migrate these via API. You must manually rebuild your routing rules, ensuring that new incoming conversations are sent to the correct Teams you created earlier.
Verify Custom Channel Events If you were using Tidio to track specific user actions, you might want to implement Custom Channel Events in Intercom. This allows you to notify Intercom when a user takes a specific action on your site, which can then trigger automation.
Insider Secrets
This section covers the nuances that often trip up developers during a migration.
The Timestamp Trap: Both Tidio and Intercom rely heavily on Unix timestamps. However, when you create a conversation in Intercom, it might default to the "current" time unless you explicitly override the created_at field. If you forget this, years of history will look like they happened today.
Furthermore, Intercom is strict about search queries involving dates; you generally cannot search for exact second-level matches, so plan your verification scripts to look for ranges rather than exact times.
Author: Attribution is Critical. In Tidio, you have a list of Operators. In Intercom, you have Admins. These two systems will have different internal IDs for the same human being.
You must create a "lookup table" in your migration script. Without this, every historical reply from your support team will fail to import or be attributed to a generic bot user, destroying the personal context of the conversation.
Rate Limiting Strategy: Tidio's API documentation mentions batch updates for contacts to save requests. Use this. Updating contacts one by one will hit rate limits quickly.
However, Intercom also has rate limits. When running your script, implement a "back-off" strategy. If you receive a 429 status code (Too Many Requests), make your script pause and sleep for a few seconds before retrying.
Handling Viewed Pages: Tidio tracks the pages a visitor viewed. While you can technically migrate this as a Note or a Data Event in Intercom, experience suggests this is often noise.
Migrating thousands of "Page Viewed" events for old sessions clogs up the Intercom timeline. It is often smarter to only migrate the viewing history for active, open tickets and leave the rest behind.
Summary
Migrating from Tidio to Intercom is a shift from a chat-focused tool to a relationship-focused platform.
By defining your scope early, manually preparing your team structure, and meticulously mapping your Contacts, Tickets, and Conversations, you ensure that your team steps into Intercom with a full picture of their customers.
Pay close attention to author mapping and timestamps, and your new help desk will feel like home from the very first login.
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.