CRM migration

Migrate from Concord CRM to Salesforce Sales Cloud

Field-level mapping, validation, and rollback between Concord CRM and Salesforce Sales Cloud. We move data and schema; workflows are rebuilt natively in Salesforce Sales Cloud.

Concord CRM logo

Concord CRM

Source

Salesforce Sales Cloud

Destination

Salesforce Sales Cloud logo

Compatibility

83%

10 of 12

objects map 1:1 between Concord CRM and Salesforce Sales Cloud.

Complexity

BStandard

Timeline

3-5 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Moving from Concord CRM to Salesforce is a structural migration that restructures Concord's flat Contact-Company model into Salesforce's Lead-Contact-Account hierarchy. Concord stores contacts with a company_id foreign key pointing to a flat company list; Salesforce separates unqualified prospects into Leads, qualified contacts into Contacts attached to Accounts, and uses Lookups instead of foreign key IDs. We resolve the Contact split during scoping, pre-create the Account hierarchy, and preserve the Concord company_id association for audit. Concord's workflow automations do not fire during data import, so we deliver a written inventory of every active automation for manual rebuild in Salesforce Flow. File attachments in Concord CRM cannot be exported through the standard export tool or REST API, so they are excluded from migration scope and flagged for manual retrieval. We migrate Contacts, Companies, Deals, Products, Activities, custom fields, and historical timestamps. We do not migrate Workflows, Sequences, automations, Reports, or Forms as code, and we do not provide post-migration admin support, training, or workflow rebuild as standard scope.

Field-level fidelity

Every standard and custom field arrives verified.

Schema-aware mapping

AI proposes the map; you confirm before any record moves.

Relationships preserved

Parent–child, lookups, and ownership stay linked.

Full activity history

Calls, emails, meetings — with original timestamps.

Attachments & notes

Documents, uploads, and inline notes move with the record.

Why teams make this switch

Two sides of the same decision

Leaving

Concord CRM logo

Concord CRM

What's pushing teams away

  • Support response times are slow — G2 reviewers report waiting over a week for assistance with no video tutorials available to compensate.
  • Self-hosted model requires ongoing server maintenance, security updates, and PHP/Laravel version management that many teams lack resources for.
  • No built-in migration tool or guided export — teams transferring to another CRM must manually sequence CSV exports and handle relationship mapping themselves.
  • Server scaling and performance optimization fall entirely on the customer, with no SLA guarantees or managed hosting options available.
  • Limited ecosystem compared to major SaaS CRMs — fewer integrations, no marketplace of pre-built add-ons, and community resources are sparse.

Choosing

Salesforce Sales Cloud logo

Salesforce Sales Cloud

What's pulling them in

  • The AppExchange marketplace with 5,000+ prebuilt apps gives enterprises integrations for nearly every business workflow without custom development.
  • Native Einstein AI for lead scoring, opportunity insights, and predictive forecasting adds intelligence without a separate platform purchase.
  • Territory management, multi-currency support, and advanced forecasting satisfy the needs of complex B2B sales organizations with structured revenue teams.
  • Slack, Tableau, and CPQ are deeply integrated into the core platform, keeping the sales stack unified for teams already in the Salesforce ecosystem.
  • Organizations with a large, established Salesforce implementation choose it because switching costs — integrations, custom code, trained admins — are prohibitive.

Object mapping

How Concord CRM objects map to Salesforce Sales Cloud

Each row shows how a Concord CRM 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.

Concord CRM

Contact

maps to

Salesforce Sales Cloud

Lead or Contact (split required)

1:many
Fully supported

Concord CRM stores contacts with a flat company_id foreign key pointing to a Companies record. Salesforce does not have a direct equivalent of this flat model. We split Concord contacts into Salesforce Leads and Contacts based on a rule defined during scoping: contacts without an assigned company or with a prospect status map to Lead; contacts with an assigned company map to Contact and get linked to an Account via AccountId Lookup. The original Concord company_id is preserved in a custom field concord_company_id__c on the Contact for reconciliation audit. Concord does not have a separate Lead object, so the split is a pure transformation at migration time rather than a conversion.

Concord CRM

Company

maps to

Salesforce Sales Cloud

