CRM migration
Field-level mapping, validation, and rollback between Touchdown and Salesforce Sales Cloud. We move data and schema; workflows are rebuilt natively in Salesforce Sales Cloud.
Touchdown
Source
Salesforce Sales Cloud
Destination
Compatibility
11 of 12
objects map 1:1 between Touchdown and Salesforce Sales Cloud.
Complexity
BStandard
Timeline
4-8 weeks
Overview
Moving from Touchdown to Salesforce Sales Cloud is a migration from a B2B marketing automation CRM with an undocumented API to an enterprise CRM with a fully published schema. Touchdown does not publish a public API schema, so we discover the data model through authenticated API exploration before mapping any records. We handle Contacts, Companies/Accounts, Campaigns, Segments, Custom Fields, and Activity history, and we preserve personalization tokens and merge field associations during import. The key difference is that Touchdown's segmentation lives as an audience-building tool while Salesforce's segmentation lives as Campaigns with Campaign Members and related Lists. We do not migrate Workflows, automations, or campaign execution logic as code; we deliver a written inventory of any active campaign triggers and automation sequences requiring rebuild in Salesforce Flow or the customer's marketing automation layer.
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 Salesforce Sales Cloud, including any object-level transformations, lookup resolution, or schema-design dependencies.
Typical mapping — final map is confirmed during the sample migration step.
Touchdown
Contact
Salesforce Sales Cloud
Contact or Lead
1:1Touchdown Contacts map directly to Salesforce Contact. For contacts that represent marketing audience members without a sales relationship, we evaluate mapping to Salesforce Lead instead. The mapping decision is made during scoping based on whether the Touchdown Contact has associated Deals or Opportunity custom properties. Email, name, phone, custom properties, and any personalization tokens migrate to the corresponding Salesforce Contact fields. Touchdown does not publish a Contact API schema, so we discover the field names via authenticated API exploration before migration.
Touchdown
Company
Salesforce Sales Cloud
Account
1:1Touchdown Company records map to Salesforce Account. Company name, domain, address, and custom properties transfer directly. We use Company domain as the Account Website and as the dedupe key during import. Account is created before any Contact import so that the AccountId lookup is satisfied at Contact insert. Touchdown's Company schema is not explicitly documented, so we confirm all available Company fields during the pre-migration API exploration phase.
Touchdown
Campaign
Salesforce Sales Cloud
Campaign
1:1Touchdown Campaigns map to Salesforce Campaign. Campaign name, type, status, start date, and end date transfer to the corresponding Salesforce Campaign fields. Touchdown campaign audience members migrate to Salesforce Campaign Members with the original opt-in status preserved in Member Status. Campaign performance metrics (opens, clicks, sends) from Touchdown migrate to Salesforce Campaign custom fields or Activity records because Salesforce Campaign does not natively store engagement metrics from external marketing platforms.
Touchdown
Segment
Salesforce Sales Cloud
Campaign + List or Static List
lossyTouchdown Segments are audience definitions built from filter conditions. These have no direct Salesforce equivalent. We export the segment definition (filter logic, criteria, and included Contact IDs) and recreate them in Salesforce as a Campaign with a Static List or as a Salesforce Campaign List. The segment criteria are documented in the migration deliverable so the customer's admin can rebuild dynamic equivalents in Salesforce Reports or Flow if needed. Segment logic migration is a configuration task, not an automated data move.
Touchdown
Email Template
Salesforce Sales Cloud
Email Template or Content
1:1Touchdown personalized messaging tools store templates with merge fields. We export template content and associated merge field names during the API discovery phase. Templates migrate to Salesforce as Email Template (for Sales Cloud email) or as Salesforce Content (for document management). Merge field syntax differs between platforms; we transform Touchdown merge tokens to Salesforce merge field format during the export. Email template HTML structure is preserved but tested in the Salesforce sandbox because CSS rendering differences can affect email client compatibility.
Touchdown
Custom Field (Contact)
Salesforce Sales Cloud
Custom Field (Contact)
1:1Touchdown custom contact properties migrate to Salesforce custom fields on Contact (API name ending in __c). We discover custom field names, data types, and picklist values during API exploration before migration. Type mapping is required: Touchdown multi-select properties map to Salesforce multi-select picklist, date properties map to Date fields, and boolean properties map to Checkbox fields. Validation rules in Salesforce are applied after migration and may make previously accepted values in Touchdown invalid; we flag these during scoping.
Touchdown
Custom Field (Company)
Salesforce Sales Cloud
Custom Field (Account)
1:1Touchdown Company custom properties follow the same discovery and mapping process as Contact custom fields. We export Company custom field names and types via API, map them to Salesforce Account custom fields, and apply type transformations (multi-select, date, boolean) during the load phase. Company custom fields that do not exist in Salesforce are pre-created before the Account import begins.
Touchdown
Activity (Engagement)
Salesforce Sales Cloud
Task or Event
1:1Touchdown engagement tracking (opens, clicks, sends, and any logged call or meeting activities) migrates to Salesforce Activity records. Opens and clicks migrate as Task records with TaskSubtype = Email; call logs migrate as Task with TaskSubtype = Call; meeting logs migrate as Event. The WhoId on each Activity points to the resolved Contact or Lead; the WhatId points to the related Campaign or Account. Touchdown's engagement object schema is not published, so we discover available fields during API exploration and map what we find to the closest Salesforce Activity schema.
Touchdown
User (Owner)
Salesforce Sales Cloud
User
1:1Touchdown users referenced on Contact, Company, Campaign, and Activity records map to Salesforce User by email match. We resolve each distinct user email against the destination Salesforce org's User table during migration. Any Touchdown user without a matching Salesforce User is held in a reconciliation queue for the customer's admin to provision before record import resumes. OwnerId on records is set at migration time once the User mapping is validated.
Touchdown
Custom Object
Salesforce Sales Cloud
Custom Object
1:1If Touchdown contains custom objects (unconfirmed in published documentation but discoverable via API), they migrate to Salesforce custom objects with equivalent API names and __c suffixes. We pre-create the destination schema in Salesforce before migration, including all custom fields, field types, lookup relationships, and validation rules. Any undocumented custom objects in Touchdown are identified during the API exploration phase and added to the migration scope if the customer confirms they are production data.
Touchdown
Opportunity (if present)
Salesforce Sales Cloud
Opportunity
1:1If Touchdown contains Deal or Opportunity records built via custom properties or related objects, they migrate to Salesforce Opportunity. Stage, Amount, CloseDate, and OwnerId transfer directly. Pipeline structure maps to Salesforce Record Types and Sales Processes if multiple deal stages exist. The Opportunity-Account relationship is resolved at migration time using the AccountId lookup.
Touchdown
List (Audience)
Salesforce Sales Cloud
Campaign List or Static List
1:1Touchdown audience Lists (stored groups of Contacts for campaign targeting) migrate to Salesforce Campaign Lists as Static Lists. Each list maps to a Salesforce Campaign with the list members as Campaign Members. Dynamic lists in Touchdown do not have a Salesforce equivalent; we document the filter criteria for the customer's admin to rebuild as a Salesforce Report or a Flow-based segmentation.
| Touchdown | Salesforce Sales Cloud | Compatibility | |
|---|---|---|---|
| Contact | Contact or Lead1:1 | Fully supported | |
| Company | Account1:1 | Fully supported | |
| Campaign | Campaign1:1 | Fully supported | |
| Segment | Campaign + List or Static Listlossy | Fully supported | |
| Email Template | Email Template or Content1:1 | Fully supported | |
| Custom Field (Contact) | Custom Field (Contact)1:1 | Fully supported | |
| Custom Field (Company) | Custom Field (Account)1:1 | Fully supported | |
| Activity (Engagement) | Task or Event1:1 | Fully supported | |
| User (Owner) | User1:1 | Fully supported | |
| Custom Object | Custom Object1:1 | Fully supported | |
| Opportunity (if present) | Opportunity1:1 | Fully supported | |
| List (Audience) | Campaign List or Static List1: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
Salesforce Sales Cloud gotchas
Workflow Rules and Process Builder are retired
Bulk API batch quota exhaustion during large imports
Storage overage billing is non-obvious
Account-Contact many-to-many relationship mapping
Territory and team member import ordering dependencies
Pair-specific challenges
Migration approach
Schema discovery via authenticated API exploration
We connect to the customer's Touchdown instance using the platform's documented authentication method (API key or OAuth) and enumerate all available endpoints for Contacts, Companies, Campaigns, Segments, Email Templates, and Activities. We log field names, infer data types from response payloads, identify any custom fields, and confirm which objects are populated with production data versus empty. This discovery output is a Touchdown data dictionary that serves as the basis for all mapping decisions. The discovery phase adds two to five days to the overall timeline and is scoped separately from the record migration.
Salesforce schema design and pre-creation
We design the destination schema in Salesforce based on the Touchdown data dictionary. This includes creating custom fields (__c API names matched to Touchdown custom field names), pre-configuring Record Types if multiple campaign or deal types exist, setting up picklist value sets for any multi-select fields, and enabling Activity tracking on the Contact and Account page layouts. Schema is deployed via Salesforce metadata API or change set into a Sandbox org first for validation. We coordinate with the customer's Salesforce admin to grant the migration user the Bulk API permission and to temporarily bypass validation rules during the load phase.
Sandbox migration and reconciliation
We run a full migration into a Salesforce Sandbox (Full Copy or Partial Copy) using production-like data volume. The customer's RevOps or marketing lead reconciles record counts (Contacts in, Accounts in, Campaigns in, Campaign Members in, Activities in), spot-checks twenty to thirty random records against the Touchdown source, and validates that custom field values landed correctly in Salesforce. Any mapping corrections, type transformations, or field additions happen in Sandbox before production migration begins. Sandbox sign-off is required before we proceed to production.
Owner and user reconciliation
We extract every distinct Touchdown user referenced on Contacts, Companies, Campaigns, and Activity records and match by email against the Salesforce destination org's User table. Any Touchdown user without a matching Salesforce User is added to a reconciliation queue. The customer's Salesforce admin provisions missing Users (active or inactive depending on whether the original user is still active). Migration cannot proceed past the record load phase because OwnerId references on Account, Contact, Campaign, and Opportunity require valid User records.
Production migration in dependency order
We run production migration in record-dependency order: Users (manually provisioned, validated), Accounts (from Touchdown Companies), Contacts (with AccountId resolved from the Account mapping), Campaigns (with Campaign Member records linked to the Contact IDs), Email Templates (with merge field transformation applied), Activities (Tasks, Events, EmailMessage via Bulk API 2.0), Custom Objects (last, because they may have lookups to standard objects), and Segments (documented with filter criteria for manual rebuild). Each phase emits a row-count reconciliation report before the next phase begins. We pause writes in Touchdown during the cutover window to capture any final modifications.
Cutover, validation, and automation rebuild handoff
We freeze Touchdown writes during the final cutover window, run a delta migration of any records modified during the migration window, then enable Salesforce as the system of record. We deliver the Workflow and Automation Inventory document listing every active Touchdown workflow, automation sequence, and campaign trigger with its conditions and recommended Salesforce Flow equivalent. We support a one-week hypercare window where we resolve any record reconciliation issues raised by the customer's team. We do not rebuild Touchdown automation sequences as Salesforce Flow inside the migration scope; that is a separate engagement or an internal admin task.
Platform deep dives
Touchdown
Source
Strengths
Weaknesses
Salesforce Sales Cloud
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 Salesforce Sales Cloud.
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 Salesforce Sales Cloud migration scoping. Not seeing yours? Book a call.
Walk through your Touchdown to Salesforce Sales Cloud 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 Salesforce Sales Cloud
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.