Published August 16, 2026

Importing Data into Freshdesk

Ten minutes of preparation saves a week of cleanup, and the preparation is almost entirely about matching keys.

The routes in

CSV import for contacts and companies, the standard route for a migration or a one-off load.
The API for tickets with full conversation history, which is what a real migration uses.
Migration services, worth it above a few thousand tickets, because threading and attachments are fiddly.

Clean before you import

This is the step that decides whether your new helpdesk starts clean or starts with the mess you were trying to leave.

Deduplicate contacts in the source system first. Importing duplicates recreates them here and splits every future ticket.
Normalise email addresses, since case and whitespace differences create separate records.
Decide the matching key. Email for contacts, domain for companies. Without one, every import is a duplicate generator.
Fix company domains, especially where one customer legitimately has several.

Test on fifty rows

Import fifty records, check every one by hand, then widen. It feels slow and it is the difference between a smooth migration and a week spent merging records.

Check specifically: did contacts match or duplicate, did companies associate correctly, did threading survive, and did attachments come across.

Frequently asked questions

Can I import tickets with their full conversation?+

Through the API or a migration service. CSV import is aimed at contacts and companies.

How do I avoid creating duplicate contacts on import?+

Set a matching key, normally email, and deduplicate in the source system before exporting.

Do not import a duplicate problem

Clean records before you move, and merge the duplicate tickets that arrive afterwards automatically.

Start free trial

14-day free trial. No credit card required.