Launched:self-serve migrations intoSuperhuman Docs (Coda)
Try it now
01Agent-first
Runs where you already work
Plug it into Claude, ChatGPT or Cursor. Describe the move in plain English; the agent runs it.
02Engineer-led
Our production engine, unlocked
The pipeline our engineers use on managed enterprise migrations — the same code, now something you can drive yourself.
03Pricing
Try 10 pages free, then $1 a page
Credit-based, pay-as-you-go. No scoping call, no quote — sample it on your own docs before you spend anything.
04Sources
NotionSlabConfluenceSoonGoogle DocsSoon

Migrate from Plain to Kayako with precision & ease

A seamless, customizable migration solution for moving your Plain data with perfect fidelity and minimal disruption.

Book free consultation

Last updated November 2026

COMPLETE COVERAGE

Intelligent Human-Verified Data Mapping

Our migration engineer precisely maps every data point from Plain to Kayako, ensuring perfect continuity for your customer support operations.

Plain
Kayako
Customer
Users
Thread
Conversations
EmailMessage
Messages
ChatMessage
Messages
Note
Notes
Attachment
Attachments
User
Agents
Workspace
Teams
Tenant
Organizations
Label
Conversation Tags
ThreadAssignment
Conversations
Snippet
Not Available
Webhook
Not Available
ThreadStatus
Conversations

Looking for more entity mappings?

Contact our team
What Our Customers Say

Real migration stories

See all customer stories →
CUSTOM MIGRATION

Fully customizable engineer-led migration

Tailor your migration from Plain to Kayako exactly to your needs with our flexible customization options. Our experts will configure the perfect migration plan for your business.

Migration Filters

Conversation Type

Filter by chat, email, or social media conversations

Tag-Based Selection

Migrate tickets with specific tags only

User Selection

Migrate tickets for specific users or agents

Time Range

Migrate tickets from a specific time period

Data Types

Tickets & Conversations

Full conversation history with all metadata

Automations & Macros

Workflows, templates, and automation rules

Knowledge Base

Articles, categories, and help center content

Customer Profiles

Customer information and interaction history

ZERO DOWNTIME

Your timeline. Our engineers.

A dedicated engineer runs your migration, planned around your schedule and your data.

No babysitting a wizard. Avoid debugging errors yourself.

Looking for a more detailed migration timeline?

Contact our team

Speed

The migration timeline depends on both our turnaround time and yours.

We can complete a migration in under a day when the accounts are connected and the sample migration is approved promptly.

Background Sync

We also support migrating the newest records first, so you can go live faster while the rest of the data is synced in the background.

Data Volume Impact

Larger data volumes may require longer migration windows.

Continuous Operation

Weekend migrations minimize disruption to your customer service operations.

MIGRATION TIMELINE

Your Plain to Kayako migration, step by step

See how long your migration will take from start to finish. Drag the slider to estimate based on your data volume.

How many records are you migrating?

<10K 50K 100K 250K 500K 1M 2M 5M 10M+
Checklist ~3 days
Sample 1 day
Review ~2 days
Full 2 days
Delta 1 day
Your team ClonePartner

Estimated total

~9 business days

1

Migration Checklist

1 day · ClonePartner ~2 days · Your team

We prepare the optimal data mapping as a shareable spreadsheet. Your team reviews, approves, and adds any customizations.

2

Sample Migration

1 day · ClonePartner

We run a test migration with a representative sample of your data to verify mapping accuracy and identify any potential issues before the full run.

3

Review & Approve

~2 days · Your team

Your team reviews the sample migration results, confirms data accuracy and mapping, and gives the go-ahead for the full migration.

4

Full Migration

2 days · ClonePartner

We execute the complete migration of all your data to your new Kayako, with real-time progress tracking and comprehensive logging.

5

Delta Migration

1 day · ClonePartner

We capture and transfer any new data that was added or updated during the main migration to ensure no data is lost. This final sync keeps everything current.

Alternatives Guide

Top Kayako Alternatives in 2026: Features, Migration, and TCO

Freshdesk and Zoho Desk beat Kayako on TCO for most teams; Zendesk wins for enterprise. Kayako One's $1/AI-resolution fee makes costs hard to predict at scale.

16 min read

Read the guide

Pros and cons of different migration options

Choosing the right approach is key because migrating from Plain to Kayako isn't just about moving data – it's about protecting customer relationships.

