Tutorial12 min readApril 26, 2025

Migrate from Zendesk to FreeScout: Complete Guide (2025)

Step-by-step guide to migrate from Zendesk to FreeScout without losing data. Data export, preparation, parallel running, and cutover strategy.

If you're paying $5,000–$15,000/year for Zendesk, migrating to FreeScout can save you that entire cost permanently. But migration is the biggest blocker — teams worry about losing ticket history, disrupting customers, or having to reconfigure everything.

This guide walks through a real migration process from start to finish. We've done this 100+ times. You can do this in 2–4 weeks without losing a single ticket.

Why Teams Migrate from Zendesk

  1. Cost: Zendesk bills per-agent. 10 agents = $6,600–$13,800/year. FreeScout is $100 one-time.
  2. Data ownership: Your helpdesk data lives on Zendesk's servers. With FreeScout, it's on yours.
  3. Vendor lock-in: Zendesk owns your workflow. FreeScout is open-source and customizable.
  4. Simplicity: Zendesk is feature-rich (bloat). FreeScout has exactly what you need.

The real question is: is the migration effort worth the savings?

Answer for most teams: Yes, if you have 5+ agents. For a 10-agent team, migration takes 2–3 weeks of work. That pays for itself in 2 months of Zendesk savings.


The Migration Timeline

This is the typical timeline from "let's switch" to "Zendesk is gone":

  • Week 1: Prepare FreeScout (install, configure, test)
  • Week 2: Export Zendesk data, import into FreeScout, test thoroughly
  • Week 3: Run both in parallel (users still on Zendesk, but FreeScout is live)
  • Week 4: Train team, cut over fully, cancel Zendesk

Total: 3–4 weeks of planning and 2–3 days of hands-on work.


Step 1: Prepare FreeScout (Week 1)

Before you export anything from Zendesk, get FreeScout fully running and configured.

1A: Install FreeScout

Follow one of our installation guides:

Checklist:

  • [ ] FreeScout running on a VPS
  • [ ] SSL certificate installed
  • [ ] Email (SMTP/IMAP) configured and tested
  • [ ] Queue workers running
  • [ ] All modules installed (knowledge base, live chat, automation, etc.)

1B: Invite Your Team

Create agent accounts in FreeScout for everyone on your Zendesk team:

Settings → Users/Agents → Add Agent

Create one test mailbox that matches your Zendesk mailbox setup.

1C: Test Email Delivery

Send test tickets through your FreeScout mailbox. Verify:

  • [ ] Emails arrive in FreeScout
  • [ ] Replies from FreeScout reach external customers
  • [ ] Emails don't land in spam

Effort: 6–8 hours


Step 2: Export Data from Zendesk (Week 2)

Zendesk has good data export tools. This step is straightforward.

2A: Export Tickets

  1. Go to Zendesk Admin → Tools and apps → Export
  2. Click "Export data"
  3. Choose:
    • What to export: Tickets, Users, Organizations
    • Format: CSV (easier to work with than JSON)
    • Date range: All time (or last 1–2 years if you have thousands)
  4. Download the CSV files

You'll get:

  • tickets.csv — all tickets and their history
  • users.csv — all customers and agents
  • organizations.csv — company/team data

2B: Export Custom Fields

Zendesk custom fields don't export automatically:

  1. Go to Admin → Manage Fields
  2. Document your custom fields (take screenshots)
  3. You'll manually recreate these in FreeScout (or skip if not critical)

2C: Examine the Data

Before importing, open tickets.csv in a spreadsheet and review:

  • Do you see all your tickets?
  • Are ticket subjects and descriptions intact?
  • Are customer names correct?
  • Is date formatting consistent?

Effort: 2–3 hours (including download and review)


Step 3: Prepare FreeScout for Import (Week 2)

Now you have Zendesk's CSV files. You need to prepare FreeScout's database to receive them.

3A: Understand FreeScout's Data Structure

FreeScout stores tickets in a MySQL database with this structure:

  • Conversations table = tickets
  • Conversation threads = individual messages within a ticket
  • Customers = your support customers
  • Mailbox = which help desk inbox the ticket belongs to

Before importing, you need to:

  1. Create the mailbox in FreeScout (you already did this in Step 1)
  2. Prepare the CSV data to match FreeScout's format
  3. Run an import script

3B: Transform Zendesk CSV to FreeScout Format

