Switch from Freshsales

Trade Freshsales complexity for Tonic Desk clarity

Tonic Desk imports your Freshsales contacts, companies, and deals from a CSV export. Array-based email fields are flattened automatically, and `cf_` custom fields come along for the ride. No migration consultant needed.

Most teams finish in under 15 minutes

What transfers

  • Contact records with name, primary email, work phone, mobile, and job title
  • Company (account) records with all standard fields
  • Deals with stage, amount, and expected close date
  • Custom fields prefixed with cf_ when matching fields exist in Tonic Desk
  • Company-to-contact associations
  • Record ownership resolved by matching email addresses

Step by step

1. Export your contacts from Freshsales

In Freshsales, navigate to the Contacts view. Click the three-dot menu (...) and select Export. Choose CSV and start the export. Note that Freshsales limits you to 5 exports per day through the interface, so plan your exports in advance if you have multiple objects to move.

2. Export your companies (accounts)

Go to the Accounts section in Freshsales. Click ... > Export and save the CSV. This file contains company names, domains, and any custom account fields.

3. Export your deals

Navigate to Deals and export to CSV. Include deal name, amount, stage, expected close date, and associated contact or account references.

4. Upload to Tonic Desk

Open Settings > Import in Tonic Desk. Upload companies first, then contacts, then deals. Tonic Desk parses the column headers — including cf_ prefixed custom fields — and maps them automatically. The preview screen lets you confirm or adjust every mapping before data is written.

5. Verify the import

Check a sample of records. Confirm that the correct primary email was extracted from Freshsales' array format, phone numbers landed in the right fields, and custom field values are intact. Approve the import when everything looks right.

Field mapping reference

Source Field Tonic Desk Field Notes
first_name first_name Direct match
last_name last_name Direct match
emails email Array field — primary email is extracted automatically
work_number phone Direct match
mobile_number mobile Direct match
job_title job_title Direct match
company company Auto-linked to matching company record
cf_* (custom fields) Custom fields Imported if a matching custom field exists in Tonic Desk; the cf_ prefix is stripped during mapping

What doesn't transfer (and workarounds)

  • Freddy AI insights — Freshsales' AI-generated lead scores, next-best-action suggestions, and deal predictions are proprietary. Workaround: export a report of current lead scores before migrating and import them as a custom field in Tonic Desk for historical reference.
  • Sales forecasting AI — Forecast models and their historical accuracy data stay in Freshsales. Workaround: Tonic Desk has its own forecasting tools that build new models from your deal data within the first few weeks of use.
  • Territory management rules — Territory assignments and routing logic do not transfer. Workaround: document your territory definitions and recreate them using Tonic Desk's assignment rules and team permissions.

Tips for a smooth switch

  • Freshsales limits CSV exports to 5 per day. Plan ahead: export contacts, companies, and deals on the same day and you will still have 2 exports to spare for corrections.
  • Freshsales stores emails as an array (multiple addresses per contact). Tonic Desk extracts the one marked as primary. If your contacts mostly have a single email, this happens seamlessly. If they have several, spot-check a few records after import.
  • The cf_ prefix on custom fields is stripped during mapping. A Freshsales field called cf_contract_value becomes contract_value in Tonic Desk. Create your custom fields in Tonic Desk before importing so the mapper can match them.
  • If you are on Freshsales' free tier, some export options may be limited. Upgrade temporarily or use the Freshsales API to pull a complete dataset.
  • Export a backup of everything before you cancel your Freshsales account. Once the account is closed, you lose API access and cannot re-export.

Frequently asked questions

How does Tonic Desk handle Freshsales' array-based email field?
Freshsales stores emails as an array with a primary flag. Tonic Desk reads the array, finds the entry marked as primary, and imports that address into the email field. Secondary emails are not imported by default, but you can add them as custom fields after the initial import.
What happens to Freshsales custom fields with the cf_ prefix?
The cf_ prefix is stripped during import. A field named cf_deal_source in Freshsales maps to a custom field called deal_source in Tonic Desk. Create your custom fields in Tonic Desk before importing so the field mapper can match them automatically.
Is there a limit on how much data I can export from Freshsales?
Freshsales allows up to 5 CSV exports per day through the interface. There is no hard row limit per export, but very large datasets may take several minutes to generate. If you need more than 5 exports in a day, use the Freshsales API for additional pulls.
Will my Freshsales deal stages transfer correctly?
Deal stages are imported by name. If your Freshsales pipeline uses custom stage names, create matching stages in Tonic Desk's pipeline settings before you run the import. Stages that do not have a match will be flagged for manual assignment.

Ready to refresh your CRM?

Free for up to 3 users. No credit card required. Set up in 10 minutes.