CRM migration
Field-level mapping, validation, and rollback between Moskit and Nutshell. We move data and schema; workflows are rebuilt natively in Nutshell.
Moskit
Source
Nutshell
Destination
Compatibility
5 of 9
objects map 1:1 between Moskit and Nutshell.
Complexity
BStandard
Timeline
2-3 weeks
Overview
Moving from Moskit to Nutshell is a cross-regional and structural migration. Moskit is a Brazilian Real-priced CRM designed for SMBs with WhatsApp Business integration, per-user Starter and Professional tiers, and a deal-centric project module. Nutshell is a US-based CRM with a five-tier sales suite ranging from Foundation at $19/user/month through Enterprise, using People for contacts, Accounts for organizations, and Deals for pipeline records. The migration requires a language-context step (Moskit's default field labels are in Brazilian Portuguese; Nutshell's interface is English), a deal-before-project import sequencing constraint, and WhatsApp conversation metadata handling since Moskit stores only message references linked to WhatsApp's infrastructure, not message content. We use Moskit's REST API with bearer token authentication and conservative request intervals to avoid triggering undocumented blocking. We do not migrate automations, workflows, or mass-email campaigns; we deliver a written inventory of these for the customer's admin to rebuild in Nutshell.
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 Moskit 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.
Moskit
Contact
Nutshell
Person
1:1Moskit Contact records map directly to Nutshell Person. Standard fields (name, email, phone, address) transfer via field-name mapping. Any Portuguese custom field labels on Contact (e.g., campos_personalizados) are preserved as-is and documented in a translation glossary included with the migration package. If a Contact has multiple phone types (Celular, Telefone Comercial), we map these to Nutshell's phone and additional_phones array structure.
Moskit
Company (Empresas)
Nutshell
Account
1:1Moskit Empresas map to Nutshell Accounts. The company's CNPJ or business registration number, if stored in a custom field, maps to a Nutshell custom text field. We create the Account before importing any linked Contacts so that the Account lookup is satisfied at Contact insert time. If the Moskit account has multiple associated contacts, all contacts reference the same Account ID.
Moskit
Deal (Negócios)
Nutshell
Deal
1:1Moskit Deals map to Nutshell Deals with pipeline stage, monetary value, expected close date, owner, and custom fields. The deal's pipeline name maps to Nutshell's pipeline configuration. We pre-create the Nutshell pipeline and stage structure before migration so that stage values resolve correctly on import. Closed-won and closed-lost reasons migrate as custom fields if they exist in Moskit.
Moskit
Deal Stage
Nutshell
Deal Stage
lossyMoskit pipeline stages (e.g., Qualificação, Proposta, Fechado Ganho) are mapped to Nutshell stage names that the customer configures before import. Stage order and probability percentages transfer as configuration. If Moskit has multiple deal pipelines, we create multiple Nutshell pipelines or use Nutshell's multiple pipeline capability (Pro tier and above) for the mapping.
Moskit
Activity (Atividades)
Nutshell
Activity (Call, Email, Meeting, Task, Note)
1:1Moskit Activities of type call, email, meeting, and task map to Nutshell Activity records with the matching type. Activity description, timestamp, owner, and linked Contact or Deal references transfer. Note-type activities map to Nutshell notes attached to the parent Person, Account, or Deal. We preserve activity ordering by timestamp so the activity timeline reads chronologically in Nutshell.
Moskit
Project (Projetos)
Nutshell
Account or Deal (custom mapping)
lossyMoskit Projects are deal-linked and contain task, date, and assignment data. Nutshell has no native project object. We discuss two options with the customer during scoping: map Projects to Nutshell Accounts using a project-name Account and project tasks as Activities, or map them to Deals using a custom deal stage as a project bucket. The choice depends on how the customer uses Projects. Project-to-deal linkage is preserved as a custom reference field we create in Nutshell (e.g., moskit_project_id__c) for audit.
Moskit
Custom Properties
Nutshell
Custom Fields
lossyMoskit custom fields on Contacts, Companies, Deals, and Activities are extracted per object type (Moskit has no bulk schema enumeration endpoint, so we query each object type individually). We create matching Nutshell custom fields before migration, type-mapped (text to text, number to number, date to date, picklist to picklist). Portuguese option labels in Moskit picklist fields are preserved as-is in Nutshell unless the customer requests translation.
Moskit
User (Usuário)
Nutshell
User
1:1Moskit Users map to Nutshell Users by email match. We extract all active and inactive users from Moskit with their role and owner assignments. Inactive Moskit users are migrated as inactive Nutshell users with a deactivation flag so the customer's admin can manage provisioning. Any Moskit user without a matching Nutshell user goes to a reconciliation queue for the admin to provision before record import resumes.
Moskit
Pipeline
Nutshell
Pipeline
lossyMoskit pipeline configurations (pipeline name, stages, stage order, probability percentages) transfer to Nutshell pipeline configuration. Nutshell's pipeline capability scales with tier: Foundation uses a single default pipeline; Pro supports up to 5 pipelines; Business and Enterprise support unlimited pipelines. We configure Nutshell pipelines before record migration begins.
| Moskit | Nutshell | Compatibility | |
|---|---|---|---|
| Contact | Person1:1 | Fully supported | |
| Company (Empresas) | Account1:1 | Fully supported | |
| Deal (Negócios) | Deal1:1 | Fully supported | |
| Deal Stage | Deal Stagelossy | Fully supported | |
| Activity (Atividades) | Activity (Call, Email, Meeting, Task, Note)1:1 | Fully supported | |
| Project (Projetos) | Account or Deal (custom mapping)lossy | Fully supported | |
| Custom Properties | Custom Fieldslossy | Mapping required | |
| User (Usuário) | User1:1 | Fully supported | |
| Pipeline | Pipelinelossy | 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.
Moskit gotchas
No published API rate limit documentation
WhatsApp conversation sync is a linked feature, not standalone data
Deal-to-Project linkage must be explicitly preserved
Custom field definitions vary by object and are not enumerated in bulk
Brazilian Portuguese field labels may cause mapping mismatches
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 Moskit across tiers (Starter/Professional), custom property definitions per object type (queried individually because Moskit has no bulk schema endpoint), pipeline count and stage names, active user count, and engagement volume (activities per type). We pair this with a Nutshell tier recommendation based on pipeline count needs and custom field count. The discovery output is a written migration scope with record counts, object mapping, and a Nutshell tier recommendation.
Schema configuration in Nutshell
We create the Nutshell custom fields and pipeline structure before any data import. This includes creating custom fields on Person, Account, Lead, and Deal objects to match the Moskit schema, configuring pipeline names and stages to mirror Moskit's deal pipelines, and setting up any project-mapping strategy (Account-based or Deal-based) agreed during scoping. Nutshell's custom field management is done via the UI or API before migration begins.
Conservative API extraction with Moskit
We generate a Moskit API key from the Marketplace module and authenticate with a bearer token. We extract Contacts, Companies, Deals, Activities, Projects, and Users via paginated REST queries at conservative intervals (5+ seconds per request minimum). We implement exponential backoff on any 429 response and probe for the rate-limit threshold dynamically. All data is extracted to staging JSON with full record-level timestamps preserved for reconciliation.
Record import in dependency order
We run production migration in dependency order: Nutshell Users (matched by email from Moskit Users), Accounts (from Moskit Companies), People (from Moskit Contacts with AccountId resolved), Leads (if a separate lead intake process exists in Moskit), Deals (with pipeline, stage, owner, and monetary value mapped), Activities (Tasks, Calls, Emails, Meetings, Notes by type), then Projects (with deal reference remapped using the destination deal ID lookup table). Each phase emits a row-count reconciliation report before the next phase begins.
Validation and cutover
We reconcile record counts between Moskit and Nutshell for each object type. We spot-check 25-50 records per object against the source for field accuracy, verify deal monetary values and stage assignments, confirm activity timestamps, and validate that Project-to-Deal linkages are intact. After sign-off from the customer's admin, we freeze Moskit writes, run a final delta migration of records modified during the migration window, then enable Nutshell as the system of record.
Automation inventory handoff and post-migration support
We deliver a written inventory of every Moskit Workflow, automation, and mass-email campaign with its trigger conditions, actions, and a recommended Nutshell equivalent (e.g., Nutshell's sales automation on Pro tier or Zapier-based automation). We do not rebuild automations as code inside the migration scope. We support a one-week hypercare window for reconciliation issues raised during initial Nutshell usage. Post-hypercare, the customer manages Nutshell independently or engages Nutshell support or a Nutshell-certified partner for advanced automation rebuilds.
Platform deep dives
Moskit
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 Moskit 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
Moskit: Not publicly documented.
Data volume sensitivity
Moskit 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 Moskit to Nutshell migration scoping. Not seeing yours? Book a call.
Walk through your Moskit 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 Moskit
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.