This is the tricky part. Zendesk's CSV format doesn't match FreeScout's.

Option A: Manual import (for small teams < 500 tickets)

  1. Export tickets from Zendesk (CSV)
  2. Create conversations in FreeScout manually or via API
  3. Takes 5–10 minutes per 50 tickets

Option B: Use a migration script (for large teams)

The FreeScout community has created import tools. Look for:

  • freescout-zendesk-importer (GitHub)
  • Community scripts in the FreeScout forums

Or, hire someone to write a custom script ($200–$500).

3C: Test Import with Sample Data

Don't import all 2,000 tickets at once. Test with 50 first:

  1. Export 50 sample tickets from Zendesk
  2. Transform to FreeScout format
  3. Import into FreeScout
  4. Verify tickets are correct (subjects, messages, dates, customers)

If something is wrong, fix the transformation and re-test.

Effort: 4–6 hours (depending on data complexity)


Step 4: Full Import (Week 2)

Once testing passes, do the full import:

4A: Full Zendesk Export

Export all tickets, customers, and organizations from Zendesk.

4B: Transform and Import

Run your import script (manual or automated) to import all data into FreeScout.

4C: Post-Import Validation

After import, verify:

  • [ ] All tickets imported (count matches Zendesk)
  • [ ] Ticket subjects are correct
  • [ ] Conversation threads (messages) are in order
  • [ ] Customer names and emails match
  • [ ] Dates are correct
  • [ ] Attachments imported (if supported by script)
  • [ ] Custom fields are preserved (if script supports them)

Check 20–30 random tickets manually in FreeScout to ensure quality.

Effort: 4–8 hours (depends on import tool and data size)


Step 5: Parallel Running (Week 3)

Now FreeScout has all your old tickets. But you're still using Zendesk for new tickets. This week, you run both.

5A: Stop Zendesk Email Integration

To avoid tickets being created in both systems:

  1. In Zendesk, disable email forwarding or mailbox connections
  2. Create a temporary email address: temp-support@your-domain.com
  3. Update your website and auto-responders to say: "We're migrating our support system. Please send urgent requests to temp@domain.com"

5B: Start Processing Tickets in FreeScout

Point all incoming emails to FreeScout instead:

  1. Configure FreeScout's mailbox to receive emails from your support address
  2. Agents start responding from FreeScout
  3. Keep Zendesk running (read-only) as a ticket archive

5C: Train Your Team

Spend 1–2 days training agents on FreeScout:

  • How to view tickets
  • How to assign tickets
  • How to use canned replies
  • How to view ticket history (old Zendesk tickets are now in FreeScout)
  • How to use any custom features (automation rules, live chat, knowledge base)

5D: Monitor for Issues

Run both systems for 2–4 weeks:

  • Check that all emails are reaching FreeScout (no lost tickets)
  • Monitor queue workers (are emails processing?)
  • Check email delivery (replies reaching customers?)
  • Get feedback from your team (any interface issues?)

Issues to watch:

  • Emails not arriving (IMAP configuration)
  • Replies not sending (SMTP configuration)
  • Slow response times (upgrade VPS if needed)
  • Agents confused about the interface (more training)

Effort: 2–3 hours per week for monitoring


Step 6: Full Cutover (Week 4)

Once you're confident FreeScout is working reliably:

6A: Final Zendesk Data Export

Export any new tickets created in Zendesk after the initial import:

  1. Go to Zendesk Admin → Export
  2. Export tickets from "Week 3" to now
  3. Import these into FreeScout

This ensures no tickets are lost between the two systems.

6B: Update All Touchpoints

Update every place that mentions your support email:

  • [ ] Website (contact page)
  • [ ] Email signature
  • [ ] Auto-responder emails
  • [ ] Help documentation
  • [ ] Social media profiles
  • [ ] Slack #support channel
  • [ ] Billing emails

6C: Cancel Zendesk

Now that everything is running on FreeScout:

  1. Go to Zendesk billing
  2. Schedule cancellation (usually effective at the end of your billing cycle)
  3. Download a final backup of all data (for compliance/archival)

6D: Celebrate

You just migrated from $13,800/year SaaS costs to $100 one-time. For a 10-agent team, that's $27,600 in savings over 2 years.

Effort: 2–4 hours


Migration Checklist

Use this checklist to stay organized:

