The Complete Guide to Migrating from Kustomer to Tidio
Learn how to migrate from Kustomer to Tidio with this complete guide. Map API objects, move ticket history, and manage rate limits for a seamless data transition
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
If you are moving your support operations from Kustomer to Tidio, you want to ensure your historical data and team structures remain intact.
Kustomer provides a robust environment for managing complex data through standard objects like Messages and Conversations, while Tidio offers a streamlined experience focused on real-time chat and AI-powered assistance.
This guide walks you through the logic of this migration, the constraints you will hit on both sides, and the practical steps to get your data across.
Define your migration scope
Before you start writing scripts or clicking buttons, you need to decide exactly what data is moving and how it will get there. Not everything fits into a simple automated bucket.
What to migrate via the API
Your core data should be handled programmatically to ensure accuracy and handle large volumes. This includes your list of Customers, which Tidio identifies as Contacts.
You should also use the API to move your Teams, which function as Departments in Tidio. Historical interactions including Conversations, Messages, and internal Notes can be moved using a workaround where they are recreated as Tidio Tickets and replies.
Finally, your Knowledge Base Articles can be fetched and moved into Tidio to feed the Lyro AI assistant data source.
What to configure manually
Some elements are better set up by hand to ensure they function correctly within Tidio's specific interface. Your Users in Kustomer must be recreated as Operators in Tidio, as permissions and permission sets are handled directly in the Tidio settings panel.
Because Tidio does not have a native "Company" object that mirrors Kustomer, you will need to manually define custom properties on your contacts to store this information.
Your Shortcuts and Snippets should be rebuilt as canned responses within Tidio to ensure they match the new platform's formatting.
What to archive
Standard search functions in Kustomer prioritize data that has been updated within the last two years.
If you have standard or custom objects older than this, you will need to use specific archive search tools to retrieve them.
For highly technical data like raw Audit Logs or complex tracking events, it is often more efficient to export these to a secure external storage solution for compliance rather than trying to force them into a live chat platform.
Prepare Tidio for data import
Setting the stage in Tidio ensures that your data has a logical place to land. Complete these steps before you start the transfer.
- Define your Operators manually to ensure all agents have the correct roles and permission levels before they are assigned to data.
- Create custom properties in the Tidio panel to accommodate data fields from Kustomer that do not have a default home, such as company names or specific customer attributes.
- Set up your Departments so that when you migrate your Kustomer Teams, they can be mapped to the correct functional groups in Tidio.
- Check your project information to confirm you are authenticated correctly for the incoming data stream.
Migrate objects
The order of your migration is critical for maintaining the relationships between your data points. You must move from the most basic organizational structures to the most complex interaction histories.
Kustomer uses a data model built on standard objects and custom KObjects, while Tidio centers on the Contact and the Ticket.
You should begin by migrating your Teams as Departments via the API. Once your organizational structure exists, you can move your Customers into Tidio as Contacts.
These are the identified site visitors who will "own" the interaction history you move next. With your contacts in place, you can move to the heavy lifting of interaction history.
Kustomer Conversations should be recreated as Tidio Tickets. Within these tickets, you will iterate through each Message and recreate them as Ticket Replies to maintain a chronological timeline of the customer journey.
Internal Notes from Kustomer can also be added to these tickets as internal messages, keeping your team's context alive. Finally, your Knowledge Base content can be upserted into Tidio to empower your AI assistant.
| Kustomer Object | Tidio Equivalent |
|---|---|
| Customers | Contacts |
| Teams | Departments |
| Conversations | Tickets |
| Messages | Ticket Replies |
| Notes | Internal Messages |
| KB Articles | Lyro Data Source |
| Users | Operators |
| Companies | Custom Properties |
| Shortcuts | Canned Responses |
| Attachments | External Links |
Estimating migration time
Kustomer enforces a creation limit of 120 objects per minute per customer for things like conversations and messages. On the Tidio side, batch contact creation is limited to 100 contacts per request.
These constraints mean migration time scales linearly with data volume. For example, if you have 100,000 messages to export from Kustomer at 120 objects per minute, the export phase alone takes roughly 14 hours of API time — before accounting for retries, pagination, or Tidio's ingest rate. Plan your migration window accordingly, especially if you are running a cutover rather than a parallel environment.
Data validation after migration
Once data is in Tidio, you need to verify completeness before declaring the migration done.
- Count comparisons: Compare total object counts for each type (Contacts, Tickets, Ticket Replies) between Kustomer and Tidio. Any discrepancy means something was dropped or duplicated.
- Sampling: Pull a random sample of 50–100 conversations and manually verify that the full message thread, timestamps, and contact associations match the Kustomer originals.
- External ID spot checks: If you mapped Kustomer unique IDs to a custom external ID field in Tidio, query a subset of those IDs to confirm the linkage is intact.
Handling batch failures
Tidio batches use an all-or-nothing strategy: if a single contact in a group of 100 is invalid, the entire batch fails to save. Your migration script needs to account for this.
- Log every batch request and its response so you can identify which batch failed and why.
- When a batch fails, implement a binary search strategy: split the batch in half, retry each half, and continue splitting until you isolate the invalid record(s).
- Track failed records separately for manual review. Common causes include missing required fields, malformed email addresses, or duplicate entries.
Post-migration configuration
Once the data is in, you still have work to do to make the platform operational.
- Upload any essential files that were previously Attachments, or ensure they are linked correctly within your migrated ticket replies.
- Configure your Chat Settings to determine how the widget appears to your newly migrated contacts.
- Establish your Business Schedules to manage when your operators are available for live interactions.
- Set up your Brand identity in Tidio to ensure a consistent experience across different support channels.
Rebuilding workflows
Kustomer's automation triggers are specific to their own internal events and logic, so workflows cannot be migrated automatically. They need to be rebuilt in Tidio.
This is typically the most labor-intensive part of post-migration configuration. Before you start rebuilding, audit your existing Kustomer workflows and categorize them:
- Auto-assignment rules (routing conversations to teams based on tags, channels, or customer attributes) — these map to Tidio's Department routing and assignment rules.
- Auto-responses and SLA triggers — these can often be replicated using Tidio's automation features or Lyro's AI capabilities.
- Status change automations (e.g., auto-closing idle conversations) — check whether Tidio supports equivalent triggers; some may not have a direct counterpart.
Be explicit about what capabilities are lost in the move. Not every Kustomer automation pattern has a Tidio equivalent. Document the gaps so your team knows what manual processes need to fill in until workarounds are built.
Insider secrets
- Kustomer enforces a creation limit of 120 objects per minute per customer for things like conversations and messages, so you must build pauses into your migration script.
- Tidio allows for batch contact creation, but you are limited to 100 contacts per individual request, making it important to chunk your customer list.
- If you include an
importedAttimestamp in your Kustomer API body, those objects may be treated differently by the rate limiter during the export process. Test this against your own account before relying on it — behavior can vary. - Tidio batches use an all-or-nothing strategy, meaning if a single contact in a group of 100 is invalid, the entire batch will fail to save.
- Always map your Kustomer unique IDs to a custom external ID field in Tidio to ensure you can reliably track and update objects without creating duplicates.
- Standard Kustomer searches cannot see data older than two years, so plan for a separate archival pass if you need deep historical records.
Summary
Migrating from Kustomer to Tidio moves you from a deep CRM-style data model to a dynamic chat and AI environment.
By following a logical sequence — organizational structures before customer data, customer data before interaction history — you can maintain the integrity of your support records.
The API handles the bulk of the work, but the manual configurations you perform for your operators and workflows will define your success on the new platform. Plan for validation after every migration phase, not just at the end.