Account

1:1
Fully supported

Concord Companies map directly to Salesforce Account. Company name becomes Account Name, domain becomes Website, and industry fields map by type. Concord's company_id is preserved as a custom field concord_company_id__c on Account to support the Contact lookup resolution during Contact migration. Accounts must be imported before Contacts because the Contact migration requires AccountId to be resolved before insert. If Concord contacts reference a company_id with no matching Concord Company record, we hold those contacts in a reconciliation queue for the customer to decide: create a placeholder Account or convert those contacts to Leads.

Concord CRM

Deal

maps to

Salesforce Sales Cloud

Opportunity

1:1
Fully supported

Concord Deals map to Salesforce Opportunity. The Concord dealstage value maps to a Salesforce StageName that we configure during pipeline setup. Closed-Lost reason and Closed-Won reason from Concord custom fields become Salesforce Loss Reason and Won Reason fields. Concord's assigned user maps to Salesforce OwnerId via email matching against the destination User table. If Concord supports multiple pipelines (enterprise extension), each pipeline maps to a Salesforce Opportunity Record Type with its own Sales Process whitelist.

Concord CRM

Product

maps to

Salesforce Sales Cloud

Product2

1:1
Fully supported

Concord Products map to Salesforce Product2 records with Standard Price Book entries created during migration. Concord SKU (hs_sku equivalent) maps to ProductCode. Price, name, and description migrate directly. Product2 must be created and a Pricebook2 activated before any OpportunityLineItem records reference them.

Concord CRM

Activities: Calls

maps to

Salesforce Sales Cloud

Task (TaskSubtype = Call)

1:1
Fully supported

Concord call activities map to Salesforce Task with TaskSubtype set to Call. Call disposition, duration, and notes preserve in custom Task fields. The linked resource type and resource_id from Concord determine the WhatId on Task: if the Concord call was linked to a Deal, the WhatId points to the migrated Opportunity; if linked to a Contact or Company, the WhatId resolves after Contact and Account migration completes. ActivityDate is set to the original Concord timestamp to preserve timeline ordering.

Concord CRM

Activities: Meetings

maps to

Salesforce Sales Cloud

Event

1:1
Fully supported

Concord meeting activities map to Salesforce Event. StartDateTime, EndDateTime, and Location migrate directly. Attendee information from Concord's linked resources resolves to EventRelation records pointing at the migrated Contact, Lead, or User records. If the Concord meeting was linked to a Deal, WhatId points to the migrated Opportunity after Opportunity migration completes.

Concord CRM

Activities: Tasks

maps to

Salesforce Sales Cloud

Task

1:1
Fully supported

Concord task activities map to Salesforce Task with Status, Priority, and ActivityDate preserved. Task subject and body migrate as-is. The task assignment resolves by matching the Concord assigned user to the migrated Salesforce OwnerId via User email lookup. Concord's linked resource type and ID determine WhatId resolution, which is deferred until Account and Opportunity migration complete.

Concord CRM

Activities: Notes

maps to

Salesforce Sales Cloud

Note

1:1
Fully supported

Concord notes with a linked resource type and ID map to Salesforce Note records linked via ContentDocumentLink to the parent Lead, Contact, Account, or Opportunity. Note body migrates as rich text. The parent record lookup resolves after the relevant object migration completes, using the concord_resource_type and concord_resource_id fields to route each note to the correct destination record.

Concord CRM

Custom Fields

maps to

Salesforce Sales Cloud

Custom Fields

1:1
Mapping required

Concord CRM custom fields use UUID as the API key in request payloads, with different payload formats for boolean, date, select, text, and number field types. We map each Concord custom field to a Salesforce custom field of equivalent type: text fields become Text(255) or Long Text Area, dates become Date, selects become Picklist or Multi-Select Picklist, numbers become Number. Custom field API names in Concord may not match Salesforce __c naming conventions, so we normalize during schema design. Concord custom fields are discovered during scoping and the destination custom fields are pre-created in Salesforce before any data import.

Concord CRM

Users

maps to

Salesforce Sales Cloud

User

1:1
Fully supported

