CRM migration

Migrate from Azuga Fleet to Twenty CRM

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

Azuga Fleet logo

Azuga Fleet

Source

Twenty CRM

Destination

Twenty CRM logo

Compatibility

100%

11 of 11

objects map 1:1 between Azuga Fleet and Twenty CRM.

Complexity

BStandard

Timeline

48–72 hours

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Azuga Fleet organizes data around vehicles, drivers, trips, and maintenance records — a telematics-first schema with no native concept of People, Accounts, or sales pipeline. Twenty CRM inverts this model: its standard objects are People, Companies, Opportunities, Notes, and Tasks, with custom objects available on paid tiers. The migration therefore requires two distinct transformations: collapsing Azuga's driver records into Twenty People objects, and mapping Azuga vehicles and equipment to Twenty's Companies or a custom Vehicle object. Activity history (trips, alerts, service events) migrates as Notes or Tasks, linked to the corresponding driver and vehicle records. We extract data from Azuga via its REST API v4 using OAuth 2.0 authentication, then load into Twenty via CSV import using Twenty's documented import order (Companies first, then People, then Opportunities, then custom objects with relations). The cutover window uses a delta-pickup approach so any records modified in Azuga during the transition land in Twenty before go-live. Workflows, safety scoring rules, and integrations do not migrate — we export Azuga's driver-score and alert configurations as a reference document for your team to rebuild inside Twenty.

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

Azuga Fleet logo

Azuga Fleet

What's pushing teams away

  • Customers on G2 and Capterra report frequent technical glitches with location tracking accuracy and alert delays that erode confidence in data integrity ahead of a migration cutover.
  • Per-vehicle pricing plus mandatory hardware costs scale poorly for large fleets, pushing enterprise customers toward flat-rate or unlimited-vehicle competitors like Samsara or Motive.
  • The reporting and data export UI is described as limited; fleet managers moving to more analytics-capable platforms find Azuga's export tooling insufficient for comprehensive data extraction.
  • Integration with non-native accounting, ERP, or HR systems is cited as a gap, forcing operations teams to manually rekey payroll, job costing, or compliance data during or after migration.

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 Azuga Fleet objects map to Twenty CRM

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

Azuga Fleet

Driver

maps to

Twenty CRM

People

1:1
Fully supported

Azuga Driver records map directly to Twenty People. Each driver becomes a Person record with name, email, phone, and job title fields populated from Azuga driver profile data. Driver license number, state, and expiration date migrate as custom fields on the People record.

Azuga Fleet

Vehicle

maps to

Twenty CRM

Company (or custom Vehicle object)

1:1
Fully supported

Azuga Vehicle records map to Twenty Companies as a base mapping. If your team needs to track vehicle-specific telemetry (VIN, make, model, odometer, diagnostic codes), we create a custom Vehicle object in Twenty and map Azuga vehicles there instead, linking each to the driver-assigned People record via a relation field.

Azuga Fleet

Trip

maps to

Twenty CRM

Task

1:1
Fully supported

Azuga trip records — including start/end timestamps, mileage, route, and driver assignment — migrate as Twenty Tasks linked to the corresponding People record. Trip status (completed, in-progress) maps to Task status values in Twenty. Additional trip metadata such as idle time, average speed, and fuel consumption migrate as custom fields on the Task so historical trip performance remains queryable post-migration.

Azuga Fleet

Alert

maps to

Twenty CRM

Task

1:1
Fully supported

Azuga safety alerts (speeding, hard braking, geofence violations) migrate as Twenty Tasks with the alert type as Task subject and the alert details in the task body. Owner is assigned to the driver or fleet administrator who owned the alert in Azuga.

Azuga Fleet

Maintenance Record

maps to

Twenty CRM

Note

1:1
Fully supported

Azuga maintenance records (service type, date, cost, odometer at service) migrate as Twenty Notes attached to the corresponding Vehicle Company record. Service receipts and work order numbers are stored in the Note body or as attachments. Each maintenance Note links to the People record of the driver assigned to that vehicle at the time of service, preserving accountability context for service history reviews.

Azuga Fleet

Equipment

maps to

Twenty CRM

Custom Object: Equipment

1:1
Fully supported

Azuga equipment tracker records require a custom Equipment object in Twenty, since neither Twenty's standard objects nor Companies natively represent non-vehicle assets. We create the object with fields for equipment name, type, serial number, and assigned vehicle link. The custom object supports Twenty's workflow builder, so your team can automate service alerts, link equipment to maintenance Notes, and generate utilization reports without relying on Azuga's telematics stack.

Azuga Fleet

Driver Safety Score

maps to

Twenty CRM

Custom field on People

1:1
Fully supported

