Knowledge base

Migrating from your CRM

Migrate from Freshsales

Export deals from Freshsales (Freshworks CRM) and import them into Thawly.

Migrate from Freshsales to Thawly

Move your lost deals from Freshsales to Thawly in 10 minutes. Freshsales (part of Freshworks CRM) keeps its export workflow simple — a saved view on the Deals module plus a one-click CSV download.

What you need

  • A Freshsales user with Export Deals permission. Default Admin and Sales Manager roles include it; Sales Reps usually do too on every paid plan (Growth, Pro, Enterprise). The free plan supports export with some volume caps.
  • A modern browser. No Freshsales API key, no Freshworks Developer Hub setup.
  • About 10 minutes.

If your admin has restricted export, ask them to flip the Export Deals permission for your role under Admin Settings → Roles & Permissions.

Step-by-step extraction

  1. Log in to Freshsales at your-domain.freshworks.com (the URL is specific to your account — usually shown in your welcome email).
  2. From the top nav, click Deals. [Screenshot: Freshsales top nav with Deals tab]
  3. In the saved-views dropdown (top-left of the list), choose + Create new view. Build the view with these criteria:
    • StatusLost.
    • Pipeline → your sales pipeline (skip the partner or onboarding pipelines).
    • Optionally Closed DateLast 3 years.
  4. Add the columns you need from the column-picker icon. Tick at minimum: Deal Name, Account Name, Amount, Closed Date, Lost Reason, Description / Notes, plus any custom fields for competitor or notes. [Screenshot: Freshsales deal list with column picker and view editor]
  5. Save the view as Lost deals for Thawly so you can re-run later.
  6. With the filtered list visible, click the (more actions) menu top-right of the list and choose Export.
  7. In the export dialogue, choose CSV as the format and tick Export only the selected columns so you get the columns you set up, not Freshsales's full default list.
  8. Click Export. Freshsales emails you a download link, usually within a minute. For larger exports, the file lands under Admin Settings → Data Administration → Exports.
  9. Download the CSV. Open it in Excel or Google Sheets to sanity-check the row count before uploading.

Field mapping

Thawly's importer auto-maps any reasonable header. For reference:

  • Account Namename (best column for Companies House matching)
  • Amountdeal_value (GBP)
  • Closed Datelost_date
  • Lost Reasonlost_reason
  • Custom Competitor field → lost_to
  • Description + custom long-text note fields → notes

If your Freshsales setup doesn't use Account Name consistently and your team puts the company name on the Deal Name itself (e.g. Linton Manufacturing Ltd — renewal lost), Thawly will use Deal Name and run Companies House matching on it. Either column works.

What to do with the Notes column

Don't pre-clean. Freshsales stores notes against deals in the Description field plus a related-list Notes entity. Paste the raw Description straight in. Thawly's AI summarises long activity logs and extracts structured signals (objection type, decision-maker title, competitor name, budget threshold) on its own.

If you want to bring across the related Notes entries, add the Last Note column to your view — it concatenates the most recent note text into the export. For teams using Freshsales Freddy AI for call summaries, those don't flow through the deal export by default; add the Most Recent Activity Summary column to capture them.

Common gotchas

  • Duplicate companies. Freshsales allows multiple deals against the same Account (Pendle Civils Ltd lost three times in 2025). Thawly de-duplicates on lower-cased company name on import, so duplicates in the CSV are safe.
  • Currency mismatches. Freshsales supports multi-currency on the Amount field. The exported value is in the deal's local currency; Amount (Base) converts to your tenant's base currency. Filter to Currency = GBP before exporting, or post-process the CSV.
  • Multi-pipeline issues. Freshsales lets you set up multiple pipelines per workspace, and lost-stage names can be customised per pipeline. Filter on Pipeline = your sales pipeline rather than relying on stage names — stages are reused across pipelines.
  • Stale "won" or "open" deals. Status = Lost is the safe filter. Don't rely on stage-name filters alone, because some Freshsales orgs have stages like Closed (lost) and Lost — recoverable with different meanings. Status = Lost catches them all.
  • Lost reason as a separate object. In some Freshsales orgs, Lost Reason is a separate child record (Freshsales's loss-reason linking module) rather than a picklist on the deal. If your export's Lost Reason column is empty, ask your admin to add the linked-field column so it surfaces in the export.

What happens next

Drop the CSV at thawly.co.uk/upload. We auto-map the columns, run a Companies House lookup on every Account name and show you a per-row preview before importing.

After import, monitoring runs on the next signal-source pass. The first digest only arrives when there's a real signal — see Reading your digest.

Coming from a different CRM?

For the bigger picture, read Dead deal recovery and Buying signals in B2B sales.