CRM migration
Field-level mapping, validation, and rollback between Contact Beacon and Salesforce Sales Cloud. We move data and schema; workflows are rebuilt natively in Salesforce Sales Cloud.
Contact Beacon
Source
Salesforce Sales Cloud
Destination
Compatibility
9 of 12
objects map 1:1 between Contact Beacon and Salesforce Sales Cloud.
Complexity
BStandard
Timeline
4-6 weeks
Overview
Moving from Contact Beacon to Salesforce is a migration from a charity-specific flat object model to a structured relational CRM with unlimited customization. Beacon centers on Contacts, Donations, and Campaigns with a Gift Aid boolean flag; Salesforce uses Contacts linked to Accounts, Opportunities for donations, and Campaigns for appeal grouping. We extract Beacon data via paginated API reads since no bulk endpoint exists, normalize field names, and reattach Donation-to-Contact parent relationships during the Salesforce import. Gift Aid claiming status migrates as a custom field or to an equivalent Tax Status field depending on the destination org configuration. Beacon's automated workflows (Gift Aid submission triggers, thank-you email sequences, donor follow-up timers) have no export path and must be rebuilt in Salesforce Flow by your admin team. We deliver a written workflow audit during scoping so nothing is lost in the transition. Pipelines, Tags, Custom Fields, and Attachments all migrate; Workflows, Sequences, and Reports do not.
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 Contact Beacon 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.
Contact Beacon
Contact
Salesforce Sales Cloud
Contact
1:1Beacon Contacts map directly to Salesforce Contacts. Standard fields (Name, Email, Phone, Address) migrate as typed Salesforce fields. Owner assignment maps to Salesforce OwnerId via email-matched User lookup. We flag any contacts with a revoked API key in Beacon as inactive Salesforce Users pending reactivation.
Contact Beacon
Contact
Salesforce Sales Cloud
Account
lossyBeacon's flat object model does not separate individuals from organizations. If Beacon Contacts include organization-named records (e.g., Company Contact type), we split these into Salesforce Account records with the individual contact attached as a Contact linked via AccountId. The customer chooses during scoping whether individual-only Beacon databases skip the Account layer.
Contact Beacon
Donation
Salesforce Sales Cloud
Opportunity
1:1Beacon Donations map to Salesforce Opportunities with the Donation Amount as Amount, Donation Date as CloseDate, and the campaign tag as CampaignId lookup. Opportunity Name is auto-generated as '{Contact Name} - {Campaign} - {Date}'. We preserve the Gift Aid boolean as a custom Opportunity field Gift_Aid_Declared__c (checkbox) or map to the Tax Exempt field if the destination org has configured it. Donation status (pending, completed, refunded) maps to Opportunity StageName values configured during schema design.
Contact Beacon
Campaign
Salesforce Sales Cloud
Campaign
1:1Beacon Campaigns map to Salesforce Campaign with Campaign Name, Status (Planned, Active, Completed, Archived), StartDate, and EndDate. We resolve campaign-to-contact membership through CampaignMember records inserted after both Contact and Campaign are in Salesforce. Fundraising appeal type (individual giving, event, grant) maps to Campaign Type picklist.
Contact Beacon
Pipeline
Salesforce Sales Cloud
Opportunity Stage + Sales Process
lossyBeacon donor journey pipeline stages migrate to Salesforce Sales Processes as Stage entries with associated probability values. Any conditional stage-routing rules (e.g., automatic escalation based on donation amount thresholds) must be manually reconfigured in Salesforce Flow after migration. We document every stage name and sequence during scoping.
Contact Beacon
Custom Field (Contacts)
Salesforce Sales Cloud
Custom Field (Contact)
1:1Beacon per-organization custom fields on Contacts are discovered during scoping, typed (text, number, date, checkbox, picklist), and created in Salesforce before Contact import. Multi-select picklist fields from Beacon migrate to Salesforce multi-select picklists. Any unsupported field types (e.g., complex JSON blobs stored in text fields) are flagged and stored as Long Text Area fields for manual review.
Contact Beacon
Custom Field (Donations)
Salesforce Sales Cloud
Custom Field (Opportunity)
1:1Beacon custom fields on Donations (e.g., donation sub-type, pledge installment number, gift designation) map to custom Opportunity fields. We pre-create these in Salesforce during the schema design phase. Gift Aid declaration date migrates to Gift_Aid_Date__c if the Gift Aid flag is stored as a custom checkbox.
Contact Beacon
Tag
Salesforce Sales Cloud
Topic or Multi-Select Picklist
lossyBeacon tags on Contacts and Donations migrate as flat label arrays. We map them to Salesforce Topics with TopicAssignment records for broad tagging, or to a custom multi-select picklist field on Contact if the customer prefers a structured taxonomy. Tags that correspond to inactive Beacon workflows are flagged with a note in the migration inventory.
Contact Beacon
Attachment
Salesforce Sales Cloud
ContentDocument + ContentVersion
1:1File attachments on Beacon Contact records are downloaded via individual API requests, chunked to stay within Beacon's rate limits, and re-uploaded to Salesforce as ContentVersion records linked via ContentDocumentLink to the parent Contact. Large batches (>500 files) are split into phases to avoid timeout. We store the original filename and mime type in the ContentVersion Description field for audit.
Contact Beacon
User
Salesforce Sales Cloud
User
1:1Beacon User accounts are mapped to Salesforce Users by email match. Inactive Beacon users import as inactive Salesforce Users (or archived depending on destination org settings). Owner assignments on Contact, Donation, and Campaign records resolve to the matched User ID. Users without a Salesforce match enter a reconciliation queue for admin provisioning before record import continues.
Contact Beacon
Workflow
Salesforce Sales Cloud
Salesforce Flow
1:1Beacon automated workflows (Gift Aid submission triggers, thank-you email sequences, donor follow-up timers) have no UI or API export path. We run a workflow audit during scoping, documenting every automation's trigger, conditions, actions, and delay logic. The customer receives a written Flow design guide with recommended Salesforce Flow equivalents. Rebuild is outside migration scope.
Contact Beacon
Report
Salesforce Sales Cloud
Salesforce Report
1:1Beacon reports and dashboards do not export as reusable definitions. We document every active report name, filters, and metrics during scoping and deliver a written inventory for the customer to rebuild in Salesforce Reports & Dashboards or Analytics Cloud. Historical data is available in Salesforce post-migration for building new reports.
| Contact Beacon | Salesforce Sales Cloud | Compatibility | |
|---|---|---|---|
| Contact | Contact1:1 | Fully supported | |
| Contact | Accountlossy | Fully supported | |
| Donation | Opportunity1:1 | Fully supported | |
| Campaign | Campaign1:1 | Fully supported | |
| Pipeline | Opportunity Stage + Sales Processlossy | Fully supported | |
| Custom Field (Contacts) | Custom Field (Contact)1:1 | Fully supported | |
| Custom Field (Donations) | Custom Field (Opportunity)1:1 | Fully supported | |
| Tag | Topic or Multi-Select Picklistlossy | Fully supported | |
| Attachment | ContentDocument + ContentVersion1:1 | Fully supported | |
| User | User1:1 | Fully supported | |
| Workflow | Salesforce Flow1:1 | Fully supported | |
| Report | Salesforce Report1: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.
Contact Beacon gotchas
API keys are shown once and never recoverable
No bulk export endpoint forces paginated extraction
Revoked API keys are permanently invalidated
Workflows have no export path
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 scoping
We audit the source Beacon account across custom fields on Contacts and Donations, active pipeline stages, campaign count and types, tag taxonomy, workflow inventory, attachment volume, and user list. We confirm the destination is Salesforce Sales Cloud or Nonprofit Cloud and identify the target edition. We document every Beacon workflow and report for the rebuild handoff. The discovery output is a written migration scope, field mapping spreadsheet, and workflow audit document.
Schema design in Salesforce Sandbox
We deploy the destination schema into a Salesforce Sandbox (Full Copy or Partial Copy) before touching production. This includes creating custom Opportunity fields for Gift Aid status and declaration date, configuring Opportunity Stages mapped to Beacon pipeline stages, creating Salesforce Campaigns with the appropriate Type picklist values, and creating any custom multi-select picklists for tag migration. Page Layouts and Record Types are configured per object. The schema deploys via Salesforce metadata API or change set.
Paginated data extraction from Beacon
We extract Beacon data via paginated API reads, pulling Contacts, Donations, Campaigns, Tags, Attachments, and Custom Field values in dependency order. Attachments are downloaded in chunked batches to stay within rate limits. We run extractions during off-peak hours for large datasets. Each object export produces a row-count reconciliation file and a field-level sample for the customer to validate before transformation begins.
Transformation and field mapping
We transform Beacon records into Salesforce-shaped payloads. Contacts with organization names split into Account and Contact records. Donations transform to Opportunities with Gift Aid boolean mapped to Gift_Aid_Declared__c. Campaign membership resolves via CampaignMember records after both Contact and Campaign are present. Tags transform to TopicAssignment or multi-select picklist per the customer's chosen strategy. Custom fields type-map to their Salesforce equivalents. Owner resolution happens via email-matched User lookup with a reconciliation queue for unmatched owners.
Sandbox migration and reconciliation
We run a full migration into the Salesforce Sandbox with production-like data volume. The customer's RevOps or fundraising lead spot-checks 25-50 random Contact and Donation records against the Beacon source, validates Gift Aid flags, campaign assignments, and attachment presence, and signs off the mapping before production migration begins. Any field mapping corrections, custom field additions, or stage name adjustments happen in Sandbox before production cutover.
Production migration and cutover
We run the production migration in dependency order: Accounts (if splitting org-named contacts), Contacts, Campaigns, Opportunities (with Gift Aid flags), CampaignMembers, Tags, Attachments, Custom Fields. Each phase emits a reconciliation row-count report. We freeze Beacon writes during cutover, run a final delta migration of any records modified during the window, then enable Salesforce as the system of record. The workflow audit document is delivered to the customer's admin team for Flow rebuild. We provide a one-week hypercare window for reconciliation issues raised by the fundraising team.
Platform deep dives
Contact Beacon
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 Contact Beacon 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
Contact Beacon: Not publicly documented in customer-facing materials; rate-limit headers returned on 429 responses.
Data volume sensitivity
Contact Beacon 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 Contact Beacon to Salesforce Sales Cloud migration scoping. Not seeing yours? Book a call.
Walk through your Contact Beacon 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 Contact Beacon
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.