Azuga's driver safety score (a composite of speeding events, hard braking, distracted driving) has no native equivalent in Twenty. We migrate it as a custom Number field on the People record called Driver_Safety_Score__c so managers can still sort and filter by driver performance.

Azuga Fleet

Geofence

maps to

Twenty CRM

Custom field on Company

1:1
Fully supported

Azuga geofence definitions (name, polygon coordinates, entry/exit rules) cannot map to any standard Twenty object. We store geofence configuration as a custom field on the relevant Company or Vehicle record for reference — your team rebuilds the active geofence logic in Twenty's workflow builder post-migration.

Azuga Fleet

Vehicle Assignment

maps to

Twenty CRM

Relation on People

1:1
Fully supported

Azuga's driver-to-vehicle assignment is a foreign-key relationship. We preserve this as a People-to-Vehicle (Company) relation in Twenty. Multiple drivers per vehicle in Azuga map to multiple People records all linked to the same Vehicle Company. If a driver in Azuga has a primary vehicle plus occasional access to pool vehicles, each assignment appears as a separate relation record in Twenty, maintaining the full assignment history.

Azuga Fleet

Fuel Transaction

maps to

Twenty CRM

Note on Vehicle

1:1
Fully supported

Azuga fuel card transaction records (date, volume, cost, odometer) migrate as Notes attached to the corresponding Vehicle Company record. Transaction totals and odometer readings at fill-up are preserved in the Note body for reporting continuity. We also map fuel type and payment method to custom fields on the Note so your team can build cost-per-mile and fuel-efficiency reports directly in Twenty without Azuga's reporting interface.

Azuga Fleet

Fleet Administrator

maps to

Twenty CRM

WorkspaceMember

1:1
Fully supported

Azuga administrator accounts map to Twenty Workspace Members by email match. FlitStack resolves owner assignments during migration so tasks and notes inherit the correct Twenty user rather than landing as unassigned. If an Azuga admin email has no corresponding Twenty Workspace Member, FlitStack flags the record for your team to assign manually or create the missing user account before the final import phase.

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.

Azuga Fleet logo

Azuga Fleet gotchas

High

API v1 deprecation with unannounced v4 sunset date

High

SafetyCam video files not accessible via API

Medium

Driver score algorithms differ across platforms

Medium

Per-vehicle pricing creates billing unit complexity

Medium

No documented bulk export for trip point logs

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

  • Azuga safety scores require custom fields — no native equivalent in Twenty

    Azuga Fleet computes a driver safety score from telemetry events (speeding, hard braking, distracted driving, idle time). Twenty CRM has no native field for this metric — the People object has no concept of driver performance scores. We migrate each driver's current score as a custom number field on the People record, but the alert thresholds, reward rules, and gamification logic that drive Azuga's safety program have no Twenty equivalent. Your team must rebuild the scoring model and any auto-escalation workflows inside Twenty's workflow builder using the exported Azuga configuration as a reference.

  • Vehicle telemetry has no native home in Twenty's data model

    Azuga's primary value is real-time GPS coordinates, odometer readings, fuel levels, diagnostic trouble codes, and geofence violations attached to each vehicle. Twenty CRM's standard Company object has no fields for latitude, longitude, fuel level, or DTC data. We map vehicle records to Companies with VIN, make, model, and odometer as custom fields, but live telemetry data cannot persist in Twenty — it reflects a point-in-time snapshot at migration time. If your team needs ongoing GPS visibility, Azuga's telematics must remain active as a separate system or be accessed via API after migration.

  • Twenty's CSV import requires Companies before People before Opportunities

    Twenty's import order enforces referential integrity: Companies must exist before People can reference them via companyId, and People must exist before Opportunities can reference them. Azuga's driver-to-vehicle assignments (one driver, one primary vehicle, plus pool vehicles) must be decomposed into this sequence. If drivers in Azuga share vehicles, the import plan must create all Company records first, then People records with the companyId relation, then any Opportunities. Circular or missing references (a driver assigned to a vehicle that failed export) are flagged before the migration runs.

  • Azuga API v4 requires OAuth 2.0 — legacy API keys are deprecated

    Azuga deprecated its legacy API key authentication in favor of OAuth 2.0 with client credentials (client_id and client_secret). The migration tool must obtain a fresh access token from the Azuga v4 authentication endpoint using valid credentials. If the Azuga account was set up before the v4 migration and still relies on legacy keys, FlitStack cannot extract data until OAuth 2.0 credentials are provisioned. This is a pre-migration configuration step that adds 1–2 days to the project timeline if credentials are not ready.

  • Twenty's per-export limit of 20,000 records requires segmentation for large fleets

    Twenty's CSV export function caps each operation at 20,000 records. Azuga fleets with more than 20,000 combined records (vehicles, drivers, trips, maintenance, alerts) require segmented exports by object type. We handle this by exporting each Azuga object separately and importing into Twenty in sequence. The risk is that cross-object reports run against Twenty before all segments complete may show partial data. We address this with a post-segment validation step that confirms record counts match across all exported objects before declaring the migration complete.

