The Complete Guide to Migrating from Trengo to Tidio
Migrating from Trengo to Tidio? Master the migration with our guide on data transfers, mapping historical ticket messages, and workspace configuration.
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 your organization is planning the shift from Trengo to Tidio, navigating the transfer of historical customer data and support configuration requires precision.
Successful migration hinges on understanding which objects can be moved programmatically using the API and which essential structural elements require manual configuration beforehand.
This guide outlines a structured approach to ensure a smooth transition of your key customer service assets.
Define Your Migration Scope
Not all data moves equally. We need to clearly identify the data buckets: those requiring robust API automation, those needing manual configuration in the new environment, and any items that should simply be archived.
Objects Migrated via API
These elements constitute your core customer and interaction history. We can leverage Tidio's API for these transfers:
- Contacts: Customer records, which Tidio identifies as site visitors based on fields like name, email, or phone number.
- Tickets: The primary record of customer interactions.
- Ticket Messages / History: The sequential content of those interactions, including historical email and text message imports from Trengo.
- Contact Custom Field Data: The actual variable data associated with each customer record.
- Notes (Contact/Profile): Internal agent annotations added to customer records in Trengo.
- Ticket Results: The resolution or final status applied to a ticket — distinct from ticket status, this captures the specific outcome or disposition code assigned when a ticket is closed.
Objects Requiring Manual Configuration
These are the foundational settings and organizational structure points that cannot be created via the Tidio API, but are necessary for the migrated data to function correctly:
- Users (Agents) & Teams (Departments): Although Trengo allows programmatic creation of users and teams, the Tidio API provides
GET /operatorsandGET /departmentsendpoints for retrieval only — there are no correspondingPOSTendpoints for creating them. These entities must be manually established in the Tidio panel before they can be assigned to migrated tickets. - Custom Fields Definition: While Trengo allows API management of custom field definitions, the underlying definition of corresponding contact properties in Tidio must be set up manually before importing the data itself.
- Labels: Trengo allows creation of labels; however, corresponding tags or labels used for categorization require manual definition in Tidio before they can be assigned during the ticket import process.
- Quick Replies: Saved standardized responses in Trengo require manual recreation in the Tidio interface.
- Contact Groups: The logical groupings of contacts defined in Trengo need to be recreated manually in Tidio, possibly by leveraging specific imported custom contact properties for segmentation.
- Help Center (Knowledge Base): Trengo manages comprehensive Help Center components like centers, categories, sections, articles, and blocks via API. Since there are no equivalent programmatic endpoints in the Tidio API, this entire repository must be manually rebuilt.
Object Mapping Reference
The table below summarizes how key Trengo objects map to their Tidio equivalents and which migration method applies:
| Trengo Object | Tidio Object | Migration Method | Notes |
|---|---|---|---|
| Contacts | Visitors / Contacts | API (POST /visitors/batch) |
Batch is all-or-nothing; duplicates create new records |
| Contact Custom Fields (data) | Contact Properties (data) | API (update/patch) | Property definitions must exist in Tidio first |
| Custom Field Definitions | Contact Property Definitions | Manual | Create in Tidio panel before importing data |
| Tickets | Tickets | API (POST /conversation) |
Contact must exist before ticket creation |
| Ticket Messages | Conversation Messages | API (POST /conversation/{id}/messages) |
Specify sender as operator or contact |
| Notes (Contact/Profile) | Internal Operator Messages | API (reply to ticket) | Convert notes to internal messages on relevant tickets |
| Ticket Results | Ticket Status / Tags | API (ticket update) | Map Trengo resolution codes to Tidio statuses or tags |
| Users (Agents) | Operators | Manual | Tidio API is read-only for operators (GET /operators) |
| Teams | Departments | Manual | Tidio API is read-only for departments (GET /departments) |
| Labels | Tags / Labels | Manual | Define in Tidio before assigning during import |
| Quick Replies | Quick Replies | Manual | Recreate in Tidio interface |
| Contact Groups | Segments / Filters | Manual | Use imported custom properties for segmentation |
| Help Center (KB) | Knowledge Base | Manual | No Tidio API endpoints; full manual rebuild required |
Archiving Considerations
Historical data, such as aggregated reporting metrics, user reports, and detailed ticket reports in Trengo, are analytical tools designed for that specific platform. These metrics cannot be migrated and should be downloaded and archived from Trengo for historical reference.
Channel-Specific Considerations
Trengo supports multiple communication channels including WhatsApp, SMS, voice, and social messaging. When migrating message history, be aware that channel-specific metadata (such as WhatsApp template identifiers or SMS delivery receipts) does not have a direct equivalent in Tidio. These messages will be imported as standard conversation messages, preserving the text content but not the channel-specific formatting or metadata. Plan to document which tickets originated from which channel if that context matters for your team.
Attachments and Files
File attachments embedded in Trengo ticket messages require separate handling. Extract attachment URLs from Trengo message data during export, and verify whether each attachment is still accessible. When importing messages into Tidio, attachments may need to be re-uploaded or linked depending on Tidio's message creation endpoint capabilities. Budget additional time for this step if your ticket history is attachment-heavy.
Prepare Tidio for Data Import
A successful data migration relies on establishing the organizational scaffolding before inserting the historical records. Follow these crucial preliminary steps:
- Configure Users and Teams: Manually set up all Operators (users) and Departments (teams) within your Tidio account. You will need these IDs to accurately assign ownership and routing in the subsequent ticket migration phase.
- Define Custom Fields and Labels: Based on your export of Trengo's Custom Field definitions and Labels, manually create the equivalent custom Contact Properties in Tidio. Defining these properties first is critical, as Tidio must recognize the destination fields before you attempt to populate them with data in the next phase.
Migrate Objects
This sequence is designed to honor dependencies: infrastructure (users/properties) must exist before contacts, and contacts must exist before tickets.
- Contacts and Contact Data
Extract your contact list from Trengo, and utilize Tidio's batch creation endpoint (POST /visitors/batch) to import these core records.
Be aware that the batch process functions on an "all or nothing" principle — if any single contact in the batch fails validation, the entire batch is rejected. Also, creating a contact that already exists via batch will add a new contact rather than updating the existing one, so de-duplicate your source data before import.
Once contacts exist, extract the specific Custom Field Data from Trengo. Then, systematically update these records in Tidio by patching the relevant properties using the update mechanism.
- Tickets, Messages, Notes, and Results
List and extract all ticket data from Trengo.
Create the shell tickets in Tidio using the dedicated endpoint for creating a ticket as a contact.
Historical Messages and Notes: This is the most data-intensive step. Trengo allows importing historical correspondence, such as email or text messages, and listing all messages for a ticket. In Tidio, once the ticket exists, you add the conversational history sequentially by replying to the ticket ID (POST /conversation/{id}/messages), ensuring you specify the sender as either an operator (agent) or a contact (user).
Notes Conversion: Any internal Notes recorded on a Trengo contact or profile should be converted and inserted into the relevant Tidio ticket history as an internal operator message to preserve context.
Ticket Status and Results: After creating the ticket, migrate the status. Trengo's Ticket Results (the resolution statuses) must be mapped to corresponding Tidio statuses, priorities, or custom tags. Apply these settings using the ticket update feature.
Post-Migration Validation
Before moving on to configuration, verify the integrity of your migrated data:
- Record Count Comparison: Compare the total number of contacts, tickets, and messages exported from Trengo against the counts now present in Tidio. Any discrepancy indicates dropped records that need re-import.
- Spot-Check Sampling: Select a random sample of 20–50 tickets across different date ranges and channels. Open each in Tidio and verify that the message history, timestamps, agent assignments, and custom field values match the Trengo originals.
- Timestamp Verification: Confirm that historical message timestamps display correctly in Tidio and that conversation threading order is preserved.
- Custom Property Validation: Pull a sample of contact records and verify that all custom property values were written to the correct fields with the correct data types.
If you find issues during validation, identify the root cause before proceeding. Common culprits include malformed timestamps, unmapped operator IDs, and property type mismatches.
Post-Migration Configuration
After the core customer data and history are successfully transferred and validated, focus on rebuilding the efficiency layers within Tidio. These configurations require hands-on administrative work:
- Quick Replies: Your agents depend on standardized Quick Replies. These canned messages must be manually recreated in the Tidio system for continued speed and consistency in responses.
- Contact Groups: Although the associated data for segmentation is now in Tidio (via imported custom properties), the larger Contact Groups logic defined in Trengo must be manually rebuilt in Tidio using its segmentation tools or internal filtering rules.
- Help Center Reconstruction: Given that Trengo provides extensive API control over Help Centers, categories, articles, sections, and blocks, and Tidio requires manual setup for its knowledge base, dedicate sufficient resources to manually copying and restructuring your knowledge base content from Trengo into Tidio.
- Workflows and Automations: Any remaining custom workflows, internal routing rules, or bots existing in Trengo need careful manual review and recreation within Tidio's equivalent automation tools.
Common Failure Points
- User ID Mapping is Non-Negotiable: Because you must manually create Operators (Users) and Departments (Teams) in Tidio, maintaining a clear map of the original Trengo IDs to the new Tidio IDs is absolutely critical. This mapping allows you to correctly assign ownership when importing tickets and historical messages. If an operator ID does not exist in Tidio, you cannot accurately link that ticket or message history to the correct agent.
- Validate Custom Property Definitions: Before pushing hundreds of thousands of contact records, retrieve the list of defined properties from Tidio. Double check that the property type (e.g., text, number, email) exactly matches the data you are sending, as attempting to update a property with the wrong data type will result in a validation error, halting the import of that contact's custom data.
- Time Zone Handling for Historical Data: Historical activity reporting in Trengo relies on accurate ISO 8601 formatting for date fields. When extracting history and subsequently pushing it to Tidio, ensure all timestamps maintain the proper ISO 8601 format to preserve the historical accuracy of communication and reporting windows.
- Batch Rejection Recovery: When a
POST /visitors/batchcall fails, the entire batch is rejected — you will not get a partial import. Isolate the invalid record(s) by splitting the batch and retrying, or validate all records against Tidio's expected schema before submission.
Summary
Migrating from Trengo requires a hybrid approach. We rely on API endpoints to handle the heavy lift of migrating historical, transactional data like Contacts and Tickets, along with their Messages and Custom Field Data.
However, the foundational structure, including Users, Teams, Custom Field Definitions, and content items like the Help Center and Quick Replies, must be built manually in Tidio before the bulk data transfer begins.
By following this sequential, layered approach, you can ensure a successful and comprehensive transition of your customer service data ecosystem.
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.



