How to import tickets into Zendesk from a CSV

By Jake Marsh · Updated

To import tickets into Zendesk from a CSV, install Ferrywell, open it from the left navigation bar as an admin and pick your CSV files. Match the columns (requester email, subject, status, dates, comment author and text), check how old status values translate, then click Preview import. Fix what the preview flags, click Import, and Ferrywell sends the tickets through Zendesk's ticket import with their original dates and authors.

What your CSV can look like

Ferrywell reads three CSV layouts (TSV works too):

LayoutHow to set it up in Ferrywell
A tickets file and a comments file linked by ticket idComments: "In another file, linked by the original ticket id", then pick the comments file and its ticket id column
One file with a row per messageRows are grouped by the original ticket id
A tickets file alone"No comments file: the description is the only message"

Steps

  1. Create what tickets refer to. In Zendesk, add the agents, groups, brands, ticket forms and custom fields your old tickets use. Ferrywell matches to them by email or name and creates only end users.
  2. Pick the files. Open Ferrywell and use Pick files, Pick a folder, or drop them on the page. Ferrywell lists the tables it found.
  3. Set Tickets are in to the table with one row per ticket (or per message).
  4. Match the ticket columns: original id, subject, description, status, priority, type, tags, requester email and name, assignee, group, brand, form, and created, updated, solved and due dates. The sample beside each field shows the first value of that column.
  5. Match each comment: text or HTML, author email and name, public or internal, sent at, and attachment names. A column named "Private", "Internal" or "Note" reads true as an internal note.
  6. Add custom ticket fields, one row per field.
  7. Translate values. Under Status, Priority and Type, every value in your export is listed with its count. Pick the Zendesk value each one becomes.
  8. Set the options (table below).
  9. Click Preview import. Read the errors and warnings, open a few subjects to read their conversations, untick rows you don't want.
  10. Name the import and click Import. Keep the tab open until it finishes.

Options worth checking

OptionWhy it matters
Dates like 03/04/2024 areMonth first or day first. The most common cause of dates a month off.
Times without a zone are inThe time zone for dates that carry none.
Status when blank or unknownThe status a ticket gets when the export has none.
Requester when a row has noneA fallback requester email, such as an archive address. Blank makes those rows errors.
Tags for every ticketExtra tags added to the whole import.
Keep the original ticket id as the external idLets you find a ticket by its old id later.
Comments that don't say are internal notesFor exports where the public flag is missing.
Send closed tickets straight to the archiveFor very large imports.

How custom fields are read

Field typeWhat Ferrywell accepts
Drop-downThe option name or its tag value
Multi-selectComma-separated option names
Checkboxyes/no or true/false
DateAny date it can read

What the preview flags

  • Errors leave a row out: nothing to import, no requester, a date in the future or before 1970.
  • Warnings import the row with something left out: an agent, group, brand or form not in Zendesk, a drop-down value that isn't an option, an unreadable date, a message over 64 KB (shortened), a due date on a ticket that isn't a task.
  • People shows how many requesters and authors already exist, matched by email, and how many new end users will be created.

What it costs

Ferrywell is a one-time payment per Zendesk account: Standard $299 once for up to 5,000 tickets, Plus $599 once for up to 25,000, Unlimited $999 once with no limit. There is no trial. Undone tickets give their allowance back. The Ferrywell documentation covers JSON and every column.

Ferrywell

Historical ticket importer: past tickets keep their comments, authors and dates. Preview, then undo. From $299 once per Zendesk account.


Questions

Does the CSV import keep the original created date?

Yes. Every ticket keeps its created, updated and solved dates, and every comment keeps its author and time, because Ferrywell uses Zendesk's ticket import rather than normal ticket creation.

Why do agent replies show as the customer?

The comment author email column isn't mapped. Map it, and agents are matched by their Zendesk email address or a unique name.

Can I import from an Excel file?

Save the sheet as CSV first. Ferrywell reads CSV, TSV, JSON and email archives.

A row says the assignee is not in the group. What do I do?

Add the agent to that group in Zendesk, or leave the group or assignee column unmapped.

Can I import users and organizations from the same CSV?

Ferrywell creates the end users a ticket needs, matched by email. It doesn't import organizations or agents.


More Ferrywell guides


More Zendesk guides