Importing Data to Freshdesk: Where and How to Start

Details of the Freshdesk Import

The help desk solution is aimed to change the working processes to simplify the routine for your customer support reps. Your migration plan has to include the description of all the processes, roles, and responsibilities, together with the needed time frames. This will help you stay within the budget and not surprise your customer service department with the extra tasks.

Before your data finally gets to Freshdesk, they need to go through some of the processes, namely extracting, transformation, and loading. While the transformation stage is not mandatory, the other two are.

Your data is the most important part, no matter if you import from a dump SQL file or your former help desk platform. Its size and quality are the two parameters that let you decide whether to take it to the new Freshdesk or leave it behind.

  • there are some tech limitations for the import or export
  • your migration service doesn’t allow using heavy CSV files
  • your SQL files need rekeying so that they meet the requirements of the new software
  • there are some API limits during the migration

Which data to import to your new help desk system? For sure, that should be contacts, tickets, knowledge base, agent and agents groups, and companies.

Now the question should be ‘How to migrate that data to Freshdesk?’ Here, we will describe the three common methods of data migration: CSV import, dump SQL or database migration, and API-based data migration.

CSV Import

Your customer support data can be easily imported via CSV files. Freshdesk supports bulk data import: contacts, companies, custom fields. So you can make bulk updates and additions to your database with ease.

How to Make a Valid CSV File?

Before talking about Freshdesk import, let’s clarify what CSV files are and how to compile them correctly.

To put it simply, CSV means comma-separated-values, and its simplest examples are databases and spreadsheets. The programs that store the data in tables allow exporting or importing files in CSV format. Here is a sample of such a table:

ContactTitleEmailTag
Helen MooreSenior Business Development Manager[email protected]Spoke Monday, she is interested
Charles DicksonHead of Marketing[email protected]said to call him next Wednesday
Marry ColeDirector[email protected]not interested, gave referral

Note: if there is a comma inside your record, you have to take it in double-quotes not to make these commas delimiting signs.

Your record should have the following format in CSV file:

Contact,Title,Email,Tag

Helen Moor,Senior Business Development Manager,[email protected],”Spoke Monday, she is interested”

Charles Dickson,Head of Marketing,[email protected],”said to call again next Wednesday”

Marry Cole,Director,[email protected],”Not interested, gave referral”

Your header contains the names of the fields like Name, Email, Title, etc. The first line of the file needs to have the same format as the rest of the lines as it describes the names of the fields in the file. Besides, the header and the other records of your file need to have the same number of fields.

Here is an example of how it should look like in your CSV file:

field_name,field_name,field_name

aaa,bbb,ccc

ddd,eee,fff

Another peculiarity of the CSV format is that each line has to have the same number of fields throughout the whole file. Spaces are treated as the part of the fields that shouldn’t be ignored. Also, be sure to omit the comma in the last record in the line.

The UTF-8 is the most common character encoding for the web. And it is important too. If you face the issue ‘Invalid byte sequence in UTF-8’, you have to open your file using Google Sheets, Notepad, or simple Microsoft Excel, and resave it, selecting UTF-8 encoding.

If you are exporting the CSV from another software, you can specify the format, and re-export your records one more time.