Feature / Criteria ClonePartner Automated Tools CSV Import In-house migration
Custom Scripting for complex data ✓ Engineers build & maintain ✗ No ⚠ Manual ✓ Yes – but costly
Sandbox & Pilot Migrations ✓ Full sandbox + pilot plans ⚠ Limited ✗ No ⚠ Often Informal
Manual validation & reconciliation ✓ Automated + manual QA ✗ No ✓ Yes (Manual) ✓ Heavy manual effort
Backup & rollback plan ✓ Robust procedures ✗ No ✗ No ⚠ Often incomplete
Handles automation and integrations ✓ Full support ⚠ Partial ✗ No ⚠ Possible but fragmented
Post-migration engineer support ✓ Dedicated engineers ✗ No ✗ No ⚠ Limited SLA
Adaptable to API changes ✓ Proactive adaptation ✗ No ⚠ Manual fixes ⚠ Slower response
Turnaround / SLA predictability ✓ Predictable SLAs ⚠ Fast but brittle ⚠ Slow and manual ⚠ Often slower
Data Security & Compliance ✓ High – enterprise grade ⚠ Medium (depends) ⚠ Low (manual) ⚠ Hidden gaps common
Pricing predictability ✓ Transparent & fixed ⚠ Low (per-job) ⚠ Low (manual hours) ⚠ High/variable OPEX
End-to-end project management ✓ Full E2E delivery & PM ✗ No ✗ No ⚠ Often partial
Business impact & opportunity cost ✓ No diversion of staff ✗ No ✗ No ⚠ Diverts engineering

What does an Engineer-led migration mean anyway?

Speed & Accuracy: Our Blended Method

We blend automation (smart scripts, bulk APIs) with human expertise for speed without risk. Our engineers manually check every mapping, validation, and exception.

You get:

  1. Speed of automation for bulk record migration
  2. Precision of engineers verifying integrity and business logic
  3. Pilot migrations and sandbox testing to catch issues early
  4. Real-time validation reports and rollback readiness
Result: 50x faster migrations than manual imports — with near-zero error rates.

Handling the Tricky Tech and API Details

The Plain and Kayako APIs each behave differently, which is where our engineers shine. We build custom logic to handle the data quirks where generic tools typically break.

We handcraft API logic for:

  1. Field mapping and transformation
  2. Pagination, rate-limit handling, and throttling
  3. Preserving conversation threads, attachments, and internal notes
  4. Syncing custom fields, SLAs, and macros without breaking structure
Our scripts: Natively retry failed calls, re-queue large attachments, and ensure data parity.

No Guesswork

We don't just promise smooth migrations—we measure and prove them. Every client receives a Migration Validation Report with all metrics.

Typical results across projects:

  1. 100% record-count parity between your Plain data and Kayako
  2. Zero downtime during staged cutovers
  3. 99.9% attachment integrity (verified via checksum)
  4. Full automation and preservation of all business rules
Our standard: Includes full SLA preservation and 30 days of engineer-assigned support post go-live.

We Adapt to Your Setup (Not the Other Way Around)

No two teams configure Plain or Kayako exactly the same way—with unique automations and data. We customize every migration script to fit your exact workflow, tags, and triggers.

Our engineers adapt for:

  1. Custom fields, ticket forms, and workflows
  2. Multi-brand or multi-language setups
  3. Historical imports and partial (date-based) migrations
  4. Integration re-mapping for CRMs, chat, or feedback tools
The promise: If your data doesn't fit a standard template, we build one just for you.

Enterprise-Grade Security & Compliance

Your customer data is precious. Our migration process maintains the highest standards of security and regulatory compliance.

SOC 2 Type II

Independently audited compliance with rigorous security standards

ISO 27001

Certified information security management system

GDPR

Full compliance with EU data protection regulations

HIPAA

Certified for handling protected health information

AES-256 Encryption

Bank-grade encryption for all stored credentials

Latest TLS

Secure transfer protocol for all data in transit

Role-Based Access

We follow role-based access control for every migration project

Scheduled Deletion

Automatic data purging after migration completion

FAQ

Frequently Asked Questions

Everything you need to know about migrating from Plain to Kayako. Can't find what you're looking for? Talk to our team.

Still have questions?

Book a free 30-minute consultation with our team.

Contact our team

Before you start

8 questions
Do I need professional help for this migration?
Yes. Professional help ensures proper field mapping and preservation of relationships between records. Our engineer-led approach catches edge cases that automated tools miss.
Does ClonePartner provide guidance before committing?
Yes. We provide a free consultation and assessment. We'll review your data structure, discuss your requirements, and provide a detailed migration plan and fixed-price quote before you commit to anything.
Do you use an off-the-shelf tool to migrate from Plain to Kayako, or is this built for our data?
It is built for your data. Each migration is a set of custom scripts written for your data model, not a generic import tool. That is also why we start with a sample migration: you see your own records in Kayako before the full migration is committed.
Can we see a sample of our Plain data migrated to Kayako before the full migration runs?
Yes. We run a sample migration on your own data first, so you can review how your records look in Kayako before the full migration goes ahead. We run validation scripts to confirm the record counts match your source, and you check the sample against your source records; if a field is missing or mapped wrong, or anything else needs adjusting, we fix it in the migration scripts and re-run the sample as many times as you need. The full migration only runs after you've approved the sample. On projects delivered in phases, each phase gets its own sample migration for you to approve.
How many sample migrations do we get, and can we choose which Plain tickets go into them?
You can run the sample as many times as you need, until you are satisfied with how the data looks in Kayako. By default it uses your most recent tickets, and you can name specific tickets to include instead, such as ones with long or complex threads you want to check.
Do we need to keep our Plain account active during the migration?
Usually, yes. Keep it active until we confirm the migration is complete, including the final delta migration, because we read your data directly from your Plain account throughout the project. If your subscription is due to end mid-project, extending it to cover the migration window keeps everything on track, and we tell you when it is safe to cancel. If it has to close sooner, we can pull your data out before it closes and migrate from that copy.
Will the sample tickets be removed from Kayako before the full migration runs?
Yes, if you want them removed. Before the full run, we delete the tickets the sample migration created in Kayako, so the full migration does not duplicate them.
Do we need to connect our support email to Kayako before the migration from Plain starts?
No. Your support email doesn't need to be connected for the historical tickets to migrate. It matters for go-live, and so does its timing: once Kayako is receiving email directly, a sync run after that point can pull in the same tickets a second time, so we line the final delta sync up with your email switchover. Some items, such as rules that depend on your email channel, may need it connected before they can be migrated.

