Skip to content

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.

Tejas Mondeeri Tejas Mondeeri · · 9 min read
The Complete Guide to Migrating from Trengo to Tidio
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

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 /operators and GET /departments endpoints for retrieval only — there are no corresponding POST endpoints 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:

  1. 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.
  2. 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.

  1. 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.

  1. 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:

  1. 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.
  2. 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.
  3. Timestamp Verification: Confirm that historical message timestamps display correctly in Tidio and that conversation threading order is preserved.
  4. 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:

  1. 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.
  2. 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.
  3. 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.
  4. 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/batch call 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.

Further reading

More from our Blog

Pylon to Missive Migration: The Technical Guide
Migration Guide/Pylon/Missive

Pylon to Missive Migration: The Technical Guide

A technical guide to migrating from Pylon to Missive covering data model mapping, API rate limits, migration approaches, edge cases, and step-by-step implementation.

Nachi Nachi · · 25 min read