CRM migration

Migrate from Devi to Twenty CRM

Field-level mapping, validation, and rollback between Devi and Twenty CRM. We move data and schema; workflows are rebuilt natively in Twenty CRM.

Devi logo

Devi

Source

Twenty CRM

Destination

Twenty CRM logo

Compatibility

70%

7 of 10

objects map 1:1 between Devi and Twenty CRM.

Complexity

CModerate

Timeline

3-5 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Devi to Twenty CRM is a migration with a significant information gap on the source side. The research corpus contains no documented API, no confirmed data export feature, and no verifiable schema for devi-official.com, making this one of the least understood source platforms in the FlitStack AI catalog. Twenty CRM is a self-hosted or cloud-hosted open-source CRM with a documented PostgreSQL data model, a REST API for custom objects, and CSV-based import tooling. We approach this migration in three phases: first, manual discovery and schema confirmation with the customer's help; second, extraction path design (direct database access, CSV export, or API-based pull depending on what Devi actually exposes); third, transformation and load into Twenty using its documented import order (Companies before People, Custom objects last). We do not migrate automations, sequences, or reports from Devi because no automation model is documented. We deliver a written automation inventory if the customer can confirm any behavioral rules exist in the source.

Field-level fidelity

Every standard and custom field arrives verified.

Schema-aware mapping

AI proposes the map; you confirm before any record moves.

Relationships preserved

Parent–child, lookups, and ownership stay linked.

Full activity history

Calls, emails, meetings — with original timestamps.

Attachments & notes

Documents, uploads, and inline notes move with the record.

Why teams make this switch

Two sides of the same decision

Leaving

Devi logo

Devi

What's pushing teams away

  • Devi is a lead-monitoring tool, not a full CRM — teams that adopt it for prospecting still need a real CRM (HubSpot, Pipedrive, Attio) downstream, which limits its standalone life cycle.
  • Coverage is Facebook Groups + LinkedIn + Reddit + X. Teams running heavy ICP work on Slack communities, Discord, or YouTube comments outgrow it quickly.
  • Bundled ChatGPT credits run out fast on teams that use the 1-click outreach feature heavily — Solo's 250 calls cap is reached within a single active campaign.
  • Capterra and aggregator footprint is thin compared to established sales-intelligence tools, making procurement diligence harder at larger orgs.
  • Devi's outreach is comment- and DM-based on third-party platforms, which carries the platform-bans risk inherent to any automation that touches Facebook/LinkedIn/Reddit APIs.

Choosing

Twenty CRM logo

Twenty CRM

What's pulling them in

  • Top open-source CRM on GitHub with 40.6K stars, giving teams full source code access and infrastructure ownership without per-feature licensing surprises.
  • Free self-hosting under AGPL-3.0 means unlimited users and custom objects for the cost of cloud infrastructure alone, typically $20–100/month.
  • Pricing page explicitly mocks competitors for charging add-on fees for API access, webhooks, and workflows — transparency that resonates with RevOps teams burned by Salesforce.
  • Unlimited custom objects and fields with no price impact, letting teams shape the data model to their business rather than forcing business into rigid schemas.
  • Modern TypeScript/React/PostgreSQL stack means developer-led teams can extend, self-host, or integrate without fighting legacy architecture.

Object mapping

How Devi objects map to Twenty CRM

Each row shows how a Devi 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.

Devi

Person / Contact

maps to

Twenty CRM

Person

1:1
Fully supported

Devi's data model is unconfirmed. If Devi stores individual contact records (name, email, phone, social handle), they map to Twenty's Person object. We require the customer to provide a sample export or schema document before we finalize the Person field mapping. The mapping type is 'mapping' rather than '1:1' because we cannot confirm whether Devi uses a flat contact record or a different structure until discovery completes.

Devi

Lead / High-Intent Contact

maps to

Twenty CRM

Person or Opportunity (stage-dependent)

1:1
Fully supported

Devi's core value proposition is 'high-intent lead detection' on social media. If Devi stores flagged leads as a separate record type, we map them to Twenty Person records if they represent individual contacts, or to Opportunity records if they represent pipeline entries with deal value. The mapping depends on whether Devi tracks a separate lead concept or attaches lead scores to contact records. Discovery must confirm this before migration begins.

Devi

Company / Account

maps to

Twenty CRM

Company

1:1
Fully supported

If Devi stores company or organization data (which is unconfirmed given its narrow social-selling focus), those records map to Twenty's Company object. Twenty's Company object supports industry, domain, employees, and revenue fields. We infer that Devi's company data is likely minimal or absent, but we plan for it based on what the customer confirms during discovery.