Data & mapping

48 questions
Will the original assignees, message authors and created dates be preserved?
Yes. Created-time metadata is carried across, and so are assignees and message authors who have a user account in Kayako. Where Kayako cannot store one of them natively, it is kept as embedded metadata on the migrated record.
If the new system can't natively support an old record type, what are my options?
We handle it case by case. While mapping your data, we identify every record type without a direct counterpart in Kayako, review sample records from it and propose how it can be represented, based on what Kayako supports: map it to the closest native object, create a custom field or object, fold it into the parent record as text or a note, attach it as a file, or keep it in a read-only archive. You choose the approach, we write the migration scripts to place the data there, so it comes across in the form you choose instead of being left behind, and you see how it looks in a sample migration before we run the full set.
Do you migrate our Plain workflows, triggers and automations to Kayako, or just the tickets?
They can be part of the migration. We recreate your existing Plain triggers and automations in Kayako using its own conditions and actions, and agree the exact list of rules with you during scoping. Designing new workflows beyond the ones you have today is separate, and is best done by your team or your implementation partner.
Are the times of each Plain comment, reply and update preserved in Kayako, not just ticket creation dates?
Yes. Each ticket's creation time is preserved exactly, and so is the time of each comment and reply, so the history shows when every update happened. The one possible exception is the ticket-level 'last updated' field, which some platforms set themselves when a ticket is written, so it may show the migration date; the original update history stays in the comment timestamps.
How are merged Plain tickets handled in Kayako?
We look for the merge relationship in your Plain data and re-create the merge in Kayako through its API. Where a merge can't be re-created, each ticket gets a tag with the related ticket's original ID, so the link between them is kept and can be searched.
What happens to Plain tickets assigned to agents who have left the team or don't have an account in Kayako?
They still come across. Before the migration runs, you decide where they go: to a fallback owner you choose, or left unassigned where Kayako allows it. Either way, each ticket can get a tag with the original agent's name, for example Assigned_to_Jane, so your team can still see and filter who handled it and reassign them later.
Can we merge several Plain accounts into one Kayako account and still tell which account each ticket came from?
Yes. Tickets from several Plain accounts can be consolidated into one Kayako account, and each ticket is tagged with the account it came from so your team can filter by origin. A shared migration tag can also go on every imported ticket, which keeps historical records separate from new work.
Do our Plain ticket attachments come across to Kayako?
Yes. Attachments are migrated along with the ticket conversations they belong to, not just the text. We can also carry over reference fields such as the original ticket number and a link back to Plain, so your team can cross-check any record. You can review attachments and dates in the sample migration before the full run.
Our Plain setup has custom ticket statuses that Kayako doesn't have. How do they get mapped?
We map every Plain status to a status in Kayako and send you a proposed mapping for the ones that need a decision. You confirm or correct it before the full migration, and the sample migration shows exactly how your tickets' statuses land.
Which of our Plain ticket tags carry over to Kayako, and can migrated tickets be marked so we can tell them apart?
The tags on the tickets being migrated. Tags come across as part of each migrated ticket, so a tag that isn't on any migrated ticket isn't created in Kayako, and you can also limit the migration to a list of tags you choose in the migration checklist. Each migration is a custom script, so we can also stamp every imported ticket with a tag such as "migrated", or, where Kayako has custom ticket fields, a field value you choose, so they are easy to filter, and if you ask for a change after reviewing migrated tickets, we re-sync those tickets with the update. The sample migration shows exactly how your tags appear before the full run.
Will the migration set off automations or send emails or notifications to customers, our team or anyone else?
No. Before the sample or full migration starts, we confirm with you that nothing in Kayako will send messages about the migrated data: we import with notifications switched off wherever Kayako allows it, and either pause any automation that could send them for the migration window or give it a condition, such as a suppression tag, that skips migrated records, which lets your live automations keep running for new records. We only proceed once you have confirmed it. If you want anyone told about the move, that message is sent separately, once the migrated data has been checked.
Will you migrate our Plain knowledge base articles as well as tickets?
Yes. Knowledge base articles can be part of the same migration as your tickets, and move into your Kayako knowledge base.
Can we migrate only our Plain contacts who have tickets, not our whole contact list?
Yes. We pull your tickets first, collect the distinct requesters from them, and migrate only those contact records. Contacts with no ticket history are not added to Kayako.
Can you migrate data that Kayako can't take in through an API?
In many cases, yes. Where something can't be written through an API, we recreate it through Kayako's user interface where the interface allows it, and where that work is repetitive we script and automate it. We tell you up front which items are handled this way, because recreating them through the interface can add time to the schedule.
If we don't recreate all our Plain custom fields in Kayako, will that data still be kept on our old tickets?
Yes. We can write custom field values onto each migrated ticket as an internal note, laid out as readable field-and-value pairs. Your team can still see that information on every historical ticket, and only the fields you plan to keep using need to be recreated.
Will full Plain ticket conversations come across, or only notes on each ticket?
We migrate the full conversation on each ticket, not a summary saved as notes. Where Plain's API doesn't expose part of the history, our engineers retrieve it from Plain directly and work out a route to load it into Kayako. You check the result in a sample migration before the full run begins.
What happens if Kayako requires fields our Plain data doesn't have?
We check the destination for required fields your source data cannot fill and bring each one to you before those records are migrated. Together we agree how each one is handled, such as a mapping from an existing field, a default value, or, where Kayako lets that field be made optional, setting it to not required for the migration so you can make it required again once the migration is complete. The migration then runs with that rule applied, so no records are rejected or left behind.
What happens if some Plain tickets fail to migrate?
Every ticket that errors is logged. We review it, fix the cause and re-sync it, then validate the result before cutover. When the migration is complete you receive a list of every migrated ticket, so you can check it against Plain.
What happens to Plain comments written by agents who have since left the company?
Their comments migrate with the rest of the ticket history. If the original author does not have an account in Kayako, we can add a line at the start of the comment naming who wrote it, so it stays attributable.
Do internal notes and system-generated notes from Plain migrate to Kayako, or only customer-facing replies?
Internal notes can come across, and so can system-generated notes where Plain's API makes them available. During scoping you choose which notes to include, so Kayako holds the history your team will actually use.
Can you assign migrated tickets to Kayako groups based on the email address they were sent to?
Yes, where Plain's API shows which address each ticket was sent to and Kayako's API lets us set each ticket's group. Routing rules like "every ticket sent to this address goes to that group" are written into the migration script, so tickets arrive in Kayako already in the right groups. You confirm the rules with us up front and check the result on the sample migration before the full run.
Can you map our Plain ticket categories or field values to different ones in Kayako?
Yes. You give us the mapping, including what blank values should become, and we apply it in the migration script so every ticket arrives in Kayako with the new values. You check the mapping on the sample migration before the full run.
Can we keep spam and sales emails out of Kayako?
Yes. We agree filtering rules with you up front so spam and sales emails are excluded rather than imported. Afterwards you receive a list of every ticket we pulled from Plain, with excluded tickets marked as skipped.
Will emojis and special characters in our Plain tickets come through correctly in Kayako?
Yes, as long as Kayako can store them. Our scripts carry emojis and special characters across intact, and we can clean out stray encoding characters left behind in older tickets before anything is written to Kayako. You can check the result in the sample migration before the full run.
Can you migrate hundreds of thousands of Plain tickets and contacts to Kayako?
Yes. Every migration is a custom script built for your project, so volume is something we plan for, not a limit on what can move. At large volumes, run time is set mainly by how fast Plain's and Kayako's APIs accept requests, and we plan the full run around that. Before the full run, we test the mapping and throughput with a sample migration.
We use a lot of custom fields in Plain. Can you map them to Kayako?
Where Kayako has a place for them, yes. Each migration is a custom script written for your project, so your custom fields and structure are mapped to Kayako's model rather than forced through an import template. Where field types differ, such as a value stored as text in Plain that Kayako needs as a number, the script converts it. We agree the mapping with you and prove it on a sample migration before the full run.
Can you combine data from Plain and other support tools into one Kayako account?
Yes. Each tool's data is extracted separately and written into the same Kayako account. How records from the different tools fit together is settled in the data mapping before the build. The sample migration includes data from every source, so you can check the combined result before the full run.
Can you fix Plain tickets that are linked to the wrong company during the migration?
Yes, where Kayako lets a company be set on each ticket. Each migration runs as custom scripts against the source and destination APIs, so we can set the correct company on each ticket as it is written to Kayako. We agree the assignment rules with you first. The corrected links show up in the sample migration, so you can check them before the full run.
Will our Plain ticket formatting, including HTML content, carry over to Kayako?
Yes. The migration script converts ticket content, including HTML, into the format Kayako expects, and our verification checks compare migrated tickets with the originals, including how the HTML renders. The sample migration lets you compare migrated tickets side by side with the originals before the full run, and if anything renders differently, such as HTML appearing as raw text, we adjust the script and re-run the samples until you sign off.
Our Plain account already holds tickets imported from an earlier migration. Will that cause problems when we migrate to Kayako?
It can make the number of tickets we pull differ from the count Plain shows, so tell us about the earlier import during scoping. We compare those two numbers before the full run, so if earlier-imported history makes them differ, we find out why first. When the migration is complete, the reconciliation report accounts for every ticket.
Are deleted Plain tickets included in the migration?
Only if you want them. You decide during scoping whether deleted and spam tickets are included, and we apply that choice to every run, including the final delta sync. Some platforms keep deleted tickets as scrubbed records with no remaining content; we flag any we find and migrate them only if you ask.
Do you migrate Plain live chat, SMS and messaging conversations, such as WhatsApp, to Kayako, and do they keep their original channel?
Yes. Chat conversations and messages from channels such as WhatsApp or Instagram are migrated as tickets alongside your email history, where Plain makes them available through its API or an export. Kayako may not let imported tickets keep every original channel: some platforms take most imported tickets in through a general API channel instead. So we keep the original channel wherever Kayako allows it, and can tag each ticket with its original one, such as chat, SMS or WhatsApp, so your team can still find and filter them. If an export leaves out the message content for some channels, we tell you and agree another way to retrieve it.
Will our migrated tickets end up with duplicate comments?
Not normally, and we check for it. Our verification checks compare each migrated ticket with its original, including the message content, and each delta round is checked against what earlier rounds already migrated. If a ticket is found with duplicated comments, we can delete and reimport it, and it keeps its original creation time and conversation timestamps.
Will Plain tickets that have no customer email address, or whose contact can't be found, still be migrated to Kayako?
Yes, if you want them. We look the contact up again before leaving any ticket behind: when a ticket can't be linked to its contact on the first pass, we run a second lookup, also checking elsewhere in the ticket's data, and attach the requester before the ticket is migrated. Some help desks need an email address or telephone number to create the customer a ticket belongs to, so we flag every ticket whose requester still has neither, including where Plain's privacy settings hide the email from its API, and send you the list. You can then give us the right email for each requester, or have the tickets migrated with placeholder email addresses, and we migrate them that way.
If our Plain spam tickets are migrated to Kayako, will they still be marked as spam?
Yes, they can be. If you choose to include spam tickets, we mark them, for example with a spam tag, alongside a migration tag if you use one, so they stay easy to find and filter in Kayako, and we include some in the sample so you can check them. If you'd rather leave spam behind, we agree a filter during scoping and it isn't imported.
If we collect customer satisfaction (CSAT) ratings in Plain, can you migrate them to Kayako?
Yes, where Kayako can store them. Where it accepts satisfaction ratings, we migrate them with their tickets, which can need an extra permission on the new account's connection. Where it has no native place for historical ratings, we bring the scores across another way, such as a custom field or a tag on each ticket, agreed with you during scoping.
Can the activity history on each Plain ticket, such as status changes and assignments, be migrated to Kayako?
Usually not as a native timeline. Event history such as status changes and assignment timestamps stays with your Plain account and generally isn't something a help desk accepts on import, so it is left out of the migration. Each ticket still arrives with its full conversation, status and assignee, and with its original timestamps where Kayako accepts them, and parts of the history that matter to you can be kept another way, such as a tag with the ticket's original status or an internal note.
Can you migrate Plain tickets that belong to private or restricted categories?
Yes, once the migration's connection can reach them. If a category or group is private or restricted in Plain or Kayako, the account we connect with may not be able to read or create tickets in it, so we flag every ticket this affects. You can then lift the restriction or give the connection the access it needs, such as an admin-level account, and we migrate the remaining tickets, or tell us to leave them out.
If we have Facebook and Instagram comments in Plain, will they keep the right author and show where they came from in Kayako?
Yes, as far as Plain records it. Each message is attributed to the author Plain's API reports, and messages from your team show under the right agent as long as that agent's account exists in Kayako before the tickets are migrated; otherwise they fall back to the default agent. We also carry over the message source in as much detail as the API provides, for example telling comments on Instagram posts apart from comments on Instagram ads.
Can you also migrate email threads from our email account, such as Gmail, that never became tickets in Plain?
Yes. Once your email account, such as Gmail, is connected, we can pull selected email threads directly from it, for example for a date range you choose, and migrate them into Kayako as tickets. We share the list of threads with you to confirm before anything moves. Because they were never tickets, some details can look different from tickets migrated from Plain.
Will Plain tickets that have no messages or comments still be migrated to Kayako?
Yes, if you want them. Some help desks can't create a ticket without at least one message, so we flag every ticket that has none and send you the list rather than skipping them silently. We first check whether the content is stored elsewhere in Plain, such as a ticket description we can use as the first message. Otherwise we can migrate the ticket with a placeholder message, or leave it out if you prefer.
Do you download attachments for every Plain ticket, or only for the tickets being migrated?
It depends on the source platform. For some sources, our scripts fetch attachments at the time each ticket is migrated rather than during the initial data pull, so files are downloaded only for the tickets in scope. For others, attachments are pulled along with the initial data. Either way, only the tickets you choose are migrated.
What happens to a conversation in Plain that mixes email and chat messages if Kayako keeps those channels separate?
We agree the approach with you during scoping. One option is to split the conversation into a ticket for each channel, each carrying the same subject, tags and other details, so the two are easy to find together on the same customer. If you'd rather have a single thread, we confirm during scoping whether Kayako can hold it that way, and you check the result in the sample migration.
Will a customer in Plain with several email addresses or telephone numbers end up as duplicate contacts in Kayako?
Not if we agree the merges with you first. We identify records that share an email address or telephone number and propose merges in the migration checklist, where you confirm each one and choose which address stays primary. Each merged set becomes one contact holding all of that customer's tickets and, where Kayako allows it, all of their email addresses. We don't merge on a guess, so records you don't confirm stay as they are.
If we use a chatbot in Plain, do you migrate it and its conversation flows to Kayako, or only the conversations it handled?
We migrate the conversations it handled, not the chatbot itself. Every chat conversation the bot took part in comes across with your ticket history, while the chatbot's own setup isn't migrated as data and is set up again in Kayako where it offers one. Workflows and automation rules are a separate item, and the ones you have today can be recreated in Kayako as agreed during scoping.
Will our customers be able to see their migrated conversations in Kayako, for example in a customer portal?
It depends on Kayako. Migrated tickets are attached to each customer's contact record like any other ticket, so where Kayako has a portal that shows customers their own tickets, the migrated ones can appear there, while internal notes stay private to your agents. Some portals only show tickets or replies set up in a particular way, so we confirm during scoping how imported tickets show to customers in Kayako and check it in the sample migration.
Can our agents reply to customers from migrated Plain tickets in Kayako?
Yes, where Kayako treats migrated tickets as regular tickets and your support email is connected to it. An agent's reply from a migrated ticket then goes out to the customer, and the customer's next reply continues on that same ticket. Some help desks keep imported tickets read-only, so we confirm this for Kayako and test it on your account before your team relies on it.
Will the information that integrations show in our Plain tickets be migrated to Kayako?
Not if that information lives in the integration rather than in Plain. Widgets and similar panels are often drawn live by the integration, and where Plain doesn't store that data or return it through its API, it can't be migrated with the tickets. The tickets and their conversations migrate as normal, and your team reconnects each integration to Kayako after cutover.

