CRM migration
Field-level mapping, validation, and rollback between Touchdown and Freshsales. We move data and schema; workflows are rebuilt natively in Freshsales.
Touchdown
Source
Freshsales
Destination
Compatibility
6 of 8
objects map 1:1 between Touchdown and Freshsales.
Complexity
BStandard
Timeline
2-3 weeks
Overview
Moving from Touchdown to Freshsales is a migration from a marketing automation CRM to a sales CRM, which means the data model shift is fundamental. Touchdown structures data around Campaigns, Segments, and Contacts; Freshsales uses Accounts, Contacts, and Deals. We discover Touchdown's live data model through authenticated API exploration since no public schema is published, map campaign and segment metadata to Freshsales Deals and custom fields, and preserve all standard contact properties. Touchdown does not expose a public API schema, so we treat each migration as a schema-discovery engagement before we can define field mapping. Workflows, email sequences, and campaign audience logic do not migrate; we deliver a written inventory of each for the customer's admin to rebuild inside Freshsales.
Every standard and custom field arrives verified.
AI proposes the map; you confirm before any record moves.
Parent–child, lookups, and ownership stay linked.
Calls, emails, meetings — with original timestamps.
Documents, uploads, and inline notes move with the record.
Why teams make this switch
Leaving
What's pushing teams away
Choosing
What's pulling them in
Object mapping
Each row shows how a Touchdown object lands in Freshsales, including any object-level transformations, lookup resolution, or schema-design dependencies.
Typical mapping — final map is confirmed during the sample migration step.
Touchdown
Contact
Freshsales
Contact
1:1Touchdown Contact records map directly to Freshsales Contact. We discover the full property schema during pre-migration API exploration since Touchdown does not publish a public schema. Standard properties (first_name, last_name, email, phone, company) map to Freshsales standard fields. Custom contact properties discovered via API map to Freshsales custom fields, with type conversion applied (date strings to Freshsales date format, multi-select to text area, etc.). Email addresses serve as the dedupe key during import.
Touchdown
Company
Freshsales
Account
1:1Touchdown Company records map to Freshsales Account. We discover the Company object schema via API exploration since Touchdown's documentation does not confirm explicit Company object support. Company name maps to Account Name, domain to Website, and any discovered custom properties to Account custom fields. Accounts are created before Contact import so that the AccountId lookup relationship is satisfied at Contact insert time.
Touchdown
Campaign
Freshsales
Deal (Campaign metadata)
1:manyTouchdown Campaign records do not have a direct Freshsales equivalent because Freshsales has no campaign object. We migrate campaign metadata (name, status, start/end dates, audience size) as custom fields on a representative Deal record per campaign, or as standalone custom records if the customer needs to preserve campaign history. Campaign audience membership maps to Deal Contact roles or to a custom multi-select field listing associated contact IDs.
Touchdown
Segment
Freshsales
Custom Field (on Contact) or List
lossyTouchdown Segments are audience filters based on contact properties and behavioral signals. We export segment definitions (filter conditions and logic) as JSON metadata and recreate them in Freshsales as either custom multi-select picklist fields on Contact (for static segments) or as Saved Views with filter criteria matching the original segment logic. The customer chooses between static field migration and dynamic Saved View recreation during scoping.
Touchdown
Email Template
Freshsales
Email Templates
1:1Touchdown Email Templates contain merge fields and personalized content. We export template HTML and associated merge field tokens, then map them to Freshsales Email Templates. Merge field syntax differs between platforms; we transform Touchdown tokens to Freshsales template variable format during the export phase. Templates with complex dynamic content requiring Touchdown's campaign logic are flagged as candidates for Freshsales workflow-based rebuild.
Touchdown
Activity (Engagement)
Freshsales
Appointments and Tasks
1:1Touchdown engagement history (opens, clicks, sends, and implied interactions) migrates to Freshsales Appointment records (for meeting/call events) and Task records (for action items). Email send history migrates as Task records with a custom activity_type field set to email_sent. We preserve timestamps using Freshsales ActivityDate on Task and StartDateTime on Appointment. The original engagement type (open, click, send) is stored in a custom field for reconciliation against the source.
Touchdown
Custom Field
Freshsales
Custom Field
1:1Touchdown custom field schema is not publicly documented, so we discover all custom field definitions during the pre-migration API exploration phase. We create matching custom fields in Freshsales (under Admin Settings > Customization) with type mapping applied: text properties map to Text fields, date properties to Date fields, numeric properties to Number fields, and multi-option properties to either Picklist or Text Area depending on the source cardinality. Custom fields are provisioned before any Contact or Account import begins.
Touchdown
User/Owner
Freshsales
User
1:1Touchdown Owner records map to Freshsales Users. We resolve owners by email match during the migration run. Any Touchdown Owner without a matching Freshsales User is held in a reconciliation queue for the customer's admin to provision before record import resumes. Owner assignment on Contacts, Accounts, and Deals migrates by resolving the Owner email to Freshsales User ID at insert time.
| Touchdown | Freshsales | Compatibility | |
|---|---|---|---|
| Contact | Contact1:1 | Fully supported | |
| Company | Account1:1 | Fully supported | |
| Campaign | Deal (Campaign metadata)1:many | Fully supported | |
| Segment | Custom Field (on Contact) or Listlossy | Fully supported | |
| Email Template | Email Templates1:1 | Fully supported | |
| Activity (Engagement) | Appointments and Tasks1:1 | Fully supported | |
| Custom Field | Custom Field1:1 | Fully supported | |
| User/Owner | User1:1 | Fully supported |
Gotchas + challenges
Platform-specific issues from each side, plus the pair-specific challenges that don't show up on either platform's page on its own.
Touchdown gotchas
Catalog website appears mismatched
Touchdown stores its data inside the Dynamics 365 / Dataverse tenant
SMS data and consent records require careful handling
Templates and landing pages reference Microsoft-hosted assets
Freshsales gotchas
Freddy AI is Pro-tier only despite heavy marketing
Post-migration emails and sequences are disabled
Bot session credits are a one-time 500-session allocation
Phone credits charged per minute with no cap
File storage limits scale with plan tier
Pair-specific challenges
Migration approach
Authenticated API discovery and schema mapping
We authenticate against the customer's Touchdown instance via their existing credentials and explore the live API to discover object names, standard property definitions, custom field definitions, and relationship keys. Since Touchdown publishes no public API schema, this discovery is required before we can produce a field-level mapping document. The output is a written schema inventory (objects, properties, types) and a preliminary mapping to Freshsales standard and custom fields.
Data audit and quality review
We extract record counts for Contacts, Companies, Segments, Campaigns, Email Templates, and Engagements. We audit the data for missing required fields, duplicate email addresses, improper date formats, and records that would fail Freshsales validation rules. We deliver a data quality report with a remediation plan (data cleaning during the transform phase or customer-side cleanup before migration). This step prevents import rejections during the production migration run.
Freshsales custom field and workflow provisioning
We create custom fields in Freshsales (under Admin Settings > Customization) to match every discovered Touchdown custom property. We create Saved Views that replicate Touchdown segment filter logic. We configure Deal record types and pipeline stages if the customer is using campaign metadata as deal proxies. All Freshsales provisioning happens in a Sandbox or staging environment first for validation before production setup.
Sandbox migration and reconciliation
We run a full migration into the customer's Freshsales Sandbox using production-like data volume. The customer reconciles record counts (Contacts in, Accounts in, Deals in, Activities in), spot-checks 20-30 random records against the Touchdown source, and validates that custom field values populated correctly. Any mapping corrections happen here, not in production. The customer signs off on the Sandbox migration before we proceed to production.
Production migration in dependency order
We run production migration in record-dependency order: Users (validated against Freshsales User table), Accounts (from Touchdown Companies), Contacts (with AccountId resolved), Deals (campaign metadata proxies), Email Templates (transformed and imported), Activities (Tasks and Appointments via Freshsales REST API with rate-limit handling). Each phase emits a row-count reconciliation report. We use Freshsales Batch API endpoints with exponential backoff on 429 responses.
Cutover, delta sync, and automation inventory handoff
We freeze Touchdown writes during cutover, run a final delta migration of any records modified during the migration window, then enable Freshsales as the system of record. We deliver the Campaign and Automation inventory document listing every Touchdown campaign with its trigger, conditions, and recommended Freshsales Workflow rule equivalent. We support a 5-business-day hypercare window for reconciliation issues. We do not rebuild Touchdown automation as Freshsales Workflows inside the migration scope.
Platform deep dives
Touchdown
Source
Strengths
Weaknesses
Freshsales
Destination
Strengths
Weaknesses
Complexity grading
Standard CRM migration. 2 of 8 objects need a mapping; the rest are 1:1.
Overall complexity
Standard migration
Derived from compatibility, mapping clarity, API constraints, and data volume across Touchdown and Freshsales.
Object compatibility
2 of 8 objects need a mapping; the rest are 1:1.
Field mapping clarity
Field mapping is derived from defaults — final spec confirmed during the sample migration.
Timeline complexity
8-object category — typical timelines run 2–7 days end-to-end.
API constraints
Touchdown: Governed by Dataverse Web API service protection limits (per-user/per-app rate ceilings published by Microsoft). Touchdown does not impose additional documented limits on top..
Data volume sensitivity
Touchdown doesn't expose a bulk API — REST + parallelization used for high-volume runs.
Estimator
Rule-based pricing — no per-record fees, no manual quotes. Migrations over 2M records are scoped individually.
Step 1
Pick a category, then your source and destination platforms.
Category
FAQ
Answers to the questions buyers ask most during Touchdown to Freshsales migration scoping. Not seeing yours? Book a call.
Walk through your Touchdown to Freshsales migration with a real engineer — 30 minutes, free, written quote within 24 hours.
Book a free 30 minute consultationAdjacent paths
Other ways to leave Touchdown
Other ways to arrive at Freshsales
Ready when you are
Tell us record counts and timeline. We'll come back with a written quote inside 1 business day — no commitment, no sales pitch.