Devi

Social Media Interaction / Trigger Event

maps to

Twenty CRM

Activity (Task or Event)

1:1
Fully supported

Devi triggers on social media interactions (comments, posts, DMs) to flag high-intent leads. If Devi stores a history of these trigger events, they map to Twenty Activity records as either Task or custom Event objects. The mapping requires confirmation of how Devi stores interaction history—whether as timestamps, event logs, or linked records. Without documented evidence, we treat this as a custom activity migration requiring schema reconstruction during discovery.

Devi

AI-Generated Content Asset

maps to

Twenty CRM

Attachment or Custom Object

lossy
Fully supported

G2 reviewers cite AI-generated visual content as a Dev feature. If Devi stores generated images or media assets, they map to Twenty as Attachment records linked to the parent Person or Company record, or as a custom media asset object if the customer requires content metadata preservation. File type support, storage limits, and metadata fields require customer confirmation during discovery.

Devi

User / Team Member

maps to

Twenty CRM

WorkspaceMember

1:1
Fully supported

Devi's user and seat management is unconfirmed. Twenty's WorkspaceMember object represents platform users. If Devi stores team member records (name, email, role), we map them to Twenty WorkspaceMember during migration. Owner assignment on records (Contacts, Companies, Deals) maps to WorkspaceMember as the assigned Twenty user. We require the customer to confirm how many active users exist in Devi before migration scoping.

Devi

Pipeline / Deal Stage

maps to

Twenty CRM

Pipeline + Stage

lossy
Fully supported

If Devi tracks deal stages or pipeline status on any record type, we map them to Twenty's Pipeline and Stage configuration. Twenty supports multiple pipelines via workspace configuration. Stage values are created as Stage records within each Pipeline before any Opportunity import. We set stage probabilities and labels per the customer's reported Dev pipeline structure.

Devi

Custom Field (if supported)

maps to

Twenty CRM

Custom Field

lossy
Fully supported

Devi's custom field support is unconfirmed. If the customer reports custom fields on any Devi object, we create matching custom fields in Twenty using the /metadata API before migration. Custom field types map from Devi's types to Twenty's supported field types (text, number, date, select, multi-select, relation). The mapping_type is 'configuration' because custom fields require schema creation before any data is loaded.

Devi

Opportunity / Deal (if tracked)

maps to

Twenty CRM

Opportunity

1:1
Fully supported

If Devi tracks deal value, deal stage, or closing probability on its lead records, those map to Twenty Opportunity. Opportunity requires a Company as the primary parent in Twenty's data model, so Company records must be created first. Close date, amount, and stage map to Opportunity fields. This mapping is conditional on what Devi's data model actually contains.

Devi

Integration / Connected Account

maps to

Twenty CRM

Not migrated

1:1
Fully supported

Devi's integration ecosystem is unconfirmed. We do not migrate integration configurations (connected social accounts, Zapier setups, webhook endpoints) from Devi because these are platform-specific and do not transfer between systems. We flag connected accounts during discovery so the customer can re-establish integrations in Twenty after migration. Twenty supports webhook and API integrations documented at docs.twenty.com.

Gotchas + challenges

What specifically takes care here

Platform-specific issues from each side, plus the pair-specific challenges that don't show up on either platform's page on its own.

Devi logo

Devi gotchas

High

Platform identity is ambiguous in search results

High

No documented export or API access

Medium

Thin review corpus makes due diligence difficult

Twenty CRM logo

Twenty CRM gotchas

High

Import order is enforced and critical

High

Export limited to 20,000 records and visible columns only

Medium

Soft-deleted records count toward uniqueness and trigger restores

Medium

API rate limits cap at 200 req/min on Organization tier

Low

No native email sequences — follow-up cadences require external tools