Timeline & downtime

12 questions
How long does the Plain to Kayako migration take?
Most migrations complete within 1–5 business days, depending on data volume and complexity; very large migrations, such as several hundred thousand records, take longer. We provide a detailed timeline after the initial assessment and can often complete small migrations in under 24 hours.
Will there be downtime when migrating from Plain to Kayako?
No. Our migration process is designed for zero downtime. Plain stays fully operational throughout: the bulk migration runs in the background and the cutover is fast, so there is no disruption to your live business operations.
Can we choose which Plain tickets move to Kayako first, such as active tickets before the backlog?
Yes, either way round. With a hard go-live date, we can migrate open and active tickets first, so your team can work in Kayako from go-live day; a delta migration on that date brings across every ticket created or updated since the first pass, and the historical backlog then keeps migrating in the background. Or closed tickets can move first while your team keeps working open tickets in Plain, with open tickets moving in a separate delta run close to switchover, so active conversations are the last data to transfer.
If we go live on Kayako before the migration finishes, can you bring over tickets that come in afterwards?
Yes. A follow-up delta migration brings over tickets that reached Plain after your team switched. Because your team is already working in Kayako by then, we agree with you how rules in Kayako that would otherwise fire on imported tickets are kept from firing, for example by pausing them for the run, and let you know when the run is complete so you can turn any paused rules back on. Some duplicates are possible because your team is already live, and we tell you about that before the run.
Our team has already started working in Kayako. Can we still migrate our Plain history?
Yes. We take the exact date, time and time zone your team went live as the cutoff, and migrate the history up to that point, so the work already done in Kayako is left as it is. That go-live moment separates the two systems' records, so we confirm it with you before anything runs.
Can we leave Plain attachments out of the migration to finish it faster?
Yes. Attachments are transferred file by file, so excluding them from historical tickets, or from tickets older than a cutoff date you choose, shortens the run considerably. Before you decide, we give you a revised completion estimate for each option so you can weigh the time saved against what you keep.
What is a delta sync, and when does it run before we switch to Kayako?
Moving tickets through the platforms' APIs takes time, so we migrate the bulk of your history, mainly closed tickets, well before your switchover date. A delta sync then brings across everything created or updated in Plain since the previous pass of the migration. The final delta sync runs at your switchover time, so Kayako is current on the day your team starts using it: you share your switchover date, time and time zone, giving us about a week's notice, and we schedule it around that. Timing it to the cutover matters, because a sync run after your team is already working in Kayako can create duplicate records.
How long does it take to export a very large ticket history from Plain?
Extraction time depends on volume: a history of more than half a million tickets can take several days to pull. Your Plain account needs to stay active until extraction is finished, so we confirm its end date with you at the start and plan the schedule around it.
Can we run more than one delta migration to Kayako, moving only tickets that changed since the last round?
Yes, when your cutover plan needs more than one. Each round picks up only the tickets created or changed since the previous round and is checked against what earlier rounds already migrated, so no ticket is created twice. Your agents keep working in Plain until you switch over.
How do you avoid duplicate tickets when we switch our support email and other channels from Plain to Kayako?
We agree one cutoff time with you and line up the switchover of your email and of each other channel with it. Everything received in Plain up to that moment is migrated, and everything after it arrives directly in Kayako. While a channel is connected to both, new messages land in both, so Kayako creates its own copy of a conversation that the migration also brings across. Plain and Kayako can stay live side by side after go-live, as long as each one is connected to its own support email addresses so incoming mail lands in only one place. Once your support email is connected to Kayako and tickets are arriving there directly, a delta sync run after that point can pull in the same tickets a second time, so we time the final sync around your email cutover and flag it if a sync you ask for falls after your switchover point. If a conversation was captured both ways, the two tickets sit on the same customer and, where Kayako supports merging tickets, can be merged. The final list of migrated tickets with their new Kayako IDs lets you check the boundary and spot any ticket that came in around the switch.
Can we change fields or settings in Plain or Kayako while the migration is running, and is there anything we should switch off?
Mostly yes, and your team can keep working as normal, but leave the fields being migrated as they are, in Plain and Kayako, until the migration, including the final delta, is complete. The field mappings are set before the run starts, so hold off on renaming or removing those fields, and changing a migrated field's options, archiving it, or marking it as required or conditional can stop records from migrating. Where needed, and as agreed with you, we set the matching fields in Kayako to active, not required and not conditional for the duration of the migration. Other fields can be added or removed in the meantime. Also pause any AI agents, automations or rules in Kayako that could act on migrated records, so they don't fire on historical records as they arrive; if some must keep running for live work, we can instead agree a condition that makes them skip migrated records. Once the migration is complete, you can switch them back on, restore those field settings and rename fields freely.
If a customer replies to an old Plain ticket after we switch to Kayako, will the reply join the migrated ticket or start a new one?
It depends on who replies first. If the customer replies to an email sent from Plain, many help desks open a new ticket on the same customer rather than adding the reply to the migrated one, for example where replies are threaded by the original email's message ID, which migrated messages don't keep. Where Kayako supports merging tickets, your team can then merge the two. If an agent replies from the migrated ticket first and Kayako allows replies from migrated tickets, the customer's next reply continues on that ticket.