Concord CRM Users export via REST API with email, name, and role. We match by email against the Salesforce destination org's User table. Any Concord User without a matching Salesforce User goes to a reconciliation queue for the customer's admin to provision before record migration resumes. Role permissions from Concord (such as export permission) do not map to Salesforce profiles or permission sets; we document them as a manual rebuild item for the customer's admin.

Concord CRM

Pipeline Stages

maps to

Salesforce Sales Cloud

Opportunity Stage

lossy
Mapping required

Concord CRM stores deal stages as values attached to the deal pipeline. We map each Concord stage name to a Salesforce StageName value within a Salesforce Sales Process. Stage probability percentages migrate from Concord to Salesforce StageProbability. Multiple Concord pipelines (if used via enterprise extension) map to Salesforce Opportunity Record Types with separate Sales Process configurations per Record Type.

Concord CRM

Attachments

maps to

Salesforce Sales Cloud

None

1:1
Not supported

Concord CRM does not include a document attachment export feature in the standard export tool or REST API. Attachments stored in the application file system (storage/app directory) cannot be retrieved through the documented export interface and require manual file system access via the hosting server. File attachments are excluded from migration scope and flagged in the documentation for manual retrieval post-migration. If the customer requires attachment migration, a separate file system export step coordinated with the Concord hosting administrator is required outside standard migration scope.

Gotchas + challenges

What specifically takes care here

Platform-specific issues from each side, plus the pair-specific challenges that don't show up on either platform's page on its own.

Concord CRM logo

Concord CRM gotchas

High

Workflows do not fire during data import

Medium

Self-hosted data export requires role permission

Medium

API pagination cap at 100 records per page

Low

Domain transfer requires full server migration

Low

CSRF headers cause API auth failures

Salesforce Sales Cloud logo

Salesforce Sales Cloud gotchas

High

Workflow Rules and Process Builder are retired

High

Bulk API batch quota exhaustion during large imports

Medium

Storage overage billing is non-obvious

Medium

Account-Contact many-to-many relationship mapping

Low

Territory and team member import ordering dependencies

Pair-specific challenges

  • Concord CRM workflows do not fire during data import

    Concord CRM explicitly states that workflow triggers (Company/Contact/Deal created, Deal stage changed) and actions (Create Activity, Send Email, Trigger Webhook) do not execute during data import. This means every active automation in Concord CRM will be inactive in Salesforce after migration unless rebuilt manually. We document every active Concord workflow during scoping with its trigger, conditions, and actions, and deliver a written inventory recommending equivalent Salesforce Flow alternatives. The customer's admin or a Salesforce partner rebuilds them post-migration. This is a known limitation of Concord's import architecture and is not unique to any single destination CRM.

  • Contact-Company flat model requires explicit split design

    Concord CRM stores contacts with a flat company_id pointing to a Companies record, with no separate Lead object. Salesforce separates unqualified prospects (Lead) from qualified contacts (Contact attached to Account). This structural difference means there is no automatic 1:1 mapping for Concord contacts. We define the split rule during scoping based on whether a Concord contact has an assigned company_id: contacts without one become Salesforce Leads; contacts with one become Salesforce Contacts with AccountId Lookup resolved after Account migration. If Concord has contacts linked to companies that are themselves orphaned (no valid Company record), those contacts require a placeholder Account or manual review. Skipping this design step produces orphaned Contacts with no Account.

  • Concord CRM file attachments cannot be exported

    Concord CRM does not include a document attachment export feature in its standard export tool or its REST API. Attachments stored in storage/app must be retrieved manually via the hosting server's file system, which is outside the documented export and API interfaces. This is not a destination-specific limitation; file attachments are excluded from migration scope regardless of target CRM. We flag all attachment locations during scoping and deliver a file system retrieval checklist for the customer's server administrator. Any attachment migration requires a separate file system export step with its own timeline.

  • Concord API pagination caps at 100 records per page

    Concord CRM's REST API paginates at 15 records by default with a maximum per_page value of 100, and not all endpoints respect this parameter. For large datasets, we implement sequential page iteration with rate limit header monitoring (X-RateLimit-Limit and X-RateLimit-Remaining) to avoid triggering 429 errors and ensure complete data extraction. This is a source-side constraint that affects how we sequence data extraction but does not impact the destination migration methodology.

  • Salesforce Bulk API daily limits constrain large activity imports

    Salesforce Bulk API 2.0 enforces daily API call limits that vary by license tier, from 1,000 calls per day on some entry tiers to 150,000 on enterprise and performance tiers. Activity history migrations with hundreds of thousands of records (calls, meetings, tasks, notes) require batch chunking, parent-record lookup resolution, and exponential backoff on 429 responses. We estimate the total API call volume during scoping and recommend a Salesforce edition with sufficient Bulk API quota if the customer's current license constrains the migration timeline.