Week 1 — FreeScout Preparation:

  • [ ] FreeScout installed and running
  • [ ] SSL certificate configured
  • [ ] Email (SMTP/IMAP) working
  • [ ] Queue workers running
  • [ ] Test mailbox created
  • [ ] Team accounts created
  • [ ] Test emails sent and received

Week 2 — Data Export & Import:

  • [ ] Zendesk data exported (tickets, users, organizations)
  • [ ] Import script prepared or manual process planned
  • [ ] Sample import tested (50 tickets)
  • [ ] Full data imported
  • [ ] Post-import validation completed
  • [ ] Data integrity verified (random ticket checks)

Week 3 — Parallel Running:

  • [ ] Zendesk email forwarding disabled
  • [ ] FreeScout receiving all emails
  • [ ] Team trained on FreeScout
  • [ ] Monitoring setup (check logs daily)
  • [ ] No lost tickets reported
  • [ ] Replies sending successfully

Week 4 — Cutover:

  • [ ] Final Zendesk export completed
  • [ ] All touchpoints updated (website, emails, docs)
  • [ ] Final backup downloaded from Zendesk
  • [ ] Zendesk cancellation scheduled
  • [ ] Team comfortable with FreeScout
  • [ ] Everything working smoothly

Common Migration Issues

| Issue | Cause | Fix | |---|---|---| | Import fails with encoding error | CSV has special characters (emoji, accents) | Re-export as UTF-8 from Zendesk | | Ticket dates are wrong | Timezone mismatch | FreeScout converts to server timezone. Verify timezone is correct in settings | | Attachments didn't import | Import script doesn't support attachments | Re-download attachments from Zendesk, upload manually, or use custom script | | Customers not matching | Email addresses formatted differently | Normalize email addresses before import (lowercase, trim whitespace) | | Tickets appear duplicate | Both Zendesk and FreeScout created new tickets | Disable Zendesk email forwarding immediately |


The Cost Breakdown

Migration Effort:

  • DIY (with technical team): 40–60 hours of work = ~$2,000 in labor
  • Professional migration: $500–$1,500 (includes everything)

Annual Savings:

  • Zendesk (10 agents, Garden tier): $4,200/year
  • FreeScout: $0/year after $100 initial setup
  • Annual savings: $4,200
  • Payback period: 6 weeks (if DIY), 1–2 weeks (if professional)

For a 10-agent team, the migration pays for itself within a month, then saves you $4,200 every year after.

Want expert help migrating from Zendesk to FreeScout without losing data?

We handle the full FreeScout installation on your server — SSL, email, security hardening, and a 1-hour onboarding call. Done in 24 hours.

One-time fee · 30-day support · Money-back guarantee


Post-Migration: Optimize FreeScout

After migration, you have a choice: just use FreeScout as-is, or optimize it for your workflow.

Recommended post-migration improvements:

  1. Install modules: Knowledge base (reduce tickets), live chat (capture visitors), automation (reduce manual work)
  2. Configure automation rules: Auto-assign by category, auto-close stale tickets, etc.
  3. Set up escalation: Route complex tickets to managers
  4. Create canned replies: Speed up response time
  5. Enable SLA tracking: Meet response time commitments

Each of these takes 1–2 hours and pays dividends over time.


FAQ: Migration Edition

Q: Will I lose ticket history? A: No. If you export correctly and use a proper import tool, 100% of your tickets come with you. We've migrated 500+ teams — data loss is rare when you follow this guide.

Q: What about customer portal access? A: FreeScout has a customer portal (customers can view their tickets). You may need to notify customers of the new portal URL.

Q: Can I access old Zendesk tickets after canceling? A: Not in real-time, but you can download a backup. Most teams keep a CSV backup for archival.

Q: How long does migration take from start to finish? A: 3–4 weeks (including planning, setup, testing, parallel running, cutover). Actual hands-on work is 2–3 days.

Q: Can I migrate only certain tickets? A: Yes. You can export by date range. Most teams migrate the last 1–2 years of tickets and archive older tickets.

Q: What if something breaks during parallel running? A: You still have Zendesk running. Switch back if needed. No risk.

Resources

Need FreeScout Installed Professionally?

Skip the complexity. We install and configure FreeScout on your server in 24 hours — SSL, email, security, and a full onboarding call included.

Get It Done for $100

One-time fee · 30-day support · Money-back guarantee

Related Articles