CRM migration
Field-level mapping, validation, and rollback between Pawa and Twenty CRM. We move data and schema; workflows are rebuilt natively in Twenty CRM.
Pawa
Source
Twenty CRM
Destination
Compatibility
8 of 10
objects map 1:1 between Pawa and Twenty CRM.
Complexity
CModerate
Timeline
2-4 weeks
Overview
Moving from Pawa to Twenty CRM is a migration from a Quebec-designed offline-first field CRM to a modern open-source platform that runs on a $20/month VPS with unlimited users. Pawa stores customer and business data with an emphasis on reliable offline access, making field data collection work in remote areas, but its limited public API documentation and absence of a documented bulk export endpoint require live API validation during scoping. We enumerate Pawa's available endpoints, map Contacts and Companies with their linked relationships, and move Deals and Pipeline Stages where present. File attachments do not migrate because the Pawa API does not expose them; we list attachment-bearing records so the customer can download and re-upload manually. Tags, custom fields, and user records map to Twenty's standard field equivalents. We do not migrate workflows, sequences, or automations; we deliver a written inventory for the customer's admin to rebuild in Twenty.
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 Pawa object lands in Twenty CRM, including any object-level transformations, lookup resolution, or schema-design dependencies.
Typical mapping — final map is confirmed during the sample migration step.
Pawa
Contact
Twenty CRM
Person
1:1Pawa Contact records (name, phone, email, custom fields) map directly to Twenty's Person object. Email and phone serve as dedupe keys during import. Custom fields are discovered at scoping time via live API enumeration and mapped to equivalent Twenty field types (text, number, date, picklist) before any records are written. Tags on Pawa Contacts migrate as a label field in Twenty's Person record.
Pawa
Company
Twenty CRM
Company
1:1Pawa Company records map to Twenty's Company object. The company name, address, and linked contact relationships are preserved. We resolve the Company-to-Person relationship by exporting Pawa's linked contact IDs alongside Company records, then cross-referencing those IDs to set the primary contact on the Twenty Company record during import.
Pawa
Deal
Twenty CRM
Opportunity
1:1Pawa Deal records (value, stage, linked contacts) map to Twenty's Opportunity object. Deal value migrates to the Amount field; stage maps to Twenty's Pipeline Stage with a mapping table applied at import. The linked contact association migrates as the Opportunity's PersonId pointing to the resolved Twenty Person record.
Pawa
Pipeline Stages
Twenty CRM
Pipeline Stage
lossyWhere Pawa supports deal stages, we map the named stages to Twenty Pipeline Stages, preserving stage order. If Pawa's stage set differs from Twenty's default pipeline, we create a custom pipeline in Twenty and configure the stage values to match Pawa's ordering before migration.
Pawa
Custom Fields
Twenty CRM
Custom Fields
1:1Pawa custom fields on Contacts and Companies are discovered via live API at scoping. Each custom field is typed (text, number, date, single-select, multi-select) and mapped to the equivalent Twenty field definition created via Twenty's field management before import. Multi-select fields from Pawa map to Twenty multi-select picklists.
Pawa
User
Twenty CRM
WorkspaceMember
1:1Pawa User records (name, email, role) map to Twenty's WorkspaceMember object. We resolve by email match against the destination Twenty workspace. Inactive Pawa users are flagged and excluded unless the customer requests otherwise. Role mappings are documented for the customer's admin to assign appropriate Twenty permissions post-migration.
Pawa
Tag
Twenty CRM
Tag / Label Field
lossyPawa stores tags as flat string arrays on records. Tags migrate as a text label field on the equivalent Twenty record (Person or Company). If tags represent a taxonomy the customer wants to preserve as a structured filter, we discuss creating a custom picklist field in Twenty rather than a free-text label field during scoping.
Pawa
Attachments
Twenty CRM
Files (manual re-upload)
1:1Pawa's API does not expose file attachments. We flag every record that carries an attachment, listing the record ID and attachment count so the customer can download files manually before migration and re-upload them to the corresponding Twenty record after import. Attachments are excluded from the migration scope and from record-count-based pricing.
Pawa
Field Records
Twenty CRM
Custom Object (FieldVisit / Site)
1:1Pawa's field-record structure is enumerated during API scoping. If field records represent structured data (site visits, equipment inspections, survey data) that cannot map to standard Person, Company, or Opportunity objects, we create a custom object in Twenty via the /metadata API and define the lookup relationships to Person or Company before import.
Pawa
Timestamp / Audit Fields
Twenty CRM
createdAt / updatedAt
1:1Pawa record creation and update timestamps migrate to Twenty's createdAt and updatedAt fields. We preserve the original creation date on migrated records so historical ordering is maintained in Twenty's activity and record timelines.
| Pawa | Twenty CRM | Compatibility | |
|---|---|---|---|
| Contact | Person1:1 | Fully supported | |
| Company | Company1:1 | Fully supported | |
| Deal | Opportunity1:1 | Fully supported | |
| Pipeline Stages | Pipeline Stagelossy | Mapping required | |
| Custom Fields | Custom Fields1:1 | Mapping required | |
| User | WorkspaceMember1:1 | Fully supported | |
| Tag | Tag / Label Fieldlossy | Fully supported | |
| Attachments | Files (manual re-upload)1:1 | Not supported | |
| Field Records | Custom Object (FieldVisit / Site)1:1 | Fully supported | |
| Timestamp / Audit Fields | createdAt / updatedAt1: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.
Pawa gotchas
No publicly documented bulk data export endpoint
Attachment files are not exposed via API
Small review sample limits platform reliability assessment
Android preference may affect iOS user experience post-migration
Twenty CRM gotchas
Import order is enforced and critical
Export limited to 20,000 records and visible columns only
Soft-deleted records count toward uniqueness and trigger restores
API rate limits cap at 200 req/min on Organization tier
No native email sequences — follow-up cadences require external tools
Pair-specific challenges
Migration approach
Live API scoping and schema discovery
We connect to the Pawa API using provided credentials and enumerate all available endpoints, field names, and data types against a live connection. Because Pawa has limited public API documentation, this step is required to establish the actual schema before we can build a field map or confirm record counts. We produce a written schema inventory listing every object, field, and relationship we can access. If a bulk export endpoint is not available, we identify manual export alternatives at this stage.
Attachment inventory and data-cleaning review
We query for all records that carry attachments and produce an inventory report listing the record ID, record type, and attachment count for each. We review field data for duplicates, incomplete records, and inconsistent formatting. We deliver a data-cleaning checklist to the customer before migration begins, with specific instructions for standardizing phone formats, removing duplicate Contacts, and resolving any orphaned Company-to-Contact relationships identified during scoping.
Destination schema creation in Twenty
We create the destination schema in Twenty. This includes provisioning custom fields (mapped from Pawa's discovered field names and types), custom objects (via Twenty's /metadata API for any field-record data that does not map to standard Person or Company), and pipeline stage values. Schema is created in a staging environment first for validation before any records are written to the production Twenty instance.
Record export and dependency-ordered import
We export records from Pawa in dependency order: Person records first (standalone, no foreign-key dependencies), then Company records (with primary-contact lookup resolved using previously exported Person IDs), then Opportunities (with PersonId and CompanyId resolved). Tags and custom field values are applied during each record import. We write records using Twenty's API with rate-limit handling and batch chunking for large datasets. Attachment-bearing records are skipped during automated import and flagged on the manual-re-upload list.
Cutover, validation, and manual handoff
We freeze Pawa writes during a short cutover window, run a delta migration of any records modified since the initial export, and validate record counts in Twenty against the source export. We deliver the attachment inventory and instructions for manual file re-upload. We do not rebuild Pawa workflows or automations in Twenty; we deliver a written inventory of any automation logic discovered in Pawa for the customer's admin to reconstruct using Twenty's workflow tools. We provide a one-week post-migration reconciliation window to resolve any record-level issues raised by the team.
Platform deep dives
Pawa
Source
Strengths
Weaknesses
Twenty CRM
Destination
Strengths
Weaknesses
Complexity grading
Moderate CRM migration. 5 of 8 objects need a mapping; the rest are 1:1.
Overall complexity
Moderate migration
Derived from compatibility, mapping clarity, API constraints, and data volume across Pawa and Twenty CRM.
Object compatibility
5 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
Pawa: Not publicly documented.
Data volume sensitivity
Pawa 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 Pawa to Twenty CRM migration scoping. Not seeing yours? Book a call.
Walk through your Pawa to Twenty CRM migration with a real engineer — 30 minutes, free, written quote within 24 hours.
Book a free 30 minute consultationAdjacent paths
Other ways to leave Pawa
Other ways to arrive at Twenty CRM
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.