9 Specific Requirements of Freshdesk

  1. The imported emails and URLs should be in the correct format. (Example - [email protected] and http://freshdesk.com/ or https://freshdesk.com/).
  2. If one of your emails is already on your Freshdesk, it would be re-written after importing. You can add up to 10 emails associated with a contact - one primary, others – secondary. But be sure to separate them in the following way: [email protected] || [email protected] | |[email protected]
  3. To make Freshdesk recognize your phone numbers, specify country code clearly. The phone number should look like this +14078111234 in your CVS file.
  4. If you have more than one company associated with a contact, use the following format

Name,Email,Title,Company1 || Company 2|| Company 3,Phone,X (formerly Twitter) ID John,[email protected],VP IT, CompanyName1 || CompanyName2, +1458956346, @johndoe

This feature is available only if you have enabled one contact multiple companies feature.

Let’s take a look at some small, yet noteworthy issues that set limits in data import:

  • The value of a dropdown field should be the choices available for that field in Freshdesk.
  • The existing details of contacts and companies will be updated after an import.
  • If you have a tag field with multiple tags, every tag should be separated by a comma.
  • You need to have at least 10 tickets in your Freshdesk account to import your contacts.

Prepare Your CSV File for Bulk Import

Any CSV file should be created according to certain requirements. Here are some of them:

  • it must be saved using UTF-8 encoding
  • the first row must always be a header
  • the header row must include the required fields or fields that you need importing
  • you have to add the other fields in the order specified in the header row
  • you must include to the header row only the fields for which you will import the data
  • for time zone and language formats, visit this post.

Fields Used in the Companies Import

There are numerous fields used for bulk import. Here are some of them with their brief characteristics.

Mandatory field
  • Full Name
Primary field(s)
  • Email
  • Work Phone
  • Mobile Phone
  • X (formerly Twitter)
Secondary field(s)
  • Title
  • Company
  • Address
  • Tags
  • Background information
Default fields
  • Time Zone
  • Language
Mandatory field
  • Full Name
Primary field(s)
  • Email
  • Work Phone
  • Mobile Phone
  • X (formerly Twitter)
Secondary field(s)
  • Title
  • Company
  • Address
  • Tags
  • Background information
Default fields
  • Time Zone
  • Language
Mandatory field
  • Full Name
Primary field(s)

  • Email
  • Work Phone
  • Mobile Phone
  • X (formerly Twitter)

In case you need to set the value of your drop-down list options, you have to make use of the tag that you added when creating the drop-down list.

How to Easily Import Your CSV Company File

The bulk type of import allows you to add the new data about your organization or update the existing one.

Note: If you have custom fields in your CSV file, ensure that those fields are first added to Freshdesk before you import your records. Go to Admin > Support Operations > Customer Fields to add custom fields.

The process of importing your CSV file consists of five steps:

  1. Go to the Contacts > Import button. To import Companies, use the same button on the Companies page.
  2. Click on Upload a File and upload your CSV file.
  3. After you map the information, click on the Import button and wait for Freshdesk to finish.

If you want to import the company information of the customer, add a company column in your CSV.

When you decide to update your data using the bulk import, do not forget that updating your data basically means replacing your existing data with the new records from your CSV file.

So, it is better to include the fields that need to be updated, and leave the other ones empty. This way, the empty fields will save the current data.

Custom Fields for Freshdesk

Here is the list of the common fields used when making custom fields import CSV file:

Field TypeDescription
Single Line TextTo accept one line of text like First Name, Last Name, etc.
Multi-Line TextTo accept multiple lines of text like Address, Background Information, etc.
Check BoxTo get the user's input or permission. For example, you can create a check box to let the users signing up accept the terms and conditions.
NumbersTo accept numeric values like Phone Number, Zip Code, etc.
DropdownTo let the user or agent choose from multiple options like Country, State, City, etc.
Phone NumberTo accept phone number of the customer/company
URLTo accept URL of the company website or customer Linkedin profile
DateTo accept date values like date of birth
Field behavior for agents and customersFunctionality
Required when submitting the form (For Agents) Makes the field mandatory for agents
Display to Customer Customer can see this field in their profile
Customer can Edit Customer can edit this field when they click on Edit profile
Customer can see this when they sign up Customer can see this field when they sign up
Required when submitting the form (For Customer) Makes the field mandatory for customers when they sign up as well as edit profile

Main Features of the Custom Agents Roles

Freshdesk supports four roles for your customer service team:

  • Agents: Can view, respond to and assign tickets, as well as modify ticket properties.
  • Supervisors: Can view and respond to tickets, generate reports, and enable automatic ticket assignment of the member groups under the Admin tab.
  • Admins: Can access everything and edit configurations under the Admin tab but cannot view or modify billing information.
  • Account Admins: Have complete access to everything, including billing and account management.

Besides, you can assign roles when adding/editing an agent. To do this

  1. Login to your help desk portal as an Admin.
  2. Go to Admin > Team > Agents to add a new agent (or hover over an existing agent in your list and click Edit.)
  3. Scroll down to the Roles and Scope section, and click Associate roles.
  4. Check roles you want to assign to this very agent.
  5. Click Save.

The Drawbacks of the CSV Import: You may face three main issues when using bulk import to transfer your data to Freshdesk. They are the following:

The CSV user importing needs five steps to complete:

  1. You can’t import the data that isn’t listed for your CSV files with the help of bulk import. If you need to import many records, you have to use an API.
  2. The bulk import doesn’t allow you to import tickets. For this, you have to use an API, too.

The Principles of Database Migration

The process of migrating your data from your database to Freshdesk can become a nightmare. That is why it is essential to understand all the details in advance and decide whether or not to opt for such an option.

What’s Freshdesk Database Migration?

To put it simply, the database migration is nothing new; it is just a CSV file export from your current help desk to the new Freshdesk. For this, you export your CSV or XML file from your existing help desk systemor use the SQL dump file. No matter the format of the file you exported, you have to transform it to CSV because it aligns with Freshdesk requirements.

Many software developers offer their clients either built-in import or export solutions. But you can do this yourself as well by generating a CSV file from your former help desk. And you don't need any technical background or developer’s help for this. Of course, this may be possible if your database offers to do this yourself.

MySQL Database Export

If your current help desk supports MySQL for storage, you can export a dump SQL file that will contain all the necessary data from your existing help desk. This means that you can transfer any data you need from that file. However, you have to transform this file to CSV format to import it to Freshdesk.

How to Make a SQL Dump File on the Command Line?

There are two options on how you can create a dump file, everything depends on whether your MySQL uses a password or not.

  1. If it does have a password:

    mysqldump -h localhost -u [MySQL user, e.g. root] -p[database password] -c --add-drop-table --add-locks --all --quick --lock-tables [name of the database] > sqldump.sql NB: no spaces are allowed between -p and the password

  2. If it doesn’t have a password:

    mysqldump -h localhost -u [MySQL user, e.g. root] -c --add-drop-table --add-locks --all --quick --lock-tables [name of the database] > sqldump.sql

NB: All the databases have got set of utilities; so you need to export utility as well. Some of these utilities can extract specific types of records. So, you need to check which type of data the selected utility can extract and whether it is enough for creating the CSV file needed for import.

Oracle Export Utility for Extracting Your Data

To get started with extracting your data using the Oracle export utility, you have to follow six steps:
  • Step 1. Create an export directory on the source server. mkdir /path/path
  • Step 2. Grant the Oracle user. chown oracle /path/path
  • Step 3. Create a directory in the database. CREATE DIRECTORY Your_Dir_Name as '/path/path'
  • Step 4. Add your Oracle user to EXP_FULL_DATABASE role. Grant EXP_FULL_DATABASE to your_user
  • Step 5. Grant your created directory in the database to the role. GRANT READ, WRITE ON DIRECTORY Your_Dir_Name TO EXP_FULL_DATABASE
  • Step 6. Execute expdp command with the Oracle user. expdp your_db_user/password schemas=Your_Schema_Name tables=table_name directory=Your_Dir_Name version=your_version_for_target_db dumpfile=data.dmp logfile=data.log

With the EXPDP command, you can also choose other parameters. You can study these parameters on the Oracle base.

Records that Freshdesk Supports
You can import different types of records to your Freshdesk with the help of import. Namely, contacts, companies (or organizations). However, when it comes to importing your agents, tickets, here you have to use the REST API. Here is the list of records that can be imported according to two import options — organizations and users:

The Essence of the API-based Migration

When you decide to migrate your data to Freshdesk, the first thing you find out about this process on the web would be ‘Use API’. But what is an API and is it faster to migrate your data using this method? Let’s find out.

To put it simply, an API means Application Programming Interface and it has several applications, depending on the context. The broad definition of this term is given in world-known Wikipedia:

In computer programming, an application programming interface (API) is a set of subroutine definitions, protocols, and tools for building application software. In general terms, it is a set of clearly defined methods of communication between various software components.’

So, API is nothing more than a set of rules for developers on how to interact with a certain software tool (programming language, library, etc). Sometimes, this term is applied when describing a certain web interface, too.

Web API is basically a set of rules on how to interact with a browser (or in our case a Freshdesk server). It is usually used for retrieving data. API can give you access to manage the data that is stored by the API provider (in our case, it is Freshdesk). The whole process includes:

  1. Make a request to the Freshdesk server
  2. Get access to the Freshdesk database using your data
  3. Get ‘response’ from a server

Why Should You Choose API Way?

What is the value of API, and is it worth using it for data migration? API gives you an extended functionality that you can’t find in UI. It helps you create different apps, conduct bulk import, pull your data to external resources, and do many other helpful actions.

Freshdesk uses Freshdesk API, which allows its users. Forvelop their integrations or applications. It comes as a part of some pricing plans and gives you the ability to directly export your data or even automate your data export.

You can use the API to get different types of data (such as tickets, users, and others) that will be used for reporting. Among the features of APIs are

  1. mass updating of your records
  2. creation of tickets
  3. migration of the tickets or your whole database from the old help desk to the new one
  4. mass user editing
  5. conduct search among your records

The Format Used for API

The modern APIs work with JSON format, and Freshdesk is no exception. So, if you decide to use an API to update, migrate, or create your data in Freshdesk, you have to use this format. If you need to export some data from your Freshdesk, you will get JSON files as well, so you need to convert them to use.

You can also use the JSON viewer extension for Chrome or Firefox to view your data in this format. The typical JSON has the following view:

{
  "posts": [
    {
      "id": 36467,
      "title": "How do I open the safe"
    },
    {
      "id": 36468,
      "title": "How do I reset the combination?"
    },
  ]
}

Here are the lists of actions it can conduct:

ActionDescription
GETFetch one or more objects
PUTUpdate an object
DELETERemove an object

Using a web browser, you can only make a GET request, for other actions, you have to use some additional software like cURL or API Console. cURL is a command-line solution that makes it possible to perform API commands without the use of the browser.

Each of your API requests receives a response that will notify you whether it works out or not. These responses are oftentimes called status codes. The most common status codes in Freshdesk are the following:

Status codeDescription
400Client or Validation Error
401Authentication Failure
403Access Denied
404Requested Resource not Found
405Method not allowed

To get more information about Freshdesk API, you can visit the Freshdesk Developers page.

Will API-based Migration Work for You?

With the help of API data migration, you can easily transfer various data, including your contacts, organizations and companies, groups, tickets, knowledge base, and other records, from your old help desk to the new one. However, this process is more complicated than using CSV files. To conduct it successfully, you have to have an IT development team that works with APIs, or you can ask for help from freelance developers.

Before opting for this data migration method, consider your expenses and the time needed for it. On the one hand, you add extra tasks for your IT team which they need to focus on, leaving aside their primary tasks. On the other hand, if you decide to outsource and hire a freelance expert, this would drastically increase your budget, and there are high chances of deadline failure.

The data migration process that is based on using API usually consists of the following steps:

  • comparing your current help desk with the Freshdesk API to identify the best way to transfer the needed data
  • conducting fields mapping to correctly migrate them to Freshdesk
  • developing the migration code and testing it

Pros and Cons of the Third-Party Data Importing Tool

Many help desk platforms describe API-based migration as a quite simple process. But the reality is far from it as this process requires some technical programming knowledge.

Furthermore, some APIs are so complicated that not every developer can master them. All these make an API data migration method not so appealing to common people.

Today, you can easily find a third-party data migration provider that will do all the heavy lifting and easily migrate your data between the help desk platforms. Here, we have collected all the pros and cons of entrusting data migration to such service providers:

Pros:

  • Your in-house development team won’t need to leave their primary tasks undone and concentrate on data migration
  • You won’t need to search for a freelance developer and spend extra budget
  • Using third-party data migration services ensures that all your corporate data is secured due to data encryption
  • You save your nerves, resources, and time

Cons:

  • Third-party data migration services are not free, so the budget for them should be discussed
  • Your former help desk may or may not support API-based data migration, so you might need to use good old CSV files instead

The API migration is a very comfortable way to make a fast shift to another help desk; however, only if it is done by experts. Besides, if you need to import too many different records, you have to do thorough preparation.

Summary

Today, the process of data migration doesn’t take long, however, it is a preparation and planning stage that takes effort and time from your side. You do not need weeks and even days to import all your data from one platform to another; everything can be done in just several hours. Of course, it depends on the volume of the data needed to be imported, conditions of the data migration service, and API restrictions.

Part 1. Getting Ready for Freshdesk Import

Part 3. What to Do After the Freshdesk Migration? Checklist to Follow