CRM migration
Field-level mapping, validation, and rollback between Demandforce and Nutshell. We move data and schema; workflows are rebuilt natively in Nutshell.
Demandforce
Source
Nutshell
Destination
Compatibility
12 of 12
objects map 1:1 between Demandforce and Nutshell.
Complexity
BStandard
Timeline
48–72 hours
Overview
Demandforce is a patient-communication and appointment-management platform built for service businesses — dental practices, auto repair shops, and salons — with strength in automated appointment reminders, two-way texting, review collection, and email marketing. Its data model centers on People, Companies, Appointments, Communications (emails and texts), Review Requests, and Campaigns. Nutshell is a sales-focused CRM for small and mid-sized teams with core objects for People, Companies, Leads, Deals, and Activities (Tasks and Emails). The two platforms share standard CRM primitives — name, email, phone, company association, and activity logging — but diverge significantly on appointment management, pipeline stages, marketing automation, and healthcare-specific fields. FlitStack AI extracts your Demandforce data via API or structured export, maps contacts to Nutshell People and companies to Nutshell Companies, converts Demandforce appointment records into Nutshell Tasks with original timestamps and owner assignments, and flags every Demandforce custom field for manual re-creation in Nutshell's custom-field editor. Demandforce workflows, automations, review-request sequences, and email templates do not migrate — they require manual rebuild in Nutshell. A delta-pickup window captures in-flight appointments and communications during cutover.
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 Demandforce 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.
Demandforce
Person / Contact
Nutshell
Person
1:1Demandforce people (patients or clients) map directly to Nutshell People. Core fields — name, email address, phone number, and mailing address — transfer as-is. Demandforce owner assignments (the staff member linked to each contact) map to Nutshell's 'assigned_to' user field via email-match resolution. Unmatched owners are flagged before the migration commits.
Demandforce
Company / Practice Location
Nutshell
Company
1:1Demandforce companies (practice names and business entities) map to Nutshell Companies. Company name, website domain, physical address, and industry classification transfer as direct field mappings. For multi-location Demandforce accounts, each location becomes a separate Nutshell Company — FlitStack AI preserves location-specific address and contact data per record.
Demandforce
Appointment
Nutshell
Task
1:1Demandforce appointment records have no direct Nutshell equivalent. Each appointment converts to a Nutshell Task with the original appointment date and time preserved as the task due date, the appointment status (confirmed, cancelled, no-show) stored in a custom 'Appointment_Status__c' field, and the Demandforce appointment type stored as a custom 'Appointment_Type__c' field. The linking person (patient) is associated via Nutshell's person-task relationship.
Demandforce
Communication (Email)
Nutshell
Email (Person Activity)
1:1Demandforce email logs — outbound marketing emails, confirmation emails, and recall reminders — are stored as Communication records with timestamps and content. These migrate as Nutshell Emails linked to the corresponding Person record, with the original send date preserved and the email subject line carried forward. Email body content migrates as a note attachment.
Demandforce
Communication (Text / SMS)
Nutshell
Task with 'SMS' type flag
1:1Demandforce two-way text messages migrate as Nutshell Tasks with a custom 'Communication_Type__c' field set to 'SMS'. The original message content, direction (inbound/outbound), and timestamp transfer. Because Nutshell's Engagement SMS product is a separate add-on, the text content is preserved as activity history but will not be visible inside Nutshell's native SMS interface without the Engagement add-on.
Demandforce
Review Request
Nutshell
Note on Person
1:1Demandforce's automated review-request workflow generates review invitation records with statuses (sent, opened, reviewed). Nutshell has no native review-request object. Review request history migrates as a Note on the Person record containing the original review request date, status, and platform (Google, Facebook, etc.) — stored for historical reference but not re-triggered in Nutshell.
Demandforce
Campaign / Email Campaign
Nutshell
Note on Company or Person
1:1Demandforce email campaigns (templates, send dates, audience lists) have no Nutshell equivalent. Campaign metadata — campaign name, subject line, send date, and recipient count — migrates as a Note on the associated Company record. Individual campaign member records do not transfer because Nutshell does not have a campaign membership model. The campaign audience list itself must be rebuilt using Nutshell Marketing's audience segmentation.
Demandforce
Demandforce Custom Fields (People)
Nutshell
Nutshell Custom Fields (People)
1:1Demandforce custom fields on Person records — such as patient account numbers, treatment histories, or recall dates — require manual re-creation in Nutshell's custom field editor (Settings > People > Custom Fields). FlitStack AI generates a field-mapping manifest listing every Demandforce custom field, its data type, and its current value distribution so Nutshell admins can create matching fields before or after the migration.
Demandforce
Demandforce Custom Fields (Companies)
Nutshell
Nutshell Custom Fields (Companies)
1:1Demandforce custom fields on Company records — such as multi-location groupings, practice type, or recall scheduling preferences — are documented in the mapping manifest. These must be created manually in Nutshell's Settings > Companies > Custom Fields. FlitStack AI provides the complete list with pick-list values and data types so the Nutshell admin can pre-build the schema.
Demandforce
Owner / Staff Member
Nutshell
User
1:1Demandforce staff members (owners assigned to contacts, appointments, and campaigns) are matched to Nutshell users by email address. Unmatched Demandforce owners — staff who will not have Nutshell accounts — are reassigned to a designated fallback user before migration. Owner resolution is validated in the sample migration phase so no contact lands without a valid Nutshell user assignment.
Demandforce
Tag / Label
Nutshell
Tag
1:1Demandforce uses tags to categorize contacts (e.g., 'recall-due', 'high-value-patient', 'referral-source'). Tags migrate as Nutshell Tags on the Person record. Tag names transfer as-is. Because Nutshell tags are free-form labels (not pick-list controlled), there is no value-mapping required — the full tag vocabulary migrates.
Demandforce
Lead (pre-appointment)
Nutshell
Lead
1:1Demandforce records people in a pre-appointment state — those who requested an appointment but have not yet been seen — as leads. These map to Nutshell Leads with the original inquiry date and communication channel preserved. Leads that convert to appointments in Demandforce will have both a Lead record and an Appointment record; the migration links both to the corresponding Nutshell Person.
| Demandforce | Nutshell | Compatibility | |
|---|---|---|---|
| Person / Contact | Person1:1 | Fully supported | |
| Company / Practice Location | Company1:1 | Fully supported | |
| Appointment | Task1:1 | Fully supported | |
| Communication (Email) | Email (Person Activity)1:1 | Fully supported | |
| Communication (Text / SMS) | Task with 'SMS' type flag1:1 | Fully supported | |
| Review Request | Note on Person1:1 | Fully supported | |
| Campaign / Email Campaign | Note on Company or Person1:1 | Fully supported | |
| Demandforce Custom Fields (People) | Nutshell Custom Fields (People)1:1 | Fully supported | |
| Demandforce Custom Fields (Companies) | Nutshell Custom Fields (Companies)1:1 | Fully supported | |
| Owner / Staff Member | User1:1 | Fully supported | |
| Tag / Label | Tag1:1 | Fully supported | |
| Lead (pre-appointment) | Lead1: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.
Demandforce gotchas
Appointment sync runs on a daily batch schedule
Thank-you emails are PMS billing-triggered
Data lives in the connected PMS, not in Demandforce
Sync filters must include at least one of each type
No publicly documented bulk export API
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
Extract Demandforce data via API and scoped export
FlitStack AI connects to your Demandforce account using your API Access Key and scheduled data-push credentials. We extract all Person records (with custom fields), all Company records (with location-specific addresses), all Appointment records (with status, type, and linked person), all Communication records (emails and texts with timestamps and direction), all Tag records, and all Owner/staff assignments. Because Demandforce limits synchronized data pushes to three per day, we coordinate incremental API reads across multiple push windows and supplement with manual CSV exports where the API cannot return complete historical data. The full extraction inventory is reviewed against your account's actual record counts before the mapping phase begins.
Map objects and fields, build custom-field manifest for Nutshell admin
We generate a complete field-mapping manifest that lists every Demandforce standard and custom field, its data type, and the corresponding Nutshell target field. For fields with no Nutshell equivalent (appointment status, patient account number, recall date, HIPAA flag, appointment type), the manifest marks them as 'custom field required' and specifies the data type to create (text, date, pick-list, checkbox). Nutshell's custom field editor lives at Settings > People, Settings > Companies, and Settings > Leads. Your admin creates these fields before the migration run so that data lands in the correct schema. We deliver the manifest as a spreadsheet with a step-by-step column for Nutshell admin configuration.
Resolve owners and validate person-company associations
Demandforce owner assignments (staff linked to contacts and appointments) are resolved against Nutshell users by email match. Unmatched owners — staff who will not have Nutshell accounts — are flagged in the mapping manifest and reassigned to a designated fallback Nutshell user before migration. For N:N person-to-company associations, FlitStack AI designates the most-recently-modified company as the primary (mapped to Nutshell's Company field) and records secondary companies in a custom text field. This prevents contacts from landing without a company association while giving your admin a complete reference list to convert into formal relationship records if needed.
Run sample migration with appointment-to-task conversion validation
A representative slice — typically 100–500 records spanning people, companies, appointments, and communications — migrates into your live Nutshell account before the full run. We specifically validate: appointment dates converted to Nutshell Task due dates, appointment status values mapped to the custom pick-list field, appointment type stored in the custom text field, original timestamps preserved on all activity records, and owner resolution returning the correct Nutshell user assignments. The sample migration results are shared in a field-level diff report so you can confirm the mapping before committing to the full run.
Execute full migration with delta-pickup window and post-migration verification
The full dataset loads into Nutshell in the correct sequence: Companies first, then People with their primary company assignments, then Tasks derived from Demandforce Appointments with person links resolved, then Email activity records. A delta-pickup window — typically 24–48 hours — captures any new appointments, communications, or contact updates made in Demandforce during the cutover. After the delta window closes, FlitStack AI runs a reconciliation report comparing record counts and field-population rates between Demandforce and Nutshell. An audit log captures every operation, and one-click rollback is available if reconciliation finds discrepancies above the agreed tolerance threshold.
Platform deep dives
Demandforce
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 Demandforce 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
Demandforce: Not publicly documented.
Data volume sensitivity
Demandforce 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 Demandforce to Nutshell migration scoping. Not seeing yours? Book a call.
Walk through your Demandforce 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 Demandforce
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.