Migration approach

Six steps for a successful Concord CRM to Salesforce Sales Cloud data migration

  1. Discovery and scoping

    We audit the Concord CRM instance across record counts (Contacts, Companies, Deals, Products, Activities), custom field inventory, active workflow configurations, and user roster. We confirm export permissions are assigned to the API token user (Concord requires role-based export permission) and validate API connectivity with Bearer token auth. We design the Salesforce destination schema including custom fields, Account-Contact hierarchy structure, Opportunity Record Types, Sales Processes, and the Contact-to-Lead split rule. The discovery output is a written migration scope document covering record counts, field mapping, pipeline configuration, and automation inventory.

  2. Sandbox migration and reconciliation

    We run a full migration into a Salesforce Sandbox (Full Copy or Partial Copy) using production-equivalent data volume. The customer's RevOps lead reconciles record counts against the Concord CRM source (Accounts in, Contacts in, Leads in, Opportunities in, Activities in), spot-checks 25-50 random records for field-level accuracy, and validates the Contact-Account association. The split rule for contacts without company_id is validated here. Sign-off on the sandbox migration must occur before production migration begins; any mapping corrections are made in the Sandbox, not in production.

  3. Schema pre-creation in Salesforce

    We pre-create all destination Salesforce custom fields, Opportunity Record Types, Sales Processes, and page layouts before any data import begins. Custom fields use __c suffixes per Salesforce convention, and field types are mapped from Concord's field types (boolean to Checkbox, date to Date, select to Picklist, text to Text). If Concord uses custom objects or extended entities, we provision Salesforce custom objects of matching API names with their own field sets and lookup relationships. Schema is deployed to Sandbox during validation and to Production during the cutover window.

  4. Owner and user reconciliation

    We extract every distinct Concord user referenced on Contact, Company, Deal, and Activity records and match by email against the Salesforce destination org's User table. Concord roles and permissions do not map to Salesforce profiles or permission sets; we document the role structure for manual rebuild. Owners without a matching Salesforce User are held in a reconciliation queue. The customer's Salesforce admin provisions any missing Users before record import resumes, because OwnerId references are required on most standard objects at insert time.

  5. Production migration in dependency order

    We run production migration in record dependency order: Accounts (from Concord Companies, first because Contacts reference them), Leads and Contacts (with AccountId resolved for Contacts, concord_company_id preserved in a custom field for audit), Opportunities (with AccountId, OwnerId, and RecordTypeId resolved), Products and Pricebook entries (if migrating product-linked Deals), Activities (Tasks, Events, Notes via Bulk API 2.0 with chunking and parent-record lookup resolution), Custom fields last (all standard object imports complete to avoid field-not-found errors). Each phase emits a row-count reconciliation report before the next phase begins.

  6. Cutover, validation, and automation handoff

    We freeze Concord CRM writes during the cutover window, run a final delta migration of any records created or modified during the migration, then enable Salesforce as the system of record. We deliver the Concord workflow inventory document to the customer's admin team with recommended Salesforce Flow equivalents. We support a one-week hypercare window where we resolve reconciliation issues raised by the customer's sales team. We do not rebuild Concord Workflows as Salesforce Flow inside the migration scope; that is a separate engagement. We do not migrate Reports, Forms, or Landing Pages; these are documented for manual rebuild.

Platform deep dives

Context on both ends of the pair

Concord CRM logo

Concord CRM

Source