Migration approach

Six steps for a successful Azuga Fleet to Twenty CRM data migration

  1. Provision Azuga API v4 credentials and validate data export scope

    Before any data moves, we obtain OAuth 2.0 client credentials from Azuga and confirm connectivity to the v4 API endpoints. We export a full inventory of all object types present in the Azuga account — drivers, vehicles, trips, alerts, maintenance records, equipment, fuel transactions — and compare record counts against what Twenty can receive. This scope validation step confirms that all Azuga objects have a mapping destination in Twenty and flags any that require custom object creation before import begins.

  2. Create Twenty custom objects and fields for fleet-specific data

    FlitStack creates the required custom objects and fields in Twenty before data lands. This includes the Equipment custom object (if applicable), Driver_Safety_Score__c on People, Vehicle_VIN__c and diagnostic fields on Company, Task_Severity__c and mileage fields on Task, and Note fields for maintenance records. Twenty requires that all custom fields exist before CSV import — we complete this schema setup using Twenty's Settings → Data Model interface so the workspace is ready for incoming records.

  3. Resolve drivers to Twenty People and vehicles to Companies in the correct import order

    We map Azuga drivers to Twenty People and Azuga vehicles to Companies, handling the import sequence constraint that Companies must precede People. Driver-to-vehicle assignments are preserved as People-Company relations during this step. Owner resolution matches Azuga driver and admin email addresses against Twenty Workspace Members invited before migration — unmatched owners are flagged and assigned to a fallback member so no record lands without an owner.

  4. Run a sample migration with field-level diff across all object types

    A representative slice of records — typically 100–500 spanning drivers, vehicles, trips, alerts, and maintenance — migrates first. We generate a field-level diff between the Azuga source and the Twenty destination so you can verify that driver safety scores mapped correctly, vehicle odometer readings are present, alert types translated to task titles, and owner assignments resolved. You approve the sample before the full run commits.

  5. Execute full migration with delta-pickup window and rollback readiness

    The full dataset migrates into Twenty. A delta-pickup window (typically 24–48 hours) captures any records created or modified in Azuga during the cutover so Twenty reflects the final state at go-live. Audit logs capture every operation, and one-click rollback is available if reconciliation reveals missing records or mapping errors. After rollback validation, your team begins using Twenty with the complete driver, vehicle, trip, alert, and maintenance record set.

Platform deep dives

Context on both ends of the pair

Azuga Fleet logo

Azuga Fleet

Source

Strengths

  • Plug-and-play GPS hardware reportedly installs in under 20 seconds without professional fitting.
  • Gamified driver scoring with positive reinforcement differentiates from punitive safety-only platforms.
  • Published per-vehicle pricing starting at $25/month provides budget predictability for small fleets.
  • SafetyCam dual-facing AI dashcam bundles offer a single-vendor telematics plus video solution.
  • FleetMobile app gives drivers real-time shift management, timecard, and dispatch capabilities.

Weaknesses

  • API documentation is sparse; no publicly available OpenAPI spec URL or Swagger sandbox confirmed.
  • No documented bulk export endpoint for historical telemetry; data retention limits are unclear.
  • Hardware dependency creates a physical asset recovery problem when migrating off-platform.
  • Timecard data is not accessible via public API, limiting automated HR or payroll integration.
  • Pricing beyond BasicFleet requires custom quotes, making cross-platform cost comparison difficult.
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?

Standard CRM migration. 1 of 8 objects need a mapping; the rest are 1:1.

B

Overall complexity

Standard migration

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

  • Object compatibility

    B

    1 of 8 objects need a mapping; the rest are 1:1.

  • 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

    Azuga Fleet: 200 TPS maximum (per-endpoint, per-module, and global limits documented).

  • Data volume sensitivity

    B

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

Estimator

Estimate your Azuga Fleet 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 Azuga Fleet to Twenty CRM data migrations

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

Can't find your answer?

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

Book a free 30 minute consultation

Most Azuga Fleet to Twenty CRM migrations complete in 48–72 hours for setups under 50,000 combined records. Larger fleets with 50,000+ records or multiple custom objects (Equipment, Vehicle telemetry fields) extend to 7–14 days. The longest step is creating the custom object schema in Twenty before data can be imported, followed by the sample migration validation. FlitStack runs a representative sample of 100–500 records first so you can verify field-level accuracy before committing to the full dataset transfer.

Adjacent paths

Related migrations to explore

Ready when you are

Move from Azuga Fleet.
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