CRM migration
Field-level mapping, validation, and rollback between Xpressdocs and Nutshell. We move data and schema; workflows are rebuilt natively in Nutshell.
Xpressdocs
Source
Nutshell
Destination
Compatibility
6 of 10
objects map 1:1 between Xpressdocs and Nutshell.
Complexity
BStandard
Timeline
2-4 weeks
Overview
Xpressdocs and Nutshell serve fundamentally different functions — Xpressdocs is a brand management and print-on-demand platform with storefronts, product catalogs, and direct-mail automation; Nutshell is a sales CRM for SMBs that manages people, accounts, deals, and activities. The migration is not a like-for-like swap but a data reduction into a CRM model. We extract contacts and contact lists, product print-catalog data, historical orders, and user accounts, then map them into Nutshell's People, Companies, Deals, and Activities objects. Print templates, storefront branding assets, AmazingMail trigger rules, listing feed data, and custom image gallery binaries do not migrate as records; we deliver a written handoff inventory for each. Xpressdocs does not publish a bulk export API, so we sequence extraction across its per-object endpoints with pagination and coordinate a pre-migration data request to Xpressdocs support to supplement what the API surfaces.
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 Xpressdocs 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.
Xpressdocs
Contact List
Nutshell
People (Nutshell Contacts) + Tag or List
1:manyXpressdocs contact lists are flat groupings of contacts used for direct-mail campaigns. We export each contact list separately and map contacts into Nutshell People records, preserving list membership as Tags on each Person record. If the customer uses list names as a primary segmentation dimension, we create Nutshell Tags (e.g., Tag: storefront-name-listname) to replicate the segmentation logic. Multi-list contacts are de-duplicated by email address and cross-referenced to avoid creating duplicate People records.
Xpressdocs
Contact
Nutshell
Person
1:1Individual contact records migrate to Nutshell Person with name fields, email address, phone, physical mailing address (critical for direct-mail campaign recipients), and any custom contact properties mapped to Nutshell custom fields on Person. The Nutshell Person is created before any associated Company record to satisfy the lookup relationship. We flag contacts without email addresses for the customer to resolve manually, since Nutshell requires an email for CRM-level contact records.
Xpressdocs
Storefront
Nutshell
Company
lossyXpressdocs Storefronts are brand containers tied to specific locations or agents. We map storefronts to Nutshell Company records, using the storefront name as the Company name and the primary contact from that storefront as the linked Person. This preserves the storefront-to-contact relationship in the CRM model. If a storefront has multiple contacts, we link the primary contact to the Company and attach the remaining contacts as related People with a Tag identifying their storefront.
Xpressdocs
Product (Print Catalog)
Nutshell
Custom Fields on Deal or Product
lossyXpressdocs print products (postcards, brochures, door hangers, business cards) with paper type, coating, and pricing do not have a direct Nutshell equivalent since Nutshell has no native product catalog object in its CRM tier. We map product data to custom fields on Nutshell Deal records or to a Nutshell Product configuration (if the customer uses Nutshell's built-in Product feature). Product definitions are preserved as a reference table delivered alongside the migration for the customer's admin to configure post-import.
Xpressdocs
Order
Nutshell
Activity (Note or Task) on Person or Deal
1:1Xpressdocs order history with fulfillment status, delivery method, line items, and contact recipients migrates to Nutshell as Activity records (Notes or Tasks) attached to the relevant Person or Deal. Each order generates a Note with the order number, date, products ordered, quantity, and fulfillment status. If the order is tied to a Deal in Nutshell, we link the Activity to that Deal for pipeline reporting context.
Xpressdocs
Users and Access Roles
Nutshell
Users
1:1Xpressdocs storefront users and their role assignments (Admin, Designer, Orderer) map to Nutshell Users by email match. Role naming conventions differ between platforms, so we map by permission level rather than by name: Xpressdocs Admin maps to a Nutshell admin User, Designer maps to a standard Nutshell User with appropriate record access, and Orderer maps to a Nutshell User with read and write access to People and Deals. We flag any Xpressdocs users without email addresses for manual provisioning.
Xpressdocs
Listing Feed (Real Estate)
Nutshell
Custom Fields on Company or Person
lossyThe Xpressdocs JSON Listing Feed API maintains property records with Agent, Property, Open House, Buyer/Seller, and Picture objects that are not native CRM concepts. We export listing feed data separately from contact lists and map property fields to custom fields on the Nutshell Company or Person record associated with the listing agent. Listing associations are preserved as Notes on the Person record. This data requires a custom field configuration step in Nutshell before migration.
Xpressdocs
AmazingMail Triggers
Nutshell
Written Inventory Document
1:1AmazingMail direct-mail triggers are rule-based campaigns tied to CRM events (service reminders, birthdays, appointment completions) configured against an external CRM. We document each trigger definition (trigger event, contact segment, mailer type, cadence) in a written inventory delivered alongside the migration. These rules do not migrate as automation — Nutshell's CRM layer does not include marketing automation. The customer's admin rebuilds triggers in Nutshell's activity follow-up model or a connected marketing automation tool.
Xpressdocs
Templates
Nutshell
Written Inventory Document
1:1Marketing templates (brand-approved postcard, brochure, and door-hanger designs stored per-storefront) are Xpressdocs platform assets, not structured database records. We document the template library per storefront, including template name, variable-data placeholder fields, and the associated product type. Actual template files are not exportable through the API. The customer downloads template assets directly from Xpressdocs for re-upload to their new print fulfillment vendor.
Xpressdocs
Custom Image Gallery
Nutshell
Written File Transfer Instructions
1:1Brand-specific image galleries in Xpressdocs are stored as platform assets, not structured database records. We export the asset metadata and URL references in a written handoff document. Image files must be transferred separately via direct download from Xpressdocs or requested from Xpressdocs support, since the image binaries are not exposed through the standard export endpoints.
| Xpressdocs | Nutshell | Compatibility | |
|---|---|---|---|
| Contact List | People (Nutshell Contacts) + Tag or List1:many | Fully supported | |
| Contact | Person1:1 | Fully supported | |
| Storefront | Companylossy | Fully supported | |
| Product (Print Catalog) | Custom Fields on Deal or Productlossy | Fully supported | |
| Order | Activity (Note or Task) on Person or Deal1:1 | Fully supported | |
| Users and Access Roles | Users1:1 | Mapping required | |
| Listing Feed (Real Estate) | Custom Fields on Company or Personlossy | Fully supported | |
| AmazingMail Triggers | Written Inventory Document1:1 | Fully supported | |
| Templates | Written Inventory Document1:1 | Mapping required | |
| Custom Image Gallery | Written File Transfer Instructions1: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.
Xpressdocs gotchas
Module activation and per-module implementation fees stack quickly
Listing Feed data lives in a separate schema from contacts
Storefront branding assets require separate transfer
No public bulk data export API documented
AmazingMail trigger rules are tied to external CRM event hooks
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
Pre-migration Xpressdocs data request and API scoping
We submit a data export request to Xpressdocs support on the customer's behalf to supplement what the API surfaces. Simultaneously, we run discovery across all per-object API endpoints to inventory contacts, products, orders, storefronts, users, and any active listing feed connections. We identify which Xpressdocs modules are active (Automated Property Marketing, XpressConnection, eProcurement) and flag module-specific data requiring separate configuration. The discovery output is a written migration scope with a record-count estimate per object type.
Nutshell custom field and tag configuration
We configure Nutshell before any data moves. This includes creating custom fields on Person (for contact properties not in the standard Nutshell schema), Company (for storefront and listing feed fields), and Deal (for print product and order reference fields). We create Tags for contact list segmentation and configure the Tag taxonomy based on the Xpressdocs storefront and contact list hierarchy. The Nutshell admin grants the migration user appropriate field-level access and validates that required fields are not blocking import.
Sandbox extraction and mapping validation
We run a sample extraction against the Xpressdocs API using a subset of records (up to 100 random contacts and associated orders) and import them into a Nutshell trial or sandbox environment. The customer reviews the mapped records, validates that custom field labels are correct, confirms that Tags reflect the intended segmentation, and approves the mapping rules before production extraction begins. Mapping corrections at this stage prevent errors in the full production migration.
Owner and user provisioning in Nutshell
We extract every distinct Xpressdocs user referenced on contact and order records and match by email against the Nutshell destination User table. Any Xpressdocs user without a matching Nutshell User is queued for manual provisioning by the customer's Nutshell admin. User provisioning must complete before Person and Activity records are imported, since Nutshell uses OwnerId references on most standard objects.
Production migration in dependency order
We run production migration in record-dependency order: Nutshell Users (validated before migration), Companies (from Xpressdocs storefronts), Persons (from Xpressdocs contacts, with CompanyId resolved), Tags (for contact list segmentation), Deals (with any product reference fields populated), Activities (orders migrated as Notes or Tasks on Person or Deal), and listing feed data (as custom fields on Company or Person). Each phase emits a row-count reconciliation report before the next phase begins. We use Nutshell's REST API for record inserts with rate-limit handling and exponential backoff.
Cutover, validation, and workflow handoff
We freeze writes in Xpressdocs during cutover and run a final delta migration of any records created or modified during the migration window. We deliver the AmazingMail trigger inventory, template library reference, and custom image gallery file transfer instructions to the customer's admin. We support a 72-hour hypercare window for reconciliation issues. We do not rebuild Xpressdocs marketing workflows or automations in Nutshell; that work is documented and handled by the customer's admin or a separate marketing automation engagement.
Platform deep dives
Xpressdocs
Source
Strengths
Weaknesses
Nutshell
Destination
Strengths
Weaknesses
Complexity grading
Standard CRM migration. 1 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 Xpressdocs and Nutshell.
Object compatibility
1 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
Xpressdocs: Not publicly documented.
Data volume sensitivity
Xpressdocs 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 Xpressdocs to Nutshell migration scoping. Not seeing yours? Book a call.
Walk through your Xpressdocs 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 Xpressdocs
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.