Importing your data into FyneDesk

Bring your existing helpdesk into FyneDesk in one guided run. You can import directly from Freshdesk using your account's API key, or from CSV files you upload — either way, FyneDesk walks you through it, shows live progress, and gives you a clear report at the end.

What you can bring across

Data From Freshdesk From CSV
CompaniesYesYes
Contacts (your customers)YesYes
TicketsYesYes (one row per ticket)
Ticket conversations & repliesYes— (a flat file can't hold a full thread)
Ticket attachmentsYes
Custom ticket fieldsYesYes (map your columns)
TagsYesYes
AgentsYes
Knowledge base articlesYesYes

A few things worth knowing up front:

  • Your original dates are kept. An imported ticket keeps its real created and resolved dates — it won't look like it was created today.
  • Tickets brought in from Freshdesk are labelled with their old number, for example [FD-1234] Cannot log in, so your team can still cross-reference them.
  • Nothing is emailed to your customers during an import, and no automations fire. Importing is silent.
  • You can leave the page. The import keeps running in the background — come back any time to check progress.

Where to find it

Go to Settings → Advanced → Import data, then click Choose a source to begin.

The Import data screen with the Choose a source step. Freshdesk (Connect with your API key) and CSV file (Upload a spreadsheet) are available, while Zendesk, Zoho Desk, Help Scout, and Intercom are shown greyed out with a Coming soon label. A banner at the top links to your most recent completed import.
More sources on the way Today you can import from Freshdesk and CSV files. You'll also see Zendesk, Zoho Desk, Help Scout, and Intercom listed in the picker as coming soon.

Option A — Import from Freshdesk

Step 1 — Get your Freshdesk API key

  1. Log in to Freshdesk.
  2. Click your profile picture (top right) → Profile settings.
  3. Your API key is shown on the right-hand side. Copy it.

Step 2 — Connect

On the Import data screen, choose Freshdesk, then enter:

  • Your Freshdesk domain (the web address, e.g. yourcompany.freshdesk.com — not your email)
  • The API key you copied

Click Test connection. FyneDesk checks the key and shows you roughly how much data it found (agents, contacts, tickets, articles) so you know what to expect. FyneDesk only ever reads from Freshdesk — nothing is changed on their side — and your key is stored encrypted and deleted when the import finishes.

The Connect your Freshdesk account step, with a Freshdesk domain field showing https://yourcompany.freshdesk.com, a masked API key field, and a Test connection button. Helper text notes that FyneDesk only reads from Freshdesk and stores the key encrypted.

Step 3 — Choose what to import

Tick the things you want to bring across — Agents, Contacts & companies, Tickets & conversations, and Knowledge base. Everything is optional, so import as much or as little as you like, and you can run more imports later.

The Choose what to import step, with checkboxes for Agents, Contacts and companies, Tickets and conversations, and Knowledge base, each with a short description. A Start import button sits at the bottom.

Step 4 — Review your agents

FyneDesk lists the agents it found in Freshdesk and matches anyone who already has a FyneDesk login by email address — matched agents are linked automatically. For agents who don't have an account yet, choose what happens from the dropdown:

  • Name only — keeps their name on their old tickets so the history reads correctly, without creating a login.
  • Invite as user — sends them a FyneDesk invitation (uses a seat on your plan).
  • Leave unassigned — brings their tickets in without an assignee.

You'll see how many agent seats are free before you commit. Invited agents keep their name on their old tickets until they accept, then re-link to their new account automatically.

The agent review step asking how agents should come across. A banner shows how many agent seats are free, and a dropdown for agents without an account offers Name only, Invite as user, and Leave unassigned. A matched agent is shown with a green Linked badge.

Step 5 — Check the status mapping

Freshdesk and FyneDesk use slightly different status names. On the mapping step, FyneDesk pre-fills sensible matches — for example Open → New and Pending → On Hold — and lets you change any of them. Priorities are mapped the same way.

The Map Freshdesk statuses step. Each Freshdesk status on the left maps to a FyneDesk status on the right via a dropdown: Open to New, Pending to On Hold, Resolved to Resolved, Closed to Closed, and the waiting statuses to New.

Step 6 — Run it

Click Start import and watch the live progress. You can leave the page — it keeps running. When it's done you'll get a results report (see After the import below).

Option B — Import from a CSV file

Use this if your data lives in a spreadsheet, or if you're coming from a different helpdesk.

Step 1 — Add your files

On the Import data screen, choose CSV. You'll see a slot for each type: Companies, Contacts, Tickets, Knowledge base. Add a file for each thing you want to import — every file is optional.

Not sure how to format your file? Click Download template on any row to get a CSV with the right column headings to fill in.

The Upload your CSV files step, with a Choose file button and a Download template link for each of Companies, Contacts, Tickets, and Knowledge base. A notice reminds you that re-importing the same tickets creates duplicates and to resume an interrupted import instead of starting over.

Step 2 — Map your columns

Your spreadsheet's column names won't always match FyneDesk's fields — that's fine. After you upload, FyneDesk shows a mapping screen where it makes its best guess for each field and lets you confirm or change it. For example, you might point your Subject column at FyneDesk's Title field.

Required fields are marked, and you can't start until they're set. Anything you don't need, leave as Skip.

The column mapping screen for a CSV import. For Companies and Contacts, each FyneDesk field has a dropdown matched to a column from the uploaded spreadsheet, with unneeded fields set to Skip. Helper text notes duplicates are matched on Name and on Email.

Step 3 — Map your values

For fields like Status, Priority and Type, FyneDesk shows the distinct values it found in your file and lets you match each one to a FyneDesk value — for example Open → New, or Question → Service request. This makes sure your tickets land in the right state.

The value mapping step for Tickets. Above, ticket columns are mapped to FyneDesk fields; below, Map Status values and Map Priority values let each value found in the file be matched to a FyneDesk value or left as-is.

Step 4 — Run it

Click Start import, then watch the progress and review the report, just like the Freshdesk flow.

After the import: your results report

When the import finishes you'll see a per-type summary:

  • Created — brand-new records added.
  • Linked — records matched to something that already existed (so they weren't duplicated).
  • Skipped — already imported, so left alone.
  • Failed — rows that couldn't be imported.

If anything failed, you don't have to guess why. FyneDesk tells you exactly what went wrong, row by row, in plain language — for example "Row 2: invalid timestamp" or "Row 5: title is required and was empty." So fixing it is straightforward: click Download error report (CSV) for the full list, correct just those rows in your source file, and run the import again. FyneDesk won't duplicate the records that already came in, so only the fixed rows are added.

The import results report. Each type shows Created, Linked, and Skipped counts, with Tickets also showing a red Failed count. A green banner reads Import complete. Below, a Failed panel lists each failed row with a plain-language reason and a Download error report (CSV) link.
Failed rows are easy to fix A failed row never blocks the rest of your import — everything valid still comes in. Fix the handful of rows the report flags, re-run, and FyneDesk adds only those, leaving what's already in untouched.

Inviting imported agents

If you chose Name only for some agents, they appear as names on their tickets but don't have logins yet. To give them access:

  1. Go to Admin → Users.
  2. Click Invite team member and enter their email and role.
Use their original email Invite each agent using the same email address they used in your old helpdesk. As soon as they accept, the tickets currently showing their name automatically reconnect to their new account — so their history lines up with no extra work.

Pausing, resuming and cancelling

  • A big import runs in the background — you can close the page and come back.
  • You can pause and resume an import, or cancel it. Cancelling keeps whatever was already imported.
  • If you step away mid-setup and come back, FyneDesk picks up where you left off rather than starting over.

Running an import more than once

Imports are safe to repeat. If a run is interrupted, resume the same import and it continues from where it stopped without re-importing what's already in. Contacts and companies are matched on email and company name, so they're never duplicated.

Adding one type later If you want to add just one type later — say your knowledge base — start a new import and tick only that type. It'll bring those records in without touching everything else.

Troubleshooting

Imports — common questions and fixes

My knowledge base articles didn't import. Re-run the importer and make sure Knowledge base is ticked. From Freshdesk this comes across automatically — you don't need to export JSON or XML files.

It says "an import is already in progress." You have an import still open. Go back to Import data to view, resume, or cancel it, then start fresh.

Some tickets failed with a status or priority error. The value in your file doesn't match a FyneDesk status or priority. Use the value-mapping step (CSV) or the status mapping step (Freshdesk) to match them, then re-run.

A few attachments didn't come over. Files larger than 25 MB are skipped and listed in the report; the ticket itself still imports.

I can't find my live chat widget code. That's separate from importing — you'll find it under Settings → Website Widget.

Need a hand? If anything looks off, reach out via the contact page or email support@fynedesk.io and we'll help you get your data in cleanly.