Pair-specific challenges

  • Devi has no confirmed export mechanism or documented API

    The research corpus contains zero evidence of a public API, bulk export endpoint, or data portability feature for Devi. This is the single most significant migration risk on this pair. Without programmatic access to Devi's data, we cannot extract records reliably or repeatedly. We require the customer to provide written confirmation of Devi's export capabilities (if any exist) before scoping begins. If Devi offers a manual CSV export or a direct database connection, we can proceed. If neither exists, the customer must manually export records from Devi's UI, which extends the timeline and introduces data quality risk. We flag this upfront in every discovery call for Devi migrations.

  • Devi's data model is unconfirmed with no published schema

    The only verifiable reference to Devi's data is a single G2 review describing a social media lead detection tool. We cannot confirm whether Devi uses a flat contact record, a lead-score-attached person record, or a different structure. Before any migration work, the customer must provide a sample of their actual Dev data (a screenshot, an export, or a schema description). We use this to build the source schema before designing the Twenty target schema. Migrations that proceed without this step result in incorrect field mappings and data that cannot be validated against source records.

  • Twenty's custom entity import has limited relationship preservation

    Twenty's GitHub discussion #7326 documents that importing custom entities into another instance has minor support and no clear method to maintain relationships between records during cross-instance transfer. If Devi's data model includes custom objects with inter-record relationships (e.g., a custom lead object linked to a custom company object), those relationships may not survive a direct CSV import into Twenty. We handle this by resolving foreign keys during the transform phase and inserting records in dependency order. The customer should expect manual verification of custom object relationships post-migration.

  • Twenty v1.0 Docker/Kubernetes startup migration failures

    GitHub issue #12936 on twentyhq/twenty documents a database migration failure in v1.0 during fresh Docker and Kubernetes installs where the core.keyValuePair table does not exist at startup. If the destination Twenty instance is self-hosted on Docker or Kubernetes, we verify the Twenty version and apply any pending database migration patches before loading data. Cloud-hosted Twenty instances (tenancy.twenty.com) are managed by Twenty and do not have this risk. We document the version used at migration start and confirm the instance is fully migrated before record loading begins.

  • Import order matters in Twenty — Companies before People

    Twenty's data migration documentation explicitly states that when importing related objects, Companies must be uploaded first (the 'one' side of relationships) before importing People and Opportunities that reference them. Custom objects with relations must be imported last. We follow this order strictly: Companies, then People, then Opportunities, then Activities, then Custom objects. Skipping this order results in orphaned records and failed foreign key constraints in Twenty's PostgreSQL-backed data model.

Migration approach

