Portage · CRM migration

Move your CRM to Lumenbase

Scan your old CRM, preview every record, then import in the background. Change your mind? Roll back in one click.

  • Read-only access to your CRM
  • Preview before anything imports
  • One-click rollback

See your move before you commit

Estimate your move

≈ 25 minfor 6,300 records, rough estimate
  • Pipelines & stages
  • Organizations, as companies
  • People, linked to their organizations
  • More data types and rollback of imported records.
Migrate from Pipedrive

Comes over from your CRM

  • Pipelines & stages
  • Companies / accounts
  • Contacts, linked to their companies
  • Deals with amount, currency, stage, owner, and status
  • Notes or activities on the timeline (varies by CRM)
  • Owners mapped to your Lumenbase team members

How it works

  1. Scan

    Portage reads your old CRM and counts what is there. Nothing is written yet.

  2. Choose

    Pick what to bring over and match your old users to your new team.

  3. Preview

    Check counts, field mappings and warnings before a single record lands.

  4. Import

    The import runs in the background. Close the tab and keep working.

  5. Review or roll back

    See what came over. Not happy? Remove the imported records in one click.

Built to be safe to try

Read-only access to your CRM

Portage only reads from your CRM. Nothing in your source CRM is changed, moved, or deleted at any point in the migration.

One-click rollback

Not happy with the result? Roll the migration back in one click and every record it created is removed. Records you edited after the import, or that were merged into records you already had, are kept.

Preview before anything imports

A preview shows exact record counts, field mappings, and warnings (unmapped owners, missing links) before a single record is written.

Runs in the background, resumes if interrupted

Large workspaces move over gradually and pick up where they left off if interrupted. Your team keeps working in both tools while it runs.

Credentials stay encrypted

Your API key for your CRM is stored encrypted in this workspace's vault. Disconnect it anytime.

Migrate in passes without duplicates

Run Portage again whenever you like; already-imported records are detected and skipped, so re-runs never create duplicates.

Field-by-field mapping

Exactly which source field lands where. Open a record type to see it.

Lumenbase fieldPipelineDefault pipeline (synthetic)Deal pipelineDefault pipeline (synthetic)
NamenameAlways "Deals"labelAlways "Salesforce pipeline"
Orderorder_nrNot importeddisplayOrderNot imported
  • Attio: Single default pipeline created so Attio deals can attach to a stage.
  • Salesforce: Single pipeline created so Opportunity stages keep their order.

Lumenbase fieldStageDeal stagePipeline stageOpportunity stage
NamenametitlelabelMasterLabel
Orderorder_nrdisplay_orderdisplayOrderSortOrder
Pipelinepipeline_idNot importedpipelineIdNot imported
  • Attio: Archived stages are skipped. With no stages set up in Attio, deals land in one "Open" stage.

Lumenbase fieldOrganizationCompanyCompanyAccount
Namenamevalues.nameproperties.nameName
AddressaddressNot importedproperties.addressBillingStreet + BillingCity + …
PhonephoneNot importedproperties.phonePhone
Websitewebsitevalues.domainsproperties.website | domainWebsite
Ownerowner_idvalues.created_byproperties.hubspot_owner_idOwnerId

Lumenbase fieldPersonPersonContactContact
First namefirst_namevalues.first_name | nameproperties.firstnameFirstName
Last namelast_namevalues.last_name | nameproperties.lastnameLastName
Emailemails[] / emailvalues.email_addressesproperties.emailEmail
Phonephones[] / phonevalues.phone_numbersproperties.phone | mobilephonePhone | MobilePhone
Companyorganization_idvalues.companyproperties.associatedcompanyidAccountId
Ownerowner_idvalues.created_byproperties.hubspot_owner_idOwnerId

Lumenbase fieldDealDealDealOpportunity
Titletitlevalues.nameproperties.dealnameName
Amountvaluevalues.valueproperties.amountAmount
Currencycurrencyvalues.value.currency_codeproperties.deal_currency_codeNot imported
StatusstatusNot importedNot importedIsWon / IsClosedOpen opportunities stay open; closed ones map to won or lost.
Close dateexpected_close_dateNot importedproperties.closedateCloseDate
Ownerowner_idvalues.created_byproperties.hubspot_owner_idOwnerId
StageNot importedvalues.stage.status.idproperties.dealstageStageName
PipelineNot importedNot importedproperties.pipelineNot imported

Lumenbase fieldActivityNoteNoteTask
Activity typetypeMapped to Lumenbase activity enum (call, email, meeting, task, note, …)Always noteAlways noteTaskSubtypeCalls and emails keep their type; everything else lands as task.
TitlesubjecttitleNot importedSubject
Datedue_date / due_time / add_timecreated_atproperties.hs_timestampActivityDate | CreatedDate
Bodynotecontent_plaintextproperties.hs_note_bodyDescription
Ownerowner_idNot importedproperties.hubspot_owner_idOwnerId

Rather not do it yourself?

Messy data, an unusual setup, or no time for it. We can run the migration with you, free.

Try the full workspace free for 30 days. No credit card required.