CRM migration
Field-level mapping, validation, and rollback between Contact Beacon and Nutshell. We move data and schema; workflows are rebuilt natively in Nutshell.
Contact Beacon
Source
Nutshell
Destination
Compatibility
6 of 8
objects map 1:1 between Contact Beacon and Nutshell.
Complexity
BStandard
Timeline
2-4 weeks
Overview
Moving from Contact Beacon to Nutshell is a structured migration from a nonprofit-focused CRM with built-in Gift Aid handling to a general-purpose B2B sales CRM. Contact Beacon stores donor records, giving history, and fundraising pipelines in a flat object model; Nutshell does not have a native donations object, so we map gifts to custom activity records with date, amount, campaign tag, and Gift Aid status stored as custom fields. We preserve the donation-to-contact parent lookup during import, sequence campaigns as Nutshell Lists or Tags, and document all active Beacon workflows for the customer's admin to rebuild in Nutshell's automation builder. Because Beacon lacks bulk export endpoints, all data extraction runs through paginated API reads with rate-limit pacing.
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 Nutshell, 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
Nutshell
Person
1:1Contact Beacon Contacts map directly to Nutshell People records. Standard fields (first name, last name, email, phone, address) migrate to equivalent Nutshell Person fields. Custom properties on Contact migrate to Nutshell custom fields which must be pre-created before migration. Owner assignment maps to the Nutshell user field by email match. We flag any multi-select custom fields that exceed Nutshell's multi-select picklist limits and resolve them as text fields or separate tag records.
Contact Beacon
Donation
Nutshell
Activity (custom activity type)
1:1Contact Beacon Donations do not have a native Nutshell equivalent, so we create a custom Activity type (e.g. Donation) in Nutshell before migration. The donation amount, date, and campaign tag migrate as custom fields on the Activity. The Gift Aid boolean flag from Beacon maps to a custom Yes/No or checkbox field in Nutshell. The parent Contact relationship is preserved as a Person link on the Activity record. This mapping requires custom field schema creation in Nutshell during the setup phase.
Contact Beacon
Campaign
Nutshell
List or Tag
lossyContact Beacon Campaigns (fundraising appeals or event groups) map to Nutshell Lists or Tags depending on how the customer uses them. We recommend mapping to Nutshell Lists for structured donor groups used in reporting, and to Tags for informal labels used for segmentation. Campaign name, status, and start/end dates migrate as List metadata or Tag description fields. The customer chooses the strategy during scoping.
Contact Beacon
Pipeline
Nutshell
Pipeline (stage-based)
lossyBeacon Pipelines track donor journeys and fundraising stages (e.g. Prospect, Solicited, Cultivation, Active Gift, Committed). We map these to Nutshell deal pipeline stages, renaming stages to match the destination terminology. Conditional stage-routing rules defined in Beacon are documented as part of the workflow inventory and must be manually reconfigured in Nutshell's pipeline settings. Stage order and probability percentages are preserved where Nutshell supports them.
Contact Beacon
Custom Field
Nutshell
Custom Field
1:1Contact Beacon custom fields on Contacts and Donations are discovered during scoping and mapped to Nutshell custom fields of equivalent type. Single-line text maps to Nutshell text fields, dates map to date fields, numbers map to numeric fields, and checkboxes map to yes/no fields. Multi-select picklists from Beacon may exceed Nutshell's limits; we flag these and resolve them as text fields. The Nutshell custom field schema must be created before any record migration begins.
Contact Beacon
Tag
Nutshell
Tag
1:1Tags on Contact Beacon Contacts and Donations migrate as flat label arrays to Nutshell Tags. Tags that are associated with inactive Beacon workflows are flagged during scoping and documented as candidates for cleanup before migration. Active workflow-linked tags are preserved with a note that the associated automation must be rebuilt in Nutshell.
Contact Beacon
Attachment
Nutshell
File (via Activity or Person)
1:1File attachments on Contact records are downloaded via individual Contact Beacon API requests and re-uploaded to Nutshell as files attached to the corresponding Person record or Activity record. Large attachment batches are chunked to stay within Beacon's rate limits. We do not migrate attachment version history; only the current file is transferred.
Contact Beacon
User
Nutshell
User
1:1Contact Beacon user accounts are mapped to Nutshell user records by email address. Active Beacon users map to active Nutshell users; inactive Beacon users map to inactive or archived Nutshell users depending on the customer's preference. Any Beacon user without a matching Nutshell account goes to a reconciliation queue for the customer's admin to provision before record migration.
| Contact Beacon | Nutshell | Compatibility | |
|---|---|---|---|
| Contact | Person1:1 | Fully supported | |
| Donation | Activity (custom activity type)1:1 | Fully supported | |
| Campaign | List or Taglossy | Fully supported | |
| Pipeline | Pipeline (stage-based)lossy | Fully supported | |
| Custom Field | Custom Field1:1 | Fully supported | |
| Tag | Tag1:1 | Fully supported | |
| Attachment | File (via Activity or Person)1:1 | Fully supported | |
| User | User1: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
Nutshell gotchas
Contact tier limits enforced on import
No bulk API endpoint requires paginated extraction
Email sequences not exportable via API
Foundation plan disables key sales features
Pair-specific challenges
Migration approach
Discovery and scoping
We audit the source Contact Beacon account across object count (Contacts, Donations, Campaigns), active workflows, custom fields, pipeline stages, user list, and attachment volume. We review Nutshell's target plan tier to confirm that the required custom field count and pipeline configuration are supported. The discovery output is a written migration scope with object mapping, custom field list, workflow inventory, and Nutshell plan recommendation.
Nutshell custom schema setup
We create the custom activity type (Donation), custom fields (Gift Aid flag, campaign tag, amount), and pipeline stages in Nutshell before any data import begins. Pipeline stages are mapped from Beacon's fundraising stages to Nutshell deal stages. Custom fields are created in Nutshell's field settings and verified accessible to the migration user before extraction begins. This step requires Nutshell admin credentials.
Paginated extraction from Contact Beacon
We extract all Contacts, Donations, Campaigns, Tags, and Attachments via Beacon's paginated API with rate-limit handling. Because Beacon has no bulk endpoint, extraction for large datasets runs across multiple sessions and overnight windows to avoid throttling. We pull donations linked to their parent Contacts in a single extraction pass to preserve the relationship, then cross-reference at load time. A reconciliation count is generated before each phase begins.
Owner and user reconciliation
We extract every distinct Contact Beacon user referenced as an owner and match them by email against the Nutshell user list. Users without a matching Nutshell account are held in a reconciliation queue. The customer's Nutshell admin provisions any missing users (active or inactive depending on whether the original Beacon user is still active). Migration cannot proceed past this step because OwnerId references are required on most imports.
Production migration in dependency order
We run production migration in record-dependency order: Nutshell Users (validated), custom field schema (verified), Campaigns (as Nutshell Lists), People (from Beacon Contacts), Activities (from Beacon Donations with Gift Aid and campaign links resolved), Tags, and Attachments (re-uploaded per record). Each phase emits a row-count reconciliation report before the next phase begins. The Gift Aid boolean maps to the custom Nutshell field created during setup.
Cutover, validation, and workflow handoff
We freeze Beacon writes during cutover, run a final delta migration of any records modified during the migration window, then enable Nutshell as the system of record. We deliver the workflow and automation inventory document to the customer's admin team with recommended Nutshell Sales Automation equivalents for each active Beacon workflow. We support a one-week hypercare window for reconciliation issues. Rebuilding Beacon workflows in Nutshell is outside the standard migration scope.
Platform deep dives
Contact Beacon
Source
Strengths
Weaknesses
Nutshell
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 Nutshell.
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 Nutshell migration scoping. Not seeing yours? Book a call.
Walk through your Contact Beacon to Nutshell 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 Nutshell
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.