CRM migration
Field-level mapping, validation, and rollback between Highrise and Salesforce Sales Cloud. We move data and schema; workflows are rebuilt natively in Salesforce Sales Cloud.
Highrise
Source
Salesforce Sales Cloud
Destination
Compatibility
10 of 12
objects map 1:1 between Highrise and Salesforce Sales Cloud.
Complexity
BStandard
Timeline
4-6 weeks
Overview
Moving from Highrise to Salesforce Sales Cloud is a migration from a minimalist, flat-rate contact manager to a full enterprise CRM with a fundamentally different data architecture. Highrise stores People and Companies as Party types, Deals and Cases as plain-text exports, and all notes and emails as Recordings; Salesforce uses separate Account, Contact, Lead, and Opportunity objects with typed fields, a formal Opportunity Stage model, and a Case object for service tracking. We handle the TXT parsing for Deals and Cases, resolve the Highrise Party-to-Account-Contact relationship, and use the Salesforce Bulk API for large engagement histories. Highrise has no native automation engine, so there are no Workflows or Sequences to migrate—only an inventory of any Zapier Zaps the customer built outside Highrise. We deliver that Zap inventory as a written handoff document for rebuilding in Salesforce Flow or a dedicated sales engagement tool. Timeline ranges from four weeks for clean, small-account migrations to twelve weeks for accounts with large Cases, complex custom fields, or extensive recording histories.
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 Highrise 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.
Highrise
People
Salesforce Sales Cloud
Contact
1:1Highrise People are the primary contact records and map directly to Salesforce Contact. We extract all standard fields (name, email, phone, address, social links) from the CSV/Excel export and map them to typed Salesforce fields. The Highrise contact's associated Company (Party link) resolves to a Salesforce Account that we create before Contacts are imported. Any Highrise People without a linked Company map to Contacts without an AccountId and are flagged for the customer to assign accounts manually or merge.
Highrise
Companies
Salesforce Sales Cloud
Account
1:1Highrise Companies are a distinct Party type and map to Salesforce Account. The parties.xml API endpoint provides the export, and we preserve the Company-Contact association using Highrise's party_id foreign key. Account is created before any Contact import so that the AccountId Lookup is satisfied at Contact insert. The Company name becomes the Account Name; any custom fields on the Company Party map to custom fields on Account.
Highrise
Deals
Salesforce Sales Cloud
Opportunity
1:1Highrise Deals export as plain-text (.txt) only, not CSV. We parse the TXT output to extract deal name, stage, value (as currency), responsible user (mapped to Salesforce OwnerId), and linked Party. We reconstruct these as Salesforce Opportunity records with the Highrise stage name mapped to a Salesforce StageName value in the configured Sales Process. Closed dates from Highrise migrate to CloseDate. Deals with complex or ambiguous data are flagged for manual review before the final migration step.
Highrise
Cases
Salesforce Sales Cloud
Case
1:1Highrise Cases (Customer Cases) handle support or task tracking and export as TXT only. We parse the text to extract case title, status, linked Party, and responsible user, then map these to Salesforce Case with Subject, Status, and OwnerId resolved. Any embedded attachment references in the TXT output are flagged because attachments cannot transfer through the TXT export mechanism. If the destination Salesforce org includes Service Cloud, Cases map with full Status and Priority field support; otherwise, Cases map to a custom Case__c object in Sales Cloud.
Highrise
Deal Stage
Salesforce Sales Cloud
Opportunity Stage
lossyHighrise's named deal stages (e.g., New, Contacted, Qualified, Won, Lost) are extracted during scoping and mapped to Salesforce StageName values in a pre-configured Sales Process. We create the Sales Process in the destination Salesforce org during the schema design phase, whitelisting only the stages that exist in the Highrise account. Stage probabilities are approximated from Highrise's implied stage progression or set to Salesforce defaults if no probability data is available.
Highrise
Tasks
Salesforce Sales Cloud
Task
1:1Highrise Tasks are standard API-accessible objects and export cleanly via the tasks.xml endpoint. Completed and open tasks transfer with due dates, assignees (mapped to Salesforce OwnerId via the User lookup), and related Party references. Status (completed, open, deferred) maps to Salesforce Task Status, and Priority maps to Task Priority. Tasks linked to Deals resolve to the Opportunity ID after Opportunity import is complete.
Highrise
Notes (Recordings)
Salesforce Sales Cloud
Note
1:1Highrise Notes are stored as Recordings and export as TXT, which strips HTML formatting. We capture the full text content, timestamp, and author (mapped to Salesforce CreatedById via User lookup). Notes are inserted as Salesforce Note records linked via ContentDocumentLink to the parent Contact, Account, or Opportunity. The plain-text-only limitation is disclosed to the customer before migration; any Notes with rich formatting are flagged for post-migration review.
Highrise
Emails (Recordings)
Salesforce Sales Cloud
EmailMessage + Task
1:1Highrise emails are Recordings linked to People or Companies and export as TXT, stripping HTML body content and inline image references. We capture the email metadata (date, from, to, subject, body as plain text) and insert as Salesforce EmailMessage records linked to Tasks on the Contact. The WhoId on the Task points to the migrated Contact; the WhatId points to the related Opportunity if applicable. Email thread continuity in Salesforce relies on the subject-line matching which is outside migration scope.
Highrise
Custom Fields
Salesforce Sales Cloud
Custom Fields
1:1Highrise custom fields on People, Companies, and Deals are accessible via the custom_field_subjects API endpoints. We detect all custom field definitions during scoping, map them to Salesforce custom fields of equivalent type (text, number, date, picklist, checkbox), and pre-create the destination schema before any data import. Custom fields are deployed to the Sandbox for validation before production migration. Any Highrise custom field with no Salesforce equivalent (e.g., a complex multi-select that cannot map to any Salesforce field type) is flagged for customer decision during scoping.
Highrise
Tags
Salesforce Sales Cloud
Tag or Multi-Select Picklist
lossyHighrise Tags are flat labels applied to People, Companies, Deals, and Cases. We export all tags and re-apply them as Salesforce Tags (Platform standard) or as custom multi-select picklist fields on the relevant object, depending on the customer's preference. The many-to-many relationship between records and tags is preserved through either a TagAssignment table or through multi-select field values. The customer chooses the tag strategy during scoping.
Highrise
Users (Owners)
Salesforce Sales Cloud
User
1:1Highrise Users (team members who own records and are assigned to Deals) are exported with name and email. We map them to Salesforce User records by email match. Any Highrise User without a matching Salesforce User is placed in a reconciliation queue, and the customer's Salesforce admin must provision the User before record import resumes because OwnerId references are required on Opportunity and Case records.
Highrise
Text Messages
Salesforce Sales Cloud
Task (TaskSubtype = SMS)
1:1Highrise SMS conversations stored as part of a contact's recording history are captured via the API. Message text and timestamp migrate to Salesforce Task with TaskSubtype = SMS. The SMS content is stored in the Task Description field. Media attachments (images, files) sent via SMS cannot transfer because Highrise's recording export does not preserve media blobs. The customer is informed of this limitation during scoping.
| Highrise | Salesforce Sales Cloud | Compatibility | |
|---|---|---|---|
| People | Contact1:1 | Fully supported | |
| Companies | Account1:1 | Fully supported | |
| Deals | Opportunity1:1 | Mapping required | |
| Cases | Case1:1 | Mapping required | |
| Deal Stage | Opportunity Stagelossy | Fully supported | |
| Tasks | Task1:1 | Fully supported | |
| Notes (Recordings) | Note1:1 | Fully supported | |
| Emails (Recordings) | EmailMessage + Task1:1 | Fully supported | |
| Custom Fields | Custom Fields1:1 | Mapping required | |
| Tags | Tag or Multi-Select Picklistlossy | Fully supported | |
| Users (Owners) | User1:1 | Fully supported | |
| Text Messages | Task (TaskSubtype = SMS)1:1 | Mapping required |
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.
Highrise gotchas
API rate limits are endpoint-specific and aggressive
Deals, Cases, Notes, and Emails export as plain text only
No workflow or automation engine to migrate
Atom feeds are the best source for recording history
Free and Solo tiers have hard contact and storage caps
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
Discovery and data audit
We audit the source Highrise account across all tiers (Free through Enterprise), extracting People, Companies, Deals, Cases, Tasks, and Recordings via the API and built-in export tools. We identify the TXT parsing complexity for Deals and Cases, count custom field definitions, inventory all tags, and list any Zapier or Make automations the customer has built outside Highrise. We also extract the User roster and verify account-contact association ratios. The discovery output is a written migration scope with record counts per object, a schema design brief for the destination Salesforce org, and a flag list of any data requiring manual review before migration.
Schema design and Salesforce Sandbox setup
We design the destination schema in Salesforce. This includes creating custom fields on Account, Contact, Opportunity, and Case that mirror Highrise's custom field definitions; configuring the Sales Process with stages derived from Highrise's deal stage names; setting up Record Types if the customer uses multiple deal pipelines; and provisioning any custom objects if the account uses Salesforce Professional or above. Schema is deployed into a Salesforce Sandbox (Full Copy or Partial Copy) for validation before any production migration step.
Sandbox migration and reconciliation
We run a full migration into the Sandbox using production-like data volume. The customer's RevOps lead or Salesforce admin reconciles record counts (Accounts in, Contacts in, Opportunities in, Cases in, Tasks in, Notes in), spot-checks 25-50 random records against the Highrise source for field-level accuracy, and reviews the TXT-parsed Deal and Case content. Sign-off on the sandbox migration is required before production migration begins. Any mapping corrections, custom field type adjustments, or stage configuration changes happen at this stage.
Owner reconciliation and User provisioning
We extract every distinct Highrise User referenced on Deal, Case, and Task records and match by email against the Salesforce destination org's User table. Any Highrise User without a matching Salesforce User is placed in a reconciliation queue. The customer's Salesforce admin provisions the missing Users (active status based on whether the original Highrise user is still active on the team). Migration cannot proceed past this step because OwnerId references on Opportunity and Case must resolve to a valid Salesforce User.
Production migration in dependency order
We run production migration in record-dependency order: Accounts (from Highrise Companies), Contacts (with AccountId resolved from the Company mapping), Opportunities (from parsed Deal TXT with OwnerId and AccountId resolved), Cases (from parsed Case TXT with OwnerId resolved), Tasks, Notes and Emails (via Salesforce Bulk API 2.0 with parent-record resolution for WhoId and WhatId), Tags (applied as multi-select picklist values or Tag records). Each phase emits a row-count reconciliation report before the next phase begins. TXT-parsed records that flagged for manual review are held until post-migration verification.
Cutover, delta sync, and Zap inventory handoff
We freeze writes to Highrise during cutover, run a final delta migration of any records modified during the migration window (captured via Highrise's updated_at timestamps), then mark Salesforce as the system of record. We deliver the Zap inventory document (all external automations documented with trigger, actions, and recommended Salesforce Flow equivalent) to the customer's admin team. We support a one-week hypercare window for reconciliation issues raised by the sales team. We do not rebuild Zapier Zaps as Salesforce Flow within migration scope; that is a separate engagement or an internal admin task.
Post-migration data quality review
We run a post-migration data quality check comparing record counts and spot-field values between Highrise final state and Salesforce state. We verify that all Contact records have either an AccountId or a null AccountId with a flag for manual account assignment. We confirm that all Opportunity records have an OwnerId, AccountId, and StageName. We flag any Case records that arrived with truncated content from the TXT parsing. The customer receives a final migration report with record counts, any remaining data gaps, and recommended cleanup actions for their Salesforce admin.
Platform deep dives
Highrise
Source
Strengths
Weaknesses
Salesforce Sales Cloud
Destination
Strengths
Weaknesses
Complexity grading
Standard CRM migration. 3 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 Highrise and Salesforce Sales Cloud.
Object compatibility
3 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
Highrise: 150 req/5s general; 2 req/10s for email search; 10 req/10s for recordings.xml. Returns 503 with Retry-After header on exceeded limits..
Data volume sensitivity
Highrise 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 Highrise to Salesforce Sales Cloud migration scoping. Not seeing yours? Book a call.
Walk through your Highrise 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 Highrise
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.