Six steps for a successful Devi to Twenty CRM data migration

  1. Discovery and data model confirmation

    We run an extended discovery phase because Devi's data model is unconfirmed. The customer provides a sample export from Devi (CSV if available, screenshot or data dump if not), a record count by object type, and confirmation of which features they actively use. We use this to reverse-engineer a source schema document that we share with the customer for validation. We also confirm Devi's export mechanism: manual CSV from the UI, direct database access, API-based pull, or no export capability at all. This step takes one to two weeks and gates all subsequent work.

  2. Source extraction path design

    With the confirmed source schema in hand, we design the extraction path. If Devi provides a CSV export, we use that as the source of truth. If Devi has a direct database connection (PostgreSQL or equivalent), we extract via SQL query. If neither exists and the customer must manually export, we provide a structured template for the manual export with field-by-field instructions to minimize data entry errors. We do not build custom scrapers as part of standard scope; if scraping is required, we scope it as a separate engineering task.

  3. Twenty target schema design

    We design the Twenty destination schema based on the confirmed source schema. This includes creating custom fields on Person, Company, and Opportunity objects (via Twenty's /metadata API), configuring Pipelines and Stages to match Devi's pipeline structure, and setting up any custom objects the customer requires. We design the record import order: Companies first, then People, then Opportunities, then Activities, then Custom objects. The schema design is validated in Twenty's UI before any data moves.

  4. Sandbox or staging migration

    We run a full migration into a staging environment (a second Twenty workspace or a temporary self-hosted instance) using production-like data volume provided by the customer. The customer reconciles record counts, spot-checks field mappings, and verifies that Person records are correctly linked to Company records. Any mapping corrections are documented and applied to the production migration plan. This step confirms that the import order, relationship resolution, and field transforms are working before data touches the production Twenty instance.

  5. Production migration in dependency order

    We execute the production migration following the validated sandbox plan and Twenty's documented import order. Companies are inserted first (using the domain or name as a dedupe key). People are inserted second with Company lookups resolved. Opportunities are inserted third with Person and Company lookups resolved. Activities (Tasks, Events) are inserted fourth. Custom objects are inserted last, with foreign keys resolved against all parent objects. Each phase emits a row-count reconciliation report. We use bulk insert operations compatible with Twenty's CSV import format or REST API batch endpoints.

  6. Cutover and post-migration validation

    We freeze writes to the source (if any write capability exists in Devi) during the cutover window, run a final delta migration of any records modified during the migration window, then enable Twenty as the system of record. We deliver a migration completion report with record counts per object, a list of any records that could not be migrated with reason codes, and a list of custom fields that were created in Twenty. We do not migrate workflows, automations, or integrations from Devi because no automation model is confirmed to exist. We deliver a blank automation inventory form if the customer believes any behavioral rules exist in Devi.

  7. Integration reconnection

    We document all integrations the customer had connected to Devi (social media accounts, Zapier, webhooks, any connected tools) and provide step-by-step reconnection instructions for Twenty. Twenty's webhook and API integrations are documented at docs.twenty.com. We do not build the new integrations as part of standard scope; that work is handled by the customer's admin or a Twenty implementation partner. We offer a separate integration scope if the customer wants FlitStack AI to configure Twenty's webhook endpoints or third-party API connections.

Platform deep dives

Context on both ends of the pair

Devi logo

Devi

Source

Strengths

  • Focuses on a specific workflow — social media high-intent lead detection — which reduces feature bloat for teams doing outbound social selling
  • Generates visual content with AI, potentially reducing the need for a separate design tool
  • One G2 reviewer describes it as working well for its stated purpose with no significant complaints
  • Small-business positioning suggests a low-friction onboarding experience for teams under 10 users
  • Appears to have a free tier or low-cost entry point based on the positive ROI mentions in reviews

Weaknesses

  • Very limited public documentation — no developer docs, no API reference, no community forum evidence found in the research
  • Market presence is thin: only one verifiable G2 review from a real user, making independent due diligence difficult
  • No confirmed data export or API access, which is a critical risk for any team that needs to move data later
  • It is unclear whether devi-official.com and the 'Devi AI' referenced on G2 are the same product, raising identity risk
  • No information available about data residency, security certifications, or compliance posture
Twenty CRM logo

Twenty CRM

Destination

Strengths

  • AGPL-3.0 open-source license with full source code on GitHub — no vendor lock-in, no sunset risk.
  • Unlimited users and unlimited custom objects on self-hosted, with no feature gating based on headcount.
  • REST and GraphQL APIs available on all paid tiers, not locked behind an enterprise add-on fee.
  • MCP server and webhooks shipped as standard features, not premium upgrades.
  • Modern PostgreSQL-backed data model that developer teams can query, extend, and self-host.

Weaknesses

  • Recent v1.0 release means limited production hardening compared to CRMs with multi-year operational track records.
  • No native email sequencing or sales engagement tools — follow-up cadences require a separate platform.
  • No native two-way email sync or inbox integration, requiring third-party connectors for full activity logging.
  • Self-hosting 'free' pricing hides real infrastructure and DevOps costs that stack up over time.
  • Workflow automation is functional but lacks the complexity needed for sophisticated multi-step sales motions.

Complexity grading

How hard is this migration?

Moderate CRM migration. 3 of 8 objects need a manual workaround.

C

Overall complexity

Moderate migration

Derived from compatibility, mapping clarity, API constraints, and data volume across Devi and Twenty CRM.

  • Object compatibility

    D

    3 of 8 objects need a manual workaround.

  • Field mapping clarity

    C

    Field mapping is derived from defaults — final spec confirmed during the sample migration.

  • Timeline complexity

    B

    8-object category — typical timelines run 2–7 days end-to-end.

  • API constraints

    B

    Devi: Not publicly documented.

  • Data volume sensitivity

    B

    Devi doesn't expose a bulk API — REST + parallelization used for high-volume runs.

Estimator

Estimate your Devi to Twenty CRM migration cost

Rule-based pricing — no per-record fees, no manual quotes. Migrations over 2M records are scoped individually.

Step 1

What are you migrating?

Pick a category, then your source and destination platforms.

Category

FAQ

Frequently asked questions about Devi to Twenty CRM data migrations

Answers to the questions buyers ask most during Devi to Twenty CRM migration scoping. Not seeing yours? Book a call.

Can't find your answer?

Walk through your Devi to Twenty CRM migration with a real engineer — 30 minutes, free, written quote within 24 hours.

Book a free 30 minute consultation

Migrations land between three and five weeks for simple record moves (People and Companies only, with a confirmed CSV export from Devi). Migrations requiring manual data extraction from Devi's UI, custom object reconstruction, or engagement history extend to six to ten weeks because of the extended discovery phase and manual export coordination. The biggest timeline variable is Devi's export capability: if Devi has no export feature, the customer must manually extract records, which adds two to four weeks depending on record volume.

Adjacent paths

Related migrations to explore

Ready when you are

Move from Devi.
Land in Twenty CRM, intact.

Tell us record counts and timeline. We'll come back with a written quote inside 1 business day — no commitment, no sales pitch.

Accuracy guarantee Rollback included Quote in 1 business day