Security & access

1 question
Can we whitelist a single IP instead of opening our network to your migration tool?
Yes. All migration traffic runs through a centralized system using one fixed IP, which your IT team can whitelist instead of opening broader network access.

Pricing

1 question
Is migration pricing a flat fee, or does it scale with data volume?
It's a flat fee with no hidden costs. The price we agree with you for your scope is the price you pay, and small variances in the final volume, a bit more or less, are included.

After go-live

17 questions
How do I validate that everything migrated correctly?
Every client receives a Migration Validation Report with comprehensive metrics including record-count comparison, attachment integrity verification via checksum, and full audit logs of the migration run, showing every record created, skipped or failed. If any item didn't come across, the report names each one, the specific reason, and how to bring it across if you want it there. We also offer unlimited sample migrations, so you can check your data before the full migration runs.
What support do you provide after the migration goes live?
At ClonePartner, we consider ourselves your partners in this journey. We take full accountability for your migration's success. Once your migration goes live, we provide 30 days of comprehensive post-migration support as standard, and longer support, such as 60 or 90 days, can be agreed for your project. During this period, we help with anything related to your migrated data, so your migration is a complete success.
Will we get a migration report and a mapping sheet linking old record IDs to new ones?
Yes. We provide a comprehensive migration report along with an ID-mapping sheet that links each old Plain record ID to its new ID in Kayako. This ensures full traceability, simplifies post-migration verification, and helps your team validate that records have been migrated accurately.
After migration, do I contact ClonePartner or the platform's own support if something looks wrong?
ClonePartner is the contact for anything about the migrated data itself. Questions about the platform itself, such as how its features and settings work, go to the platform's own support or to whoever administers it for you.
If a migrated ticket has to be deleted and reimported to fix an issue, does it lose its original dates or history?
No. A ticket reimported to fix an issue, such as broken inline images, keeps its original creation time and its conversation history with the original timestamps. Tickets that have been changed in Kayako since the original migration are left out of any reimport, because overwriting them would lose those updates.
Can our customers be told that their open Plain tickets have moved to Kayako?
Yes, if you want them to be. Once the migrated tickets have been checked, we can send each requester of an open ticket a notification through Kayako's API where it supports this, with wording you approve. If you'd rather not tell customers, no message is sent.
Can we keep an offline archive of our old Plain data?
Yes. The archive is delivered to you as a set of local files: folders holding the ticket data and attachments, plus an HTML file that reads from those folders so you can browse tickets in a web browser. Nothing is hosted on our servers and there is no software to install, so you can store it wherever suits you, such as Google Drive or Box.
Can we migrate more Plain saved replies or canned responses after go-live?
Yes. You choose which saved replies to migrate during scoping, and if you later want any that you left out, tell us and we migrate them into Kayako. Keeping the scope adjustable after go-live means you don't have to get every choice right on the first pass.
Can you keep our CRM updated with support activity after we move from Plain to Kayako?
Yes, where Kayako's API makes that activity available. We build an ongoing sync on Kayako's and your CRM's APIs that writes support activity to the right contacts and companies, and you decide what gets logged. It is a separate piece of work from the migration, scoped and priced on its own.
What if we later want Plain tickets we chose to leave out of the migration?
Tell us which tickets you want added, for example by status, and we migrate them in a follow-up run. We can also share a list of every excluded ticket so you can review exactly what was left out. After the follow-up, you get a list matching each original ticket to its new ticket ID and URL, so your team can find it straight away.
If we use an AI agent in Kayako, can our migrated Plain tickets be used to train it?
It depends on how Kayako's AI agent learns. Some AI agents draw on your knowledge base and guidance content rather than on historical tickets, so check with Kayako how its AI uses past conversations before deciding how much history to migrate for that reason. Migrated tickets arrive as regular tickets, and we can tag them, for example so the AI agent doesn't respond to them, or so you can include or exclude them.
If we use an AI agent, will it work straight away after the migration to Kayako, and can its knowledge and guidance come across?
Partly. Knowledge base articles that the AI agent draws on can be migrated, so it has the same content to work from on day one. Some AI-specific settings, such as guidance written for the AI agent, can't be transferred between accounts and have to be set up again in Kayako, and some AI agents also learn from your team's feedback in a way that stays with the old account, so they refine again in the new one. We confirm during scoping which of your AI agent's content can move, so nothing is assumed. Keep the AI agent paused while historical tickets load, or give it a condition that skips migrated tickets so it keeps serving live customers, and switch it back on once the migration is complete.
Why don't our ticket counts or open ticket numbers match between Plain and Kayako after the migration?
Usually because the two numbers aren't counting the same tickets. A count in Kayako can include tickets created there directly as well as migrated ones, and rules in Kayako can close migrated tickets automatically. Open tickets also keep changing until the final delta sync, which brings their latest status across. We check the counts against the migrated tickets and the list of every ticket we migrated, and if a gap remains, we investigate specific examples with you.
Will migrated historical tickets skew our help desk reports, such as resolution time?
Yes, they can, so it's worth planning for. Some timing data, such as when a ticket was assigned, closed or changed status, stays with your old account because the platform's API doesn't provide it, so reports that measure resolution or closed tickets can count old tickets as resolved on the day they were migrated. How fully each platform's reports and analytics count imported historical tickets also varies, so confirm it with Kayako before you rely on those reports for past periods. If you want, every migrated ticket can carry a migration tag, so you can keep it apart from new work in views and, where your reports can filter by tag, in reports. We also recommend exporting your historical reports from the old platform before you close it.
Will all of our historical Plain tickets stay searchable in Kayako after the migration?
Yes. Historical tickets are migrated as regular tickets with their messages, customers and statuses, so your team can search them in Kayako like any other ticket. If you want, each one can also carry a migration tag, so history can be filtered apart from new work, and the original ticket ID is kept in a field and in the ID-mapping file, so any old ticket number can be looked up.
Can you tag tickets that changed in Plain after the first migration run, so our team can review them in Kayako?
Yes. When a follow-up sync adds new comments to tickets that were already migrated, we can put a tag of your choice on those tickets, for example only the ones that are still open, so your team can filter for them and review them. Because each sync runs as a custom script, we can also leave each ticket's current status, assignee and other details unchanged while the new comments are added. We confirm the rule with you first, such as whether "open" means the status in Plain or in Kayako.
Can a ticket migrated from Plain be reopened later in Kayako if a customer or agent needs it?
It depends on Kayako and on the status the ticket arrives with. You choose the status migrated tickets come in with, such as closed for old history, and if you later want tickets set differently we can update them in bulk. Whether an agent can reopen a ticket that arrived closed, or move it from an archive area back into a live one, depends on how Kayako handles closed tickets, so we check that with you during scoping and can test it on a sample ticket before go-live.

Ready to start your
Kayako Migration?

Join hundreds of businesses who have successfully migrated with ClonePartner. Let's discuss your migration needs and build a plan that works for you.

Book free consultation

Attention to Detail

We meticulously handle every aspect of your migration, ensuring no data is lost during transfer and mapping every field correctly between platforms.

Custom Solutions

Every business is unique. We tailor your migration strategy to match your specific requirements, workflows, and data structures.

Security & Compliance

Your customer data is handled with enterprise-grade security protocols, ensuring compliance with GDPR, HIPAA, and industry standards.