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
- Cost: Zendesk bills per-agent. 10 agents = $6,600–$13,800/year. FreeScout is $100 one-time.
- Data ownership: Your helpdesk data lives on Zendesk's servers. With FreeScout, it's on yours.
- Vendor lock-in: Zendesk owns your workflow. FreeScout is open-source and customizable.
- 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
- Go to Zendesk Admin → Tools and apps → Export
- Click "Export data"
- 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)
- Download the CSV files
You'll get:
tickets.csv— all tickets and their historyusers.csv— all customers and agentsorganizations.csv— company/team data
2B: Export Custom Fields
Zendesk custom fields don't export automatically:
- Go to Admin → Manage Fields
- Document your custom fields (take screenshots)
- 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:
- Create the mailbox in FreeScout (you already did this in Step 1)
- Prepare the CSV data to match FreeScout's format
- 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)
- Export tickets from Zendesk (CSV)
- Create conversations in FreeScout manually or via API
- 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:
- Export 50 sample tickets from Zendesk
- Transform to FreeScout format
- Import into FreeScout
- 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:
- In Zendesk, disable email forwarding or mailbox connections
- Create a temporary email address:
temp-support@your-domain.com - 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:
- Configure FreeScout's mailbox to receive emails from your support address
- Agents start responding from FreeScout
- 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:
- Go to Zendesk Admin → Export
- Export tickets from "Week 3" to now
- 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:
- Go to Zendesk billing
- Schedule cancellation (usually effective at the end of your billing cycle)
- 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:
- Install modules: Knowledge base (reduce tickets), live chat (capture visitors), automation (reduce manual work)
- Configure automation rules: Auto-assign by category, auto-close stale tickets, etc.
- Set up escalation: Route complex tickets to managers
- Create canned replies: Speed up response time
- 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
- Zendesk Data Export — official Zendesk export docs
- FreeScout GitHub — source code and releases
- FreeScout Module Marketplace — available import tools
- Zendesk Pricing — compare costs