Importing to Freshdesk

  • 17 June 2013
  • 5 replies

Good afternoon!


We're finishing up implementation of FreshDesk, getting ready for launch at the end of the month.  I was interested in importing tickets from our previous system in to FreshDesk, but I seem to have run in to a snag.  According to the following article,

the ability to import is available, but no one after the topic was listed as "implemented" has found a way to actually import.


Any ideas as to how this works?


P.S., I looked at the API, and while I could write a nifty little PHP script to import data for me, I don't seem to have the ability to edit certain information, like the ticket date - which is where an import process would come in handy...

This topic has been closed for comments

5 replies

Hi Kyle

Above forum post mainly focuses on Data Import/Export via our API - Zendesk Import and Data Export from Account settings page.

Currently we are not doing any Custom import but we have some sample API codes, which can help.

We are allowing 1000 API calls per hour, so you may do the import easily


Hi Vijay,

We have the same problem as Kyle. We would like to import our old closed tickets with correct dates etc. How do we accomplish this? Our old system is not Zendesk. The php script above creates an open ticket. This is not what we want to do.



Hey there, I managed to import a few years worth of tickets from our old system with a lot of help from FD (thanks guys!) and a lot of trial and error. Some things to keep in mind.

1. Before you start using the API disable EVERY email notification in your admin panel or you'll wind up spamming your users.

2. You can create a new ticket through the API on behalf of any email address you like, but you cannot add a reply unless there is already a user created in FD for that user. You must specify the FD user ID number when replying to the ticket. Import your user base first, then use the user API to get the ID and use that to create replies.

3. Read with JSON, write with XML it's just easier to figure out as the docs are all XML based and figuring out the mapping is hairy.

3. New tickets are <helpdesk_ticket> replies are <helpdesk_note>. The text content of a new ticket is <description>, the text content of a reply is <body>.

4. When importing replies specify <source>2</source> to avoid email confirmations being sent to users.

Misc tips. Use runscope. Cache your API requests while debugging to avoid hitting the API limit. Also, many of the values in the example responses in the API docs can be specified when you make a call (eg. You can specify <created-at> for replies to preserve timeline). 

Also, I have never found a way to permanently delete anything. Tickets, users, etc. In the long run this has not been an issue but after creating a few dozen test tickets it freaked me out a little.

Oh one other gotcha I forgot about when generating your XML. Some API parameter values are case sensitive. If <tag>VALUE</tag> isn't working try <tag>Value</tag> or <tag>value</tag>.

Userlevel 3
Badge +10


There are multiple apps available in our marketplace that can aid in data migration. Here's the link to the marketplace section :

We also migrate data from other helpdesk systems/tools as a professional service . Drop us a note on for further details.