Strengths

  • One-time $64–$390 license with lifetime access and no per-user or per-contact recurring fees.
  • Full source code access enables deep customization, white-labeling (Extended License), and full data portability.
  • Unlimited users and unlimited data records as long as the server infrastructure supports it.
  • Native CSV/XLS/XLSX export for Contacts, Companies, Deals, Products, and Activities without requiring API access.
  • REST API with Bearer token auth supports custom integrations, automations, and programmatic data access.

Weaknesses

  • Self-hosted only — requires PHP/Laravel server setup, maintenance, and ongoing security management by the customer.
  • No built-in migration or import tool; workflow automations do not execute during data import.
  • Support limited to ticket system with documented delays of over a week for some requests.
  • Single installation per license with no SaaS-ready code out of the box.
  • Limited ecosystem, integrations, and community resources compared to major SaaS CRM platforms.
Salesforce Sales Cloud logo

Salesforce Sales Cloud

Destination

Strengths

  • Largest enterprise app ecosystem in CRM with 5,000+ AppExchange integrations covering nearly every vertical workflow.
  • Native Einstein AI delivers lead scoring, opportunity insights, and predictive forecasting without a third-party layer.
  • Advanced territory management, multi-currency, and flexible forecasting satisfy complex B2B revenue structures.
  • Deep platform extensibility: Custom Objects, Apex, Flow, and the Metadata API allow full schema customization.
  • Well-documented REST API, Bulk API, and Composite API with published rate limits for programmatic migration.

Weaknesses

  • Pricing model is layered and opaque in practice: per-seat fees plus storage overages, add-on subscriptions, and annual uplifts compound to 30–40% above sticker price.
  • Workflow Rules and Process Builder are deprecated, forcing all orgs onto Salesforce Flow — a migration task that catches many teams by surprise.
  • Steep administrative complexity: meaningful configuration requires a dedicated Salesforce admin or consultant.
  • API rate limits are edition-gated (100k/day base for Enterprise) and easily exhausted by large historical imports without throttling.
  • Data export is exportable via Data Loader but preserving relationship integrity across 30+ objects requires careful ETL sequencing.

Complexity grading

How hard is this migration?

Standard CRM migration. 2 of 8 objects need a mapping; the rest are 1:1.

B

Overall complexity

Standard migration

Derived from compatibility, mapping clarity, API constraints, and data volume across Concord CRM and Salesforce Sales Cloud.

  • Object compatibility

    B

    2 of 8 objects need a mapping; the rest are 1:1.

  • Field mapping clarity

    C

    Field mapping is derived from defaults — final spec confirmed during the sample migration.

  • Timeline complexity

    B

    8-object category — typical timelines run 2–7 days end-to-end.

  • API constraints

    B

    Concord CRM: Per-minute limits documented in X-RateLimit-Limit and X-RateLimit-Remaining response headers; exact values vary and are not publicly specified.

  • Data volume sensitivity

    B

    Concord CRM doesn't expose a bulk API — REST + parallelization used for high-volume runs.

Estimator

Estimate your Concord CRM to Salesforce Sales Cloud migration cost

Rule-based pricing — no per-record fees, no manual quotes. Migrations over 2M records are scoped individually.

Step 1

What are you migrating?

Pick a category, then your source and destination platforms.

Category

FAQ

Frequently asked questions about Concord CRM to Salesforce Sales Cloud data migrations

Answers to the questions buyers ask most during Concord CRM to Salesforce Sales Cloud migration scoping. Not seeing yours? Book a call.

Can't find your answer?

Walk through your Concord CRM to Salesforce Sales Cloud migration with a real engineer — 30 minutes, free, written quote within 24 hours.

Book a free 30 minute consultation

Standard migrations under 10,000 Contacts, 5,000 Deals, and no custom objects land between three and five weeks. Migrations with custom objects, multiple Deal pipelines, large engagement histories (over 200,000 activity records), or data cleansing requirements move to eight to twelve weeks. Concord API pagination sequencing, Salesforce schema pre-creation, and Bulk API batch management extend the timeline beyond the base estimate.

Adjacent paths

Related migrations to explore

Ready when you are

Move from Concord CRM.
Land in Salesforce Sales Cloud, intact.

Tell us record counts and timeline. We'll come back with a written quote inside 1 business day — no commitment, no sales pitch.

Accuracy guarantee Rollback included Quote in 1 business day