CRM migration
Field-level mapping, validation, and rollback between Blackbaud and Nutshell. We move data and schema; workflows are rebuilt natively in Nutshell.
Blackbaud
Source
Nutshell
Destination
Compatibility
12 of 12
objects map 1:1 between Blackbaud and Nutshell.
Complexity
BStandard
Timeline
3–5 days
Overview
Blackbaud Raiser’s Edge NXT and Nutshell serve fundamentally different markets, and that shapes every aspect of the migration. Blackbaud is a nonprofit fundraising platform built around the Constituent object — donors, members, volunteers, and households with a full gift history, campaign attribution, and fund accounting model. Nutshell is a commercial CRM built around People (contacts), Companies (accounts), Leads, and Deals with a simpler entity-relationship model. The migration carries constituent records, gift histories, campaigns, and Blackbaud custom attributes into Nutshell People records with custom fields and Notes for gift context. The hard problems are: Blackbaud's Gift table has no direct Nutshell equivalent (gifts become Notes or custom fields on People); Blackbaud campaigns map to Nutshell Campaigns but fund-level accounting does not translate; Blackbaud's SKY API enforces a 10 calls-per-second throttle and 25,000 calls-per-day quota on Standard Edition which governs export pacing; and Blackbaud Workflow Designer automations cannot migrate — they must be rebuilt using Nutshell's email sequences and task assignments. We sequence the migration: constituents → companies/people, then gifts and activities as Notes, then campaigns, with a delta-pickup window capturing any records modified during cutover. A sample migration with field-level diff runs before the full commit so you verify every mapping before data lands.
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 Blackbaud 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.
Blackbaud
Constituent
Nutshell
Person
1:1Blackbaud Constituent records map to Nutshell People with a direct field-level correspondence. Every constituent attribute including name, address, email, phone, employer, and giving summary maps to the corresponding Nutshell Person field. The original Blackbaud constituent ID is preserved as a custom field on the Nutshell Person record to maintain traceability and enable delta-run deduplication.
Blackbaud
Constituent (household)
Nutshell
Person + Company
1:1Blackbaud household constituents split into the household head as the primary Nutshell Person and the household as a Company record with the household name. Other household members become related Person records. Nutshell does not have a native household model — this is the closest approximation using existing entity types.
Blackbaud
Organization Constituent
Nutshell
Company
1:1Constituent records typed as Organization in Blackbaud migrate as Nutshell Company records. Organization name, address, industry classification, and other organizational attributes map directly to the corresponding Nutshell Company fields. When the Blackbaud constituent record includes a primary contact designation, that individual is created as a related Nutshell Person record and linked to the Company via the standard contact association mechanism.
Blackbaud
Gift
Nutshell
Note (on Person)
1:1Blackbaud Gift records have no direct Nutshell equivalent. We extract gift date, amount, fund, appeal, payment method, soft credit, and pledge balance, then write these as a formatted Note on the corresponding Nutshell Person record. Gift metadata (fund name, appeal code) preserved as a custom currency field if the client requires structured gift amounts.
Blackbaud
Campaign
Nutshell
Campaign
1:1Blackbaud Campaigns migrate as Nutshell Campaigns. Campaign name, start date, end date, goal amount, and status map directly. Note that Nutshell Campaigns track marketing campaign membership and email performance — fundraising campaign ROI reporting requires custom fields and is handled separately.
Blackbaud
Fund
Nutshell
Custom field (text) on Gift Note
1:1Blackbaud Fund records track restricted and unrestricted giving at a granular level that Nutshell cannot model natively. We preserve fund codes and fund names as text fields appended to each gift Note. If fund-level reporting is required in Nutshell, we create a Fund custom field on the Person record and flag fund assignments for manual reconciliation.
Blackbaud
Appeal
Nutshell
Custom field (text) on Gift Note
1:1Blackbaud Appeals track the specific solicitation that generated a gift. Appeal codes and descriptions map to a custom text field on each gift Note. Value-by-value mapping is applied where Blackbaud uses coded appeal identifiers — the full appeal name is resolved from the Blackbaud appeal table.
Blackbaud
Action
Nutshell
Task
1:1Blackbaud Actions (tasks, calls, meetings logged against a constituent) migrate as Nutshell Tasks. Action type, due date, status, description, and owner map directly. The constituent link is preserved as the Task's associated Person. Completed date maps to the Nutshell Task completed timestamp.
Blackbaud
Event
Nutshell
Note (on Person/Company)
1:1Blackbaud Events track constituent participation in fundraisers and programs. Event name, date, type, and attendance status migrate as Notes on the constituent's Nutshell Person record. If the client uses Blackbaud Event modules heavily, we create a custom Event Type pick-list field on the Person to support filtering.
Blackbaud
Custom Field (Attribute)
Nutshell
Custom Field (on Person/Company/Lead)
1:1Blackbaud custom attributes (called 'categories' in the SKY API) create a custom field in Nutshell on the applicable entity type (Person, Company, or Lead). Field data type is inferred from Blackbaud's attribute type field: Boolean → checkbox, Text → text, Number → number, Date → date, CodeTableEntry → pick-list. Nutshell's Settings > Custom Fields UI is used to create each mapped attribute before migration.
Blackbaud
Pledge
Nutshell
Note + Custom field on Person
1:1Blackbaud Pledge records track multi-year commitments with installment schedules. We migrate the pledge ID, total amount, start date, and installment schedule as a structured Note on the Person. Outstanding balance is preserved as a custom currency field so the team can see open pledge exposure without querying Blackbaud.
Blackbaud
Recurring Gift
Nutshell
Note + Custom field on Person
1:1Blackbaud Recurring Gift schedules migrate as Notes with the frequency, amount, next payment date, and status. Nutshell has no native recurring gift object — this is a reference migration preserving the schedule details so the finance team can rebuild recurring gift tracking in their payment processor or Nutshell's task-based reminder model.
| Blackbaud | Nutshell | Compatibility | |
|---|---|---|---|
| Constituent | Person1:1 | Fully supported | |
| Constituent (household) | Person + Company1:1 | Fully supported | |
| Organization Constituent | Company1:1 | Fully supported | |
| Gift | Note (on Person)1:1 | Fully supported | |
| Campaign | Campaign1:1 | Fully supported | |
| Fund | Custom field (text) on Gift Note1:1 | Fully supported | |
| Appeal | Custom field (text) on Gift Note1:1 | Fully supported | |
| Action | Task1:1 | Fully supported | |
| Event | Note (on Person/Company)1:1 | Fully supported | |
| Custom Field (Attribute) | Custom Field (on Person/Company/Lead)1:1 | Fully supported | |
| Pledge | Note + Custom field on Person1:1 | Fully supported | |
| Recurring Gift | Note + Custom field on Person1: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.
Blackbaud gotchas
SKY API rate limits constrain bulk migration throughput
NXT web view enforces different data entry workflows than legacy Database view
Custom field code tables must be pre-created in the destination
File relocation takes 2-6 hours and is not resumable
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
Audit Blackbaud constituent schema and custom attribute catalog
FlitStack AI connects to your Blackbaud SKY API using read-only credentials and enumerates all active constituent fields, custom attribute categories, gift fields, campaign structure, and fund definitions. We document the full field list before writing a single record to Nutshell. If your Blackbaud implementation uses multiple record types (Individual, Organization, Household) with different field sets, we map each variant separately. This audit produces the migration specification that governs all downstream field mapping decisions.
Create Nutshell custom fields to match Blackbaud attribute catalog
Before any data moves, FlitStack AI creates the custom fields in Nutshell required to receive Blackbaud data — custom pick-lists for constituent type and gift payment method, custom currency fields for lifetime giving and pledge balance, custom date fields for last gift date and original create date, and custom text fields for fund codes and appeal descriptions. We create these via the Nutshell custom field API so the schema is in place before the first record is written. Your Nutshell admin reviews and approves the custom field list before the migration specification is finalized.
Export constituents with SKY API rate-limit pacing
Constituent records are exported using the Blackbaud SKY API with adaptive pacing that respects the 10 calls-per-second throttle and tracks the daily call quota. For large databases, export runs over multiple days using a checkpoint mechanism that resumes from the last processed constituent ID. Each constituent's gift history, action log, and custom attributes are batched with the parent record so the relationship is preserved during the load. All export operations use scoped read access — your Blackbaud account remains fully operational during the export window.
Run sample migration with field-level diff
A representative sample (typically 200–500 constituents spanning individual, organization, and household types, with a range of gift histories) migrates first. FlitStack AI generates a field-level diff showing the exact values written to each Nutshell field for each source record. You verify that gift Note formatting matches your expectations, custom fields capture the correct values, and constituent-to-Company linking resolves correctly. If any mapping needs adjustment, we update the specification and re-run the sample before committing the full migration.
Full migration with delta-pickup and audit log
The full constituent database migrates to Nutshell with constituent records written first, then related Companies, then gift Notes and campaign memberships. A delta-pickup window (24–48 hours from the sample sign-off) captures any Blackbaud records modified during the cutover period. Every operation is written to an audit log — record counts, error rates, and skipped records are surfaced in a migration dashboard. If reconciliation fails, one-click rollback removes all migrated records and you can re-run after fixing the specification.
Platform deep dives
Blackbaud
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 Blackbaud 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
Blackbaud: 10 calls/second (fixed, cannot be increased) and 25,000 calls per 24 hours on Standard Edition. Daily quota can be increased via Account Executive..
Data volume sensitivity
Blackbaud exposes a bulk API — large-volume migrations stream efficiently.
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 Blackbaud to Nutshell migration scoping. Not seeing yours? Book a call.
Walk through your Blackbaud 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 Blackbaud
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.